summaryrefslogtreecommitdiffstats
path: root/l10n-ms
diff options
context:
space:
mode:
Diffstat (limited to 'l10n-ms')
-rw-r--r--l10n-ms/browser/branding/official/brand.dtd5
-rw-r--r--l10n-ms/browser/branding/official/brand.ftl39
-rw-r--r--l10n-ms/browser/branding/official/brand.properties8
-rw-r--r--l10n-ms/browser/browser/aboutCertError.ftl103
-rw-r--r--l10n-ms/browser/browser/aboutDialog.ftl48
-rw-r--r--l10n-ms/browser/browser/aboutLogins.ftl50
-rw-r--r--l10n-ms/browser/browser/aboutPocket.ftl47
-rw-r--r--l10n-ms/browser/browser/aboutPolicies.ftl14
-rw-r--r--l10n-ms/browser/browser/aboutPrivateBrowsing.ftl12
-rw-r--r--l10n-ms/browser/browser/aboutRestartRequired.ftl7
-rw-r--r--l10n-ms/browser/browser/aboutRobots.ftl29
-rw-r--r--l10n-ms/browser/browser/aboutSessionRestore.ftl51
-rw-r--r--l10n-ms/browser/browser/aboutTabCrashed.ftl19
-rw-r--r--l10n-ms/browser/browser/aboutUnloads.ftl7
-rw-r--r--l10n-ms/browser/browser/accounts.ftl7
-rw-r--r--l10n-ms/browser/browser/allTabsMenu.ftl13
-rw-r--r--l10n-ms/browser/browser/appExtensionFields.ftl12
-rw-r--r--l10n-ms/browser/browser/appMenuNotifications.ftl10
-rw-r--r--l10n-ms/browser/browser/appmenu.ftl99
-rw-r--r--l10n-ms/browser/browser/branding/brandings.ftl44
-rw-r--r--l10n-ms/browser/browser/branding/sync-brand.ftl7
-rw-r--r--l10n-ms/browser/browser/browser.ftl495
-rw-r--r--l10n-ms/browser/browser/browserContext.ftl334
-rw-r--r--l10n-ms/browser/browser/browserSets.ftl185
-rw-r--r--l10n-ms/browser/browser/colorwaycloset.ftl4
-rw-r--r--l10n-ms/browser/browser/colorways.ftl8
-rw-r--r--l10n-ms/browser/browser/confirmationHints.ftl8
-rw-r--r--l10n-ms/browser/browser/contentCrash.ftl19
-rw-r--r--l10n-ms/browser/browser/customizeMode.ftl29
-rw-r--r--l10n-ms/browser/browser/defaultBrowserNotification.ftl8
-rw-r--r--l10n-ms/browser/browser/downloads.ftl144
-rw-r--r--l10n-ms/browser/browser/editBookmarkOverlay.ftl24
-rw-r--r--l10n-ms/browser/browser/featureCallout.ftl8
-rw-r--r--l10n-ms/browser/browser/firefoxView.ftl4
-rw-r--r--l10n-ms/browser/browser/menubar.ftl260
-rw-r--r--l10n-ms/browser/browser/migration.ftl107
-rw-r--r--l10n-ms/browser/browser/netError.ftl6
-rw-r--r--l10n-ms/browser/browser/newtab/asrouter.ftl132
-rw-r--r--l10n-ms/browser/browser/newtab/newtab.ftl181
-rw-r--r--l10n-ms/browser/browser/newtab/onboarding.ftl131
-rw-r--r--l10n-ms/browser/browser/nsserrors.ftl354
-rw-r--r--l10n-ms/browser/browser/originControls.ftl3
-rw-r--r--l10n-ms/browser/browser/pageInfo.ftl210
-rw-r--r--l10n-ms/browser/browser/panelUI.ftl25
-rw-r--r--l10n-ms/browser/browser/panicButton.ftl31
-rw-r--r--l10n-ms/browser/browser/places.ftl128
-rw-r--r--l10n-ms/browser/browser/policies/policies-descriptions.ftl122
-rw-r--r--l10n-ms/browser/browser/preferences/addEngine.ftl4
-rw-r--r--l10n-ms/browser/browser/preferences/applicationManager.ftl29
-rw-r--r--l10n-ms/browser/browser/preferences/blocklists.ftl32
-rw-r--r--l10n-ms/browser/browser/preferences/clearSiteData.ftl60
-rw-r--r--l10n-ms/browser/browser/preferences/colors.ftl48
-rw-r--r--l10n-ms/browser/browser/preferences/connection.ftl91
-rw-r--r--l10n-ms/browser/browser/preferences/containers.ftl88
-rw-r--r--l10n-ms/browser/browser/preferences/fonts.ftl121
-rw-r--r--l10n-ms/browser/browser/preferences/formAutofill.ftl115
-rw-r--r--l10n-ms/browser/browser/preferences/fxaPairDevice.ftl4
-rw-r--r--l10n-ms/browser/browser/preferences/languages.ftl81
-rw-r--r--l10n-ms/browser/browser/preferences/moreFromMozilla.ftl6
-rw-r--r--l10n-ms/browser/browser/preferences/permissions.ftl181
-rw-r--r--l10n-ms/browser/browser/preferences/preferences.ftl891
-rw-r--r--l10n-ms/browser/browser/preferences/selectBookmark.ftl13
-rw-r--r--l10n-ms/browser/browser/preferences/siteDataSettings.ftl52
-rw-r--r--l10n-ms/browser/browser/preferences/translation.ftl44
-rw-r--r--l10n-ms/browser/browser/profile/default-bookmarks.ftl8
-rw-r--r--l10n-ms/browser/browser/protections.ftl12
-rw-r--r--l10n-ms/browser/browser/protectionsPanel.ftl42
-rw-r--r--l10n-ms/browser/browser/safeMode.ftl8
-rw-r--r--l10n-ms/browser/browser/safebrowsing/blockedSite.ftl27
-rw-r--r--l10n-ms/browser/browser/sanitize.ftl110
-rw-r--r--l10n-ms/browser/browser/screenshots.ftl39
-rw-r--r--l10n-ms/browser/browser/screenshotsOverlay.ftl4
-rw-r--r--l10n-ms/browser/browser/search.ftl36
-rw-r--r--l10n-ms/browser/browser/setDesktopBackground.ftl31
-rw-r--r--l10n-ms/browser/browser/sidebarMenu.ftl18
-rw-r--r--l10n-ms/browser/browser/sitePermissions.ftl4
-rw-r--r--l10n-ms/browser/browser/spotlight.ftl8
-rw-r--r--l10n-ms/browser/browser/sync.ftl8
-rw-r--r--l10n-ms/browser/browser/syncedTabs.ftl49
-rw-r--r--l10n-ms/browser/browser/tabContextMenu.ftl65
-rw-r--r--l10n-ms/browser/browser/tabbrowser.ftl81
-rw-r--r--l10n-ms/browser/browser/textRecognition.ftl7
-rw-r--r--l10n-ms/browser/browser/toolbarContextMenu.ftl43
-rw-r--r--l10n-ms/browser/browser/touchbar/touchbar.ftl7
-rw-r--r--l10n-ms/browser/browser/translationNotification.ftl74
-rw-r--r--l10n-ms/browser/browser/unifiedExtensions.ftl3
-rw-r--r--l10n-ms/browser/browser/webauthnDialog.ftl3
-rw-r--r--l10n-ms/browser/browser/webrtcIndicator.ftl130
-rw-r--r--l10n-ms/browser/chrome/browser/accounts.properties83
-rw-r--r--l10n-ms/browser/chrome/browser/browser.properties638
-rw-r--r--l10n-ms/browser/chrome/browser/customizableui/customizableWidgets.properties54
-rw-r--r--l10n-ms/browser/chrome/browser/downloads/downloads.properties79
-rw-r--r--l10n-ms/browser/chrome/browser/feeds/subscribe.properties14
-rw-r--r--l10n-ms/browser/chrome/browser/places/bookmarkProperties.properties16
-rw-r--r--l10n-ms/browser/chrome/browser/places/places.properties71
-rw-r--r--l10n-ms/browser/chrome/browser/safebrowsing/safebrowsing.properties6
-rw-r--r--l10n-ms/browser/chrome/browser/search.properties33
-rw-r--r--l10n-ms/browser/chrome/browser/shellservice.properties16
-rw-r--r--l10n-ms/browser/chrome/browser/siteData.properties8
-rw-r--r--l10n-ms/browser/chrome/browser/sitePermissions.properties43
-rw-r--r--l10n-ms/browser/chrome/browser/syncSetup.properties14
-rw-r--r--l10n-ms/browser/chrome/browser/tabbrowser.properties69
-rw-r--r--l10n-ms/browser/chrome/browser/taskbar.properties12
-rw-r--r--l10n-ms/browser/chrome/browser/translation.dtd63
-rw-r--r--l10n-ms/browser/chrome/browser/translation.properties12
-rw-r--r--l10n-ms/browser/chrome/browser/uiDensity.properties5
-rw-r--r--l10n-ms/browser/chrome/browser/webrtcIndicator.properties61
-rw-r--r--l10n-ms/browser/chrome/overrides/appstrings.properties43
-rw-r--r--l10n-ms/browser/chrome/overrides/netError.dtd190
-rw-r--r--l10n-ms/browser/crashreporter/crashreporter-override.ini9
-rw-r--r--l10n-ms/browser/defines.inc14
-rw-r--r--l10n-ms/browser/extensions/formautofill/formautofill.properties199
-rw-r--r--l10n-ms/browser/extensions/report-site-issue/webcompat.properties10
-rw-r--r--l10n-ms/browser/firefox-l10n.js6
-rw-r--r--l10n-ms/browser/installer/custom.properties86
-rw-r--r--l10n-ms/browser/installer/mui.properties61
-rw-r--r--l10n-ms/browser/installer/nsisstrings.properties48
-rw-r--r--l10n-ms/browser/installer/override.properties86
-rw-r--r--l10n-ms/browser/langpack-metadata.ftl12
-rw-r--r--l10n-ms/browser/pdfviewer/chrome.properties19
-rw-r--r--l10n-ms/browser/pdfviewer/viewer.properties235
-rw-r--r--l10n-ms/browser/updater/updater.ini10
-rw-r--r--l10n-ms/calendar/calendar/category-dialog.ftl7
-rw-r--r--l10n-ms/calendar/calendar/preferences.ftl175
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-alarms.properties39
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-event-dialog.dtd433
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-event-dialog.properties541
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-extract.properties294
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar.dtd411
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendar.properties806
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendarCreation.dtd51
-rw-r--r--l10n-ms/calendar/chrome/calendar/calendarCreation.properties6
-rw-r--r--l10n-ms/calendar/chrome/calendar/categories.properties7
-rw-r--r--l10n-ms/calendar/chrome/calendar/dateFormat.properties146
-rw-r--r--l10n-ms/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--l10n-ms/calendar/chrome/calendar/global.dtd52
-rw-r--r--l10n-ms/calendar/chrome/calendar/menuOverlay.dtd50
-rw-r--r--l10n-ms/calendar/chrome/calendar/migration.dtd9
-rw-r--r--l10n-ms/calendar/chrome/calendar/migration.properties13
-rw-r--r--l10n-ms/calendar/chrome/calendar/provider-uninstall.dtd12
-rw-r--r--l10n-ms/calendar/chrome/calendar/timezones.properties482
-rw-r--r--l10n-ms/calendar/chrome/lightning/lightning-toolbar.dtd51
-rw-r--r--l10n-ms/calendar/chrome/lightning/lightning.dtd111
-rw-r--r--l10n-ms/calendar/chrome/lightning/lightning.properties229
-rw-r--r--l10n-ms/chat/accounts.dtd41
-rw-r--r--l10n-ms/chat/accounts.properties9
-rw-r--r--l10n-ms/chat/commands.properties27
-rw-r--r--l10n-ms/chat/contacts.properties8
-rw-r--r--l10n-ms/chat/conversations.properties80
-rw-r--r--l10n-ms/chat/facebook.properties6
-rw-r--r--l10n-ms/chat/imtooltip.properties7
-rw-r--r--l10n-ms/chat/irc.properties209
-rw-r--r--l10n-ms/chat/logger.properties7
-rw-r--r--l10n-ms/chat/matrix.properties17
-rw-r--r--l10n-ms/chat/status.properties23
-rw-r--r--l10n-ms/chat/twitter.properties120
-rw-r--r--l10n-ms/chat/xmpp.properties274
-rw-r--r--l10n-ms/chat/yahoo.properties5
-rw-r--r--l10n-ms/devtools/client/accessibility.properties104
-rw-r--r--l10n-ms/devtools/client/animationinspector.properties183
-rw-r--r--l10n-ms/devtools/client/application.ftl44
-rw-r--r--l10n-ms/devtools/client/boxmodel.properties32
-rw-r--r--l10n-ms/devtools/client/compatibility.ftl14
-rw-r--r--l10n-ms/devtools/client/components.properties20
-rw-r--r--l10n-ms/devtools/client/debugger.properties600
-rw-r--r--l10n-ms/devtools/client/device.properties20
-rw-r--r--l10n-ms/devtools/client/dom.properties27
-rw-r--r--l10n-ms/devtools/client/filterwidget.properties61
-rw-r--r--l10n-ms/devtools/client/font-inspector.properties65
-rw-r--r--l10n-ms/devtools/client/har.properties30
-rw-r--r--l10n-ms/devtools/client/inspector.properties443
-rw-r--r--l10n-ms/devtools/client/jsonview.properties45
-rw-r--r--l10n-ms/devtools/client/layout.properties113
-rw-r--r--l10n-ms/devtools/client/memory.properties434
-rw-r--r--l10n-ms/devtools/client/menus.properties24
-rw-r--r--l10n-ms/devtools/client/netmonitor.properties1048
-rw-r--r--l10n-ms/devtools/client/network-throttling.properties28
-rw-r--r--l10n-ms/devtools/client/perftools.ftl36
-rw-r--r--l10n-ms/devtools/client/responsive.properties125
-rw-r--r--l10n-ms/devtools/client/shared.properties8
-rw-r--r--l10n-ms/devtools/client/sourceeditor.properties117
-rw-r--r--l10n-ms/devtools/client/startup.properties237
-rw-r--r--l10n-ms/devtools/client/storage.ftl91
-rw-r--r--l10n-ms/devtools/client/styleeditor.ftl36
-rw-r--r--l10n-ms/devtools/client/styleeditor.properties52
-rw-r--r--l10n-ms/devtools/client/toolbox-options.ftl128
-rw-r--r--l10n-ms/devtools/client/toolbox.ftl34
-rw-r--r--l10n-ms/devtools/client/toolbox.properties155
-rw-r--r--l10n-ms/devtools/client/webconsole.properties328
-rw-r--r--l10n-ms/devtools/shared/accessibility.properties17
-rw-r--r--l10n-ms/devtools/shared/debugger-paused-reasons.ftl55
-rw-r--r--l10n-ms/devtools/shared/debugger.properties67
-rw-r--r--l10n-ms/devtools/shared/eyedropper.properties14
-rw-r--r--l10n-ms/devtools/shared/highlighters.ftl16
-rw-r--r--l10n-ms/devtools/shared/screenshot.properties127
-rw-r--r--l10n-ms/devtools/shared/shared.properties6
-rw-r--r--l10n-ms/devtools/shared/styleinspector.properties194
-rw-r--r--l10n-ms/devtools/startup/key-shortcuts.ftl28
-rw-r--r--l10n-ms/dom/chrome/accessibility/AccessFu.properties110
-rw-r--r--l10n-ms/dom/chrome/accessibility/mac/accessible.properties58
-rw-r--r--l10n-ms/dom/chrome/accessibility/unix/accessible.properties17
-rw-r--r--l10n-ms/dom/chrome/accessibility/win/accessible.properties17
-rw-r--r--l10n-ms/dom/chrome/appstrings.properties35
-rw-r--r--l10n-ms/dom/chrome/dom/dom.properties315
-rw-r--r--l10n-ms/dom/chrome/global-strres.properties5
-rw-r--r--l10n-ms/dom/chrome/global.dtd5
-rw-r--r--l10n-ms/dom/chrome/layout/HtmlForm.properties43
-rw-r--r--l10n-ms/dom/chrome/layout/MediaDocument.properties21
-rw-r--r--l10n-ms/dom/chrome/layout/css.properties43
-rw-r--r--l10n-ms/dom/chrome/layout/htmlparser.properties120
-rw-r--r--l10n-ms/dom/chrome/layout/layout_errors.properties37
-rw-r--r--l10n-ms/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-ms/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-ms/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-ms/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-ms/dom/chrome/netError.dtd97
-rw-r--r--l10n-ms/dom/chrome/netErrorApp.dtd23
-rw-r--r--l10n-ms/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-ms/dom/chrome/security/caps.properties9
-rw-r--r--l10n-ms/dom/chrome/security/csp.properties102
-rw-r--r--l10n-ms/dom/chrome/security/security.properties83
-rw-r--r--l10n-ms/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-ms/dom/chrome/xml/prettyprint.dtd5
-rw-r--r--l10n-ms/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-ms/dom/dom/XMLPrettyPrint.ftl5
-rw-r--r--l10n-ms/dom/dom/media.ftl4
-rw-r--r--l10n-ms/mail/all-l10n.js7
-rw-r--r--l10n-ms/mail/branding/thunderbird/brand.dtd9
-rw-r--r--l10n-ms/mail/branding/thunderbird/brand.ftl16
-rw-r--r--l10n-ms/mail/branding/thunderbird/brand.properties7
-rw-r--r--l10n-ms/mail/chrome/communicator/utilityOverlay.dtd40
-rw-r--r--l10n-ms/mail/chrome/messenger-mapi/mapi.properties36
-rw-r--r--l10n-ms/mail/chrome/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--l10n-ms/mail/chrome/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--l10n-ms/mail/chrome/messenger-newsblog/newsblog.properties93
-rw-r--r--l10n-ms/mail/chrome/messenger-region/region.properties29
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd15
-rw-r--r--l10n-ms/mail/chrome/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--l10n-ms/mail/chrome/messenger/AccountManager.dtd27
-rw-r--r--l10n-ms/mail/chrome/messenger/AccountWizard.dtd55
-rw-r--r--l10n-ms/mail/chrome/messenger/CustomHeaders.dtd11
-rw-r--r--l10n-ms/mail/chrome/messenger/FilterEditor.dtd65
-rw-r--r--l10n-ms/mail/chrome/messenger/FilterListDialog.dtd43
-rw-r--r--l10n-ms/mail/chrome/messenger/SearchDialog.dtd38
-rw-r--r--l10n-ms/mail/chrome/messenger/aboutDialog.dtd115
-rw-r--r--l10n-ms/mail/chrome/messenger/aboutDownloads.dtd23
-rw-r--r--l10n-ms/mail/chrome/messenger/aboutRights.properties6
-rw-r--r--l10n-ms/mail/chrome/messenger/aboutSupportMail.properties15
-rw-r--r--l10n-ms/mail/chrome/messenger/accountCreationModel.properties19
-rw-r--r--l10n-ms/mail/chrome/messenger/accountCreationUtil.properties34
-rw-r--r--l10n-ms/mail/chrome/messenger/activity.dtd19
-rw-r--r--l10n-ms/mail/chrome/messenger/activity.properties99
-rw-r--r--l10n-ms/mail/chrome/messenger/addbuddy.dtd7
-rw-r--r--l10n-ms/mail/chrome/messenger/addons.properties185
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/abMailListDialog.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/abMainWindow.dtd17
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/addressBook.properties174
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties109
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/pref-directory.dtd17
-rw-r--r--l10n-ms/mail/chrome/messenger/addressbook/replicationProgress.properties20
-rw-r--r--l10n-ms/mail/chrome/messenger/am-addressing.dtd51
-rw-r--r--l10n-ms/mail/chrome/messenger/am-advanced.dtd30
-rw-r--r--l10n-ms/mail/chrome/messenger/am-archiveoptions.dtd25
-rw-r--r--l10n-ms/mail/chrome/messenger/am-copies.dtd52
-rw-r--r--l10n-ms/mail/chrome/messenger/am-identities-list.dtd15
-rw-r--r--l10n-ms/mail/chrome/messenger/am-identity-edit.dtd14
-rw-r--r--l10n-ms/mail/chrome/messenger/am-im.dtd16
-rw-r--r--l10n-ms/mail/chrome/messenger/am-junk.dtd31
-rw-r--r--l10n-ms/mail/chrome/messenger/am-main.dtd47
-rw-r--r--l10n-ms/mail/chrome/messenger/am-mdn.dtd33
-rw-r--r--l10n-ms/mail/chrome/messenger/am-mdn.properties6
-rw-r--r--l10n-ms/mail/chrome/messenger/am-offline.dtd57
-rw-r--r--l10n-ms/mail/chrome/messenger/am-server-advanced.dtd31
-rw-r--r--l10n-ms/mail/chrome/messenger/am-server-top.dtd88
-rw-r--r--l10n-ms/mail/chrome/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--l10n-ms/mail/chrome/messenger/am-smime.dtd19
-rw-r--r--l10n-ms/mail/chrome/messenger/am-smime.properties39
-rw-r--r--l10n-ms/mail/chrome/messenger/appleMailImportMsgs.properties21
-rw-r--r--l10n-ms/mail/chrome/messenger/baseMenuOverlay.dtd12
-rw-r--r--l10n-ms/mail/chrome/messenger/beckyImportMsgs.properties19
-rw-r--r--l10n-ms/mail/chrome/messenger/charsetTitles.properties84
-rw-r--r--l10n-ms/mail/chrome/messenger/chat.dtd44
-rw-r--r--l10n-ms/mail/chrome/messenger/chat.properties99
-rw-r--r--l10n-ms/mail/chrome/messenger/configEditorOverlay.dtd5
-rw-r--r--l10n-ms/mail/chrome/messenger/converterDialog.dtd11
-rw-r--r--l10n-ms/mail/chrome/messenger/converterDialog.properties41
-rw-r--r--l10n-ms/mail/chrome/messenger/custom.properties5
-rw-r--r--l10n-ms/mail/chrome/messenger/customizeToolbar.dtd16
-rw-r--r--l10n-ms/mail/chrome/messenger/customizeToolbar.properties11
-rw-r--r--l10n-ms/mail/chrome/messenger/devtools/dbgserver.dtd8
-rw-r--r--l10n-ms/mail/chrome/messenger/devtools/dbgserver.properties15
-rw-r--r--l10n-ms/mail/chrome/messenger/downloadheaders.dtd27
-rw-r--r--l10n-ms/mail/chrome/messenger/editContactOverlay.dtd20
-rw-r--r--l10n-ms/mail/chrome/messenger/editContactOverlay.properties14
-rw-r--r--l10n-ms/mail/chrome/messenger/fieldMapImport.dtd17
-rw-r--r--l10n-ms/mail/chrome/messenger/filter.properties91
-rw-r--r--l10n-ms/mail/chrome/messenger/folderProps.dtd66
-rw-r--r--l10n-ms/mail/chrome/messenger/folderWidgets.properties12
-rw-r--r--l10n-ms/mail/chrome/messenger/folderpane.dtd7
-rw-r--r--l10n-ms/mail/chrome/messenger/gloda.properties161
-rw-r--r--l10n-ms/mail/chrome/messenger/glodaComplete.properties19
-rw-r--r--l10n-ms/mail/chrome/messenger/glodaFacetView.dtd21
-rw-r--r--l10n-ms/mail/chrome/messenger/glodaFacetView.properties159
-rw-r--r--l10n-ms/mail/chrome/messenger/imAccountWizard.dtd32
-rw-r--r--l10n-ms/mail/chrome/messenger/imAccounts.properties63
-rw-r--r--l10n-ms/mail/chrome/messenger/imapMsgs.properties252
-rw-r--r--l10n-ms/mail/chrome/messenger/importDialog.dtd56
-rw-r--r--l10n-ms/mail/chrome/messenger/importMsgs.properties307
-rw-r--r--l10n-ms/mail/chrome/messenger/joinChat.dtd10
-rw-r--r--l10n-ms/mail/chrome/messenger/junkLog.dtd10
-rw-r--r--l10n-ms/mail/chrome/messenger/localMsgs.properties132
-rw-r--r--l10n-ms/mail/chrome/messenger/mailEditorOverlay.dtd6
-rw-r--r--l10n-ms/mail/chrome/messenger/mailOverlay.dtd11
-rw-r--r--l10n-ms/mail/chrome/messenger/mailViewList.dtd8
-rw-r--r--l10n-ms/mail/chrome/messenger/mailViewSetup.dtd11
-rw-r--r--l10n-ms/mail/chrome/messenger/mailviews.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/markByDate.dtd9
-rw-r--r--l10n-ms/mail/chrome/messenger/messenger.dtd932
-rw-r--r--l10n-ms/mail/chrome/messenger/messenger.properties731
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd17
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd10
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/composeMsgs.properties436
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/editor.properties208
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/editorOverlay.dtd303
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/messengercompose.dtd298
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.properties21
-rw-r--r--l10n-ms/mail/chrome/messenger/migration/migration.dtd30
-rw-r--r--l10n-ms/mail/chrome/messenger/migration/migration.properties25
-rw-r--r--l10n-ms/mail/chrome/messenger/mime.properties154
-rw-r--r--l10n-ms/mail/chrome/messenger/mimeheader.properties35
-rw-r--r--l10n-ms/mail/chrome/messenger/msgAccountCentral.dtd26
-rw-r--r--l10n-ms/mail/chrome/messenger/msgHdrViewOverlay.dtd109
-rw-r--r--l10n-ms/mail/chrome/messenger/msgSynchronize.dtd27
-rw-r--r--l10n-ms/mail/chrome/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/msgmdn.properties18
-rw-r--r--l10n-ms/mail/chrome/messenger/multimessageview.dtd8
-rw-r--r--l10n-ms/mail/chrome/messenger/multimessageview.properties62
-rw-r--r--l10n-ms/mail/chrome/messenger/newFolderDialog.dtd16
-rw-r--r--l10n-ms/mail/chrome/messenger/news.properties56
-rw-r--r--l10n-ms/mail/chrome/messenger/newsError.dtd31
-rw-r--r--l10n-ms/mail/chrome/messenger/offline.properties28
-rw-r--r--l10n-ms/mail/chrome/messenger/offlineStartup.properties8
-rw-r--r--l10n-ms/mail/chrome/messenger/outlookImportMsgs.properties82
-rw-r--r--l10n-ms/mail/chrome/messenger/preferences/applicationManager.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/preferences/applications.properties8
-rw-r--r--l10n-ms/mail/chrome/messenger/preferences/messagestyle.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/preferences/preferences.properties96
-rw-r--r--l10n-ms/mail/chrome/messenger/prefs.properties90
-rw-r--r--l10n-ms/mail/chrome/messenger/quickFilterBar.dtd269
-rw-r--r--l10n-ms/mail/chrome/messenger/removeAccount.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/removeAccount.properties5
-rw-r--r--l10n-ms/mail/chrome/messenger/renameFolderDialog.dtd9
-rw-r--r--l10n-ms/mail/chrome/messenger/sanitize.dtd34
-rw-r--r--l10n-ms/mail/chrome/messenger/search-attributes.properties45
-rw-r--r--l10n-ms/mail/chrome/messenger/search-operators.properties31
-rw-r--r--l10n-ms/mail/chrome/messenger/search.properties27
-rw-r--r--l10n-ms/mail/chrome/messenger/searchTermOverlay.dtd19
-rw-r--r--l10n-ms/mail/chrome/messenger/shutdownWindow.properties10
-rw-r--r--l10n-ms/mail/chrome/messenger/smime.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/smtpEditOverlay.dtd24
-rw-r--r--l10n-ms/mail/chrome/messenger/subscribe.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/subscribe.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/tabmail.dtd9
-rw-r--r--l10n-ms/mail/chrome/messenger/taskbar.properties8
-rw-r--r--l10n-ms/mail/chrome/messenger/telemetry.properties13
-rw-r--r--l10n-ms/mail/chrome/messenger/templateUtils.properties7
-rw-r--r--l10n-ms/mail/chrome/messenger/textImportMsgs.properties53
-rw-r--r--l10n-ms/mail/chrome/messenger/vCardImportMsgs.properties26
-rw-r--r--l10n-ms/mail/chrome/messenger/viewLog.dtd12
-rw-r--r--l10n-ms/mail/chrome/messenger/viewSource.dtd84
-rw-r--r--l10n-ms/mail/chrome/messenger/viewSource.properties17
-rw-r--r--l10n-ms/mail/chrome/messenger/viewZoomOverlay.dtd30
-rw-r--r--l10n-ms/mail/chrome/messenger/virtualFolderListDialog.dtd10
-rw-r--r--l10n-ms/mail/chrome/messenger/virtualFolderProperties.dtd22
-rw-r--r--l10n-ms/mail/chrome/messenger/wmImportMsgs.properties76
-rw-r--r--l10n-ms/mail/chrome/mozldap/ldap.properties272
-rw-r--r--l10n-ms/mail/chrome/overrides/netError.dtd200
-rw-r--r--l10n-ms/mail/defines.inc9
-rw-r--r--l10n-ms/mail/installer/custom.properties77
-rw-r--r--l10n-ms/mail/installer/mui.properties60
-rw-r--r--l10n-ms/mail/installer/override.properties86
-rw-r--r--l10n-ms/mail/messenger/aboutRights.ftl27
-rw-r--r--l10n-ms/mail/messenger/preferences/application-manager.ftl11
-rw-r--r--l10n-ms/mail/messenger/preferences/attachment-reminder.ftl26
-rw-r--r--l10n-ms/mail/messenger/preferences/colors.ftl52
-rw-r--r--l10n-ms/mail/messenger/preferences/connection.ftl84
-rw-r--r--l10n-ms/mail/messenger/preferences/cookies.ftl55
-rw-r--r--l10n-ms/mail/messenger/preferences/dock-options.ftl25
-rw-r--r--l10n-ms/mail/messenger/preferences/fonts.ftl147
-rw-r--r--l10n-ms/mail/messenger/preferences/languages.ftl29
-rw-r--r--l10n-ms/mail/messenger/preferences/new-tag.ftl11
-rw-r--r--l10n-ms/mail/messenger/preferences/notifications.ftl33
-rw-r--r--l10n-ms/mail/messenger/preferences/offline.ftl54
-rw-r--r--l10n-ms/mail/messenger/preferences/permissions.ftl53
-rw-r--r--l10n-ms/mail/messenger/preferences/preferences.ftl684
-rw-r--r--l10n-ms/mail/messenger/preferences/receipts.ftl20
-rw-r--r--l10n-ms/mail/messenger/preferences/system-integration.ftl42
-rw-r--r--l10n-ms/mail/updater/updater.ini8
-rw-r--r--l10n-ms/mobile/android/chrome/browser.properties118
-rw-r--r--l10n-ms/mobile/android/chrome/config.dtd21
-rw-r--r--l10n-ms/mobile/android/chrome/config.properties9
-rw-r--r--l10n-ms/mobile/android/chrome/passwordmgr.properties22
-rw-r--r--l10n-ms/mobile/android/defines.inc14
-rw-r--r--l10n-ms/mobile/android/mobile/android/aboutConfig.ftl24
-rw-r--r--l10n-ms/mobile/chrome/region.properties22
-rw-r--r--l10n-ms/mobile/overrides/appstrings.properties40
-rw-r--r--l10n-ms/mobile/overrides/netError.dtd203
-rw-r--r--l10n-ms/netwerk/necko.properties44
-rw-r--r--l10n-ms/security/manager/chrome/pipnss/nsserrors.properties331
-rw-r--r--l10n-ms/security/manager/chrome/pipnss/pipnss.properties113
-rw-r--r--l10n-ms/security/manager/chrome/pippki/pippki.properties75
-rw-r--r--l10n-ms/security/manager/security/certificates/certManager.ftl212
-rw-r--r--l10n-ms/security/manager/security/certificates/deviceManager.ftl136
-rw-r--r--l10n-ms/security/manager/security/pippki/pippki.ftl64
-rw-r--r--l10n-ms/services/sync/sync.properties11
-rw-r--r--l10n-ms/suite/chrome/branding/aboutRights.dtd77
-rw-r--r--l10n-ms/suite/chrome/branding/aboutRights.properties6
-rw-r--r--l10n-ms/suite/chrome/browser/linkToolbar.dtd48
-rw-r--r--l10n-ms/suite/chrome/browser/mailNavigatorOverlay.dtd30
-rw-r--r--l10n-ms/suite/chrome/browser/metadata.dtd31
-rw-r--r--l10n-ms/suite/chrome/browser/metadata.properties19
-rw-r--r--l10n-ms/suite/chrome/browser/navigator.dtd87
-rw-r--r--l10n-ms/suite/chrome/browser/navigator.properties76
-rw-r--r--l10n-ms/suite/chrome/browser/navigatorOverlay.dtd144
-rw-r--r--l10n-ms/suite/chrome/browser/pageInfo.dtd106
-rw-r--r--l10n-ms/suite/chrome/browser/pageInfo.properties62
-rw-r--r--l10n-ms/suite/chrome/browser/tabbrowser.dtd22
-rw-r--r--l10n-ms/suite/chrome/browser/tabbrowser.properties17
-rw-r--r--l10n-ms/suite/chrome/browser/taskbar.properties21
-rw-r--r--l10n-ms/suite/chrome/browser/webDeveloper.dtd72
-rw-r--r--l10n-ms/suite/chrome/common/about.dtd70
-rw-r--r--l10n-ms/suite/chrome/common/aboutPrivateBrowsing.dtd26
-rw-r--r--l10n-ms/suite/chrome/common/aboutSessionRestore.dtd22
-rw-r--r--l10n-ms/suite/chrome/common/aboutSyncTabs.dtd22
-rw-r--r--l10n-ms/suite/chrome/common/askViewZoom.dtd6
-rw-r--r--l10n-ms/suite/chrome/common/certError.dtd36
-rw-r--r--l10n-ms/suite/chrome/common/console/console.dtd47
-rw-r--r--l10n-ms/suite/chrome/common/console/console.properties17
-rw-r--r--l10n-ms/suite/chrome/common/contentAreaCommands.dtd154
-rw-r--r--l10n-ms/suite/chrome/common/contentAreaCommands.properties15
-rw-r--r--l10n-ms/suite/chrome/common/customizeToolbar.dtd18
-rw-r--r--l10n-ms/suite/chrome/common/customizeToolbar.properties13
-rw-r--r--l10n-ms/suite/chrome/common/dataman/dataman.dtd156
-rw-r--r--l10n-ms/suite/chrome/common/dataman/dataman.properties73
-rw-r--r--l10n-ms/suite/chrome/common/datetimepicker.dtd7
-rw-r--r--l10n-ms/suite/chrome/common/defaultClientDialog.dtd14
-rw-r--r--l10n-ms/suite/chrome/common/downloads/downloadmanager.dtd96
-rw-r--r--l10n-ms/suite/chrome/common/downloads/downloadmanager.properties147
-rw-r--r--l10n-ms/suite/chrome/common/downloads/progressDialog.dtd20
-rw-r--r--l10n-ms/suite/chrome/common/feeds/subscribe.dtd8
-rw-r--r--l10n-ms/suite/chrome/common/feeds/subscribe.properties52
-rw-r--r--l10n-ms/suite/chrome/common/gopherAddon.dtd9
-rw-r--r--l10n-ms/suite/chrome/common/helpviewer/help.dtd56
-rw-r--r--l10n-ms/suite/chrome/common/helpviewer/help.properties5
-rw-r--r--l10n-ms/suite/chrome/common/migration/migration.dtd28
-rw-r--r--l10n-ms/suite/chrome/common/migration/migration.properties52
-rw-r--r--l10n-ms/suite/chrome/common/notification.dtd15
-rw-r--r--l10n-ms/suite/chrome/common/notification.properties162
-rw-r--r--l10n-ms/suite/chrome/common/openLocation.dtd22
-rw-r--r--l10n-ms/suite/chrome/common/openLocation.properties11
-rw-r--r--l10n-ms/suite/chrome/common/permissions/cookieViewer.dtd46
-rw-r--r--l10n-ms/suite/chrome/common/permissions/cookieViewer.properties30
-rw-r--r--l10n-ms/suite/chrome/common/permissions/permissionsManager.dtd19
-rw-r--r--l10n-ms/suite/chrome/common/permissions/permissionsManager.properties23
-rw-r--r--l10n-ms/suite/chrome/common/places/bookmarkProperties.properties19
-rw-r--r--l10n-ms/suite/chrome/common/places/editBookmarkOverlay.dtd28
-rw-r--r--l10n-ms/suite/chrome/common/places/places.dtd106
-rw-r--r--l10n-ms/suite/chrome/common/places/places.properties101
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-advanced.dtd24
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-appearance.dtd35
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-applicationManager.dtd8
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-applicationManager.properties10
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-applications.dtd15
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-applications.properties34
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-cache.dtd32
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-certs.dtd23
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-colors.dtd35
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-content.dtd37
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-cookies.dtd40
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-download.dtd31
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-findasyoutype.dtd21
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-fonts.dtd79
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-history.dtd25
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-http.dtd17
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-images.dtd22
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-keynav.dtd21
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-languages.dtd30
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-languages.properties13
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-links.dtd29
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-locationbar.dtd42
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-masterpass.dtd11
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-media.dtd23
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-mousewheel.dtd31
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-navigator.dtd43
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-offlineapps.dtd24
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-passwords.dtd13
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-popups.dtd35
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-privatedata.dtd27
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-proxies-advanced.dtd32
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-proxies.dtd31
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-scripts.dtd19
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-search.dtd21
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-security.dtd40
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-smartupdate.dtd31
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-spelling.dtd20
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-ssl.dtd44
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-sync.dtd56
-rw-r--r--l10n-ms/suite/chrome/common/pref/pref-tabs.dtd23
-rw-r--r--l10n-ms/suite/chrome/common/pref/preferences.dtd53
-rw-r--r--l10n-ms/suite/chrome/common/pref/prefutilities.dtd40
-rw-r--r--l10n-ms/suite/chrome/common/pref/prefutilities.properties45
-rw-r--r--l10n-ms/suite/chrome/common/printPreview.dtd39
-rw-r--r--l10n-ms/suite/chrome/common/profile/profileSelection.dtd35
-rw-r--r--l10n-ms/suite/chrome/common/profile/profileSelection.properties22
-rw-r--r--l10n-ms/suite/chrome/common/quitDialog.properties29
-rw-r--r--l10n-ms/suite/chrome/common/safeBrowsing.dtd29
-rw-r--r--l10n-ms/suite/chrome/common/safeMode.dtd27
-rw-r--r--l10n-ms/suite/chrome/common/sanitize.dtd27
-rw-r--r--l10n-ms/suite/chrome/common/search/engineManager.dtd29
-rw-r--r--l10n-ms/suite/chrome/common/search/engineManager.properties9
-rw-r--r--l10n-ms/suite/chrome/common/search/search-panel.dtd8
-rw-r--r--l10n-ms/suite/chrome/common/search/search.properties6
-rw-r--r--l10n-ms/suite/chrome/common/search/searchbar.dtd6
-rw-r--r--l10n-ms/suite/chrome/common/setDesktopBackground.dtd19
-rw-r--r--l10n-ms/suite/chrome/common/shellservice.properties7
-rw-r--r--l10n-ms/suite/chrome/common/sidebar/customize.dtd22
-rw-r--r--l10n-ms/suite/chrome/common/sidebar/preview.dtd5
-rw-r--r--l10n-ms/suite/chrome/common/sidebar/sidebar.properties7
-rw-r--r--l10n-ms/suite/chrome/common/sidebar/sidebarOverlay.dtd34
-rw-r--r--l10n-ms/suite/chrome/common/sitePermissions.properties39
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncBrand.dtd6
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncGenericChange.properties37
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncKey.dtd18
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncQuota.dtd8
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncQuota.properties42
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncSetup.dtd116
-rw-r--r--l10n-ms/suite/chrome/common/sync/syncSetup.properties50
-rw-r--r--l10n-ms/suite/chrome/common/tasksOverlay.dtd61
-rw-r--r--l10n-ms/suite/chrome/common/typeaheadfind.properties17
-rw-r--r--l10n-ms/suite/chrome/common/utilityOverlay.dtd157
-rw-r--r--l10n-ms/suite/chrome/common/utilityOverlay.properties35
-rw-r--r--l10n-ms/suite/chrome/common/viewApplyThemeOverlay.dtd10
-rw-r--r--l10n-ms/suite/chrome/common/viewApplyThemeOverlay.properties8
-rw-r--r--l10n-ms/suite/chrome/common/viewZoomOverlay.dtd15
-rw-r--r--l10n-ms/suite/chrome/common/viewZoomOverlay.properties32
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EdAdvancedEdit.dtd18
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EdColorPicker.dtd22
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EdConvertToTable.dtd15
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EdDialogOverlay.dtd17
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EdNamedAnchorProperties.dtd10
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditConflict.dtd10
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorButtonProperties.dtd27
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorColorProperties.dtd29
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorFieldSetProperties.dtd20
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorFormProperties.dtd21
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorHLineProperties.dtd27
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorImageProperties.dtd79
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInputProperties.dtd50
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInsertChars.dtd19
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInsertMath.dtd21
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInsertSource.dtd15
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInsertTOC.dtd16
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorInsertTable.dtd18
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorLabelProperties.dtd18
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorLinkProperties.dtd6
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorListProperties.dtd20
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorPageProperties.dtd17
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorPersonalDictionary.dtd20
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorPublish.dtd65
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorPublishProgress.dtd16
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorReplace.dtd29
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorSaveAsCharset.dtd17
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorSelectProperties.dtd48
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorSnapToGrid.dtd15
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorSpellCheck.dtd38
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorTableProperties.dtd75
-rw-r--r--l10n-ms/suite/chrome/editor/dialogs/EditorTextAreaProperties.dtd33
-rw-r--r--l10n-ms/suite/chrome/editor/editingOverlay.dtd38
-rw-r--r--l10n-ms/suite/chrome/editor/editor.dtd67
-rw-r--r--l10n-ms/suite/chrome/editor/editor.properties208
-rw-r--r--l10n-ms/suite/chrome/editor/editorOverlay.dtd341
-rw-r--r--l10n-ms/suite/chrome/editor/editorSmileyOverlay.dtd58
-rw-r--r--l10n-ms/suite/chrome/editor/prefs/editorPrefsOverlay.dtd12
-rw-r--r--l10n-ms/suite/chrome/editor/prefs/pref-composer.dtd31
-rw-r--r--l10n-ms/suite/chrome/editor/prefs/pref-editing.dtd32
-rw-r--r--l10n-ms/suite/chrome/mailnews/CustomHeaders.dtd11
-rw-r--r--l10n-ms/suite/chrome/mailnews/FilterEditor.dtd66
-rw-r--r--l10n-ms/suite/chrome/mailnews/FilterListDialog.dtd28
-rw-r--r--l10n-ms/suite/chrome/mailnews/SearchDialog.dtd38
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd5
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abCardOverlay.dtd132
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abMailListDialog.dtd19
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abMainWindow.dtd119
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abNewCardDialog.dtd7
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd48
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd31
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/addressBook.properties161
-rw-r--r--l10n-ms/suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties104
-rw-r--r--l10n-ms/suite/chrome/mailnews/appleMailImportMsgs.properties20
-rw-r--r--l10n-ms/suite/chrome/mailnews/beckyImportMsgs.properties19
-rw-r--r--l10n-ms/suite/chrome/mailnews/charsetTitles.properties80
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd13
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/askSendFormat.dtd20
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/askSendFormat.properties8
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/composeMsgs.properties282
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd9
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/messengercompose.dtd130
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/sendProgress.dtd8
-rw-r--r--l10n-ms/suite/chrome/mailnews/compose/sendProgress.properties21
-rw-r--r--l10n-ms/suite/chrome/mailnews/custom.properties5
-rw-r--r--l10n-ms/suite/chrome/mailnews/downloadheaders.dtd27
-rw-r--r--l10n-ms/suite/chrome/mailnews/fieldMapImport.dtd21
-rw-r--r--l10n-ms/suite/chrome/mailnews/filter.properties80
-rw-r--r--l10n-ms/suite/chrome/mailnews/folderProps.dtd70
-rw-r--r--l10n-ms/suite/chrome/mailnews/folderWidgets.properties12
-rw-r--r--l10n-ms/suite/chrome/mailnews/folderpane.dtd11
-rw-r--r--l10n-ms/suite/chrome/mailnews/gloda.properties104
-rw-r--r--l10n-ms/suite/chrome/mailnews/imapMsgs.properties257
-rw-r--r--l10n-ms/suite/chrome/mailnews/importDialog.dtd43
-rw-r--r--l10n-ms/suite/chrome/mailnews/importMsgs.properties311
-rw-r--r--l10n-ms/suite/chrome/mailnews/junkLog.dtd10
-rw-r--r--l10n-ms/suite/chrome/mailnews/junkMailInfo.dtd11
-rw-r--r--l10n-ms/suite/chrome/mailnews/localMsgs.properties132
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailEditorOverlay.dtd7
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailKeysOverlay.dtd26
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailOverlay.dtd12
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailTasksOverlay.dtd23
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailViewList.dtd9
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailViewSetup.dtd11
-rw-r--r--l10n-ms/suite/chrome/mailnews/mailviews.properties13
-rw-r--r--l10n-ms/suite/chrome/mailnews/mapi/mapi.properties13
-rw-r--r--l10n-ms/suite/chrome/mailnews/markByDate.dtd9
-rw-r--r--l10n-ms/suite/chrome/mailnews/messenger.dtd531
-rw-r--r--l10n-ms/suite/chrome/mailnews/messenger.properties479
-rw-r--r--l10n-ms/suite/chrome/mailnews/mime.properties156
-rw-r--r--l10n-ms/suite/chrome/mailnews/mimeheader.properties39
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgAccountCentral.dtd25
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgHdrViewOverlay.dtd43
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgHdrViewPopup.dtd29
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgPrintEngine.dtd11
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgSynchronize.dtd25
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgViewPickerOverlay.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/msgmdn.properties18
-rw-r--r--l10n-ms/suite/chrome/mailnews/newFolderDialog.dtd16
-rw-r--r--l10n-ms/suite/chrome/mailnews/news.properties56
-rw-r--r--l10n-ms/suite/chrome/mailnews/newsError.dtd31
-rw-r--r--l10n-ms/suite/chrome/mailnews/newsblog/am-newsblog.dtd17
-rw-r--r--l10n-ms/suite/chrome/mailnews/newsblog/feed-subscriptions.dtd55
-rw-r--r--l10n-ms/suite/chrome/mailnews/newsblog/newsblog.properties93
-rw-r--r--l10n-ms/suite/chrome/mailnews/offline.properties51
-rw-r--r--l10n-ms/suite/chrome/mailnews/offlineStartup.properties8
-rw-r--r--l10n-ms/suite/chrome/mailnews/outlookImportMsgs.properties87
-rw-r--r--l10n-ms/suite/chrome/mailnews/pgpmime.properties13
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/AccountManager.dtd26
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/AccountWizard.dtd124
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-addressing.dtd49
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-advanced.dtd25
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-archiveoptions.dtd23
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-copies.dtd50
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-identities-list.dtd15
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-identity-edit.dtd18
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-junk.dtd31
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-main.dtd44
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-mdn.dtd33
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-mdn.properties6
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-offline.dtd57
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-server-advanced.dtd31
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-server-top.dtd91
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd6
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/mailPrefsOverlay.dtd21
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-addressing.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-character_encoding.dtd17
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-composing_messages.dtd56
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-directory-add.dtd45
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-directory.dtd17
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-formatting.dtd42
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-junk.dtd40
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-mailnews.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-notifications.dtd46
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-offline.dtd38
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-receipts.dtd28
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-tags.dtd20
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/pref-viewing_messages.dtd47
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/prefs.properties90
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/removeAccount.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/removeAccount.properties5
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/replicationProgress.properties20
-rw-r--r--l10n-ms/suite/chrome/mailnews/pref/smtpEditOverlay.dtd24
-rw-r--r--l10n-ms/suite/chrome/mailnews/renameFolderDialog.dtd9
-rw-r--r--l10n-ms/suite/chrome/mailnews/search-attributes.properties45
-rw-r--r--l10n-ms/suite/chrome/mailnews/search-operators.properties31
-rw-r--r--l10n-ms/suite/chrome/mailnews/search.properties28
-rw-r--r--l10n-ms/suite/chrome/mailnews/searchTermOverlay.dtd18
-rw-r--r--l10n-ms/suite/chrome/mailnews/shutdownWindow.properties10
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime.properties13
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/am-smime.dtd37
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/am-smime.properties41
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/certFetchingStatus.dtd9
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd20
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.properties6
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd18
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.properties13
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd8
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties11
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd14
-rw-r--r--l10n-ms/suite/chrome/mailnews/smime/msgSecurityInfo.properties44
-rw-r--r--l10n-ms/suite/chrome/mailnews/start.dtd28
-rw-r--r--l10n-ms/suite/chrome/mailnews/subscribe.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/subscribe.properties10
-rw-r--r--l10n-ms/suite/chrome/mailnews/textImportMsgs.properties56
-rw-r--r--l10n-ms/suite/chrome/mailnews/threadpane.dtd45
-rw-r--r--l10n-ms/suite/chrome/mailnews/vCardImportMsgs.properties26
-rw-r--r--l10n-ms/suite/chrome/mailnews/viewLog.dtd12
-rw-r--r--l10n-ms/suite/chrome/mailnews/virtualFolderListDialog.dtd10
-rw-r--r--l10n-ms/suite/chrome/mailnews/virtualFolderProperties.dtd22
-rw-r--r--l10n-ms/suite/chrome/mailnews/wmImportMsgs.properties76
-rw-r--r--l10n-ms/suite/chrome/mozldap/ldap.properties261
-rw-r--r--l10n-ms/suite/crashreporter/crashreporter-override.ini9
-rw-r--r--l10n-ms/suite/defines.inc9
-rw-r--r--l10n-ms/suite/installer/windows/custom.properties86
-rw-r--r--l10n-ms/suite/installer/windows/mui.properties64
-rw-r--r--l10n-ms/suite/installer/windows/override.properties86
-rw-r--r--l10n-ms/suite/profile/bookmarks.inc87
-rw-r--r--l10n-ms/suite/updater/updater.ini8
-rw-r--r--l10n-ms/toolkit/chrome/alerts/alert.dtd6
-rw-r--r--l10n-ms/toolkit/chrome/alerts/alert.properties23
-rw-r--r--l10n-ms/toolkit/chrome/autoconfig/autoconfig.properties12
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/mac/intl.properties7
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/mac/platformKeys.properties34
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/unix/intl.properties7
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/unix/platformKeys.properties34
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/win/intl.properties7
-rw-r--r--l10n-ms/toolkit/chrome/global-platform/win/platformKeys.properties34
-rw-r--r--l10n-ms/toolkit/chrome/global/aboutReader.properties49
-rw-r--r--l10n-ms/toolkit/chrome/global/aboutStudies.properties33
-rw-r--r--l10n-ms/toolkit/chrome/global/appPicker.dtd7
-rw-r--r--l10n-ms/toolkit/chrome/global/autocomplete.properties9
-rw-r--r--l10n-ms/toolkit/chrome/global/browser.properties7
-rw-r--r--l10n-ms/toolkit/chrome/global/commonDialog.dtd10
-rw-r--r--l10n-ms/toolkit/chrome/global/commonDialogs.properties30
-rw-r--r--l10n-ms/toolkit/chrome/global/contentAreaCommands.properties23
-rw-r--r--l10n-ms/toolkit/chrome/global/datetimebox.dtd35
-rw-r--r--l10n-ms/toolkit/chrome/global/dialog.properties12
-rw-r--r--l10n-ms/toolkit/chrome/global/dialogOverlay.dtd10
-rw-r--r--l10n-ms/toolkit/chrome/global/editMenuOverlay.dtd11
-rw-r--r--l10n-ms/toolkit/chrome/global/extensions.properties27
-rw-r--r--l10n-ms/toolkit/chrome/global/fallbackMenubar.properties8
-rw-r--r--l10n-ms/toolkit/chrome/global/filepicker.properties18
-rw-r--r--l10n-ms/toolkit/chrome/global/findbar.properties22
-rw-r--r--l10n-ms/toolkit/chrome/global/globalKeys.dtd6
-rw-r--r--l10n-ms/toolkit/chrome/global/intl.css11
-rw-r--r--l10n-ms/toolkit/chrome/global/intl.properties43
-rw-r--r--l10n-ms/toolkit/chrome/global/keys.properties79
-rw-r--r--l10n-ms/toolkit/chrome/global/narrate.properties14
-rw-r--r--l10n-ms/toolkit/chrome/global/notification.dtd21
-rw-r--r--l10n-ms/toolkit/chrome/global/printdialog.properties52
-rw-r--r--l10n-ms/toolkit/chrome/global/resetProfile.dtd7
-rw-r--r--l10n-ms/toolkit/chrome/global/resetProfile.properties14
-rw-r--r--l10n-ms/toolkit/chrome/global/tree.dtd5
-rw-r--r--l10n-ms/toolkit/chrome/global/viewSource.properties16
-rw-r--r--l10n-ms/toolkit/chrome/global/wizard.properties8
-rw-r--r--l10n-ms/toolkit/chrome/mozapps/downloads/downloads.properties109
-rw-r--r--l10n-ms/toolkit/chrome/mozapps/downloads/unknownContentType.properties18
-rw-r--r--l10n-ms/toolkit/chrome/mozapps/profile/profileSelection.properties50
-rw-r--r--l10n-ms/toolkit/chrome/mozapps/update/updates.properties44
-rw-r--r--l10n-ms/toolkit/chrome/passwordmgr/passwordmgr.properties50
-rw-r--r--l10n-ms/toolkit/chrome/places/places.properties33
-rw-r--r--l10n-ms/toolkit/crashreporter/aboutcrashes.ftl29
-rw-r--r--l10n-ms/toolkit/crashreporter/crashreporter.ini60
-rw-r--r--l10n-ms/toolkit/defines.inc1
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutAbout.ftl9
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutAddons.ftl245
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutCompat.ftl10
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutGlean.ftl6
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutHttpsOnlyError.ftl8
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutLogging.ftl13
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutMozilla.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutNetworking.ftl60
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutPerformance.ftl62
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutPlugins.ftl45
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutProcesses.ftl45
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutProfiles.ftl66
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutReader.ftl25
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutRights.ftl36
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutSupport.ftl268
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutTelemetry.ftl118
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutThirdParty.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutWebrtc.ftl163
-rw-r--r--l10n-ms/toolkit/toolkit/about/aboutWindowsMessages.ftl3
-rw-r--r--l10n-ms/toolkit/toolkit/about/abuseReports.ftl15
-rw-r--r--l10n-ms/toolkit/toolkit/about/certviewer.ftl15
-rw-r--r--l10n-ms/toolkit/toolkit/about/config.ftl17
-rw-r--r--l10n-ms/toolkit/toolkit/about/url-classifier.ftl44
-rw-r--r--l10n-ms/toolkit/toolkit/downloads/downloadUI.ftl48
-rw-r--r--l10n-ms/toolkit/toolkit/downloads/downloadUtils.ftl79
-rw-r--r--l10n-ms/toolkit/toolkit/featuregates/features.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/global/alert.ftl8
-rw-r--r--l10n-ms/toolkit/toolkit/global/appPicker.ftl10
-rw-r--r--l10n-ms/toolkit/toolkit/global/browser-utils.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/global/commonDialog.ftl10
-rw-r--r--l10n-ms/toolkit/toolkit/global/createProfileWizard.ftl69
-rw-r--r--l10n-ms/toolkit/toolkit/global/cspErrors.ftl32
-rw-r--r--l10n-ms/toolkit/toolkit/global/datepicker.ftl3
-rw-r--r--l10n-ms/toolkit/toolkit/global/datetimebox.ftl36
-rw-r--r--l10n-ms/toolkit/toolkit/global/handlerDialog.ftl28
-rw-r--r--l10n-ms/toolkit/toolkit/global/htmlForm.ftl10
-rw-r--r--l10n-ms/toolkit/toolkit/global/notification.ftl6
-rw-r--r--l10n-ms/toolkit/toolkit/global/popupnotification.ftl9
-rw-r--r--l10n-ms/toolkit/toolkit/global/processTypes.ftl16
-rw-r--r--l10n-ms/toolkit/toolkit/global/profileDowngrade.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/global/profileSelection.ftl36
-rw-r--r--l10n-ms/toolkit/toolkit/global/resetProfile.ftl12
-rw-r--r--l10n-ms/toolkit/toolkit/global/run-from-dmg.ftl15
-rw-r--r--l10n-ms/toolkit/toolkit/global/tabprompts.ftl13
-rw-r--r--l10n-ms/toolkit/toolkit/global/textActions.ftl52
-rw-r--r--l10n-ms/toolkit/toolkit/global/tree.ftl6
-rw-r--r--l10n-ms/toolkit/toolkit/global/unknownContentType.ftl38
-rw-r--r--l10n-ms/toolkit/toolkit/global/videocontrols.ftl41
-rw-r--r--l10n-ms/toolkit/toolkit/global/wizard.ftl37
-rw-r--r--l10n-ms/toolkit/toolkit/intl/languageNames.ftl211
-rw-r--r--l10n-ms/toolkit/toolkit/intl/regionNames.ftl280
-rw-r--r--l10n-ms/toolkit/toolkit/main-window/autocomplete.ftl11
-rw-r--r--l10n-ms/toolkit/toolkit/main-window/findbar.ftl61
-rw-r--r--l10n-ms/toolkit/toolkit/neterror/certError.ftl90
-rw-r--r--l10n-ms/toolkit/toolkit/neterror/netError.ftl123
-rw-r--r--l10n-ms/toolkit/toolkit/neterror/nsserrors.ftl354
-rw-r--r--l10n-ms/toolkit/toolkit/payments/payments.ftl10
-rw-r--r--l10n-ms/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl19
-rw-r--r--l10n-ms/toolkit/toolkit/preferences/preferences.ftl22
-rw-r--r--l10n-ms/toolkit/toolkit/printing/printDialogs.ftl112
-rw-r--r--l10n-ms/toolkit/toolkit/printing/printPreview.ftl57
-rw-r--r--l10n-ms/toolkit/toolkit/printing/printUI.ftl14
-rw-r--r--l10n-ms/toolkit/toolkit/updates/backgroundupdate.ftl4
-rw-r--r--l10n-ms/toolkit/toolkit/updates/elevation.ftl22
-rw-r--r--l10n-ms/toolkit/toolkit/updates/history.ftl27
867 files changed, 50956 insertions, 0 deletions
diff --git a/l10n-ms/browser/branding/official/brand.dtd b/l10n-ms/browser/branding/official/brand.dtd
new file mode 100644
index 0000000000..b5474b4c99
--- /dev/null
+++ b/l10n-ms/browser/branding/official/brand.dtd
@@ -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/. -->
+
+<!ENTITY brandShortName "Firefox">
diff --git a/l10n-ms/browser/branding/official/brand.ftl b/l10n-ms/browser/branding/official/brand.ftl
new file mode 100644
index 0000000000..04ee5f1011
--- /dev/null
+++ b/l10n-ms/browser/branding/official/brand.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/.
+
+
+## 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/
+
+## Firefox and Mozilla Brand
+##
+## Firefox and Mozilla must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-brand-shorter-name = Firefox
+-brand-short-name = Firefox
+-brand-shortcut-name = Firefox
+
+-brand-full-name = Mozilla Firefox
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name = Firefox
+-vendor-short-name = Mozilla
+trademarkInfo = Firefox dan logo Firefox adalah cap dagangan Mozilla Foundation.
diff --git a/l10n-ms/browser/branding/official/brand.properties b/l10n-ms/browser/branding/official/brand.properties
new file mode 100644
index 0000000000..9d6a612125
--- /dev/null
+++ b/l10n-ms/browser/branding/official/brand.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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+
diff --git a/l10n-ms/browser/browser/aboutCertError.ftl b/l10n-ms/browser/browser/aboutCertError.ftl
new file mode 100644
index 0000000000..cd5c749b41
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutCertError.ftl
@@ -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/.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } menggunakan sijil keselamatan yang tidak sah.
+
+cert-error-mitm-intro = Laman web membuktikan identiti melalui sijil yang dikeluarkan oleh pihak berkuasa sijil.
+
+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 <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+
+# 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: <a data-l10n-name="error-code-link">{ $error }</a>
+
+# 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.
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP Keselamatan Pengangkutan Rapi: { $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP Penyematan Kunci Awam: { $hasHPKP }
+
+cert-error-details-cert-chain-label = Rantaian sijil:
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Tidak dapat menyambung
+deniedPortAccess-title = Alamat ini dihadkan
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmmm. Kami menghadapi masalah untuk mencari laman ini.
+fileNotFound-title = Fail tidak ditemui
+fileAccessDenied-title = Akses kepada fail ditolak
+generic-title = Maaf.
+captivePortal-title = Log masuk ke rangkaian
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmmm. Alamat ini nampaknya tidak betul.
+netInterrupt-title = Sambungan terganggu
+notCached-title = Dokumen Luput
+netOffline-title = Mod luar talian
+contentEncodingError-title = Ralat Pengekodan Kandungan
+unsafeContentType-title = Jenis Fail Tidak Selamat
+netReset-title = Sambungan diset semula
+netTimeout-title = Sambungan telah tamat tempoh
+unknownProtocolFound-title = Alamat tidak difahami
+proxyConnectFailure-title = Pelayan proksi menolak sambungan
+proxyResolveFailure-title = Tidak dapat menemui pelayan proksi
+redirectLoop-title = Halaman tidak diarahkan semula dengan betul
+unknownSocketType-title = Respon tidak dijangka daripada pelayan
+nssFailure2-title = Gagal Disambung Dengan Selamat
+corruptedContentError-title = Ralat Kandungan Rosak
+sslv3Used-title = Tidak dapat Disambung dengan Selamat
+inadequateSecurityError-title = Sambungan internet anda tidak selamat
+blockedByPolicy-title = Halaman Disekat
+clockSkewError-title = Jam komputer anda salah
+networkProtocolError-title = Ralat Protokol Rangkaian
+nssBadCert-title = Amaran: Mungkin Ada Risiko Keselamatan
+nssBadCert-sts-title = Jangan Sambung: Potensi Isu Sekuriti
diff --git a/l10n-ms/browser/browser/aboutDialog.ftl b/l10n-ms/browser/browser/aboutDialog.ftl
new file mode 100644
index 0000000000..c6889332fb
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutDialog.ftl
@@ -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/.
+
+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 = <img data-l10n-name="icon"/>Memuat turun kemaskini — <label data-l10n-name="download-status"/>
+update-applying = Melaksanakan kemaskini…
+
+update-failed = Kemaskini gagal. <label data-l10n-name="failed-link">Muat turun versi terkini</label>
+update-failed-main = Kemaskini gagal. <a data-l10n-name="failed-link-main">Muat turun versi terkini</a>
+
+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 <label data-l10n-name="manual-link"/>
+
+update-unsupported = Anda tidak boleh lagi melaksanakan kemaskini dalam sistem ini. <label data-l10n-name="unsupported-link">Ketahui selanjutnya</label>
+
+update-restarting = Memulakan semula...
+
+channel-description = Anda sedang berada dalam <label data-l10n-name="current-channel"></label> saluran kemaskini.
+
+warningDesc-version = { -brand-short-name } masih dalam percubaan dan mungkin tidak stabil.
+
+community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> adalah <label data-l10n-name="community-exp-creditsLink">komuniti global</label> bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+
+community-2 = { -brand-short-name } direka oleh <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label>, sebuah <label data-l10n-name="community-creditsLink">komuniti global</label> bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+
+helpus = Mahu membantu? <label data-l10n-name="helpus-donateLink">Hulurkan sumbangan</label> atau <label data-l10n-name="helpus-getInvolvedLink">sertainya!</label>
+
+bottomLinks-license = Maklumat Perlesenan
+bottomLinks-rights = Hak Pengguna Akhir
+bottomLinks-privacy = Polisi Privasi
+
diff --git a/l10n-ms/browser/browser/aboutLogins.ftl b/l10n-ms/browser/browser/aboutLogins.ftl
new file mode 100644
index 0000000000..5cf57bd610
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutLogins.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/.
+# 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/.
+# NOTE: New strings should use the about-logins- prefix.
+
+## The ⋯ menu that is in the top corner of the page
+
+## Login List
+
+## Introduction screen
+
+## Login
+
+## OS Authentication dialog
+
+## The macOS strings are preceded by the operating system with "Firefox is trying to "
+## and includes subtitle of "Enter password for the user "xxx" to allow this." These
+## notes are only valid for English. Please test in your respected locale.
+
+## Primary Password notification
+
+## Dialogs
+
+## Breach Alert notification
+
+## Vulnerable Password notification
+
+## Error Messages
+
+## Login Export Dialog
+
+## Login Import Dialog
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+##
+## Variables:
+## $field (String) - The name of the field from the CSV file for example url, username or password
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+## Logins import report page
+
diff --git a/l10n-ms/browser/browser/aboutPocket.ftl b/l10n-ms/browser/browser/aboutPocket.ftl
new file mode 100644
index 0000000000..14e232aa3a
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutPocket.ftl
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Pocket button panel strings for about:pocket-saved, about:pocket-signup, and about:pocket-home
+
+
+## about:pocket-saved panel
+
+# Placeholder text for tag input
+pocket-panel-saved-add-tags =
+ .placeholder = Tambah Tag
+
+pocket-panel-saved-error-generic = Ada ralat semasa cuba menyimpan ke { -pocket-brand-name }.
+pocket-panel-saved-error-tag-length = Tag dihadkan hanya 25 aksara
+pocket-panel-saved-error-only-links = Hanya pautan boleh disimpan
+pocket-panel-saved-error-not-saved = Halaman Tidak Disimpan
+pocket-panel-saved-page-removed = Halaman Dialih keluar
+pocket-panel-saved-page-saved = Disimpan ke { -pocket-brand-name }
+pocket-panel-saved-processing-remove = Sedang mengalih keluar Halaman…
+pocket-panel-saved-processing-tags = Sedang menambah tag…
+pocket-panel-saved-remove-page = Alih keluar Halaman
+pocket-panel-saved-save-tags = Simpan
+pocket-panel-saved-saving-tags = Sedang menyimpan…
+pocket-panel-saved-suggested-tags = Tag Disyorkan
+pocket-panel-saved-tags-saved = Tag Ditambah
+pocket-panel-signup-view-list = Senarai Paparan
+
+## about:pocket-signup panel
+
+pocket-panel-signup-already-have = Sudah menjadi pengguna { -pocket-brand-name }?
+pocket-panel-signup-learn-more = Ketahui Selanjutnya
+pocket-panel-signup-login = Log masuk
+pocket-panel-signup-signup-email = Daftar dengan e-mel
+pocket-panel-signup-signup-cta = Daftar masuk ke { -pocket-brand-name }. Percuma.
+pocket-panel-signup-signup-firefox = Daftar dengan { -brand-product-name }
+pocket-panel-signup-tagline = Simpan artikel dan video dari { -brand-product-name } untuk dilihat dalam { -pocket-brand-name } pada apa jua peranti pada bila-bila masa.
+pocket-panel-signup-tagline-story-one = Klik butang { -pocket-brand-name } untuk menyimpan apa jua artikel, video atau halaman daripada { -brand-product-name }.
+pocket-panel-signup-tagline-story-two = Papar dalam { -pocket-brand-name } dalam mana-mana peranti, bila-bila masa saja.
+
+## about:pocket-home panel
+
+## Pocket panel header component
+
+## Pocket panel buttons
+
diff --git a/l10n-ms/browser/browser/aboutPolicies.ftl b/l10n-ms/browser/browser/aboutPolicies.ftl
new file mode 100644
index 0000000000..3b1a96f4d3
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutPolicies.ftl
@@ -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/.
+
+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
diff --git a/l10n-ms/browser/browser/aboutPrivateBrowsing.ftl b/l10n-ms/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 0000000000..5bb995b6ec
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutPrivateBrowsing.ftl
@@ -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/.
+
+privatebrowsingpage-open-private-window-label = Buka Tetingkap Peribadi
+ .accesskey = P
+about-private-browsing-not-private = Anda masih belum dalam tetingkap peribadi.
+
+## The following strings will be used for experiments in Fx99 and Fx100
+
+## Strings used in a “pin promotion” message, which prompts users to pin a private window
+
diff --git a/l10n-ms/browser/browser/aboutRestartRequired.ftl b/l10n-ms/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 0000000000..0c8da38e79
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutRestartRequired.ftl
@@ -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/.
+
+restart-required-title = Perlu Mula Semula
+
+restart-button-label = Mula Semula { -brand-short-name }
diff --git a/l10n-ms/browser/browser/aboutRobots.ftl b/l10n-ms/browser/browser/aboutRobots.ftl
new file mode 100644
index 0000000000..13fa20f7ae
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/browser/aboutSessionRestore.ftl b/l10n-ms/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 0000000000..ebfd1328bb
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutSessionRestore.ftl
@@ -0,0 +1,51 @@
+# 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, <a data-l10n-name="link-more">ketahui selanjutnya apa yang anda boleh lakukan.</a>
+
diff --git a/l10n-ms/browser/browser/aboutTabCrashed.ftl b/l10n-ms/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 0000000000..1f0b87a5af
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutTabCrashed.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/.
+
+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-comment =
+ .placeholder = Komen pilihan (komen disiarkan kepada umum)
+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
diff --git a/l10n-ms/browser/browser/aboutUnloads.ftl b/l10n-ms/browser/browser/aboutUnloads.ftl
new file mode 100644
index 0000000000..cfb7713f5f
--- /dev/null
+++ b/l10n-ms/browser/browser/aboutUnloads.ftl
@@ -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/.
+
+### Strings used in about:unloads, allowing users to manage the "tab unloading"
+### feature.
+
diff --git a/l10n-ms/browser/browser/accounts.ftl b/l10n-ms/browser/browser/accounts.ftl
new file mode 100644
index 0000000000..c56176ce33
--- /dev/null
+++ b/l10n-ms/browser/browser/accounts.ftl
@@ -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/.
+
+# Menu item that sends a tab to all synced devices.
+account-send-to-all-devices = Hantar ke Semua Peranti
+
diff --git a/l10n-ms/browser/browser/allTabsMenu.ftl b/l10n-ms/browser/browser/allTabsMenu.ftl
new file mode 100644
index 0000000000..3ed26bbd34
--- /dev/null
+++ b/l10n-ms/browser/browser/allTabsMenu.ftl
@@ -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/.
+
+all-tabs-menu-new-user-context =
+ .label = Tab Penyimpan Baru
+
+all-tabs-menu-hidden-tabs =
+ .label = Tab Tersorok
+
+all-tabs-menu-manage-user-context =
+ .label = Urus Penyimpan
+ .accesskey = U
diff --git a/l10n-ms/browser/browser/appExtensionFields.ftl b/l10n-ms/browser/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..5911000d64
--- /dev/null
+++ b/l10n-ms/browser/browser/appExtensionFields.ftl
@@ -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/.
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+## Colorway Themes
+## These themes are variants of a colorway. The colorway is specified in the
+## $colorway-name variable.
+## Variables
+## $colorway-name (String) The name of a colorway (e.g. Graffiti, Elemental).
+
diff --git a/l10n-ms/browser/browser/appMenuNotifications.ftl b/l10n-ms/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 0000000000..afba5b3204
--- /dev/null
+++ b/l10n-ms/browser/browser/appMenuNotifications.ftl
@@ -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/.
+
+appmenu-tab-hide-controlled =
+ .label = Akses Tab Tersorok Anda
+ .buttonlabel = Terus Sorok Tab
+ .buttonaccesskey = T
+ .secondarybuttonlabel = Nyahdayakan Ekstensi
+ .secondarybuttonaccesskey = N
diff --git a/l10n-ms/browser/browser/appmenu.ftl b/l10n-ms/browser/browser/appmenu.ftl
new file mode 100644
index 0000000000..580b767c49
--- /dev/null
+++ b/l10n-ms/browser/browser/appmenu.ftl
@@ -0,0 +1,99 @@
+# 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 Menu
+
+appmenuitem-new-tab =
+ .label = Tab Baru
+appmenuitem-new-window =
+ .label = Tetingkap Baru
+appmenuitem-new-private-window =
+ .label = Tetingkap Peribadi Baru
+appmenuitem-history =
+ .label = Sejarah
+appmenuitem-downloads =
+ .label = Muat turun
+appmenuitem-print =
+ .label = Cetak…
+appmenuitem-zoom =
+ .value = Zum
+appmenuitem-help =
+ .label = Bantuan
+
+## Zoom and Fullscreen Controls
+
+appmenuitem-fullscreen =
+ .label = Skrin Penuh
+
+## Firefox Account toolbar button and Sync panel in App menu.
+
+# This is shown beneath the name of a device when that device has no open tabs
+appmenu-remote-tabs-notabs = Tiada tab terbuka
+
+# This is shown when Sync is configured but syncing tabs is disabled.
+appmenu-remote-tabs-tabsnotsyncing = Mengaktifkan sync tab untuk papar senarai tab dari peranti anda yang lain.
+
+# This is shown when Sync is configured but this appears to be the only device attached to
+# the account. We also show links to download Firefox for android/ios.
+appmenu-remote-tabs-noclients = Mahu melihat tab anda daripada peranti lain di sini?
+
+appmenu-remote-tabs-connectdevice =
+ .label = Sambung Peranti Lain
+appmenu-remote-tabs-unverified = Akaun anda perlu disahkan.
+
+appmenuitem-save-page =
+ .label = Simpan Halaman Sebagai…
+
+## What's New panel in App menu.
+
+
+## The Firefox Profiler – The popup is the UI to turn on the profiler, and record
+## performance profiles. To enable it go to profiler.firefox.com and click
+## "Enable Profiler Menu Button".
+
+
+## Profiler presets
+## They are shown in the popup's select box.
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/popup/background.jsm.js
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+## History panel
+
+appmenu-restore-session =
+ .label = Pulih Sesi Dahulu
+appmenu-clear-history =
+ .label = Buang Sejarah Terkini…
+appmenu-recent-history-subheader = Sejarah Terkini
+appmenu-recently-closed-tabs =
+ .label = Tab Terkini Ditutup
+appmenu-recently-closed-windows =
+ .label = Tetingkap Terkini Ditutup
+
+## Help panel
+
+appmenu-about =
+ .label = Perihal { -brand-shorter-name }
+ .accesskey = P
+appmenu-help-report-site-issue =
+ .label = Laporkan Isu Laman…
+
+## appmenu-help-enter-troubleshoot-mode and appmenu-help-exit-troubleshoot-mode
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+
+## appmenu-help-report-deceptive-site and appmenu-help-not-deceptive
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-report-deceptive-site =
+ .label = Laporkan laman yang mengelirukan…
+ .accesskey = m
+appmenu-help-not-deceptive =
+ .label = Ini bukan laman mengelirukan…
+ .accesskey = m
+
+## More Tools
+
diff --git a/l10n-ms/browser/browser/branding/brandings.ftl b/l10n-ms/browser/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..5f3373529d
--- /dev/null
+++ b/l10n-ms/browser/browser/branding/brandings.ftl
@@ -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/.
+
+## 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.
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+
+
+-rally-brand-name = Mozilla Rally
+-rally-short-name = Rally
+
+
+-focus-brand-name = Firefox Focus
+
+
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
diff --git a/l10n-ms/browser/browser/branding/sync-brand.ftl b/l10n-ms/browser/browser/branding/sync-brand.ftl
new file mode 100644
index 0000000000..82b028fe27
--- /dev/null
+++ b/l10n-ms/browser/browser/branding/sync-brand.ftl
@@ -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/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Akaun Firefox
diff --git a/l10n-ms/browser/browser/browser.ftl b/l10n-ms/browser/browser/browser.ftl
new file mode 100644
index 0000000000..1839f2b039
--- /dev/null
+++ b/l10n-ms/browser/browser/browser.ftl
@@ -0,0 +1,495 @@
+# 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 main browser window's title
+
+# These are the default window titles everywhere except macOS. The first two
+# attributes are used when the web content opened has no title:
+#
+# default - "Mozilla Firefox"
+# private - "Mozilla Firefox (Private Browsing)"
+#
+# The last two are for use when there *is* a content title.
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } (Pelayaran Peribadi)
+ .data-content-title-default = { $content-title } - { -brand-full-name }
+ .data-content-title-private = { $content-title } - { -brand-full-name } (Pelayaran Peribadi)
+# These are the default window titles on macOS. The first two are for use when
+# there is no content title:
+#
+# "default" - "Mozilla Firefox"
+# "private" - "Mozilla Firefox - (Private Browsing)"
+#
+# The last two are for use when there *is* a content title.
+# Do not use the brand name in the last two attributes, as we do on non-macOS.
+#
+# Also note the other subtle difference here: we use a `-` to separate the
+# brand name from `(Private Browsing)`, which does not happen on other OSes.
+#
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-mac =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } - (Pelayaran Peribadi)
+ .data-content-title-default = { $content-title }
+ .data-content-title-private = { $content-title } - (Pelayaran Peribadi)
+# This gets set as the initial title, and is overridden as soon as we start
+# updating the titlebar based on loaded tabs or private browsing state.
+# This should match the `data-title-default` attribute in both
+# `browser-main-window` and `browser-main-window-mac`.
+browser-main-window-title = { -brand-full-name }
+
+##
+
+urlbar-identity-button =
+ .aria-label = Papar maklumat laman
+
+## Tooltips for images appearing in the address bar
+
+urlbar-services-notification-anchor =
+ .tooltiptext = Buka panel mesej pemasangan
+urlbar-web-notification-anchor =
+ .tooltiptext = Tukar pilihan samada anda boleh menerima notifikasi dari laman
+urlbar-midi-notification-anchor =
+ .tooltiptext = Buka panel MIDI
+urlbar-eme-notification-anchor =
+ .tooltiptext = Urus penggunaan perisian DRM
+urlbar-web-authn-anchor =
+ .tooltiptext = Buka panel Pengesahan Web
+urlbar-canvas-notification-anchor =
+ .tooltiptext = Urus izin ekstrak kanvas
+urlbar-web-rtc-share-microphone-notification-anchor =
+ .tooltiptext = Urus perkongsian mikrofon anda dengan laman
+urlbar-default-notification-anchor =
+ .tooltiptext = Buka panel mesej
+urlbar-geolocation-notification-anchor =
+ .tooltiptext = Buka lokasi panel permintaan
+urlbar-translate-notification-anchor =
+ .tooltiptext = Terjemahkan halaman ini
+urlbar-web-rtc-share-screen-notification-anchor =
+ .tooltiptext = Urus perkongsian tetingkap atau skrin anda dengan laman
+urlbar-indexed-db-notification-anchor =
+ .tooltiptext = Buka panel mesej storan luar talian
+urlbar-password-notification-anchor =
+ .tooltiptext = Buka panel mesej kata laluan disimpan
+urlbar-translated-notification-anchor =
+ .tooltiptext = Urus terjemahan halaman
+urlbar-plugins-notification-anchor =
+ .tooltiptext = Urus kegunaan plugin
+urlbar-web-rtc-share-devices-notification-anchor =
+ .tooltiptext = Urus perkongsian kamera dan/atau mikrofon anda dengan laman
+urlbar-autoplay-notification-anchor =
+ .tooltiptext = Buka panel automain
+urlbar-persistent-storage-notification-anchor =
+ .tooltiptext = Simpan data dalam Storan Kekal
+urlbar-addons-notification-anchor =
+ .tooltiptext = Buka panel mesej pemasangan add-on
+
+## Prompts users to use the Urlbar when they open a new tab or visit the
+## homepage of their default search engine.
+## Variables:
+## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
+
+urlbar-search-tips-onboard = Taip sedikit, cari selanjutnya: Carian { $engineName } dari bar alamat anda.
+
+## Local search mode indicator labels in the urlbar
+
+
+##
+
+urlbar-geolocation-blocked =
+ .tooltiptext = Anda telah menyekat maklumat lokasi untuk laman web ini.
+urlbar-web-notifications-blocked =
+ .tooltiptext = Anda telah menyekat notifikasi untuk laman web ini.
+urlbar-camera-blocked =
+ .tooltiptext = Anda telah menyekat kamera anda untuk laman web ini.
+urlbar-microphone-blocked =
+ .tooltiptext = Anda telah menyekat mikrofon anda untuk laman web ini.
+urlbar-screen-blocked =
+ .tooltiptext = Anda telah menyekat laman web ini daripada berkongsi skrin anda.
+urlbar-persistent-storage-blocked =
+ .tooltiptext = Anda telah menghalang storan gigih untuk laman web ini.
+urlbar-popup-blocked =
+ .tooltiptext = Anda telah menyekat pop-up untuk laman web ini.
+urlbar-autoplay-media-blocked =
+ .tooltiptext = Anda telah menyekat media automain dengan suara untuk laman web ini.
+urlbar-canvas-blocked =
+ .tooltiptext = Anda telah menyekat ekstraksi data kanvas untuk laman web ini.
+urlbar-midi-blocked =
+ .tooltiptext = Anda telah menyekat akses MIDI untuk laman web ini.
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+urlbar-star-edit-bookmark =
+ .tooltiptext = Edit tandabuku ini ({ $shortcut })
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+urlbar-star-add-bookmark =
+ .tooltiptext = Tandabuku halaman Ini ({ $shortcut })
+
+## Page Action Context Menu
+
+page-action-manage-extension =
+ .label = Urus Ekstensi…
+
+## Auto-hide Context Menu
+
+full-screen-autohide =
+ .label = Sorok Bar Alatan
+ .accesskey = B
+full-screen-exit =
+ .label = Keluar Mod Skrin Penuh
+ .accesskey = K
+
+## Search Engine selection buttons (one-offs)
+
+search-one-offs-change-settings-compact-button =
+ .tooltiptext = Ubah tetapan carian
+search-one-offs-context-open-new-tab =
+ .label = Cari dalam Tab Baru
+ .accesskey = T
+search-one-offs-context-set-as-default =
+ .label = Tetapkan sebagai Enjin Carian Piawai
+ .accesskey = P
+# When more than 5 engines are offered by a web page, they are grouped in a
+# submenu using this as its label.
+search-one-offs-add-engine-menu =
+ .label = Tambah enjin carian
+
+## Local search mode one-off buttons
+## Variables:
+## $restrict (String): The restriction token corresponding to the search mode.
+## Restriction tokens are special characters users can type in the urlbar to
+## restrict their searches to certain sources (e.g., "*" to search only
+## bookmarks).
+
+
+## QuickActions are shown in the urlbar as the user types a matching string
+## The -cmd- strings are comma separated list of keywords that will match
+## the action.
+
+
+## Bookmark Panel
+
+bookmark-panel-cancel =
+ .label = Batal
+ .accesskey = B
+# Variables:
+# $count (number): number of bookmarks that will be removed
+bookmark-panel-remove =
+ .label = Buang { $count } Tandabuku
+ .accesskey = B
+bookmark-panel-show-editor-checkbox =
+ .label = Papar editor apabila menyimpan
+ .accesskey = P
+# Width of the bookmark panel.
+# Should be large enough to fully display the Done and
+# Cancel/Remove Bookmark buttons.
+bookmark-panel =
+ .style = min-width: 23em
+
+## Identity Panel
+
+identity-connection-internal = Ini adalah halaman { -brand-short-name } yang selamat.
+identity-connection-file = Halaman ini disimpan dalam komputer anda.
+identity-extension-page = Halaman ini dimuatkan dari ekstensi.
+identity-active-blocked = { -brand-short-name } telah menyekat sebahagian halaman ini yang tidak selamat.
+identity-passive-loaded = Sebahagian halaman ini tidak selamat (contohnya imej).
+identity-active-loaded = Anda telah menyahdayakan perlindungan untuk halaman ini.
+identity-weak-encryption = Halaman ini menggunakan enkripsi yang lemah.
+identity-insecure-login-forms = Log masuk yang dimasukkan dalam halaman ini boleh dikompromi.
+identity-permissions-reload-hint = Anda mungkin perlu memuat semula halaman supaya perubahan ini dilaksanakan.
+identity-clear-site-data =
+ .label = Buang Kuki dan Data Laman…
+identity-remove-cert-exception =
+ .label = Buang Pengecualian
+ .accesskey = B
+identity-description-insecure = Sambungan anda ke laman ini adalah terbuka. Maklumat yang anda hantar mampu dilihat oleh orang lain (seperti kata laluan, mesej, kad kredit, dll.).
+identity-description-insecure-login-forms = Maklumat log masuk yang anda masukkan dalam halaman ini tidak selamat dan boleh dikompromi.
+identity-description-weak-cipher-intro = Sambungan anda ke laman web ini menggunakan enkripsi yang lemah dan bukan secara persendirian.
+identity-description-weak-cipher-risk = Orang lain boleh melihat maklumat anda atau mengubah tingkah laku laman web.
+identity-description-active-blocked = { -brand-short-name } telah menyekat sebahagian halaman ini yang tidak selamat. <label data-l10n-name="link">Ketahui Selanjutnya</label>
+identity-description-passive-loaded = Sambungan anda adalah terbuka dan maklumat yang anda kongsi dengan halaman ini mampu dilihat oleh orang lain.
+identity-description-passive-loaded-insecure = Laman web ini mengandungi kandungan yang tidak selamat (seperti imej). <label data-l10n-name="link">Ketahui Selanjutnya</label>
+identity-description-passive-loaded-mixed = Walaupun { -brand-short-name } telah menyekat beberapa kandungan, masih ada kandungan pada halaman ini yang tidak selamat (seperti imej). <label data-l10n-name="link">Ketahui Selanjutnya</label>
+identity-description-active-loaded = Laman web ini mengandungi kandungan yang tidak selamat (seperti skrip) dan sambungan anda kepadanya adalah terbuka.
+identity-description-active-loaded-insecure = Maklumat yang anda kongsi dengan laman ini boleh dilihat oleh orang lain (seperti kata laluan, mesej, kad kredit, dll.).
+identity-learn-more =
+ .value = Ketahui Selanjutnya
+identity-disable-mixed-content-blocking =
+ .label = Nyahdayakan perlindungan buat masa ni
+ .accesskey = N
+identity-enable-mixed-content-blocking =
+ .label = Dayakan perlindungan
+ .accesskey = D
+identity-more-info-link-text =
+ .label = Maklumat Lanjut
+
+## Window controls
+
+browser-window-minimize-button =
+ .tooltiptext = Minimum
+browser-window-close-button =
+ .tooltiptext = Tutup
+
+## Tab actions
+
+
+## These labels should be written in all capital letters if your locale supports them.
+## Variables:
+## $count (number): number of affected tabs
+
+
+## Bookmarks toolbar items
+
+
+## WebRTC Pop-up notifications
+
+popup-all-windows-shared = Semua tetingkap yang kelihatan pada skrin anda akan dikongsi.
+
+## WebRTC window or screen share tab switch warning
+
+
+## DevTools F12 popup
+
+
+## URL Bar
+
+urlbar-placeholder =
+ .placeholder = Cari atau masukkan alamat
+# Variables
+# $name (String): the name of the user's default search engine
+urlbar-placeholder-with-name =
+ .placeholder = Cari dengan { $name } atau masukkan alamat
+urlbar-switch-to-tab =
+ .value = Tukar ke tab:
+# Used to indicate that a selected autocomplete entry is provided by an extension.
+urlbar-extension =
+ .value = Ekstensi:
+urlbar-go-button =
+ .tooltiptext = Pergi ke alamat dalam Bar Lokasi
+urlbar-page-action-button =
+ .tooltiptext = Tindakan halaman
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-w-engine = Cari dengan { $engine }
+urlbar-result-action-switch-tab = Tukar ke Tab
+urlbar-result-action-visit = Lawati
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+## In these actions "Search" is a verb, followed by where the search is performed.
+
+
+## Labels shown above groups of urlbar results
+
+
+## Reader View toolbar buttons
+
+# This should match menu-view-enter-readerview in menubar.ftl
+reader-view-enter-button =
+ .aria-label = Masuk Reader View
+# This should match menu-view-close-readerview in menubar.ftl
+reader-view-close-button =
+ .aria-label = Tutup Reader View
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> kini skrin penuh
+fullscreen-warning-no-domain = Dokumen ini skrin penuh
+fullscreen-exit-button = Keluar dari Skrin Penuh (Esc)
+# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
+fullscreen-exit-mac-button = Keluar dari Skrin Penuh (esc)
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = <span data-l10n-name="domain">{ $domain }</span> mempunyai kawalan ke atas penunjuk anda. Tekan Esc untuk mengambil kembali kawalan.
+pointerlock-warning-no-domain = Dokumen ini mempunyai kawalan ke atas penunjuk anda. Tekan Esc untuk mengambil kembali kawalan.
+
+## Subframe crash notification
+
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-toolbar-chevron =
+ .tooltiptext = Papar tandabuku selanjutnya
+bookmarks-sidebar-content =
+ .aria-label = Tandabuku
+bookmarks-menu-button =
+ .label = Menu Tandabuku
+bookmarks-other-bookmarks-menu =
+ .label = Tandabuku Lain
+bookmarks-mobile-bookmarks-menu =
+ .label = Tandabuku Telefon
+bookmarks-tools-sidebar-visibility =
+ .label =
+ { $isVisible ->
+ [true] Sorok Bar sisi Tandabuku
+ *[other] Papar Tandabuku Bar Sisi
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .label =
+ { $isVisible ->
+ [true] Sorok Bar alat Tandabuku
+ *[other] Papar Bar alat Tandabuku
+ }
+bookmarks-tools-menu-button-visibility =
+ .label =
+ { $isVisible ->
+ [true] Buang Menu Tandabuku daripada Bar alatan
+ *[other] Tambah Menu Tandabuku dalam Bar alatan
+ }
+bookmarks-search =
+ .label = Cari Tandabuku
+bookmarks-tools =
+ .label = Alatan Tandabuku
+bookmarks-bookmark-edit-panel =
+ .label = Edit Tandabuku Ini
+bookmarks-toolbar-menu =
+ .label = Bar alatan Tandabuku
+bookmarks-toolbar-placeholder =
+ .title = Item Bar alatan Tandabuku
+bookmarks-toolbar-placeholder-button =
+ .label = Item Bar alatan Tandabuku
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = Tandabuku
+
+## Pocket toolbar button
+
+
+## Repair text encoding toolbar button
+
+
+## Customize Toolbar Buttons
+
+toolbar-overflow-customize-button =
+ .label = Penyesuaian Bar Alatan…
+ .accesskey = P
+toolbar-button-email-link =
+ .label = E-mel Pautan
+ .tooltiptext = E-mel pautan ke halaman ini
+# Variables:
+# $shortcut (String): keyboard shortcut to save a copy of the page
+toolbar-button-save-page =
+ .label = Simpan Halaman
+ .tooltiptext = Simpan halaman ini ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open a local file
+toolbar-button-open-file =
+ .label = Buka Fail
+ .tooltiptext = Buka fail ({ $shortcut })
+toolbar-button-synced-tabs =
+ .label = Tab Sync
+ .tooltiptext = Papar tab dari peranti lain
+# Variables
+# $shortcut (string) - Keyboard shortcut to open a new private browsing window
+toolbar-button-new-private-window =
+ .label = Tetingkap Peribadi Baru
+ .tooltiptext = Buka tetingkap Pelayaran Peribadi baharu ({ $shortcut })
+
+## EME notification panel
+
+eme-notifications-drm-content-playing = Beberapa audio atau video pada laman ini menggunakan perisian DRM, yang mungkin mengehadkan penggunaan anda dengan { -brand-short-name }.
+
+## Password save/update panel
+
+
+## Add-on removal warning
+
+
+##
+
+ui-tour-info-panel-close =
+ .tooltiptext = Tutup
+
+## Variables:
+## $uriHost (String): URI host for which the popup was allowed or blocked.
+
+popups-infobar-allow =
+ .label = Izinkan popup untuk { $uriHost }
+ .accesskey = p
+popups-infobar-block =
+ .label = Sekat popup untuk { $uriHost }
+ .accesskey = p
+
+##
+
+popups-infobar-dont-show-message =
+ .label = Jangan papar mesej ini apabila popup telah disekat
+ .accesskey = J
+
+## Since the default position for PiP controls does not change for RTL layout,
+## right-to-left languages should use "Left" and "Right" as in the English strings,
+
+
+##
+
+
+# Navigator Toolbox
+
+navbar-downloads =
+ .label = Muat turun
+navbar-overflow =
+ .tooltiptext = Alatan seterusnya…
+# Variables:
+# $shortcut (String): keyboard shortcut to print the page
+navbar-print =
+ .label = Cetak
+ .tooltiptext = Cetak laman ini… ({ $shortcut })
+navbar-home =
+ .label = Laman
+ .tooltiptext = Laman { -brand-short-name }
+navbar-library =
+ .label = Pustaka
+ .tooltiptext = Papar sejarah, tandabuku yang disimpan dan banyak lagi
+navbar-search =
+ .title = Cari
+navbar-accessibility-indicator =
+ .tooltiptext = Ciri Ketercapaian Diaktifkan
+# Name for the tabs toolbar as spoken by screen readers. The word
+# "toolbar" is appended automatically and should not be included in
+# in the string
+tabs-toolbar =
+ .aria-label = Tab pelayar
+tabs-toolbar-new-tab =
+ .label = Tab Baru
+tabs-toolbar-list-all-tabs =
+ .label = Senarai semua tab
+ .tooltiptext = Senarai semua tab
+
+## Infobar shown at startup to suggest session-restore
+
+
+## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+
+data-reporting-notification-message = { -brand-short-name } secara automatik menghantar data ke { -vendor-short-name } supaya kami boleh menambah baik pengalaman anda.
+data-reporting-notification-button =
+ .label = Pilih Apa Yang Saya Kongsi
+ .accesskey = P
+
+## Unified extensions (toolbar) button
+
+
+## Autorefresh blocker
+
+refresh-blocked-refresh-label = { -brand-short-name } menghalang halaman ini daripada dimuatkan secara automatik.
+refresh-blocked-redirect-label = { -brand-short-name } menghalang halaman ini daripada dialihkan ke halaman lain secara automatik.
+refresh-blocked-allow =
+ .label = Izinkan
+ .accesskey = I
diff --git a/l10n-ms/browser/browser/browserContext.ftl b/l10n-ms/browser/browser/browserContext.ftl
new file mode 100644
index 0000000000..765ebe184c
--- /dev/null
+++ b/l10n-ms/browser/browser/browserContext.ftl
@@ -0,0 +1,334 @@
+# 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/.
+
+navbar-tooltip-instruction =
+ .value =
+ { PLATFORM() ->
+ [macos] Tarik turun untuk papar sejarah
+ *[other] Klik-kanan atau tarik turun untuk papar sejarah
+ }
+
+## Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = Undur satu halaman ({ $shortcut })
+ .aria-label = Undur
+ .accesskey = U
+
+# This menuitem is only visible on macOS
+main-context-menu-back-mac =
+ .label = Undur
+ .accesskey = U
+
+navbar-tooltip-back-2 =
+ .value = { main-context-menu-back-2.tooltiptext }
+
+toolbar-button-back-2 =
+ .label = { main-context-menu-back-2.aria-label }
+
+## Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+main-context-menu-forward-2 =
+ .tooltiptext = Maju satu halaman ({ $shortcut })
+ .aria-label = Seterusnya
+ .accesskey = S
+
+# This menuitem is only visible on macOS
+main-context-menu-forward-mac =
+ .label = Seterusnya
+ .accesskey = S
+
+navbar-tooltip-forward-2 =
+ .value = { main-context-menu-forward-2.tooltiptext }
+
+toolbar-button-forward-2 =
+ .label = { main-context-menu-forward-2.aria-label }
+
+## Reload
+
+main-context-menu-reload =
+ .aria-label = Muat semula
+ .accesskey = M
+
+# This menuitem is only visible on macOS
+main-context-menu-reload-mac =
+ .label = Muat semula
+ .accesskey = M
+
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-label = Berhenti
+ .accesskey = B
+
+# This menuitem is only visible on macOS
+main-context-menu-stop-mac =
+ .label = Berhenti
+ .accesskey = B
+
+toolbar-button-stop =
+ .label = { main-context-menu-stop.aria-label }
+
+## Stop-Reload Button
+
+toolbar-button-stop-reload =
+ .title = { main-context-menu-reload.aria-label }
+
+## Firefox Account Button
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = Simpan Halaman Sebagai…
+ .accesskey = S
+
+## Simple menu items
+
+main-context-menu-bookmark-add =
+ .aria-label = Tandabuku Halaman Ini
+ .accesskey = b
+ .tooltiptext = Tandabuku halaman Ini
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+main-context-menu-bookmark-add-with-shortcut =
+ .aria-label = Tandabuku Halaman Ini
+ .accesskey = b
+ .tooltiptext = Tandabuku halaman Ini ({ $shortcut })
+
+main-context-menu-bookmark-change =
+ .aria-label = Edit Tandabuku Ini
+ .accesskey = b
+ .tooltiptext = Edit tandabuku ini
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+main-context-menu-bookmark-change-with-shortcut =
+ .aria-label = Edit Tandabuku Ini
+ .accesskey = b
+ .tooltiptext = Edit tandabuku ini ({ $shortcut })
+
+main-context-menu-open-link =
+ .label = Buka Pautan
+ .accesskey = B
+
+main-context-menu-open-link-new-tab =
+ .label = Buka Pautan dalam Tab Baru
+ .accesskey = T
+
+main-context-menu-open-link-container-tab =
+ .label = Buka Pautan dalam Tab Penyimpan Baru
+ .accesskey = u
+
+main-context-menu-open-link-new-window =
+ .label = Buka Pautan dalam Tetingkap Baru
+ .accesskey = a
+
+main-context-menu-open-link-new-private-window =
+ .label = Buka Pautan dalam Tetingkap Privasi Baru
+ .accesskey = P
+
+main-context-menu-save-link =
+ .label = Simpan Pautan Sebagai…
+ .accesskey = a
+
+## The access keys for "Copy Link Location" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+
+## The access keys for "Copy Link" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-copy-email =
+ .label = Salin Alamat E-mel
+ .accesskey = E
+
+## Media (video/audio) controls
+##
+## The accesskey for "Play" and "Pause" are the
+## same because the two context-menu items are
+## mutually exclusive.
+
+main-context-menu-media-play =
+ .label = Main
+ .accesskey = n
+
+main-context-menu-media-pause =
+ .label = Jeda
+ .accesskey = e
+
+##
+
+main-context-menu-media-mute =
+ .label = Senyap
+ .accesskey = S
+
+main-context-menu-media-unmute =
+ .label = Nyahsenyap
+ .accesskey = p
+
+main-context-menu-media-loop =
+ .label = Gelung
+ .accesskey = G
+
+## The access keys for "Show Controls" and "Hide Controls" are the same
+## because the two context-menu items are mutually exclusive.
+
+main-context-menu-media-show-controls =
+ .label = Papar Kawalan
+ .accesskey = P
+
+main-context-menu-media-hide-controls =
+ .label = Sorok Kawalan
+ .accesskey = S
+
+##
+
+main-context-menu-media-video-fullscreen =
+ .label = Skrin Penuh
+ .accesskey = P
+
+main-context-menu-media-video-leave-fullscreen =
+ .label = Keluar Skrin Penuh
+ .accesskey = u
+
+main-context-menu-image-reload =
+ .label = Muat Semula Imej
+ .accesskey = M
+
+main-context-menu-image-copy =
+ .label = Salin Imej
+ .accesskey = n
+
+main-context-menu-image-save-as =
+ .label = Simpan Imej Sebagai…
+ .accesskey = j
+
+main-context-menu-image-email =
+ .label = E-mel Imej…
+ .accesskey = E
+
+main-context-menu-image-info =
+ .label = Papar Info Imej
+ .accesskey = f
+
+main-context-menu-image-desc =
+ .label = Papar Keterangan
+ .accesskey = K
+
+main-context-menu-video-save-as =
+ .label = Simpan Video Sebagai…
+ .accesskey = p
+
+main-context-menu-audio-save-as =
+ .label = Simpan Audio Sebagai…
+ .accesskey = S
+
+main-context-menu-video-email =
+ .label = E-mel Video…
+ .accesskey = E
+
+main-context-menu-audio-email =
+ .label = E-mel Audio…
+ .accesskey = a
+
+main-context-menu-plugin-play =
+ .label = Aktifkan plugin ini
+ .accesskey = u
+
+main-context-menu-plugin-hide =
+ .label = Sorok plugin ini
+ .accesskey = S
+
+main-context-menu-send-to-device =
+ .label = Hantar Halaman ke Peranti
+ .accesskey = P
+
+## The access keys for "Use Saved Login" and "Use Saved Password"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+
+##
+
+main-context-menu-keyword =
+ .label = Tambah Kata kunci untuk Carian ini…
+ .accesskey = K
+
+main-context-menu-link-send-to-device =
+ .label = Hantar Pautan ke Peranti
+ .accesskey = P
+
+main-context-menu-frame =
+ .label = Bingkai Ini
+ .accesskey = n
+
+main-context-menu-frame-show-this =
+ .label = Papar Hanya Bingkai Ini
+ .accesskey = P
+
+main-context-menu-frame-open-tab =
+ .label = Buka Bingkai dalam Tab Baru
+ .accesskey = T
+
+main-context-menu-frame-open-window =
+ .label = Buka Bingkai dalam Tetingkap Baru
+ .accesskey = B
+
+main-context-menu-frame-reload =
+ .label = Muat semula Bingkai
+ .accesskey = M
+
+main-context-menu-frame-bookmark =
+ .label = Tandabuku Bingkai Ini
+ .accesskey = u
+
+main-context-menu-frame-save-as =
+ .label = Simpan Bingkai Sebagai…
+ .accesskey = B
+
+main-context-menu-frame-print =
+ .label = Cetak Bingkai…
+ .accesskey = C
+
+main-context-menu-frame-view-source =
+ .label = Papar Sumber Bingkai
+ .accesskey = S
+
+main-context-menu-frame-view-info =
+ .label = Papar Info Bingkai
+ .accesskey = I
+
+main-context-menu-view-selection-source =
+ .label = Papar Sumber Dipilih
+ .accesskey = e
+
+main-context-menu-view-page-source =
+ .label = Papar Sumber Halaman
+ .accesskey = P
+
+main-context-menu-bidi-switch-text =
+ .label = Tukar Hala Teks
+ .accesskey = u
+
+main-context-menu-bidi-switch-page =
+ .label = Tukar Hala Halaman
+ .accesskey = H
+
+main-context-menu-inspect-a11y-properties =
+ .label = Periksa Sifat Aksesibiliti
+
+main-context-menu-eme-learn-more =
+ .label = Ketahui selanjutnya perihal DRM…
+ .accesskey = K
+
diff --git a/l10n-ms/browser/browser/browserSets.ftl b/l10n-ms/browser/browser/browserSets.ftl
new file mode 100644
index 0000000000..295af72276
--- /dev/null
+++ b/l10n-ms/browser/browser/browserSets.ftl
@@ -0,0 +1,185 @@
+# 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/.
+
+window-minimize-command =
+ .label = Minimum
+
+window-zoom-command =
+ .label = Zum
+
+window-new-shortcut =
+ .key = N
+
+window-minimize-shortcut =
+ .key = m
+
+close-shortcut =
+ .key = W
+
+tab-new-shortcut =
+ .key = t
+
+location-open-shortcut =
+ .key = l
+
+location-open-shortcut-alt =
+ .key = D
+
+search-focus-shortcut =
+ .key = k
+
+# This shortcut is used in two contexts:
+# - web search
+# - find in page
+find-shortcut =
+ .key = f
+
+search-find-again-shortcut =
+ .key = g
+
+search-find-again-shortcut-alt =
+ .keycode = VK_F3
+
+search-find-selection-shortcut =
+ .key = e
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+search-focus-shortcut-alt =
+ .key =
+ { PLATFORM() ->
+ [linux] j
+ *[other] e
+ }
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+downloads-shortcut =
+ .key =
+ { PLATFORM() ->
+ [linux] y
+ *[other] j
+ }
+
+addons-shortcut =
+ .key = A
+
+file-open-shortcut =
+ .key = o
+
+save-page-shortcut =
+ .key = s
+
+page-source-shortcut =
+ .key = u
+
+# This should match the Option+Command keyboard shortcut letter that Safari
+# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
+# is Firefox's official keyboard shortcut shown in the GUI.
+# Safari variant is an alias provided for the convenience of Safari and Chrome
+# users on macOS. See bug 1398988.
+page-source-shortcut-safari =
+ .key = u
+
+page-info-shortcut =
+ .key = i
+
+print-shortcut =
+ .key = p
+
+mute-toggle-shortcut =
+ .key = M
+
+nav-back-shortcut-alt =
+ .key = [
+
+nav-fwd-shortcut-alt =
+ .key = ]
+
+nav-reload-shortcut =
+ .key = r
+
+# Shortcut available only on macOS.
+nav-stop-shortcut =
+ .key = .
+
+history-show-all-shortcut =
+ .key = H
+
+history-sidebar-shortcut =
+ .key = h
+
+full-screen-shortcut =
+ .key = f
+
+reader-mode-toggle-shortcut-windows =
+ .keycode = VK_F9
+
+reader-mode-toggle-shortcut-other =
+ .key = R
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut` key.
+picture-in-picture-toggle-shortcut-alt =
+ .key = { "}" }
+
+bookmark-this-page-shortcut =
+ .key = d
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-sidebar-shortcut =
+ .key = b
+
+## All `-alt*` messages are alternative acceleration keys for zoom.
+## If shift key is needed with your locale popular keyboard for them,
+## you can use these alternative items. Otherwise, their values should be empty.
+
+full-zoom-reduce-shortcut =
+ .key = -
+
+full-zoom-enlarge-shortcut =
+ .key = +
+
+full-zoom-enlarge-shortcut-alt =
+ .key = =
+
+full-zoom-enlarge-shortcut-alt2 =
+ .key = { "" }
+
+full-zoom-reset-shortcut =
+ .key = 0
+
+full-zoom-reset-shortcut-alt =
+ .key = { "" }
+
+##
+
+bidi-switch-direction-shortcut =
+ .key = X
+
+private-browsing-shortcut =
+ .key = P
+
+## The shortcuts below are for Mac specific
+## global menu.
+
+quit-app-shortcut =
+ .key = Q
+
+help-shortcut =
+ .key = ?
+
+preferences-shortcut =
+ .key = ,
+
+hide-app-shortcut =
+ .key = H
+
+hide-other-apps-shortcut =
+ .key = H
diff --git a/l10n-ms/browser/browser/colorwaycloset.ftl b/l10n-ms/browser/browser/colorwaycloset.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/colorwaycloset.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/colorways.ftl b/l10n-ms/browser/browser/colorways.ftl
new file mode 100644
index 0000000000..0f241242de
--- /dev/null
+++ b/l10n-ms/browser/browser/colorways.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/.
+
+## Colorway collections
+
+## Colorway names and descriptions
+
diff --git a/l10n-ms/browser/browser/confirmationHints.ftl b/l10n-ms/browser/browser/confirmationHints.ftl
new file mode 100644
index 0000000000..86f69c70eb
--- /dev/null
+++ b/l10n-ms/browser/browser/confirmationHints.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/.
+
+
+## Confirmation hints
+
+confirmation-hint-send-to-device = Sudah dihantar!
diff --git a/l10n-ms/browser/browser/contentCrash.ftl b/l10n-ms/browser/browser/contentCrash.ftl
new file mode 100644
index 0000000000..ebce23bfe7
--- /dev/null
+++ b/l10n-ms/browser/browser/contentCrash.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/.
+
+
+## Subframe crash notification
+
+
+## Pending crash reports
+
+# Variables:
+# $reportCount (Number): the number of pending crash reports
+pending-crash-reports-message = Anda ada { $reportCount } laporan ranap yang masih belum dihantar
+pending-crash-reports-view-all =
+ .label = Papar
+pending-crash-reports-send =
+ .label = Hantar
+pending-crash-reports-always-send =
+ .label = Sentiasa Hantar
diff --git a/l10n-ms/browser/browser/customizeMode.ftl b/l10n-ms/browser/browser/customizeMode.ftl
new file mode 100644
index 0000000000..349cf8768f
--- /dev/null
+++ b/l10n-ms/browser/browser/customizeMode.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/.
+
+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-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-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-undo-cmd =
+ .label = Batal
diff --git a/l10n-ms/browser/browser/defaultBrowserNotification.ftl b/l10n-ms/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 0000000000..668b70e767
--- /dev/null
+++ b/l10n-ms/browser/browser/defaultBrowserNotification.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/.
+
+## These strings are used for the default browser prompt. There are 2 variations
+## depending on the operating system (Windows vs other). The checkbox label and
+## secondary button are shared between the variants.
+
diff --git a/l10n-ms/browser/browser/downloads.ftl b/l10n-ms/browser/browser/downloads.ftl
new file mode 100644
index 0000000000..7af656e2f2
--- /dev/null
+++ b/l10n-ms/browser/browser/downloads.ftl
@@ -0,0 +1,144 @@
+# 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 title and aria-label attributes are used by screen readers to describe
+## the Downloads Panel.
+
+downloads-window =
+ .title = Muat turun
+downloads-panel =
+ .aria-label = Muat turun
+
+##
+
+downloads-cmd-pause =
+ .label = Jeda
+ .accesskey = J
+downloads-cmd-resume =
+ .label = Sambung
+ .accesskey = m
+downloads-cmd-cancel =
+ .tooltiptext = Batal
+downloads-cmd-cancel-panel =
+ .aria-label = Batal
+
+## Displayed in the downloads context menu for files that can be opened.
+## Variables:
+## $handler (String) - The name of the mime type's default file handler.
+## Example: "Notepad", "Acrobat Reader DC", "7-Zip File Manager"
+
+
+##
+
+downloads-cmd-show-downloads =
+ .label = Papar Folder Muat turun
+downloads-cmd-retry =
+ .tooltiptext = Cuba lagi
+downloads-cmd-retry-panel =
+ .aria-label = Cuba lagi
+downloads-cmd-go-to-download-page =
+ .label = Pergi Ke Halaman Muat Turun
+ .accesskey = P
+downloads-cmd-copy-download-link =
+ .label = Salin Pautan Muat Turun
+ .accesskey = P
+downloads-cmd-remove-from-history =
+ .label = Buang Daripada Sejarah
+ .accesskey = u
+downloads-cmd-clear-list =
+ .label = Buang Panel Previu
+ .accesskey = a
+downloads-cmd-clear-downloads =
+ .label = Buang Muat turun
+ .accesskey = B
+# This command is shown in the context menu when downloads are blocked.
+downloads-cmd-unblock =
+ .label = Izinkan Muat turun
+ .accesskey = a
+# This is the tooltip of the action button shown when malware is blocked.
+downloads-cmd-remove-file =
+ .tooltiptext = Alih keluar Fail
+downloads-cmd-remove-file-panel =
+ .aria-label = Alih keluar Fail
+# This is the tooltip of the action button shown when potentially unwanted
+# downloads are blocked. This opens a dialog where the user can choose
+# whether to unblock or remove the download. Removing is the default option.
+downloads-cmd-choose-unblock =
+ .tooltiptext = Buang Fail atau Izinkan Muat turun
+downloads-cmd-choose-unblock-panel =
+ .aria-label = Buang Fail atau Izinkan Muat turun
+# This is the tooltip of the action button shown when uncommon downloads are
+# blocked.This opens a dialog where the user can choose whether to open the
+# file or remove the download. Opening is the default option.
+downloads-cmd-choose-open =
+ .tooltiptext = Buka atau Buang Fail
+downloads-cmd-choose-open-panel =
+ .aria-label = Buka atau Buang Fail
+# Displayed when hovering a blocked download, indicates that it's possible to
+# show more information for user to take the next action.
+downloads-show-more-information =
+ .value = Papar maklumat selanjutnya
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+downloads-open-file =
+ .value = Buka Fail
+
+## Displayed when the user clicked on a download in process. Indicates that the
+## downloading file will be opened after certain amount of time using an app
+## available in the system.
+## Variables:
+## $hours (number) - Amount of hours left till the file opens.
+## $seconds (number) - Amount of seconds left till the file opens.
+## $minutes (number) - Amount of minutes till the file opens.
+
+
+##
+
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+downloads-retry-download =
+ .value = Muat turun Sekali lagi
+# Displayed when hovering a download which is able to be cancelled by users,
+# indicates that it's possible to cancel and stop the download.
+downloads-cancel-download =
+ .value = Batal Muat Turun
+# This string is shown at the bottom of the Downloads Panel when all the
+# downloads fit in the available space, or when there are no downloads in
+# the panel at all.
+downloads-history =
+ .label = Papar Semua Muat turun
+ .accesskey = S
+# This string is shown at the top of the Download Details Panel, to indicate
+# that we are showing the details of a single download.
+downloads-details =
+ .title = Butiran Muat turun
+
+## Displayed when a site attempts to automatically download many files.
+## Variables:
+## $num (number) - Number of blocked downloads.
+## $url (string) - The url of the suspicious site, stripped of http, https and www prefix.
+
+
+##
+
+downloads-clear-downloads-button =
+ .label = Buang Muat turun
+ .tooltiptext = Hapuskan yang telah selesai, batal dan gagalkan muat turun
+# This string is shown when there are no items in the Downloads view, when it
+# is displayed inside a browser tab.
+downloads-list-empty =
+ .value = Tiada muat turun.
+# This string is shown when there are no items in the Downloads Panel.
+downloads-panel-empty =
+ .value = Tiada muat turun untuk sesi ini.
+
+## Download errors
+
+downloads-error-alert-title = Ralat Memuat Turun
+# Line breaks in this message are meaningful, and should be maintained.
+downloads-error-generic =
+ Muat turun ini tidak boleh disimpan kerana ralat yang tidak diketahui.
+
+ Sila cuba lagi.
diff --git a/l10n-ms/browser/browser/editBookmarkOverlay.ftl b/l10n-ms/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 0000000000..9554927923
--- /dev/null
+++ b/l10n-ms/browser/browser/editBookmarkOverlay.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/.
+
+bookmark-overlay-choose =
+ .label = Pilih…
+
+bookmark-overlay-folders-expander =
+ .tooltiptext = Papar semua folder tandabuku
+ .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext }
+ .tooltiptextup = Sorok
+
+bookmark-overlay-new-folder-button =
+ .label = Folder Baru
+ .accesskey = o
+
+bookmark-overlay-tags-empty-description =
+ .placeholder = Pisah tag dengan tanda koma
+
+bookmark-overlay-tags-expander =
+ .tooltiptext = Papar semua tag
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = Sorok
+
diff --git a/l10n-ms/browser/browser/featureCallout.ftl b/l10n-ms/browser/browser/featureCallout.ftl
new file mode 100644
index 0000000000..891365f039
--- /dev/null
+++ b/l10n-ms/browser/browser/featureCallout.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/.
+
+## Firefox View feature tour strings
+
+## Continuous Onboarding - Firefox View: Tab pick up
+
diff --git a/l10n-ms/browser/browser/firefoxView.ftl b/l10n-ms/browser/browser/firefoxView.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/firefoxView.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/menubar.ftl b/l10n-ms/browser/browser/menubar.ftl
new file mode 100644
index 0000000000..3c74ff06dc
--- /dev/null
+++ b/l10n-ms/browser/browser/menubar.ftl
@@ -0,0 +1,260 @@
+# 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/.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't re-use these strings outside of the menubar.
+
+
+## Application Menu (macOS only)
+
+menu-application-services =
+ .label = Perkhidmatan
+menu-application-hide-this =
+ .label = Sorok { -brand-shorter-name }
+menu-application-hide-other =
+ .label = Sorok yang Lain
+menu-application-show-all =
+ .label = Papar Semua
+
+##
+
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Keluar
+ *[other] Keluar
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] K
+ *[other] K
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Keluar { -brand-shorter-name }
+menu-about =
+ .label = Perihal { -brand-shorter-name }
+ .accesskey = P
+
+## File Menu
+
+menu-file =
+ .label = Fail
+ .accesskey = F
+menu-file-new-tab =
+ .label = Tab Baru
+ .accesskey = T
+menu-file-new-container-tab =
+ .label = Tab Penyimpan Baru
+ .accesskey = B
+menu-file-new-window =
+ .label = Tetingkap Baru
+ .accesskey = B
+menu-file-new-private-window =
+ .label = Tetingkap Peribadi Baru
+ .accesskey = T
+# "Open Location" is only displayed on macOS, and only on windows
+# that aren't main browser windows, or when there are no windows
+# but Firefox is still running.
+menu-file-open-location =
+ .label = Buka Lokasi…
+menu-file-open-file =
+ .label = Buka Fail…
+ .accesskey = B
+menu-file-close-window =
+ .label = Tutup Tetingkap
+ .accesskey = u
+menu-file-save-page =
+ .label = Simpan Halaman Sebagai…
+ .accesskey = H
+menu-file-email-link =
+ .label = Pautan E-mel…
+ .accesskey = E
+menu-file-print-setup =
+ .label = Penetapan Halaman…
+ .accesskey = t
+menu-file-print =
+ .label = Cetak…
+ .accesskey = C
+menu-file-go-offline =
+ .label = Kerja Luar Talian
+ .accesskey = K
+
+## Edit Menu
+
+menu-edit =
+ .label = Edit
+ .accesskey = E
+menu-edit-find-again =
+ .label = Cari Lagi
+ .accesskey = g
+menu-edit-bidi-switch-text-direction =
+ .label = Tukar Hala Teks
+ .accesskey = u
+
+## View Menu
+
+menu-view =
+ .label = Papar
+ .accesskey = p
+menu-view-toolbars-menu =
+ .label = Bar alatan
+ .accesskey = B
+menu-view-sidebar =
+ .label = Bar sisi
+ .accesskey = B
+menu-view-bookmarks =
+ .label = Tandabuku
+menu-view-history-button =
+ .label = Sejarah
+menu-view-synced-tabs-sidebar =
+ .label = Tab Sync
+menu-view-full-zoom =
+ .label = Zum
+ .accesskey = Z
+menu-view-full-zoom-enlarge =
+ .label = Zum Masuk
+ .accesskey = M
+menu-view-full-zoom-reduce =
+ .label = Zum Keluar
+ .accesskey = K
+menu-view-full-zoom-toggle =
+ .label = Zum Teks Sahaja
+ .accesskey = T
+menu-view-page-style-menu =
+ .label = Gaya Halaman
+ .accesskey = y
+menu-view-page-style-no-style =
+ .label = Tiada Gaya
+ .accesskey = d
+menu-view-page-basic-style =
+ .label = Gaya Halaman Asas
+ .accesskey = a
+
+## These should match what Safari and other Apple applications
+## use on macOS.
+
+menu-view-enter-full-screen =
+ .label = Masuk Skrin Penuh
+ .accesskey = P
+menu-view-exit-full-screen =
+ .label = Keluar Skrin Penuh
+ .accesskey = K
+menu-view-full-screen =
+ .label = Skrin Penuh
+ .accesskey = S
+
+## These menu items may use the same accesskey.
+
+# This should match reader-view-enter-button in browser.ftl
+menu-view-enter-readerview =
+ .label = Masuk Reader View
+ .accesskey = R
+# This should match reader-view-close-button in browser.ftl
+menu-view-close-readerview =
+ .label = Tutup Reader View
+ .accesskey = R
+
+##
+
+menu-view-show-all-tabs =
+ .label = Papar Semua Tab
+ .accesskey = P
+menu-view-bidi-switch-page-direction =
+ .label = Tukar Hala Halaman
+ .accesskey = H
+
+## History Menu
+
+menu-history =
+ .label = Sejarah
+ .accesskey = j
+menu-history-show-all-history =
+ .label = Papar Semua Sejarah
+menu-history-clear-recent-history =
+ .label = Buang Sejarah Terkini…
+menu-history-synced-tabs =
+ .label = Tab Sync
+menu-history-restore-last-session =
+ .label = Pulih Sesi Dahulu
+menu-history-hidden-tabs =
+ .label = Tab Tersorok
+menu-history-undo-menu =
+ .label = Tab Terkini Ditutup
+menu-history-undo-window-menu =
+ .label = Tetingkap Terkini Ditutup
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = Tandabuku
+ .accesskey = B
+menu-bookmark-edit =
+ .label = Edit Tandabuku Ini
+menu-bookmarks-all-tabs =
+ .label = Tandabuku Semua Tab…
+menu-bookmarks-toolbar =
+ .label = Bar alatan Tandabuku
+menu-bookmarks-other =
+ .label = Tandabuku Lain
+menu-bookmarks-mobile =
+ .label = Tandabuku Telefon
+
+## Tools Menu
+
+menu-tools =
+ .label = Alatan
+ .accesskey = A
+menu-tools-downloads =
+ .label = Muat turun
+ .accesskey = M
+menu-tools-sync-now =
+ .label = Sync Sekarang
+ .accesskey = S
+menu-tools-page-source =
+ .label = Sumber Halaman
+ .accesskey = u
+menu-tools-page-info =
+ .label = Info Halaman
+ .accesskey = I
+menu-tools-layout-debugger =
+ .label = Penyahpepijat Susun Atur
+ .accesskey = S
+
+## Window Menu
+
+menu-window-menu =
+ .label = Tetingkap
+menu-window-bring-all-to-front =
+ .label = Bawa Semua ke Hadapan
+
+## Help Menu
+
+
+# NOTE: For Engineers, any additions or changes to Help menu strings should
+# also be reflected in the related strings in appmenu.ftl. Those strings, by
+# convention, will have the same ID as these, but prefixed with "app".
+# Example: appmenu-get-help
+#
+# These strings are duplicated to allow for different casing depending on
+# where the strings appear.
+
+menu-help =
+ .label = Bantuan
+ .accesskey = B
+menu-help-report-site-issue =
+ .label = Laporkan Isu Laman…
+# Label of the Help menu item. Either this or
+# safeb.palm.notdeceptive.label from
+# phishing-afterload-warning-message.dtd is shown.
+menu-help-report-deceptive-site =
+ .label = Laporkan laman yang mengelirukan…
+ .accesskey = m
+menu-help-not-deceptive =
+ .label = Ini bukan laman mengelirukan…
+ .accesskey = m
diff --git a/l10n-ms/browser/browser/migration.ftl b/l10n-ms/browser/browser/migration.ftl
new file mode 100644
index 0000000000..28f4ddcd8f
--- /dev/null
+++ b/l10n-ms/browser/browser/migration.ftl
@@ -0,0 +1,107 @@
+# 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/.
+
+migration-wizard =
+ .title = Bestari Import
+
+import-from =
+ { PLATFORM() ->
+ [windows] Import Pilihan, Tandabuku, Sejarah, Kata laluan dan lain-lain data dari:
+ *[other] Import Keutamaan, Tandabuku, Sejarah, Kata laluan dan lain-lain data dari:
+ }
+
+import-from-bookmarks = Import Tandabuku dari:
+import-from-ie =
+ .label = Microsoft Internet Explorer
+ .accesskey = M
+import-from-edge =
+ .label = Microsoft Edge
+ .accesskey = E
+import-from-nothing =
+ .label = Jangan import apa-apa
+ .accesskey = t
+import-from-safari =
+ .label = Safari
+ .accesskey = S
+import-from-canary =
+ .label = Chrome Canary
+ .accesskey = n
+import-from-chrome =
+ .label = Chrome
+ .accesskey = C
+import-from-chrome-beta =
+ .label = Chrome Beta
+ .accesskey = B
+import-from-chrome-dev =
+ .label = Chrome Dev
+ .accesskey = D
+import-from-chromium =
+ .label = Chromium
+ .accesskey = u
+import-from-firefox =
+ .label = Firefox
+ .accesskey = X
+import-from-360se =
+ .label = 360 Pelayar Selamat
+ .accesskey = 3
+
+no-migration-sources = Tiada atur cara yang mengandungi tandabuku, sejarah atau data kata laluan yang dapat ditemui.
+
+import-source-page-title = Import Tetapan dan Data
+import-items-page-title = Item untuk Diimport
+
+import-items-description = Pilih item yang mahu diimport:
+
+import-migrating-page-title = Mengimport…
+
+import-migrating-description = Item berikut sedang diimport…
+
+import-select-profile-page-title = Pilih Profil
+
+import-select-profile-description = Profil berikut tersedia untuk diimport dari:
+
+import-done-page-title = Selesai Mengimport
+
+import-done-description = Item berikut telah berjaya diimport:
+
+import-close-source-browser = Sila pastikan pelayar yang dipilih telah ditutup sebelum meneruskan.
+
+source-name-ie = Internet Explorer
+source-name-edge = Microsoft Edge
+source-name-chrome = Google Chrome
+
+imported-safari-reading-list = Senarai Membaca (Dari Safari)
+imported-edge-reading-list = Senarai Membaca (Dari Safari)
+
+## Browser data types
+## All of these strings get a $browser variable passed in.
+## You can use the browser variable to differentiate the name of items,
+## which may have different labels in different browsers.
+## The supported values for the $browser variable are:
+## 360se
+## chrome
+## edge
+## firefox
+## safari
+## The various beta and development versions of edge and chrome all get
+## normalized to just "edge" and "chrome" for these strings.
+
+## Browser data types
+## All of these strings get a $browser variable passed in.
+## You can use the browser variable to differentiate the name of items,
+## which may have different labels in different browsers.
+## The supported values for the $browser variable are:
+## 360se
+## chrome
+## edge
+## firefox
+## ie
+## safari
+## The various beta and development versions of edge and chrome all get
+## normalized to just "edge" and "chrome" for these strings.
+
+browser-data-session-checkbox =
+ .label = Tetingkap dan Tab
+browser-data-session-label =
+ .value = Tetingkap dan Tab
diff --git a/l10n-ms/browser/browser/netError.ftl b/l10n-ms/browser/browser/netError.ftl
new file mode 100644
index 0000000000..fa69632f06
--- /dev/null
+++ b/l10n-ms/browser/browser/netError.ftl
@@ -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/.
+
+
+dns-not-found-title = Pelayan Tidak Ditemui
diff --git a/l10n-ms/browser/browser/newtab/asrouter.ftl b/l10n-ms/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 0000000000..360577bf46
--- /dev/null
+++ b/l10n-ms/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,132 @@
+# 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 messages are used as headings in the recommendation doorhanger
+
+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
+ }
+
+## These messages are steps on how to use the feature and are shown together.
+
+
+## Firefox Accounts Message
+
+## Protections panel
+
+## What's New toolbar button and panel
+
+## Search Bar
+
+## Picture-in-Picture
+
+## Permission Prompt
+
+## Fingerprinter Counter
+
+## Bookmark Sync
+
+## Login Sync
+
+## Send Tab
+
+## Firefox Send
+
+## Social Tracking Protection
+
+## Enhanced Tracking Protection Milestones
+
+## What’s New Panel Content for Firefox 76
+
+## Lockwise message
+
+## Vulnerable Passwords message
+
+## Picture-in-Picture fullscreen message
+
+## Protections Dashboard message
+
+## Better PDF message
+
+## DOH Message
+
+## What's new: Cookies message
+
+## Fission Experiment Message
+
+## Full Video Support CFR message
+
+## Spotlight modal shared strings
+
+## VPN promotion dialog for public Wi-Fi users
+##
+## If a user is detected to be on a public Wi-Fi network, they are given a
+## bit of info about how to improve their privacy and then offered a button
+## to the Mozilla VPN page and a link to dismiss the dialog.
+
+## Total Cookie Protection Rollout
+
+## Emotive Continuous Onboarding
+
+## MR2022 Background Update Windows native toast notification strings.
+##
+## These strings will be displayed by the Windows operating system in
+## a native toast, like:
+##
+## <b>multi-line title</b>
+## multi-line text
+## <img>
+## [ primary button ] [ secondary button ]
+##
+## The button labels are fitted into narrow fixed-width buttons by
+## Windows and therefore must be as narrow as possible.
+
+## Firefox View CFR
+
+## Firefox View Spotlight
+
diff --git a/l10n-ms/browser/browser/newtab/newtab.ftl b/l10n-ms/browser/browser/newtab/newtab.ftl
new file mode 100644
index 0000000000..f7d826ad67
--- /dev/null
+++ b/l10n-ms/browser/browser/newtab/newtab.ftl
@@ -0,0 +1,181 @@
+# 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 Home / New Tab strings for about:home / about:newtab.
+
+newtab-page-title = Tab Baru
+newtab-settings-button =
+ .title = Sesuaikan halaman Tab Baru anda
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = Cari
+ .aria-label = Cari
+
+## Top Sites - General form dialog.
+
+newtab-topsites-add-search-engine-header = Tambah Enjin Carian
+newtab-topsites-edit-topsites-header = Edit Laman Teratas
+newtab-topsites-title-label = Tajuk
+newtab-topsites-title-input =
+ .placeholder = Masukkan tajuk
+
+newtab-topsites-url-label = URL
+newtab-topsites-url-input =
+ .placeholder = Taip atau tampal URL
+newtab-topsites-url-validation = Perlukan URL yang sah
+
+newtab-topsites-image-url-label = URL Imej Penyesuaian
+newtab-topsites-use-image-link = Guna imej penyesuaian…
+newtab-topsites-image-validation = Imej gagal dimuatkan. Cuba URL lain.
+
+## Top Sites - General form dialog buttons. These are verbs/actions.
+
+newtab-topsites-cancel-button = Batal
+newtab-topsites-delete-history-button = Buang daripada Sejarah
+newtab-topsites-save-button = Simpan
+newtab-topsites-preview-button = Previu
+newtab-topsites-add-button = Tambah
+
+## Top Sites - Delete history confirmation dialog.
+
+## Top Sites - Delete history confirmation dialog.
+
+newtab-confirm-delete-history-p1 = Adakah anda pasti mahu membuang setiap contoh halaman ini daripada sejarah anda?
+# "This action" refers to deleting a page from history.
+newtab-confirm-delete-history-p2 = Tindakan ini tidak boleh dibatalkan.
+
+## Top Sites - Sponsored label
+
+## Context Menu - Action Tooltips.
+
+# General tooltip for context menus.
+newtab-menu-section-tooltip =
+ .title = Buka menu
+ .aria-label = Buka menu
+
+# This tooltip is for the context menu of Pocket cards or Topsites
+# Variables:
+# $title (String): The label or hostname of the site. This is for screen readers when the context menu button is focused/active.
+newtab-menu-content-tooltip =
+ .title = Buka menu
+ .aria-label = Buka menu konteks untuk { $title }
+# Tooltip on an empty topsite box to open the New Top Site dialog.
+newtab-menu-topsites-placeholder-tooltip =
+ .title = Edit laman ini
+ .aria-label = Edit laman ini
+
+## Context Menu: These strings are displayed in a context menu and are meant as a call to action for a given page.
+
+newtab-menu-edit-topsites = Edit
+newtab-menu-open-new-window = Buka dalam Tetingkap Baru
+newtab-menu-open-new-private-window = Buka dalam Tetingkap Peribadi Baru
+newtab-menu-dismiss = Abai
+newtab-menu-pin = Pin
+newtab-menu-unpin = Nyahpin
+newtab-menu-delete-history = Buang daripada Sejarah
+newtab-menu-save-to-pocket = Simpan ke { -pocket-brand-name }
+newtab-menu-delete-pocket = Buang dari { -pocket-brand-name }
+newtab-menu-archive-pocket = Arkib dalam { -pocket-brand-name }
+
+## Message displayed in a modal window to explain privacy and provide context for sponsored content.
+
+##
+
+# Bookmark is a noun in this case, "Remove bookmark".
+newtab-menu-remove-bookmark = Buang Tandabuku
+# Bookmark is a verb here.
+newtab-menu-bookmark = Tandabuku
+
+## Context Menu - Downloaded Menu. "Download" in these cases is not a verb,
+## it is a noun. As in, "Copy the link that belongs to this downloaded item".
+
+## Context Menu - Downloaded Menu. "Download" in these cases is not a verb,
+## it is a noun. As in, "Copy the link that belongs to this downloaded item".
+
+newtab-menu-copy-download-link = Salin Pautan Muat Turun
+newtab-menu-go-to-download-page = Pergi ke Halaman Muat Turun
+newtab-menu-remove-download = Buang daripada Sejarah
+
+## Context Menu - Download Menu: 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.
+
+newtab-menu-show-file =
+ { PLATFORM() ->
+ [macos] Papar dalam Finder
+ *[other] Buka Kandungan Folder
+ }
+newtab-menu-open-file = Buka Fail
+
+## Card Labels: 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.
+
+newtab-label-visited = Dilawati
+newtab-label-bookmarked = Ditandabuku
+newtab-label-recommended = Sohor kini
+newtab-label-saved = Disimpan ke { -pocket-brand-name }
+newtab-label-download = Telah dimuat turun
+
+## Section Menu: These strings are displayed in the section context menu and are
+## meant as a call to action for the given section.
+
+## Section Menu: These strings are displayed in the section context menu and are
+## meant as a call to action for the given section.
+
+newtab-section-menu-remove-section = Buang Seksyen
+newtab-section-menu-collapse-section = Runtuhkan Seksyen
+newtab-section-menu-expand-section = Kembangkan Seksyen
+newtab-section-menu-manage-section = Urus Seksyen
+newtab-section-menu-manage-webext = Urus Ekstensi
+newtab-section-menu-add-topsite = Tambah Laman Teratas
+newtab-section-menu-add-search-engine = Tambah Enjin Carian
+newtab-section-menu-move-up = Pindah Atas
+newtab-section-menu-move-down = Pindah Bawah
+newtab-section-menu-privacy-notice = Notis Privasi
+
+## Section aria-labels
+
+## Section Headers.
+
+newtab-section-header-topsites = Laman Teratas
+# Variables:
+# $provider (String): Name of the corresponding content provider.
+newtab-section-header-pocket = Disyorkan oleh { $provider }
+
+## Empty Section States: These show when there are no more items in a section. Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+
+newtab-empty-section-highlights = Mulakan melayar dan kami akan paparkan beberapa artikel, video dan halaman menarik lain yang sudah anda layari dan tandabuku di sini.
+
+# Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+# Variables:
+# $provider (String): Name of the content provider for this section, e.g "Pocket".
+newtab-empty-section-topstories = 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.
+
+
+## Empty Section (Content Discovery Experience). These show when there are no more stories or when some stories fail to load.
+
+## Pocket Content Section.
+
+# This is shown at the bottom of the trending stories section and precedes a list of links to popular topics.
+newtab-pocket-read-more = Topik Popular:
+newtab-pocket-more-recommendations = Saranan Lain
+newtab-pocket-cta-button = Dapatkan { -pocket-brand-name }
+newtab-pocket-cta-text = Simpan cerita yang anda suka dalam { -pocket-brand-name } dan jana minda dengan bahan bacaan yang menarik.
+
+## Pocket Final Card Section.
+## This is for the final card in the Pocket grid.
+
+## Error Fallback Content.
+## This message and suggested action link are shown in each section of UI that fails to render.
+
+newtab-error-fallback-info = Ooops, ada kesilapan memuatkan kandungan ini.
+newtab-error-fallback-refresh-link = Muat semula halaman untuk cuba lagi.
+
+## Customization Menu
+
diff --git a/l10n-ms/browser/browser/newtab/onboarding.ftl b/l10n-ms/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 0000000000..b16ba7a993
--- /dev/null
+++ b/l10n-ms/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,131 @@
+# 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 / about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+
+## These button action text can be split onto multiple lines, so use explicit
+## newlines in translations to control where the line break appears (e.g., to
+## avoid breaking quoted text).
+
+## Welcome modal dialog strings
+
+### UI strings for the simplified onboarding / multistage about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+### UI strings for the MR1 onboarding / multistage about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+## Welcome page strings
+
+onboarding-welcome-header = Selamat datang ke { -brand-short-name }
+
+onboarding-start-browsing-button-label = Mulakan Pelayaran
+
+## Welcome full page string
+
+## Firefox Sync modal dialog strings.
+
+## This is part of the line "Enter your email to continue to Firefox Sync"
+
+
+## These are individual benefit messages shown with an image, title and
+## description.
+
+
+## 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
+
+
+## Message strings belonging to the Return to AMO flow
+
+## Custom Return To AMO onboarding strings
+
+## Multistage 3-screen onboarding flow strings (about:welcome pages)
+
+## Multistage onboarding strings (about:welcome pages)
+
+# Aria-label to make the "steps" of multistage onboarding visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+
+## Title and primary button strings differ between platforms as they
+## match the OS' application context menu item action where Windows uses "pin"
+## and "taskbar" while macOS "keep" and "Dock" (proper noun).
+
+## Multistage MR1 onboarding strings (about:welcome pages)
+
+## Title, subtitle and primary button string used on set default onboarding screen
+## when Firefox is not default browser
+
+## Multistage MR1 onboarding strings (about:welcome pages)
+
+## Please make sure to split the content of the title attribute into lines whose
+## width corresponds to about 40 Latin characters, to ensure that the tooltip
+## doesn't become too long. Line breaks will be preserved when displaying the
+## tooltip.
+
+## Please make sure to split the content of the title attribute into lines whose
+## width corresponds to about 40 Latin characters, to ensure that the tooltip
+## doesn't become too long. Line breaks will be preserved when displaying the
+## tooltip.
+
+## Multistage MR1 onboarding strings (MR1 about:welcome pages)
+
+## Strings for Thank You page
+
+## Multistage live language reloading onboarding strings (about:welcome pages)
+##
+## The following language names are generated by the browser's Intl.DisplayNames API.
+##
+## Variables:
+## $negotiatedLanguage (String) - The name of the langpack's language, e.g. "Español (ES)"
+
+## Multistage live language reloading onboarding strings (about:welcome pages)
+##
+## The following language names are generated by the browser's Intl.DisplayNames API.
+##
+## Variables:
+## $negotiatedLanguage (String) - The name of the langpack's language, e.g. "Español (ES)"
+## $systemLanguage (String) - The name of the system language, e.g "Español (ES)"
+## $appLanguage (String) - The name of the language shipping in the browser build, e.g. "English (EN)"
+
+## Firefox 100 Thank You screens
+
+## MR2022 New User Pin Firefox screen strings
+
+## MR2022 Existing User Pin Firefox Screen Strings
+
+## MR2022 New User Set Default screen strings
+
+## MR2022 Get Started screen strings.
+## These strings will be used on the welcome page
+## when Firefox is already set to default and pinned.
+
+## MR2022 Import Settings screen strings
+
+## If your language uses grammatical genders, in the description for the
+## colorway feel free to switch from "You are a X. You…" (e.g. "You are a
+## Playmaker. You create…") to "X: you…" ("Playmaker: You create…"). This might
+## help creating a more inclusive translation.
+
+## MR2022 Multistage Mobile Download screen strings
+
+## MR2022 Upgrade Dialog screens
+## Pin private window screen shown only for users who don't have Firefox private pinned
+
+## MR2022 Privacy Segmentation screen strings
+
+## MR2022 Multistage Gratitude screen strings
+
diff --git a/l10n-ms/browser/browser/nsserrors.ftl b/l10n-ms/browser/browser/nsserrors.ftl
new file mode 100644
index 0000000000..e503001fa9
--- /dev/null
+++ b/l10n-ms/browser/browser/nsserrors.ftl
@@ -0,0 +1,354 @@
+# 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 ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+# Variables:
+# $hostname (String) - Hostname of the website with SSL error.
+# $errorMessage (String) - Error message corresponding to the type of error we are experiencing.
+ssl-connection-error = Ada ralat semasa menyambung ke { $hostname }. { $errorMessage }
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Kod ralat: { $error }
+
+psmerr-ssl-disabled = Tidak dapat sambung dengan selamat kerana protokol SSL telah dilumpuh.
+psmerr-ssl2-disabled = Tidak dapat sambung dengan selamat kerana laman tersebut menggunakan versi protokol SSL yang lama dan tidak selamat.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Anda menerima sijil yang tidak sah.  Sila hubungi pentadbir pelayan atau e-mel koresponden dan berikan mereka informasi berikut:
+
+ Sijil anda mengandungi nombor siri seperti sijil lain yang dikeluarkan oleh autoriti persijilan.  Sila dapatkan sijil baru yang mengandungi nombor siri yang unik.
+
+ssl-error-export-only-server = Tidak dapat berkomunikasi secara selamat. Rakan tidak menyokong enkripsi gred tinggi.
+ssl-error-us-only-server = Tidak dapat berkomunikasi secara selamat. Rakan memerlukan enkripsi gred tinggi yang tidak disokong.
+ssl-error-no-cypher-overlap = Tidak dapat komunikasi yang selamat dengan rakan: tiada enkripsi algoritma yang sama.
+ssl-error-no-certificate = Tidak dapat mencari sijil tertentu atau kunci keperluan untuk pengesahihan.
+ssl-error-bad-certificate = Tidak dapat komunikasi yang selamat dengan rakan: sijil rakan telah ditolak.
+ssl-error-bad-client = Pelayan mengesan data rosak daripada klien.
+ssl-error-bad-server = Klien mengesan data rosak daripada pelayan.
+ssl-error-unsupported-certificate-type = Jenis sijil tidak disokong.
+ssl-error-unsupported-version = Rakan menggunakan versi protokol sekuriti yang tidak disokong.
+ssl-error-wrong-certificate = Pengesahan klien gagal: kekunci persendirian dalam pangkalan data utama tidak sepadan dengan kekunci umum dalam pangkalan data sijil.
+ssl-error-bad-cert-domain = Tidak dapat komunikasi yang selamat dengan rakan: nama domain yang diminta tidak sepadan dengan sijil pelayan.
+ssl-error-post-warning = Ralat kod SSL yang tidak diketahui.
+ssl-error-ssl2-disabled = Rakan hanya menyokong SSL versi 2, yang dinyahdayakan secara lokal.
+ssl-error-bad-mac-read = SSL menerima satu rekod dengan Message Authentication Code yang tidak betul.
+ssl-error-bad-mac-alert = Rakan SSL melaporkan Kod Pengesahan Mesej yang tidak betul.
+ssl-error-bad-cert-alert = Rakan SSL tidak dapat mengesahkan sijil anda.
+ssl-error-revoked-cert-alert = Rakan SSL menolak sijil anda sebagai ditarik balik.
+ssl-error-expired-cert-alert = Rakan SSL menolak sijil anda kerana sudah luput.
+ssl-error-ssl-disabled = Tidak boleh disambung: SSL dinyahdayakan.
+ssl-error-fortezza-pqg = Tidak dapat menyambung: Rakan SSL berada dalam domain FORTEZZA yang lain.
+ssl-error-unknown-cipher-suite = Satu cip SSL yang tidak diketahui telah diminta.
+ssl-error-no-ciphers-supported = Tiada sifer yang sesuai dan didayakan dalam atur cara ini.
+ssl-error-bad-block-padding = SSL menerima rakaman dengan rekod yang tidak berkualiti.
+ssl-error-rx-record-too-long = SSL telah menerima satu rekod yang telah melebihi kepanjangan maximum yang dibenarkan.
+ssl-error-tx-record-too-long = rekod SSL yang cuba dihantar melebihi panjang yang dibenarkan.
+ssl-error-rx-malformed-hello-request = SSL menerima mesej jabat tangan Hello Request yang cacat.
+ssl-error-rx-malformed-client-hello = SSL menerima mesej jabat tangan Client Hello yang cacat.
+ssl-error-rx-malformed-server-hello = SSL menerima mesej jabat tangan Server Hello yang cacat.
+ssl-error-rx-malformed-certificate = SSL menerima satu kecacatan mesej jabat tangan Sijil.
+ssl-error-rx-malformed-server-key-exch = SSL menerima mesej jabat tangan Server Key Exchange yang cacat.
+ssl-error-rx-malformed-cert-request = SSL menerima mesej jabat tangan Certificate Request yang cacat.
+ssl-error-rx-malformed-hello-done = SSL menerima mesej jabat tangan Server Hello Done yang cacat.
+ssl-error-rx-malformed-cert-verify = SSL menerima satu kecacatan mesej jabat tangan Pengesahan Sijil.
+ssl-error-rx-malformed-client-key-exch = SSL menerima kecacatan mesej jabat tangan Client Key Exchange.
+ssl-error-rx-malformed-finished = SSL menerima mesej jabat tangan Finished yang cacat.
+ssl-error-rx-malformed-change-cipher = SSL menerima satu rekod tukar bentuk Change Cipher Spec.
+ssl-error-rx-malformed-alert = SSL menerima kecacatan rekod amaran.
+ssl-error-rx-malformed-handshake = SSL menerima rekod Jabat tangan yang cacat.
+ssl-error-rx-malformed-application-data = SSL menerima rekod canggaan Application Data.
+ssl-error-rx-unexpected-hello-request = SSL menerima mesej jabat tangan Hello Request yang tidak dijangka.
+ssl-error-rx-unexpected-client-hello = SSL menerima mesej jabat tangan Client Hello yang tidak dijangka.
+ssl-error-rx-unexpected-server-hello = SSL menerima mesej jabat tangan Server Hello yang tidak dijangka.
+ssl-error-rx-unexpected-certificate = SSL menerima mesej jabat tangan Certificate yang tidak dijangka.
+ssl-error-rx-unexpected-server-key-exch = SSL menerima mesej jabat tangan Server Key Exchange yang tidak dijangka.
+ssl-error-rx-unexpected-cert-request = SSL menerima mesej jabat tangan Certificate Request yang tidak dijangka.
+ssl-error-rx-unexpected-hello-done = SSL menerima mesej jabat tangan Server Hello Done yang tidak dijangka.
+ssl-error-rx-unexpected-cert-verify = SSL menerima mesej jabat tangan Certificate Verify yang tidak dijangka.
+ssl-error-rx-unexpected-client-key-exch = SSL menerima mesej jabat tangan Client Key Exchange yang tidak dijangka.
+ssl-error-rx-unexpected-finished = SSL menerima mesej jabat tangan Finished yang tidak dijangka.
+ssl-error-rx-unexpected-change-cipher = SSL menerima satu rekod Change Cipher Spec yang tidak dijangka.
+ssl-error-rx-unexpected-alert = SSL menerima satu rekod Alert yang tidak dijangka.
+ssl-error-rx-unexpected-handshake = SSL menerima rekod Jabat tangan yang tidak dijangka.
+ssl-error-rx-unexpected-application-data = SSL menerima rekod Data Aplikasi yang tidak dijangka.
+ssl-error-rx-unknown-record-type = SSL menerima satu rekod dengan jenis kandungan yang tidak diketahui.
+ssl-error-rx-unknown-handshake = SSL menerima mesej getaran dengan jenis mesej yang tidak diketahui.
+ssl-error-rx-unknown-alert = SSL menerima rakaman peringatan dengan peringatan yang tidak diketahui.
+ssl-error-close-notify-alert = Rakan SSL telah menutup sambungan ini.
+ssl-error-handshake-unexpected-alert = Rakan SSL tidak menjangkakan mesej jabat tangan yang diterima.
+ssl-error-decompression-failure-alert = Rakan SSL tidak berjaya menyahmampatkan rekod SSL yang diterima.
+ssl-error-handshake-failure-alert = Rakan SSL tidak dapat merundingkan set parameter sekuriti yang boleh diterima.
+ssl-error-illegal-parameter-alert = Rakan SSL menolak mesej jabat tangan untuk kandungan yang tidak boleh diterima.
+ssl-error-unsupported-cert-alert = Rakan SSL tidak menyokong jenis sijil yang telah diterima.
+ssl-error-certificate-unknown-alert = Rakan SSL ada beberapa isu yang tidak dinyatakan dengan sijil yang diterima.
+ssl-error-generate-random-failure = SSL mengalami kegagalan menjanakan nombor secara rawak.
+ssl-error-sign-hashes-failure = tidak mampu menanda data secara digital untuk mengesahkan sijil.
+ssl-error-extract-public-key-failure = SSL tidak dapat mengekstrak kunci awam daripada sijil rakan.
+ssl-error-server-key-exchange-failure = Kegagalan yang tidak diketahui semasa memproses jabat tangan Server Key Exchange SSL.
+ssl-error-client-key-exchange-failure = Kegagalan yang tidak ditentukan apabila memproses jabat tangan Client Key Exchange SSL.
+ssl-error-encryption-failure = Algoritma enkripsi data pukal gagal dalam suit sifer yang dipilih.
+ssl-error-decryption-failure = Algoritma penyahsulitan data pukal gagal di ruang penyahsulitan terpilih.
+ssl-error-socket-write-failure = Percubaan untuk menulis data enkripsi pada soket asas gagal.
+ssl-error-md5-digest-failure = Fungsi diges MD5 gagal.
+ssl-error-sha-digest-failure = Fungsi diges SHA-1 gagal.
+ssl-error-mac-computation-failure = Pengiraan MAC gagal.
+ssl-error-sym-key-context-failure = Gagal untuk mencipta konteks Kekunci Simmetrik.
+ssl-error-sym-key-unwrap-failure = Kegagalan untuk membuka kunci Symmetric dalam mesej Client Key Exchange.
+ssl-error-pub-key-size-limit-exceeded = Pelayan SSL mencuba untuk menggunakan kunci tempatan grad domestik dengan ekspot sifer yang sesuai.
+ssl-error-iv-param-failure = Kod PKCS11 gagal untuk menterjemah IV kepada param.
+ssl-error-init-cipher-suite-failure = gagal untuk memastikan pemilihan chiper suite.
+ssl-error-session-key-gen-failure = Klien gagal menghasilkan kunci sesi untuk sesi SSL.
+ssl-error-no-server-key-for-alg = Pelayan tidak mempunyai kekunci untuk melakukan pertukaran kekunci algoritma tersebut.
+ssl-error-token-insertion-removal = Token PKCS#11 telah dimasukkan atau dialih keluar semasa operasi sedang berjalan.
+ssl-error-token-slot-not-found = Tiada token PKCS#11 dapat ditemui untuk melaksanakan operasi yang diperlukan.
+ssl-error-no-compression-overlap = Tidak dapat komunikasi yang selamat dengan rakan: tiada mampatan algorithma yang biasa.
+ssl-error-handshake-not-completed = Tidak berjaya memulakan satu lagi jabat tangan SSL sehingga jabat tangan semasa selesai.
+ssl-error-bad-handshake-hash-value = Menerima nilai cincang jabat tangan yang salah daripada rakan.
+ssl-error-cert-kea-mismatch = Sijil yang diberi tidak boleh digunakan bersama algoritma pertukaran kekunci yang dipilih.
+ssl-error-no-trusted-ssl-client-ca = Tiada penguasa sijil yang dipercayai untuk pengesahan pengguna SSL.
+ssl-error-session-not-found = ID sesi klien SSL tidak ditemui dalam cache sesi pelayan.
+ssl-error-decryption-failed-alert = Rakan tidak dapat menyahsulitkan rekod SSL yang diterima.
+ssl-error-record-overflow-alert = Rakan menerima rekod SSL yang lebih panjang daripada yang dibenarkan.
+ssl-error-unknown-ca-alert = Rakan tidak mengiktiraf dan mempercayai CA yang mengeluarkan sijil anda.
+ssl-error-access-denied-alert = Rakan menerima sijil yang sah, tapi dinafikan akses.
+ssl-error-decode-error-alert = Rakan tidak dapat menyahkod mesej jabat tangan SSL.
+ssl-error-decrypt-error-alert = Rakan melaporkan kegagalan mengesahkan tandatangan atau pertukaran kekunci.
+ssl-error-export-restriction-alert = Rakan melaporkan perundingan yang tidak mematuhi peraturan eksport.
+ssl-error-protocol-version-alert = Rakan melaporkan versi protokol yang tidak serasi atau tidak disokong.
+ssl-error-insufficient-security-alert = Server memerlukan sifer yang lebih selamat daripada yang disokong oleh klien.
+ssl-error-internal-error-alert = Rakan melaporkan ada berlaku ralat dalaman.
+ssl-error-user-canceled-alert = Rakan pengguna membatalkan jabat tangan.
+ssl-error-no-renegotiation-alert = Rakan tidak membenarkan rundingan semula parameter sekuriti SSL.
+ssl-error-server-cache-not-configured = Pelayan cache SSL tidak dikonfigurasi dan tidak dinyahdayakan untuk soket ini.
+ssl-error-unsupported-extension-alert = Rakan SSL tidak menyokong ekstensi hello TLS yang diminta.
+ssl-error-certificate-unobtainable-alert = Rakan SSL tidak berjaya mendapatkan sijil daripada URL yang diberikan.
+ssl-error-unrecognized-name-alert = Rakan SSL tiada sijil pengesahan untuk nama DNS yang diminta.
+ssl-error-bad-cert-status-response-alert = Rakan SSL tidak dapat respons OCSP untuk sijilnya.
+ssl-error-bad-cert-hash-value-alert = Rakan SSL melaporkan nilai cincang sijil yang buruk.
+ssl-error-rx-unexpected-new-session-ticket = SSL menerima mesej jabat tangan New Session Ticket yang tidak dijangka.
+ssl-error-rx-malformed-new-session-ticket = SSL menerima mesej jabat tangan New Session Ticket yang cacat.
+ssl-error-decompression-failure = SSL menerima satu rekod mampat yang tidak boleh dimampat.
+ssl-error-renegotiation-not-allowed = Perundingan adalah dilarang bagi soket SSL.
+ssl-error-unsafe-negotiation = Rakan cuba jabat tangan gaya lama (berpotensi rentan).
+ssl-error-rx-unexpected-uncompressed-record = SSL telah menerima rekod yang tidak dijangka dan tidak tersusun.
+ssl-error-weak-server-ephemeral-dh-key = SSL menerima kekunci sementara Diffie-Hellman yang lemah dalam mesej jabat tangan Server Key Exchange.
+ssl-error-next-protocol-data-invalid = SSL menerima data ekstensi NPN yang tidak sah.
+ssl-error-feature-not-supported-for-ssl2 = Ciri-ciri SSL tidak disokong untuk sambungan SSL 2.0.
+ssl-error-feature-not-supported-for-servers = Ciri-ciri SSL tidak diterima oleh pelayan.
+ssl-error-feature-not-supported-for-clients = Ciri-ciri SSL tidak diterima oleh klien.
+ssl-error-invalid-version-range = Julat versi SSL tidak sah.
+ssl-error-cipher-disallowed-for-version = Rakan SSL memilih suit sifer yang tidak dibenarkan untuk versi protokol yang dipilih.
+ssl-error-rx-malformed-hello-verify-request = SSL menerima mesej jabat tangan Hello Verify Request yang cacat.
+ssl-error-rx-unexpected-hello-verify-request = SSL menerima mesej persetujuan Hello Verify Request yang tidak dijangka.
+ssl-error-feature-not-supported-for-version = Ciri SSL tidak disokong versi protokol.
+ssl-error-rx-unexpected-cert-status = SSL menerima mesej jabat tangan Certificate Status yang tidak dijangka.
+ssl-error-unsupported-hash-algorithm = Algoritma cincang yang tidak disokong telah digunakan oleh rakan TLS.
+ssl-error-digest-failure = Fungsi diges gagal.
+ssl-error-incorrect-signature-algorithm = Algoritma tandatangan yang tidak betul dinyatakan dalam elemen tandatangan-digital.
+ssl-error-next-protocol-no-callback = Ektensi rundingan protokol seterusnya didayakan, tetapi callback telah dibuang sebelum digunakan.
+ssl-error-next-protocol-no-protocol = Pelayan tidak menyokong protokol klien yang mengiklan ektensi dalam ALPN.
+ssl-error-inappropriate-fallback-alert = Pelayan menolak jabat tangan kerana klien menurunkan gred TLS menjadi versi lebih rendah daripada yang disokong oleh pelayan.
+ssl-error-weak-server-cert-key = Sijil pelayan mengandungi kunci umum yang terlalu lemah.
+ssl-error-rx-short-dtls-read = Tidak cukup ruang dalam penimbal untuk rekod DTLS.
+ssl-error-no-supported-signature-algorithm = Tiada konfigurasi untuk algoritma tandatangan TLS yang tidak disokong.
+ssl-error-unsupported-signature-algorithm = Rakan menggunakan kombinasi tandatangan dan algoritma cincang yang tidak disokong.
+ssl-error-missing-extended-master-secret = Rakan cuba menyambung semula tanpa ekstensi extended_master_secret yang betul.
+ssl-error-unexpected-extended-master-secret = Rakan cuba untuk menyambung semula dengan ekstensi extended_master_secret yang tidak dijangka.
+sec-error-io = Kesalahan I/O berlaku semasa pengesahan keselamatan.
+sec-error-library-failure = Kegagalan Sekuriti Perpustakaan.
+sec-error-bad-data = Sekuriti Perpustakaan: menerima data yang buruk.
+sec-error-output-len = perpustakaan keselamatan : kesilapan data.
+sec-error-input-len = pustaka keselamatan pernah mengalami ralat panjang input.
+sec-error-invalid-args = perpustakaan keselamatan : arahan tidak sah
+sec-error-invalid-algorithm = Perpustakaan Keselamatan : Algoritma tidak sah
+sec-error-invalid-ava = Sekuriti Perpustakaan: AVA yang tidak sah.
+sec-error-invalid-time = Format waktu tidak sah.
+sec-error-bad-der = perpustakaan keselamatan: mesej DER-encoded tidak dapat format dengan tertib.
+sec-error-bad-signature = Sijil rakan ada tandatangan tidak sah.
+sec-error-expired-certificate = Sijil Rakan telah luput.
+sec-error-revoked-certificate = Sijil Rakan telah dimansuhkan.
+sec-error-unknown-issuer = Pengeluar Sijil Rakan tidak diiktiraf.
+sec-error-bad-key = Kekunci umum rakan tidak sah.
+sec-error-bad-password = Kata laluan keselamatan yang dimasukkan adalah salah.
+sec-error-retry-password = Kata laluan baru yang dimasukkan tidak betul. Sila cuba lagi.
+sec-error-no-nodelock = pustaka sekuriti: tiada kuncinod.
+sec-error-bad-database = putaka sekuriti: pengkalan data yang tidak elok.
+sec-error-no-memory = pustaka sekuriti: peruntukan memori gagal.
+sec-error-untrusted-issuer = Pengeluar sijil rakan telah ditanda sebagai tidak dapat dipercayai oleh pengguna.
+sec-error-untrusted-cert = Sijil rakan telah ditanda sebagai tidak boleh dipercayai oleh pengguna.
+sec-error-duplicate-cert = Sijil telahpun wujud di dalam pangkalan data anda.
+sec-error-duplicate-cert-name = Nama sijil pengesahan yang telah dimuat turun mempunyai kembar di dalam pangkalan data anda.
+sec-error-adding-cert = Ralat menambah sijil ke pangkalan data.
+sec-error-filing-key = Ralat isi semula kunci bagi sijil ini.
+sec-error-no-key = Kunci peribadi untuk sijil ini tidak dapat ditemui di dalam pengkalan data kunci
+sec-error-cert-valid = Sijil ini adalah sah.
+sec-error-cert-not-valid = Sijil ini adalah tidak sah.
+sec-error-cert-no-response = Sijil Perpustakaan : tiada maklum balas
+sec-error-expired-issuer-certificate = Sijil kepunyaan pengeluar sijil telah luput. Sila semak masa dan tarikh sistem anda.
+sec-error-crl-expired = CRL bagi penerbit sijil telah luput. Mengemaskinikan atau memeriksa tarikh sistem dan masa anda.
+sec-error-crl-bad-signature = CRL bagi penerbit sijil mempunyai tandatangan yang tidak sah.
+sec-error-crl-invalid = CRL baru mempunyai format yang tidak sah.
+sec-error-extension-value-invalid = Nilai ekstensi sijil tidak sah.
+sec-error-extension-not-found = Ekstensi sijil tidak ditemui.
+sec-error-ca-cert-invalid = Pengeluar sijil adalah tidak sah.
+sec-error-path-len-constraint-invalid = Kekangan sebahagian sijil adalah tidak sah.
+sec-error-cert-usages-invalid = Ruang penggunaan sijil tidak sah.
+sec-internal-only = **Modul dalaman SAHAJA**
+sec-error-invalid-key = Kekunci tidak menyokong operasi yang diminta.
+sec-error-unknown-critical-extension = Sijil mengandungi ekstensi kritikal yang tidak diketahui.
+sec-error-old-crl = CRL yang baru adalah bukan baru banding dengan yang terkini.
+sec-error-no-email-cert = Tidak dienkripsi atau ditandatangani: anda belum lagi ada sijil e-mel.
+sec-error-no-recipient-certs-query = Tidak dienkripsi: anda tidak ada sijil untuk setiap penerima.
+sec-error-not-a-recipient = Tidak dapat didekripsi: anda bukan seorang penerima, atau sijil yang sepadan dan kunci peribadi tidak ditemui.
+sec-error-pkcs7-keyalg-mismatch = Tidak dapat dinyahenkripsi: kunci algoritma enkripsi tidak sepadan dengan sijil anda.
+sec-error-pkcs7-bad-signature = Tandatangan penentusahan telah gagal: tidak ada penandatangan , didapati terlalu banyak penandatangan, atau tidak sempurna atau data tercemar.
+sec-error-unsupported-keyalg = Kekunci algoritma tidak disokong atau tidak diketahui.
+sec-error-decryption-disallowed = Tidak dapat dinyahenkripsi: dienkripsi menggunakan algoritma atau saiz kunci yang tidak dibenarkan.
+xp-sec-fortezza-bad-card = Kad Fortezza telah dimulakan dengan betul. Sila alih keluar dan pulangkan semula kepada pengeluar.
+xp-sec-fortezza-no-card = Tiada kad Fortezza ditemui
+xp-sec-fortezza-none-selected = Tiada kad Fortezza dipilih
+xp-sec-fortezza-more-info = Sila pilih satu personaliti untuk mendapatkan maklumat yang lebih lanjut
+xp-sec-fortezza-person-not-found = Personaliti tidak ditemui
+xp-sec-fortezza-no-more-info = Tiada maklumat lanjut tentang personaliti ini
+xp-sec-fortezza-bad-pin = Pin Tidak Sah
+xp-sec-fortezza-person-error = Tidak dapat memulakan personaliti Fortezza.
+sec-error-no-krl = Tiada sijil KRL untuk laman ini yang ditemui.
+sec-error-krl-expired = KRL bagi sijil laman ini telah luput.
+sec-error-krl-bad-signature = KRL bagi sijil laman ini mendapati satu tandatangan yang tidak sah.
+sec-error-revoked-key = Kunci bagi sijil laman ini telah ditarik balik.
+sec-error-krl-invalid = KRL baru mempunyai format yang tidak sah.
+sec-error-need-random = Perpustakaan Keselamatan : memerlukan data secara rawak
+sec-error-no-module = Perpustakaan Keselamatan : Tiada Modul Keselamatan mempunyai operasi permintaan
+sec-error-no-token = Kad sekuriti atau token yang tidak wujud, memerlukan perberian awal, atau perlu dialih.
+sec-error-read-only = Perpustakaan keselamtan: hanya membaca database.
+sec-error-no-slot-selected = Tiada slot atau token telah dipilih.
+sec-error-cert-nickname-collision = Suatu sijil dengan nama panggilan yang sama telahpun wujud.
+sec-error-key-nickname-collision = Suatu kunci dengan nama panggilan yang sama telahpun wujud.
+sec-error-safe-not-created = ralat apabila mencipta objek simpanan
+sec-error-baggage-not-created = ralat semasa mencipta objek bagasi.
+xp-java-remove-principal-error = Tidak dapat mengalih keluar prinsipal
+xp-java-delete-privilege-error = Tidak dapat menghapuskan keistimewaan
+xp-java-cert-not-exists-error = Prinsipal ini tidak mempunyai sijil
+sec-error-bad-export-algorithm = Algoritma yang dikehendaki adalah tidak dibenarkan.
+sec-error-exporting-certificates = Ralat ketika cuba untuk mengeksport sijil-sijil.
+sec-error-importing-certificates = Ralat ketika cuba mengimport sijil-sijil.
+sec-error-pkcs12-decoding-pfx = Tidak dapat mengimport. Ralat penyahkodan. Fail tidak sah.
+sec-error-pkcs12-invalid-mac = Tidak dapat mengimport. MAC tidak sah. Kata laluan salah atau fail rosak.
+sec-error-pkcs12-unsupported-mac-algorithm = Tidak dapat mengimport. Algoritma MAC tidak disokong.
+sec-error-pkcs12-unsupported-transport-mode = Tidak dapat mengimport. Hanya menyokong integriti kata laluan dan mod privasi.
+sec-error-pkcs12-corrupt-pfx-structure = Tidak dapat mengimport. Struktur fail sudah rosak.
+sec-error-pkcs12-unsupported-pbe-algorithm = Tidak dapat mengimport. Algoritma enkripsi tidak disokong.
+sec-error-pkcs12-unsupported-version = Tidak dapat mengimport. Versi fail tidak disokong.
+sec-error-pkcs12-privacy-password-incorrect = Tidak dapat mengimport. Kata laluan privasi tidak betul.
+sec-error-pkcs12-cert-collision = Tidak dapat mengimport. Nama gelaran yang sama sudah ada dalam pangkalan data.
+sec-error-user-cancelled = Pengguna klik butang batal.
+sec-error-pkcs12-duplicate-data = Tidak diimport kerana telah wujud dalam pangkalan data.
+sec-error-message-send-aborted = Mesej tidak dihantar.
+sec-error-inadequate-key-usage = Kunci pensijilan tidak mencukupi untuk percubaan operasi.
+sec-error-inadequate-cert-type = Jenis sijil tidak diluluskan bagi aplikasi.
+sec-error-cert-addr-mismatch = Alamat menandatangani sijil tidak sama dengan alamat pengepala mesej.
+sec-error-pkcs12-unable-to-import-key = Tidak dapat mengimport. Ralat mencuba mengimport kunci peribadi.
+sec-error-pkcs12-importing-cert-chain = Tidak dapat mengimport. Ralat mencuba mengimport rantai sijil.
+sec-error-pkcs12-unable-to-locate-object-by-name = Tidak dapat mengeksport. Tidak dapat mencari sijil atau kunci dengan menggunakan nama samaran.
+sec-error-pkcs12-unable-to-export-key = Tidak dapat mengeksport. Kunci peribadi tidak boleh dicari dan dieksport.
+sec-error-pkcs12-unable-to-write = Tidak dapat mengeksport. Tidak dapat menulis fail yang dieksport.
+sec-error-pkcs12-unable-to-read = Tidak dapat mengimport. Tidak dapat membaca fail yang di import.
+sec-error-pkcs12-key-database-not-initialized = Tidak dapat mengeksport. Pangkalan data utama rosak atau telah dihapuskan.
+sec-error-keygen-fail = Tidak dapat menjana pasangan kekunci awam/swasta.
+sec-error-invalid-password = Kata laluan yang dimasukkan tidak sah. Sila pilih yang lain.
+sec-error-retry-old-password = Kata laluan lama yang dimasukkan tidak betul. Sila cuba lagi.
+sec-error-bad-nickname = nama timangan dalam sijil sudah digunakan.
+sec-error-not-fortezza-issuer = Rantaian rakan FORTEZZA tiada Sijil bukan-FORTEZZA.
+sec-error-cannot-move-sensitive-key = Satu kunci sensitif tidak boleh dialih pada slot yang diperlukan.
+sec-error-js-invalid-module-name = Nama modul tidak sah.
+sec-error-js-invalid-dll = Modul haluan/nama fail tidak sah
+sec-error-js-add-mod-failure = Tidak dapat menambah modul
+sec-error-js-del-mod-failure = Tidak dapat menghapuskan modul
+sec-error-old-krl = KRL yang baru adalah tidak lama banding dengan yang terkini.
+sec-error-ckl-conflict = CKL baru mempunyai pengeluar berbeza daripada CKL semasa. Hapus CKL semasa.
+sec-error-cert-not-in-name-space = Lembaga Persijilan untuk sijil ini tidak membenarkan sijil dengan nama yang sama dibekalkan.
+sec-error-krl-not-yet-valid = Senarai pembatalan bagi sijil ini belum lagi disahkan.
+sec-error-crl-not-yet-valid = Senarai sijil pembatalan bagi sijil ini belum sah.
+sec-error-unknown-cert = Sijil yang diminta tidak dapat ditemui.
+sec-error-unknown-signer = Sijil penandatangan tidak dapat ditemui.
+sec-error-cert-bad-access-location = Lokasi bagi pelayar status sijil mempunyai format yang tidak sah.
+sec-error-ocsp-unknown-response-type = Respond OCSP tidak dapat nyakod dengan lengkap; ia merupakan jenis yang tidak diketahui.
+sec-error-ocsp-bad-http-response = Pelayar OCSP mengembalikan data HTTP yang tidak dapat dijangkai/tidak sah.
+sec-error-ocsp-malformed-request = Pelayar OCSP mendapatkan permintaan untuk mencemarkan atau pembentukan yang tidak sempurna.
+sec-error-ocsp-server-error = Pelayar OCSP mengalami satu ralat pendalaman.
+sec-error-ocsp-try-server-later = Pelaya OCSP memberi cadangan cuba kemudian.
+sec-error-ocsp-request-needs-sig = Pelayar OCSP memerlukan satu tandatangan pada permohonan ini.
+sec-error-ocsp-unauthorized-request = Pelayar OCSP telah menolak permohonan ini sebagai atur cara tanpa izin.
+sec-error-ocsp-unknown-response-status = Pelayar OCSP mengembalikan satu status yang tidak diiktiraf.
+sec-error-ocsp-unknown-cert = Tiada status pada pelayan OCSP untuk sijil tersebut.
+sec-error-ocsp-not-enabled = Anda mesti dayakan OCSP sebelum melakukan operasi ini.
+sec-error-ocsp-no-default-responder = Anda mesti tetapkan OCSP sebagai penggerak balas piawai sebelum melaksanakan operasi ini.
+sec-error-ocsp-malformed-response = Balas dari pelayar OCSP telah cemar atau pembentukan yang tidak wajar.
+sec-error-ocsp-unauthorized-response = Penandatangan bagi balas OCSP tidak mempunyai kuasa untuk memberi status bagi sijil ini.
+sec-error-ocsp-future-response = Balas OCSP masih belum sah (mempunyai satu tarikh pada masa yang akan datang).
+sec-error-ocsp-old-response = OCSP mengandungi informasi yang lama.
+sec-error-digest-not-found = CMS atau PKCS #7 Digest tidak dapat ditemui dalam mesej yang ditandatangani.
+sec-error-unsupported-message-type = Mesej jenis CMS atau PKCS #7 adalah tidak disokong.
+sec-error-module-stuck = Modul PKCS #11 tidak dapat dialih keluar kerana sedang digunakan.
+sec-error-bad-template = Tidak dapat mengekod data ASN.1. Templat tertentu tidak sah.
+sec-error-crl-not-found = Tiada padanan CRL yang ditemui.
+sec-error-reused-issuer-and-serial = Anda sedang mencuba mengimport satu cert dengan satu penerbit/serial yang sama sebagai cert yang telah wujud, tetapi ia bukan cert yang sama.
+sec-error-busy = NSS tidak boleh ditutup. Objek masih lagi sedang digunakan.
+sec-error-extra-input = Mesej DER-encoded mempunyai banyak data yang tidak berguna.
+sec-error-unsupported-elliptic-curve = Lengkung eliptik tidak disokong.
+sec-error-unsupported-ec-point-form = Bentuk titik lengkung eliptik tidak disokong.
+sec-error-unrecognized-oid = Objek yang tidak dikenalpasti.
+sec-error-ocsp-invalid-signing-cert = Sijil penandatangan OCSP yang tidak sah dalam respond OCSP.
+sec-error-revoked-certificate-crl = Sijil telah ditarik balik dalam senarai sijil penarik balik pengisu.
+sec-error-revoked-certificate-ocsp = Pemaklum balas OCSP melaporkan sijil telah ditarik balik.
+sec-error-crl-invalid-version = Senarai sijil penarik balik pengisu mempunyai nombor versi yang tidak diketahui.
+sec-error-crl-v1-critical-extension = Senarai Penarik balik Sijil Pengeluar V1 ada ekstensi kritikal.
+sec-error-crl-unknown-critical-extension = Senarai Penarik balik Sijil Pengeluar V2 ada ekstensi kritikal tidak diketahui.
+sec-error-unknown-object-type = Jenis objek dinyatakan tidak dapat dikenal pasti.
+sec-error-incompatible-pkcs11 = Pemacu PKCS #11 melanggar spesifikasi dalam cara yang tidak sesuai.
+sec-error-no-event = Tiada slot acara baru pada masa ini.
+sec-error-crl-already-exists = CRL telah wujud.
+sec-error-not-initialized = NSS adalah tidak dapat dimulakan.
+sec-error-token-not-logged-in = Operasi gagal kerana token PKCS#11 tidak menglog masuk.
+sec-error-ocsp-responder-cert-invalid = Pemaklum balas OCSP mengkonfigurasi bahawa sijil adalah tidak sah.
+sec-error-ocsp-bad-signature = Pemaklum balas OCSP mempunyai satu tandatangan yang tidak sah.
+sec-error-out-of-search-limits = Pencarian pengesahsahihan cert adalah melebihi had gelintaran
+sec-error-invalid-policy-mapping = Pemetaan polici mempunyai mana-mana polici
+sec-error-policy-validation-failed = Rantai Cert telah menggagalkan had polici
+sec-error-unknown-aia-location-type = Jenis lokasi tidak diketahui dalam ekstensi sijil AIA
+sec-error-bad-http-response = Pelayar menerima maklum balas HTTP yang buruk
+sec-error-bad-ldap-response = Pelayar menerima maklum balas LDAP yang teruk
+sec-error-failed-to-encode-data = Gagal untuk mengekod data dengan pengekod ASN1
+sec-error-bad-info-access-location = Akses maklumat lokasi lapuk dalam ekstensi sijil
+sec-error-libpkix-internal = Ralat pendalaman Libpkix berlaku semasa pengesahsahihan cert.
+sec-error-pkcs11-general-error = Satu PKCS #11 modul mengembalikan CKR_GENERAL_ERROR, menunjukkan sebuah ralat yang tidak dapat dipulihkan telah berlaku.
+sec-error-pkcs11-function-failed = Modul PKCS #11 dikembali CKR_FUNCTION_FAILED, menunjukkan bahawa fungsi yang diminta tidak dapat dilakukan. Mencuba operasi yang sama sekali lagi mungkin akan berjaya.
+sec-error-pkcs11-device-error = Satu PKCS #11 modul mengembalikan CKR_DEVICE_ERROR, menunjukkan satu masalah telah berlaku dengan token atau slot.
+sec-error-bad-info-access-method = Kaedah akses maklumat yang tidak diketahui dalam ekstensi sijil.
+sec-error-crl-import-failed = Ralat ketika cuba mengimport satu CRL.
+sec-error-expired-password = Kata laluan tamat tempoh.
+sec-error-locked-password = Kata laluan dikunci.
+sec-error-unknown-pkcs11-error = Kesilapan PKCS #11 tidak dikenali.
+sec-error-bad-crl-dp-url = URL sah atau tidak disokong nama pusat dalam pembahagian CRL.
+sec-error-cert-signature-algorithm-disabled = Sijil ditandatangan menggunakan algoritma yang dilumpuhkan kerana tidak selamat.
+mozilla-pkix-error-key-pinning-failure = Pelayan menggunakan kep pinning (HPKP) tetapi tiada rantai sijil yang boleh dipercayai dapat dibina sepadan dengan pinset. Pelanggaran key pinning tidak dapat dibatalkan.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Pelayan menggunakan sijil dengan ektensi kekangan asas lalu mengenalpastinya sebagai autoriti sijil. Untuk sijil yang dikeluarkan dengan betul, hal ini tidak seharusnya berlaku.
+mozilla-pkix-error-inadequate-key-size = Pelayan menyerahkan sijil dengan saiz kunci yang terlalu kecil untuk mewujudkan sambungan yang selamat.
+mozilla-pkix-error-v1-cert-used-as-ca = Sijil X.509 versi 1 yang bukannya trust anchor telah digunakan untuk mengeluarkan sijil pelayan. Sijil X.509 versi 1 tidak sesuai dan hendaklah tidak digunakan untuk menandatangani sijil lain.
+mozilla-pkix-error-not-yet-valid-certificate = Pelayan menyerahkan sijil yang masih belum disahkan.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Sijil yang masih belum disahkan telah digunakan untuk mengeluarkan sijil pelayan.
+mozilla-pkix-error-signature-algorithm-mismatch = Algoritma tandatangan dalam medan tandatangan sijil tidak sepadan dengan algoritma dalam bidangnya signatureAlgorithm.
+mozilla-pkix-error-ocsp-response-for-cert-missing = Respon OCSP tidak memasukkan status respon sijil yang sedang disahkan.
+mozilla-pkix-error-validity-too-long = Pelayan menyerahkan sijil yang ada tempoh sah terlalu lama.
+mozilla-pkix-error-required-tls-feature-missing = Ciri TLS yang diperlukan hilang.
+mozilla-pkix-error-invalid-integer-encoding = Pelayan menyerahkan sijil yang mengandungi pengekodan integer yang tidak sah. Punca yang biasa termasuk number siri negatif, modul RSA negatif, dan pengekodan yang sudah tidak diperlukan lagi.
+mozilla-pkix-error-empty-issuer-name = Pelayan menyerahkan sijil tanpa nama unggul pengeluar.
+mozilla-pkix-error-additional-policy-constraint-failed = Kekangan polisi tambahan telah gagal apabila mengesahkan sijil ini.
+mozilla-pkix-error-self-signed-cert = Sijil ini tidak boleh dipercayai kerana ditandatangani sendiri.
diff --git a/l10n-ms/browser/browser/originControls.ftl b/l10n-ms/browser/browser/originControls.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-ms/browser/browser/originControls.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-ms/browser/browser/pageInfo.ftl b/l10n-ms/browser/browser/pageInfo.ftl
new file mode 100644
index 0000000000..4267d2675f
--- /dev/null
+++ b/l10n-ms/browser/browser/pageInfo.ftl
@@ -0,0 +1,210 @@
+# 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
+
+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
+
+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
+page-info-not-specified =
+ .value = 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
+page-info-security-no-owner =
+ .value = 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/l10n-ms/browser/browser/panelUI.ftl b/l10n-ms/browser/browser/panelUI.ftl
new file mode 100644
index 0000000000..d531bc77b2
--- /dev/null
+++ b/l10n-ms/browser/browser/panelUI.ftl
@@ -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/.
+
+
+## Customization Menu
+
+# The overflow menu is the menu that appears if you click the chevron (>> button) in the location bar.
+customize-menu-unpin-from-overflowmenu =
+ .label = Buang pin daripada Menu Overflow
+ .accesskey = M
+customize-menu-add-to-toolbar =
+ .label = Tambah ke Bar Alatan
+ .accesskey = T
+customize-menu-add-to-overflowmenu =
+ .label = Tambah ke Menu Overflow
+ .accesskey = M
+
+## Forget Button
+
+# The forget button can be added to the toolbar or overflow menu via the cutomization menu.
+panic-button-thankyou-msg1 = Sejarah terbaru anda telah dibersihkan.
+panic-button-thankyou-msg2 = Pelayaran selamat!
+panic-button-thankyou-button =
+ .label = Terima kasih!
diff --git a/l10n-ms/browser/browser/panicButton.ftl b/l10n-ms/browser/browser/panicButton.ftl
new file mode 100644
index 0000000000..87d61aaafa
--- /dev/null
+++ b/l10n-ms/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 <strong> 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 <strong>Kuki</strong> Terkini
+panic-button-delete-history = Buang <strong>Sejarah</strong> Terkini
+panic-button-delete-tabs-and-windows = Tutup semua <strong>Tab</strong> dan <strong>Tetingkap</strong>
diff --git a/l10n-ms/browser/browser/places.ftl b/l10n-ms/browser/browser/places.ftl
new file mode 100644
index 0000000000..cf913d7acf
--- /dev/null
+++ b/l10n-ms/browser/browser/places.ftl
@@ -0,0 +1,128 @@
+# 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/.
+
+places-open =
+ .label = Buka
+ .accesskey = k
+places-open-all-in-tabs =
+ .label = Buka Semua dalam Tab
+ .accesskey = k
+places-view =
+ .label = Papar
+ .accesskey = a
+places-by-date =
+ .label = Mengikut Tarikh
+ .accesskey = T
+places-by-site =
+ .label = Mengikut Laman
+ .accesskey = i
+places-by-most-visited =
+ .label = Mengikut Paling Dilawati
+ .accesskey = k
+places-by-last-visited =
+ .label = Mengikut Terakhir Dilawati
+ .accesskey = L
+places-by-day-and-site =
+ .label = Mengikut Tarikh dan Laman
+ .accesskey = t
+places-history-search =
+ .placeholder = Sejarah carian
+places-history =
+ .aria-label = Sejarah
+places-bookmarks-search =
+ .placeholder = Cari tandabuku
+places-delete-domain-data =
+ .label = Lupakan Laman Ini
+ .accesskey = L
+places-sortby-name =
+ .label = Susun Mengikut Nama
+ .accesskey = n
+places-library =
+ .title = Pustaka
+ .style = width:700px; height:500px;
+places-library2 =
+ .title = Pustaka
+ .style = min-width:700px; min-height:500px;
+places-library3 =
+ .title = Pustaka
+places-organize-button =
+ .label = Urus
+ .tooltiptext = Urus tandabuku anda
+ .accesskey = r
+places-organize-button-mac =
+ .label = Urus
+ .tooltiptext = Urus tandabuku anda
+places-file-close =
+ .label = Tutup
+ .accesskey = t
+places-cmd-close =
+ .key = w
+places-view-button =
+ .label = Paparan
+ .tooltiptext = Tukar paparan anda
+ .accesskey = r
+places-view-button-mac =
+ .label = Paparan
+ .tooltiptext = Tukar paparan anda
+places-view-menu-columns =
+ .label = Papar Lajur
+ .accesskey = a
+places-view-menu-sort =
+ .label = Susun
+ .accesskey = S
+places-view-sort-unsorted =
+ .label = Tidak disusun
+ .accesskey = T
+places-view-sort-ascending =
+ .label = Tertib Susunan A > Z
+ .accesskey = A
+places-view-sort-descending =
+ .label = Tertib Susunan Z > A
+ .accesskey = Z
+places-maintenance-button =
+ .label = Import dan Sandaran
+ .tooltiptext = Import dan sandar tandabuku anda
+ .accesskey = I
+places-maintenance-button-mac =
+ .label = Import dan Sandaran
+ .tooltiptext = Import dan sandar tandabuku anda
+places-cmd-backup =
+ .label = Sandaran…
+ .accesskey = n
+places-cmd-restore =
+ .label = Pulih
+ .accesskey = P
+places-cmd-restore-from-file =
+ .label = Pilih Fail…
+ .accesskey = F
+places-import-bookmarks-from-html =
+ .label = Import Tandabuku dari HTML…
+ .accesskey = I
+places-export-bookmarks-to-html =
+ .label = Eksport Tandabuku ke HTML…
+ .accesskey = E
+places-import-other-browser =
+ .label = Import Data dari Pelayar Lain…
+ .accesskey = A
+places-view-sort-col-name =
+ .label = Nama
+places-view-sort-col-tags =
+ .label = Tag
+places-view-sort-col-url =
+ .label = Lokasi
+places-view-sort-col-most-recent-visit =
+ .label = Lawatan Terkini
+places-view-sort-col-visit-count =
+ .label = Bilangan Lawatan
+places-view-sort-col-date-added =
+ .label = Ditambah
+places-view-sort-col-last-modified =
+ .label = Terakhir Diubah
+places-cmd-find-key =
+ .key = f
+places-back-button =
+ .tooltiptext = Undur
+places-forward-button =
+ .tooltiptext = Langkau
+places-details-pane-select-an-item-description = Pilih item untuk dipapar dan diedit sifatnya
diff --git a/l10n-ms/browser/browser/policies/policies-descriptions.ftl b/l10n-ms/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..33138b2460
--- /dev/null
+++ b/l10n-ms/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,122 @@
+# 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-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-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-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.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+##
+
+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-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-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/l10n-ms/browser/browser/preferences/addEngine.ftl b/l10n-ms/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/addEngine.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/preferences/applicationManager.ftl b/l10n-ms/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 0000000000..5710b5d309
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/applicationManager.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/.
+
+app-manager-window =
+ .title = Butiran aplikasi
+ .style = width: 30em; min-height: 20em;
+
+app-manager-window2 =
+ .title = Butiran aplikasi
+ .style = min-width: 30em; min-height: 20em;
+
+app-manager-remove =
+ .label = Buang
+ .accesskey = B
+
+# 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/l10n-ms/browser/browser/preferences/blocklists.ftl b/l10n-ms/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 0000000000..dbb9c70c1a
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/blocklists.ftl
@@ -0,0 +1,32 @@
+# 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-window2 =
+ .title = Senarai Sekatan
+ .style = min-width: 55em
+
+blocklist-close-key =
+ .key = w
+
+blocklist-treehead-list =
+ .label = Senarai
+
+blocklist-dialog =
+ .buttonlabelaccept = Simpan Perubahan
+ .buttonaccesskeyaccept = 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 }
+
diff --git a/l10n-ms/browser/browser/preferences/clearSiteData.ftl b/l10n-ms/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 0000000000..f510d11e51
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/clearSiteData.ftl
@@ -0,0 +1,60 @@
+# 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-window2 =
+ .title = Buang Data
+ .style = min-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-dialog =
+ .buttonlabelaccept = Buang
+ .buttonaccesskeyaccept = u
diff --git a/l10n-ms/browser/browser/preferences/colors.ftl b/l10n-ms/browser/browser/preferences/colors.ftl
new file mode 100644
index 0000000000..80ed96462b
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/colors.ftl
@@ -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/.
+
+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/l10n-ms/browser/browser/preferences/connection.ftl b/l10n-ms/browser/browser/preferences/connection.ftl
new file mode 100644
index 0000000000..0d48baaf5f
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/connection.ftl
@@ -0,0 +1,91 @@
+# 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-window2 =
+ .title = Tetapan Sambungan
+ .style =
+ { PLATFORM() ->
+ [macos] min-width: 44em
+ *[other] min-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-ssl-port = Port
+ .accesskey = o
+
+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-custom =
+ .label = Penyesuaian
+ .accesskey = P
+ .tooltiptext = Masukkan URL keutamaan untuk menyelesaikan DNS ke atas HTTPS
+
diff --git a/l10n-ms/browser/browser/preferences/containers.ftl b/l10n-ms/browser/browser/preferences/containers.ftl
new file mode 100644
index 0000000000..beafd6fdb6
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/containers.ftl
@@ -0,0 +1,88 @@
+# 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
+
+containers-window-new2 =
+ .title = Tambah Penyimpan Baru
+ .style = min-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-dialog =
+ .buttonlabelaccept = Siap
+ .buttonaccesskeyaccept = 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/l10n-ms/browser/browser/preferences/fonts.ftl b/l10n-ms/browser/browser/preferences/fonts.ftl
new file mode 100644
index 0000000000..598c6c2715
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,121 @@
+# 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.
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Piawai ({ $name })
+fonts-label-default-unnamed =
+ .label = Piawai
diff --git a/l10n-ms/browser/browser/preferences/formAutofill.ftl b/l10n-ms/browser/browser/preferences/formAutofill.ftl
new file mode 100644
index 0000000000..dc437305c1
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/formAutofill.ftl
@@ -0,0 +1,115 @@
+# 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 address and credit card autofill management dialog in browser preferences
+
+autofill-manage-addresses-title = Alamat Disimpan
+autofill-manage-addresses-list-header = Alamat
+
+autofill-manage-credit-cards-title = Kad Kredit Disimpan
+autofill-manage-credit-cards-list-header = Kad Kredit
+
+autofill-manage-dialog =
+ .style = min-width: 560px
+autofill-manage-remove-button = Buang
+autofill-manage-add-button = Tambah…
+autofill-manage-edit-button = Edit…
+
+##
+
+# The dialog title for creating addresses in browser preferences.
+autofill-add-new-address-title = Tambah Alamat Baru
+# The dialog title for editing addresses in browser preferences.
+autofill-edit-address-title = Edit Alamat
+
+autofill-address-given-name = Nama Pertama
+autofill-address-additional-name = Nama Tengah
+autofill-address-family-name = Nama Keluarga
+autofill-address-organization = Organisasi
+autofill-address-street = Nama Jalan
+
+## address-level-3 (Sublocality) names
+
+# Used in IR, MX
+autofill-address-neighborhood = Kawasan kejiranan
+# Used in MY
+autofill-address-village-township = Kampung atau Bandar
+autofill-address-island = Pulau
+# Used in IE
+autofill-address-townland = Perbandaran
+
+## address-level-2 names
+
+autofill-address-city = Bandar
+# Used in HK, SD, SY, TR as Address Level-2 and used in KR as Sublocality.
+autofill-address-district = Daerah
+# Used in GB, NO, SE
+autofill-address-post-town = Pos bandar
+# Used in AU as Address Level-2 and used in ZZ as Sublocality.
+autofill-address-suburb = Pinggir bandar
+
+## address-level-1 names
+
+autofill-address-province = Wilayah
+autofill-address-state = Negara
+autofill-address-county = Wilayah
+# Used in BB, JM
+autofill-address-parish = Kariah
+# Used in JP
+autofill-address-prefecture = Wilayah
+# Used in HK
+autofill-address-area = Kawasan
+# Used in KR
+autofill-address-do-si = Do/Si
+# Used in NI, CO
+autofill-address-department = Jabatan
+# Used in AE
+autofill-address-emirate = Emirate
+# Used in RU and UA
+autofill-address-oblast = Oblast
+
+## Postal code name types
+
+# Used in IN
+autofill-address-pin = Pin
+autofill-address-postal-code = Poskod
+autofill-address-zip = Poskod
+# Used in IE
+autofill-address-eircode = Eircode
+
+##
+
+autofill-address-country = Negara atau Rantau
+autofill-address-tel = Telefon
+autofill-address-email = E-mel
+
+autofill-cancel-button = Batal
+autofill-save-button = Simpan
+autofill-country-warning-message = Auto-isi Borang buat masa ini hanya tersedia untuk negara tertentu.
+
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-new-card-title = Tambah Kad Kredit Baru
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title = Edit Kad Kredit
+
+autofill-card-number = Nombor Kad
+autofill-card-invalid-number = Sila masukkan nombor kad yang sah
+autofill-card-name-on-card = Nama pada Kad
+autofill-card-expires-month = Bulan Luput
+autofill-card-expires-year = Tahun Luput
+autofill-card-billing-address = Alamat Bil
+autofill-card-network = Jenis Kad
+
+## These are brand names and should only be translated when a locale-specific name for that brand is in common use
+
+autofill-card-network-amex = American Express
+autofill-card-network-cartebancaire = Carte Bancaire
+autofill-card-network-diners = Diners Club
+autofill-card-network-discover = Discover
+autofill-card-network-jcb = JCB
+autofill-card-network-mastercard = MasterCard
+autofill-card-network-mir = MIR
+autofill-card-network-unionpay = Union Pay
+autofill-card-network-visa = Visa
diff --git a/l10n-ms/browser/browser/preferences/fxaPairDevice.ftl b/l10n-ms/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/fxaPairDevice.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/preferences/languages.ftl b/l10n-ms/browser/browser/preferences/languages.ftl
new file mode 100644
index 0000000000..d71d71b5f3
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/languages.ftl
@@ -0,0 +1,81 @@
+# 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/.
+
+webpage-languages-window =
+ .title = Tetapan Bahasa Halaman Web
+ .style = width: 40em
+
+webpage-languages-window2 =
+ .title = Tetapan Bahasa Halaman Web
+ .style = min-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-window2 =
+ .title = Tetapan Bahasa { -brand-short-name }
+ .style = min-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/l10n-ms/browser/browser/preferences/moreFromMozilla.ftl b/l10n-ms/browser/browser/preferences/moreFromMozilla.ftl
new file mode 100644
index 0000000000..fa9e5bd8d4
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/moreFromMozilla.ftl
@@ -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/.
+
+## These strings are used in the about:preferences moreFromMozilla page
+
diff --git a/l10n-ms/browser/browser/preferences/permissions.ftl b/l10n-ms/browser/browser/preferences/permissions.ftl
new file mode 100644
index 0000000000..4f3e9a638c
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,181 @@
+# 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-window2 =
+ .title = Pengecualian
+ .style = min-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
+
+permission-dialog =
+ .buttonlabelaccept = Simpan Perubahan
+ .buttonaccesskeyaccept = 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-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
+
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window =
+ .title = Pengecualian - Kuki dan Data Laman
+ .style = { permissions-window.style }
+
+permissions-exceptions-cookie-window2 =
+ .title = Pengecualian - Kuki dan Data Laman
+ .style = { permissions-window2.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 - HTTPS-Only Mode
+
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window =
+ .title = Laman Web Diizinkan - Pop-ups
+ .style = { permissions-window.style }
+
+permissions-exceptions-popup-window2 =
+ .title = Laman Web Diizinkan - Pop-ups
+ .style = { permissions-window2.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-window2 =
+ .title = Pengecualian - Log masuk Tersimpan
+ .style = { permissions-window2.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-window2 =
+ .title = Laman Web Diizinkan - Pemasangan Add-ons
+ .style = { permissions-window2.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.
+
+## Site Permissions - Autoplay
+
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window =
+ .title = Tetapan - Keizinan Notifikasi
+ .style = { permissions-window.style }
+
+permissions-site-notification-window2 =
+ .title = Tetapan - Keizinan Notifikasi
+ .style = { permissions-window2.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-window2 =
+ .title = Tetapan - Keizinan Lokasi
+ .style = { permissions-window2.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 - Virtual Reality
+
+
+## Site Permissions - Camera
+
+permissions-site-camera-window =
+ .title = Tetapan - Keizinan Kamera
+ .style = { permissions-window.style }
+
+permissions-site-camera-window2 =
+ .title = Tetapan - Keizinan Kamera
+ .style = { permissions-window2.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-window2 =
+ .title = Tetapan - Keizinan Mikrofon
+ .style = { permissions-window2.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/l10n-ms/browser/browser/preferences/preferences.ftl b/l10n-ms/browser/browser/preferences/preferences.ftl
new file mode 100644
index 0000000000..57c4b7484a
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,891 @@
+# 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-always =
+ .label = Sentiasa
+
+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 }
+
+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.
+##
+## <img data-l10n-name="icon"/> is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (String): name of the extension
+
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+# <img data-l10n-name="addons-icon"/> will be replaced with Add-ons icon
+# <img data-l10n-name="menu-icon"/> will be replaced with Menu icon
+extension-controlled-enable = Untuk membolehkan ekstensi pergi ke Add-ons <img data-l10n-name="addons-icon"/> dalam menu <img data-l10n-name="menu-icon"/>.
+
+## Preferences UI Search Results
+
+search-results-header = Hasil Carian
+
+search-results-help-link = Perlu bantuan? Lawat <a data-l10n-name="url">Sokongan { -brand-short-name }</a>
+
+## General Section
+
+startup-header = Permulaan
+
+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
+
+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-open-many-tabs =
+ .label = Beri amaran apabila membuka berbilang tab yang mungkin memperlahankan { -brand-short-name }
+ .accesskey = p
+
+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
+
+default-font = Fon piawai
+ .accesskey = F
+default-font-size = Saiz
+ .accesskey = S
+
+advanced-fonts =
+ .label = Lanjutan…
+ .accesskey = L
+
+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 <img> element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = Terjemahan oleh <img data-l10n-name="logo"/>
+
+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-where = 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
+
+# Variables:
+# $extension (String) - file extension (e.g .TXT)
+applications-file-ending = Fail { $extension }
+applications-action-save =
+ .label = Simpan Fail
+
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app =
+ .label = Guna { $app-name }
+
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app-default =
+ .label = Guna { $app-name } (piawai)
+
+applications-use-other =
+ .label = Guna yang lain…
+applications-select-helper = Pilih Aplikasi Helper
+
+applications-manage-app =
+ .label = Butiran Aplikasi…
+applications-always-ask =
+ .label = Sentiasa tanya
+
+# Variables:
+# $type-description (String) - Description of the type (e.g "Portable Document Format")
+# $type (String) - the MIME type (e.g application/binary)
+applications-type-description-with-type = { $type-description } ({ $type })
+
+# Variables:
+# $plugin-name (String) - Name of a plugin (e.g Adobe Flash)
+applications-use-plugin-in =
+ .label = Guna { $plugin-name } (dalam { -brand-short-name })
+
+## The strings in this group are used to populate
+## selected label element based on the string from
+## the selected menu item.
+
+applications-use-plugin-in-label =
+ .value = { applications-use-plugin-in.label }
+
+applications-action-save-label =
+ .value = { applications-action-save.label }
+
+applications-use-app-label =
+ .value = { applications-use-app.label }
+
+applications-always-ask-label =
+ .value = { applications-always-ask.label }
+
+applications-use-app-default-label =
+ .value = { applications-use-app-default.label }
+
+applications-use-other-label =
+ .value = { applications-use-other.label }
+
+##
+
+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 } <a data-l10n-name="learn-more">Perkembangan terbaru</a>
+
+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
+
+## 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 }. <a data-l10n-name="learn-more">Ketahui cara untuk menyemak samada multi proses didayakan</a>
+
+# 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
+
+## Home Section - Firefox Home Content Customization
+
+home-prefs-content-header = Kandungan Halaman Utama Firefox
+home-prefs-content-description = Pilih kandungan yang mahu dalam skrin Halaman Utama Firefox.
+
+home-prefs-search-header =
+ .label = Carian Web
+
+## Variables:
+## $provider (String): Name of the corresponding content provider, e.g "Pocket".
+
+# Variables:
+# $provider (String): Name of the corresponding content provider, e.g "Pocket".
+home-prefs-recommended-by-header =
+ .label = Disyorkan oleh { $provider }
+
+##
+
+home-prefs-recommended-by-learn-more = Cara pelaksanaan
+home-prefs-recommended-by-option-sponsored-stories =
+ .label = Kisah Tajaan
+
+home-prefs-highlights-option-visited-pages =
+ .label = Halaman Dilawati
+home-prefs-highlights-options-bookmarks =
+ .label = Tandabuku
+home-prefs-highlights-option-most-recent-download =
+ .label = Muat Turun Terbaru
+home-prefs-highlights-option-saved-to-pocket =
+ .label = Halaman Disimpan ke { -pocket-brand-name }
+
+# 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.
+home-prefs-snippets-header =
+ .label = Cebisan
+
+home-prefs-sections-rows-option =
+ .label = { $num } baris
+
+## 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-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-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-header = Tab Penyimpan
+containers-add-button =
+ .label = Tambah Penyimpan Baru
+ .accesskey = A
+
+containers-remove-button =
+ .label = Buang
+
+## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now
+## more discrete ("signed in" no longer means "and sync is connected").
+
+sync-signedout-caption = Bawa Web dengan anda
+
+# This message contains two links and two icon images.
+# `<img data-l10n-name="android-icon"/>` - Android logo icon
+# `<a data-l10n-name="android-link">` - Link to Android Download
+# `<img data-l10n-name="ios-icon">` - iOS logo icon
+# `<a data-l10n-name="ios-link">` - 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 untuk<img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> atau <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> untuk sync dengan peranti mudah alih anda.
+
+## Firefox Account - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Tukar gambar profil
+
+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 section - enabling or disabling sync.
+
+
+## The list of things currently syncing.
+
+
+## The "Choose what to sync" dialog.
+
+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-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
+
+## The device name controls.
+
+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
+
+## Privacy Section
+
+privacy-header = Privasi Pelayar
+
+## Privacy Section - Logins and Passwords
+
+# The search keyword isn't shown to users but is used to find relevant settings in about:preferences.
+pane-privacy-logins-and-passwords-header = Log masuk & Kata laluan
+ .searchkeywords = { -lockwise-brand-short-name }
+
+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-change =
+ .label = Tukar Kata laluan Induk…
+ .accesskey = T
+
+forms-master-pw-fips-desc = Kata laluan Gagal Ditukar
+
+## OS Authentication dialog
+
+
+## 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-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-clear =
+ .label = Buang Data…
+ .accesskey = u
+
+sitedata-settings =
+ .label = Urus Data…
+ .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-learn-more = Ketahui selanjutnya
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+# "Standard" in this case is an adjective, meaning "default" or "normal".
+enhanced-tracking-protection-setting-standard =
+ .label = Piawai
+ .accesskey = i
+enhanced-tracking-protection-setting-strict =
+ .label = Rapi
+ .accesskey = p
+enhanced-tracking-protection-setting-custom =
+ .label = Penyesuaian
+ .accesskey = P
+
+##
+
+content-blocking-all-third-party-cookies = Semua kuki pihak ketiga
+
+content-blocking-tracking-protection-change-block-list = Tukar senarai sekatan
+
+content-blocking-cookies-label =
+ .label = Kuki
+ .accesskey = K
+
+## Privacy Section - Tracking
+
+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-popups =
+ .label = Sekat tetingkap popup
+ .accesskey = S
+
+permissions-addon-install-warning =
+ .label = Beri amaran apabila laman web cuba memasang add-ons
+ .accesskey = B
+
+permissions-addon-exceptions =
+ .label = Pengecualian…
+ .accesskey = E
+
+## 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
+
+## 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-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
+
+## Privacy Section - HTTPS-Only
+
+
+## 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:
diff --git a/l10n-ms/browser/browser/preferences/selectBookmark.ftl b/l10n-ms/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 0000000000..0350b2051d
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/selectBookmark.ftl
@@ -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/.
+
+select-bookmark-window =
+ .title = Tetapkan Laman
+ .style = width: 32em;
+
+select-bookmark-window2 =
+ .title = Tetapkan Laman
+ .style = min-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/l10n-ms/browser/browser/preferences/siteDataSettings.ftl b/l10n-ms/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 0000000000..b544d1bb1b
--- /dev/null
+++ b/l10n-ms/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-settings-dialog =
+ .buttonlabelaccept = Simpan Perubahan
+ .buttonaccesskeyaccept = i
+
+site-data-remove-all =
+ .label = Buang Semua
+ .accesskey = u
+
+site-data-remove-shown =
+ .label = Buang Semua Paparan
+ .accesskey = u
+
+## Removing
+
+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/l10n-ms/browser/browser/preferences/translation.ftl b/l10n-ms/browser/browser/preferences/translation.ftl
new file mode 100644
index 0000000000..734c24576d
--- /dev/null
+++ b/l10n-ms/browser/browser/preferences/translation.ftl
@@ -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/.
+
+translation-window =
+ .title = Pengecualian - Terjemahan
+ .style = width: 36em
+
+translation-window2 =
+ .title = Pengecualian - Terjemahan
+ .style = min-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-dialog =
+ .buttonlabelaccept = Tutup
+ .buttonaccesskeyaccept = u
diff --git a/l10n-ms/browser/browser/profile/default-bookmarks.ftl b/l10n-ms/browser/browser/profile/default-bookmarks.ftl
new file mode 100644
index 0000000000..3543a3a854
--- /dev/null
+++ b/l10n-ms/browser/browser/profile/default-bookmarks.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/.
+
+# This file intentionally uses hard-coded brand names instead of Fluent terms.
+# This approach minimizes issues across multiple release channels and rebranded
+# versions.
+
diff --git a/l10n-ms/browser/browser/protections.ftl b/l10n-ms/browser/browser/protections.ftl
new file mode 100644
index 0000000000..1cf06b5153
--- /dev/null
+++ b/l10n-ms/browser/browser/protections.ftl
@@ -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/.
+
+
+## The title attribute is used to display the type of protection.
+## The aria-label is spoken by screen readers to make the visual graph accessible to blind users.
+##
+## Variables:
+## $count (Number) - Number of specific trackers
+## $percentage (Number) - Percentage this type of tracker contributes to the whole graph
+
diff --git a/l10n-ms/browser/browser/protectionsPanel.ftl b/l10n-ms/browser/browser/protectionsPanel.ftl
new file mode 100644
index 0000000000..ecdb859d8f
--- /dev/null
+++ b/l10n-ms/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,42 @@
+# 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 to define the different levels of
+## Enhanced Tracking Protection.
+
+
+##
+
+
+## The "Allowed" header also includes a "Why?" link that, when hovered, shows
+## a tooltip explaining why these items were not blocked in the page.
+
+
+##
+
+
+## In the protections panel, Content Blocking category items are in three sections:
+## "Blocked" for categories being blocked in the current page,
+## "Allowed" for categories detected but not blocked in the current page, and
+## "None Detected" for categories not detected in the current page.
+## These strings are used in the header labels of each of these sections.
+
+
+##
+
+
+## In the Site Not Working? view, we suggest turning off protections if
+## the user is experiencing issues with any of a variety of functionality.
+
+
+##
+
+protections-panel-content-blocking-breakage-report-view-collection-url = URL
+protections-panel-content-blocking-breakage-report-view-collection-url-label =
+ .aria-label = URL
+protections-panel-content-blocking-breakage-report-view-cancel =
+ .label = Batal
+protections-panel-content-blocking-breakage-report-view-send-report =
+ .label = Hantar Laporan
diff --git a/l10n-ms/browser/browser/safeMode.ftl b/l10n-ms/browser/browser/safeMode.ftl
new file mode 100644
index 0000000000..fe5ed7f59c
--- /dev/null
+++ b/l10n-ms/browser/browser/safeMode.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/.
+
+refresh-profile =
+ .label = Muat 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/l10n-ms/browser/browser/safebrowsing/blockedSite.ftl b/l10n-ms/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 0000000000..6b0f9ee381
--- /dev/null
+++ b/l10n-ms/browser/browser/safebrowsing/blockedSite.ftl
@@ -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/.
+
+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 <a data-l10n-name='advisory_provider'>{ $advisoryname }</a>.
+safeb-palm-accept-label = Undur
+safeb-palm-see-details-label = Lihat butiran
+safeb-blocked-phishing-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>sebagai laman mengelirukan</a>. Anda boleh <a data-l10n-name='report_detection'>laporkan masalah yang dikesan ini</a> atau <a data-l10n-name='ignore_warning_link'>abaikan risiko ini</a> dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-phishing-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>sebagai laman mengelirukan</a>. Anda boleh <a data-l10n-name='report_detection'>laporkan masalah yang dikesan ini</a>.
+safeb-blocked-phishing-page-learn-more = Ketahui lebih lanjut perihal laman mengelirukan dan phishing di <a data-l10n-name='learn_more_link'>www.antiphishing.org</a>. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+safeb-blocked-unwanted-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>mengandungi perisian berbahaya</a>. Anda boleh <a data-l10n-name='ignore_warning_link'>abaikan risiko ini</a> dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-unwanted-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>mengandungi perisian berbahaya</a>.
+safeb-blocked-unwanted-page-learn-more = Ketahui lebih lanjut perihal perisian berbahaya dan tidak diingini di <a data-l10n-name='learn_more_link'>Polisi Perisian Tidak Diingini</a>. Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+safeb-blocked-harmful-page-error-desc-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>mengandungi aplikasi yang berbahaya.</a> Anda boleh <a data-l10n-name='ignore_warning_link'>abaikan risiko ini</a> dan terus melayari laman yang tidak selamat ini.
+safeb-blocked-harmful-page-error-desc-no-override = <span data-l10n-name='sitename'>{ $sitename }</span> telah dilaporkan <a data-l10n-name='error_desc_link'>mengandungi aplikasi yang berbahaya</a>.
+safeb-blocked-harmful-page-learn-more = Ketahui lebih lanjut perihal Perlindungan Phishing dan Perisian Hasad { -brand-short-name } di <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+safeb-palm-notdeceptive =
+ .label = Ini bukan laman mengelirukan…
+ .accesskey = m
diff --git a/l10n-ms/browser/browser/sanitize.ftl b/l10n-ms/browser/browser/sanitize.ftl
new file mode 100644
index 0000000000..1e0a7e086a
--- /dev/null
+++ b/l10n-ms/browser/browser/sanitize.ftl
@@ -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/.
+
+sanitize-prefs =
+ .title = Tetapan untuk Buang Sejarah
+ .style = width: 34em
+
+sanitize-prefs2 =
+ .title = Tetapan untuk Buang Sejarah
+ .style = min-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-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/l10n-ms/browser/browser/screenshots.ftl b/l10n-ms/browser/browser/screenshots.ftl
new file mode 100644
index 0000000000..d4227de7f6
--- /dev/null
+++ b/l10n-ms/browser/browser/screenshots.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/.
+
+screenshots-instructions = Seret atau klik pada halaman untuk memilih kawasan. Tekan ESC untuk batalkan.
+screenshots-cancel-button = Batal
+screenshots-save-visible-button = Simpan yang terpapar
+screenshots-save-page-button = Simpan halaman penuh
+screenshots-download-button = Muat turun
+screenshots-copy-button = Salin
+
+screenshots-meta-key =
+ { PLATFORM() ->
+ [macos] ⌘
+ *[other] Ctrl
+ }
+screenshots-notification-link-copied-title = Pautan Disalin
+screenshots-notification-link-copied-details = Pautan ke syot anda telah disalin ke klipbod. Tekan { screenshots-meta-key }-V untuk tampal.
+
+screenshots-notification-image-copied-title = Syot Disalin
+screenshots-notification-image-copied-details = Syot anda telah disalin ke klipbod. Tekan { screenshots-meta-key }-V untuk tampal.
+
+screenshots-request-error-title = Tidak berfungsi.
+screenshots-request-error-details = Maaf! Kita tidak dapat menyimpan syot anda. Sila cuba lagi nanti.
+
+screenshots-connection-error-title = Kami tidak dapat menyambungkan ke skrinsyot anda.
+screenshots-connection-error-details = Sila semak sambungan Internet anda. Jika anda boleh dapat sambungan ke Internet, mungkin ada masalah sementara dengan perkhidmatan { -screenshots-brand-name }.
+
+screenshots-login-error-details = Kami tidak dapat menyimpan skrinsyot anda kerana ada masalah dengan perkhidmatan { -screenshots-brand-name }. Sila cuba lagi nanti.
+
+screenshots-unshootable-page-error-title = Kami tidak boleh skrinsyot halaman ini.
+screenshots-unshootable-page-error-details = Ini bukan halaman Web piawai, jadi anda tidak boleh membuat skrinsyot.
+
+screenshots-empty-selection-error-title = Pilihan anda terlalu kecil
+
+screenshots-private-window-error-details = Maaf atas sebarang kesulitan. Kami sedang berusaha untuk menyediakan ciri ini dalam keluaran akan datang.
+
+screenshots-generic-error-title = Oh tidak! { -screenshots-brand-name } tidak berfungsi dengan betul.
+screenshots-generic-error-details = Kami tidak pasti apa yang baru berlaku. Anda mahu cuba lagi atau mengambil gambar halaman lain?
diff --git a/l10n-ms/browser/browser/screenshotsOverlay.ftl b/l10n-ms/browser/browser/screenshotsOverlay.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/screenshotsOverlay.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/search.ftl b/l10n-ms/browser/browser/search.ftl
new file mode 100644
index 0000000000..6a62045f70
--- /dev/null
+++ b/l10n-ms/browser/browser/search.ftl
@@ -0,0 +1,36 @@
+# 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 for errors when installing OpenSearch engines, e.g.
+## via "Add Search Engine" on the address bar or search bar.
+## Variables
+## $location-url (String) - the URL of the OpenSearch engine that was attempted to be installed.
+
+opensearch-error-duplicate-title = Ralat Pemasangan
+opensearch-error-duplicate-desc = { -brand-short-name } tidak dapat memasang plugin dikehendaki dari "{ $location-url }" kerana enjin yang bernama sama telah wujud.
+
+opensearch-error-format-title = Format Tidak Sah
+opensearch-error-format-desc = { -brand-short-name } tidak dapat memasang enjin carian daripada: { $location-url }
+
+opensearch-error-download-title = Ralat Memuat Turun
+opensearch-error-download-desc = { -brand-short-name } tidak dapat muat turun plugin yang dikehendaki dari: { $location-url }
+
+##
+
+searchbar-submit =
+ .tooltiptext = Hantar carian
+
+# This string is displayed in the search box when the input field is empty
+searchbar-input =
+ .placeholder = Cari
+
+searchbar-icon =
+ .tooltiptext = Cari
+
+## Infobar shown when search engine is removed and replaced.
+## Variables
+## $oldEngine (String) - the search engine to be removed.
+## $newEngine (String) - the search engine to replace the removed search engine.
+
diff --git a/l10n-ms/browser/browser/setDesktopBackground.ftl b/l10n-ms/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 0000000000..82b1009757
--- /dev/null
+++ b/l10n-ms/browser/browser/setDesktopBackground.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/.
+
+set-desktop-background-window =
+ .title = Tetapkan Latar belakang Desktop
+
+set-desktop-background-accept =
+ .label = Tetapkan Latar belakang Desktop
+
+open-desktop-prefs =
+ .label = Buka Keutamaan Desktop
+
+set-background-color = Warna:
+
+set-background-position = Kedudukan:
+
+set-background-tile =
+ .label = Jubin
+
+set-background-center =
+ .label = Tengah
+
+set-background-stretch =
+ .label = Regang
+
+set-background-fill =
+ .label = Isi
+
+set-background-fit =
+ .label = Muat
diff --git a/l10n-ms/browser/browser/sidebarMenu.ftl b/l10n-ms/browser/browser/sidebarMenu.ftl
new file mode 100644
index 0000000000..cbf1c0f79e
--- /dev/null
+++ b/l10n-ms/browser/browser/sidebarMenu.ftl
@@ -0,0 +1,18 @@
+# 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/.
+
+sidebar-menu-bookmarks =
+ .label = Tandabuku
+
+sidebar-menu-history =
+ .label = Sejarah
+
+sidebar-menu-synced-tabs =
+ .label = Tab Sync
+
+sidebar-menu-close =
+ .label = Tutup Bar Sisi
+
+sidebar-close-button =
+ .tooltiptext = Tutup bar sisi
diff --git a/l10n-ms/browser/browser/sitePermissions.ftl b/l10n-ms/browser/browser/sitePermissions.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/browser/browser/sitePermissions.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/browser/browser/spotlight.ftl b/l10n-ms/browser/browser/spotlight.ftl
new file mode 100644
index 0000000000..af1c50d82b
--- /dev/null
+++ b/l10n-ms/browser/browser/spotlight.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/.
+
+## Mobile download button strings
+
+## Firefox Focus promo message strings
+
diff --git a/l10n-ms/browser/browser/sync.ftl b/l10n-ms/browser/browser/sync.ftl
new file mode 100644
index 0000000000..34f6b8ae18
--- /dev/null
+++ b/l10n-ms/browser/browser/sync.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/.
+
+# This is shown dynamically within "Send tab to device" in fxa menu.
+fxa-menu-send-tab-to-device-syncnotready =
+ .label = Sync Peranti…
+
diff --git a/l10n-ms/browser/browser/syncedTabs.ftl b/l10n-ms/browser/browser/syncedTabs.ftl
new file mode 100644
index 0000000000..0e648af4e2
--- /dev/null
+++ b/l10n-ms/browser/browser/syncedTabs.ftl
@@ -0,0 +1,49 @@
+# 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-unverified = Akaun anda perlu disahkan.
+synced-tabs-sidebar-notabs = Tiada tab terbuka
+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
+
+## Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+## and/or devices in the list. The "Open" strings below should be translated
+## consistently with the equivalent strings for the bookmarks manager's context
+## menu. That menu is activated by right-clicking a bookmark in the Library
+## window. The bookmarks manager context's strings are located in places.ftl.
+
+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
+synced-tabs-context-sync-now =
+ .label = Sync Sekarang
+ .accesskey = S
diff --git a/l10n-ms/browser/browser/tabContextMenu.ftl b/l10n-ms/browser/browser/tabContextMenu.ftl
new file mode 100644
index 0000000000..05e25be955
--- /dev/null
+++ b/l10n-ms/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,65 @@
+# 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
+tab-context-play-tab =
+ .label = Mainkan Tab
+ .accesskey = M
+tab-context-play-tabs =
+ .label = Mainkan Tab
+ .accesskey = n
+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
+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
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-send-tabs-to-device =
+ .label = Hantar { $tabCount } Tab ke Peranti
+ .accesskey = n
diff --git a/l10n-ms/browser/browser/tabbrowser.ftl b/l10n-ms/browser/browser/tabbrowser.ftl
new file mode 100644
index 0000000000..f3ba240617
--- /dev/null
+++ b/l10n-ms/browser/browser/tabbrowser.ftl
@@ -0,0 +1,81 @@
+# 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/.
+
+tabbrowser-empty-tab-title = Tab Baru
+tabbrowser-menuitem-close-tab =
+ .label = Tutup Tab
+tabbrowser-menuitem-close =
+ .label = Tutup
+# Displayed as a tooltip on container tabs
+# Variables:
+# $title (String): the title of the current tab.
+# $containerName (String): the name of the current container.
+tabbrowser-container-tab-title = { $title } - { $containerName }
+# Variables:
+# $title (String): the title of the current tab.
+tabbrowser-tab-tooltip =
+ .label = { $title }
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-close-tabs-tooltip =
+ .label = Tutup { $tabCount } tab
+
+## Tooltips for tab audio control
+## Variables:
+## $tabCount (Number): The number of tabs that will be affected.
+
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Mute tab".
+tabbrowser-mute-tab-audio-tooltip =
+ .label = Senyap { $tabCount } tab ({ $shortcut })
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Unmute tab".
+tabbrowser-unmute-tab-audio-tooltip =
+ .label = Nyahsenyap { $tabCount } tab ({ $shortcut })
+tabbrowser-mute-tab-audio-background-tooltip =
+ .label = Senyap { $tabCount } tab
+tabbrowser-unmute-tab-audio-background-tooltip =
+ .label = Nyahsenyap { $tabCount } tab
+tabbrowser-unblock-tab-audio-tooltip =
+ .label = Main { $tabCount } tab
+
+## Confirmation dialog when closing a window with more than one tab open,
+## or when quitting when only one window is open.
+
+tabbrowser-confirm-close-tabs-button = Tutup tab
+
+## Confirmation dialog when quitting using the menu and multiple windows are open.
+
+
+## Confirmation dialog when quitting using the keyboard shortcut (Ctrl/Cmd+Q)
+## Windows does not show a prompt on quit when using the keyboard shortcut by default.
+
+
+## Confirmation dialog when opening multiple tabs simultaneously
+
+tabbrowser-confirm-open-multiple-tabs-title = Sahkan membuka
+# Variables:
+# $tabCount (Number): The number of tabs that will be opened.
+tabbrowser-confirm-open-multiple-tabs-message =
+ { $tabCount ->
+ *[other] Anda akan membuka tab { $tabCount }. Ini mungkin memperlahankan { -brand-short-name } semasa memuatkan halaman. Adakah anda pasti mahu meneruskan?
+ }
+tabbrowser-confirm-open-multiple-tabs-button = Buka tab
+tabbrowser-confirm-open-multiple-tabs-checkbox = Ingatkan saya semasa membuka berbilang tab yang mungkin akan memperlahankan { -brand-short-name }
+
+## Confirmation dialog for enabling caret browsing
+
+
+##
+
+tabbrowser-customizemode-tab-title = Penyesuaian { -brand-short-name }
+
+## Context menu buttons, of which only one will be visible at a time
+
+tabbrowser-context-mute-tab =
+ .label = Tab Senyap
+ .accesskey = S
+tabbrowser-context-unmute-tab =
+ .label = Nyah-senyap Tab
+ .accesskey = a
diff --git a/l10n-ms/browser/browser/textRecognition.ftl b/l10n-ms/browser/browser/textRecognition.ftl
new file mode 100644
index 0000000000..911551e1aa
--- /dev/null
+++ b/l10n-ms/browser/browser/textRecognition.ftl
@@ -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/.
+
+## Text recognition works through a modal that presents the text that is found
+## in an image, and copies the results to the clipboard.
+
diff --git a/l10n-ms/browser/browser/toolbarContextMenu.ftl b/l10n-ms/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 0000000000..cbbdf618e6
--- /dev/null
+++ b/l10n-ms/browser/browser/toolbarContextMenu.ftl
@@ -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/.
+
+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-manage-extension =
+ .label = Urus Ekstensi
+ .accesskey = E
+toolbar-context-menu-remove-extension =
+ .label = Buang Ekstensi
+ .accesskey = g
+
+# Can appear on the same context menu as menubarCmd ("Menu Bar") and
+# personalbarCmd ("Bookmarks Toolbar"), so they should have different
+# access keys.
+toolbar-context-menu-pin-to-overflow-menu =
+ .label = Pin ke Menu Overflow
+ .accesskey = P
+toolbar-context-menu-remove-from-toolbar =
+ .label = Buang daripada Bar alatan
+ .accesskey = B
+toolbar-context-menu-view-customize-toolbar =
+ .label = Penyesuaian…
+ .accesskey = P
+
+toolbar-context-menu-menu-bar-cmd =
+ .toolbarname = Bar Menu
+ .accesskey = M
diff --git a/l10n-ms/browser/browser/touchbar/touchbar.ftl b/l10n-ms/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 0000000000..0dc0443224
--- /dev/null
+++ b/l10n-ms/browser/browser/touchbar/touchbar.ftl
@@ -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/.
+
+## Various categories of shortcuts for search.
+
+##
diff --git a/l10n-ms/browser/browser/translationNotification.ftl b/l10n-ms/browser/browser/translationNotification.ftl
new file mode 100644
index 0000000000..5c67d5a3f1
--- /dev/null
+++ b/l10n-ms/browser/browser/translationNotification.ftl
@@ -0,0 +1,74 @@
+# 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 2 strings are used to construct a sentence that contains a dropdown
+## showing the detected language of the current web page.
+## In en-US it looks like this:
+## This page is in [detected language] Translate this page?
+## "detected language" here is a language name coming from the
+## toolkit/intl/languageNames.ftl file; for some locales it may not be in
+## the correct grammar case to keep the same structure of the original
+## sentence.
+
+translation-notification-this-page-is-in =
+ .value = Halaman ini dalam
+translation-notification-translate-this-page =
+ .value = Terjemahkan halaman ini?
+
+##
+
+translation-notification-translate-button =
+ .label = Terjemah
+translation-notification-not-now-button =
+ .label = Bukan Sekarang
+translation-notification-translating-content =
+ .value = Menterjemah kandungan halaman…
+
+## These 3 strings are used to construct a sentence that contains 2 dropdowns
+## showing the source and target language of a translated web page.
+## In en-US it looks like this:
+## This page has been translated from [from language] to [to language]
+## "from language" and "to language" here are language names coming from the
+## toolkit/intl/languageNames.ftl file; for some locales they may not be in
+## the correct grammar case to keep the same structure of the original
+## sentence.
+
+translation-notification-translated-from =
+ .value = Halaman ini telah diterjemahkan daripada
+translation-notification-translated-to =
+ .value = kepada
+# This string (empty in en-US) is for locales that need to display some text
+# after the second drop down for the sentence to be grammatically correct.
+translation-notification-translated-to-suffix =
+ .value = { "" }
+
+##
+
+translation-notification-show-original-button =
+ .label = Papar Original
+translation-notification-show-translation-button =
+ .label = Papar Terjemahan
+translation-notification-error-translating =
+ .value = Berlaku ralat dalam menterjemahkan halaman ini.
+translation-notification-try-again-button =
+ .label = Cuba Lagi
+translation-notification-service-unavailable =
+ .value = Terjemahan tidak tersedia pada masa ini. Sila cuba lagi kemudian.
+translation-notification-options-menu =
+ .label = Pilihan
+
+## The accesskey values used here should not clash with each other
+
+# Variables:
+# $langName (String): a language name coming from the toolkit/intl/languageNames.ftl file.
+translation-notification-options-never-for-language =
+ .label = Jangan sesekali terjemah { $langName }
+ .accesskey = N
+translation-notification-options-never-for-site =
+ .label = Jangan sesekali terjemahkan laman ini
+ .accesskey = e
+translation-notification-options-preferences =
+ .label = Keutamaan terjemahan
+ .accesskey = T
diff --git a/l10n-ms/browser/browser/unifiedExtensions.ftl b/l10n-ms/browser/browser/unifiedExtensions.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-ms/browser/browser/unifiedExtensions.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-ms/browser/browser/webauthnDialog.ftl b/l10n-ms/browser/browser/webauthnDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-ms/browser/browser/webauthnDialog.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-ms/browser/browser/webrtcIndicator.ftl b/l10n-ms/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 0000000000..972354c6c6
--- /dev/null
+++ b/l10n-ms/browser/browser/webrtcIndicator.ftl
@@ -0,0 +1,130 @@
+# 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/.
+
+
+# Note: This is currently placed under browser/base/content so that we can
+# get the strings to appear without having our localization community need
+# to go through and translate everything. Once these strings are ready for
+# translation, we'll move it to the locales folder.
+
+
+## These strings are used so that the window has a title in tools that
+## enumerate/look for window titles. It is not normally visible anywhere.
+
+
+## Used as list items in sharing menu
+
+webrtc-item-camera = kamera
+webrtc-item-microphone = mikrofon
+webrtc-item-audio-capture = audio tab
+webrtc-item-application = aplikasi
+webrtc-item-screen = skrin
+webrtc-item-window = tetingkap
+webrtc-item-browser = tab
+
+##
+
+# This is used for the website origin for the sharing menu if no readable origin could be deduced from the URL.
+webrtc-sharing-menuitem-unknown-host = Origin tidak diketahui
+# Variables:
+# $origin (String): The website origin (e.g. www.mozilla.org)
+# $itemList (String): A formatted list of items (e.g. "camera, microphone and tab audio")
+webrtc-sharing-menuitem =
+ .label = { $origin } ({ $itemList })
+webrtc-sharing-menu =
+ .label = Peranti perkongsian tab
+ .accesskey = a
+
+## These strings will display as a tooltip on supported systems where we show
+## device sharing state in the OS notification area. We do not use these strings
+## on macOS, as global menu bar items do not have native tooltips.
+
+
+## Tooltips used by the legacy global sharing indicator
+
+webrtc-indicator-sharing-camera-and-microphone =
+ .tooltiptext = Kamera dan mikrofon anda sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-camera =
+ .tooltiptext = Kamera anda sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-microphone =
+ .tooltiptext = Mikrofon anda sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-application =
+ .tooltiptext = Aplikasi sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-screen =
+ .tooltiptext = Skrin anda sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-window =
+ .tooltiptext = Tetingkap anda sedang dikongsi. Klik untuk kawalan perkongsian.
+webrtc-indicator-sharing-browser =
+ .tooltiptext = Tab sedang dikongsi. Klik untuk kawalan perkongsian.
+
+## These strings are only used on Mac for menus attached to icons
+## near the clock on the mac menubar.
+## Variables:
+## $streamTitle (String): the title of the tab using the share.
+## $tabCount (Number): the title of the tab using the share.
+
+webrtc-indicator-menuitem-control-sharing =
+ .label = Kawalan Perkongsian
+webrtc-indicator-menuitem-control-sharing-on =
+ .label = Kawalan Perkongsian dengan "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-camera-with =
+ .label = Berkongsi Kamera dengan "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-camera-with-n-tabs =
+ .label = Berkongsi Kamera dengan tab { $tabCount }
+webrtc-indicator-menuitem-sharing-microphone-with =
+ .label = Berkongsi Mikrofon dengan "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-microphone-with-n-tabs =
+ .label = Berkongsi Microfon dengan tab { $tabCount }
+webrtc-indicator-menuitem-sharing-application-with =
+ .label = Berkongsi Aplikasi dengan “{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-application-with-n-tabs =
+ .label = Berkongsi aplikasi dengan tab { $tabCount }
+webrtc-indicator-menuitem-sharing-screen-with =
+ .label = Berkongsi Skrin dengan "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-screen-with-n-tabs =
+ .label = Berkongsi Skrin dengan tab { $tabCount }
+webrtc-indicator-menuitem-sharing-window-with =
+ .label = Berkongsi Tetingkap dengan "{ $streamTitle }"
+webrtc-indicator-menuitem-sharing-window-with-n-tabs =
+ .label = Berkongsi Tetingkap dengan tab { $tabCount }
+webrtc-indicator-menuitem-sharing-browser-with =
+ .label = Berkongsi Kamera dengan "{ $streamTitle }"
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtc-indicator-menuitem-sharing-browser-with-n-tabs =
+ .label = Berkongsi Tab dengan { $tabCount }
+
+## Variables:
+## $origin (String): the website origin (e.g. www.mozilla.org).
+
+
+## Variables:
+## $origin (String): the first party origin.
+## $thirdParty (String): the third party origin.
+
+
+##
+
+webrtc-share-screen-learn-more = Ketahui Selanjutnya
+webrtc-share-entire-screen = Keseluruhan skrin
+# Variables:
+# $monitorIndex (String): screen number (digits 1, 2, etc).
+webrtc-share-monitor = Skrin { $monitorIndex }
+# Variables:
+# $windowCount (Number): the number of windows currently displayed by the application.
+# $appName (String): the name of the application.
+webrtc-share-application = { $appName } ({ $windowCount } tetingkap)
+
+## These buttons are the possible answers to the various prompts in the "webrtc-allow-share-*" strings.
+
+webrtc-action-allow =
+ .label = Izinkan
+ .accesskey = I
+
+##
+
+webrtc-remember-allow-checkbox = Ingati keputusan ini
+webrtc-reason-for-no-permanent-allow-screen = { -brand-short-name } tidak mengizinkan akses tetap ke skrin anda.
+webrtc-reason-for-no-permanent-allow-audio = { -brand-short-name } tidak dibenarkan terus mengakses audio tab anda tanpa memberitahu tab yang mahu dikongsi.
+webrtc-reason-for-no-permanent-allow-insecure = Sambungan ke laman ini tidak selamat. Untuk melindungi anda, { -brand-short-name } hanya akan mengizinkan akses untuk sesi ini.
diff --git a/l10n-ms/browser/chrome/browser/accounts.properties b/l10n-ms/browser/chrome/browser/accounts.properties
new file mode 100644
index 0000000000..d6ae44fa67
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/accounts.properties
@@ -0,0 +1,83 @@
+# 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 (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
+
+sendTabToDevice.unconfigured = Belajar Perihal Menghantar Tab…
+
+# 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/l10n-ms/browser/chrome/browser/browser.properties b/l10n-ms/browser/chrome/browser/browser.properties
new file mode 100644
index 0000000000..2722ff12a3
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/browser.properties
@@ -0,0 +1,638 @@
+# 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
+
+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.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
+
+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.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.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.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 (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 (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
+popupShowPopupPrefix=Papar ‘%S’
+
+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
+
+pluginInfo.unknownPlugin=Tidak diketahui
+
+# 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.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.
+
+# 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
+
+# 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(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)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=Papar kemajuan muat turun sedang berlangsung (%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)
+
+# 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.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?
+
+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.extension.label=Ekstensi (%S)
+identity.extension.tooltip=Dimuatkan oleh ekstensi: %S
+
+# 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.remember=Ingati keputusan ini
+
+# Persistent storage UI
+persistentStorage.allow=Izinkan
+persistentStorage.allow.accesskey=I
+
+webNotifications.notNow=Bukan Sekarang
+webNotifications.notNow.accesskey=n
+webNotifications.never=Jangan sesekali Izinkan
+webNotifications.never.accesskey=g
+
+# 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
+
+# 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
+
+processHang.add-on.learn-more.text = Ketahui selanjutnya
+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.shareScreen.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreen.learnMoreLabel = Ketahui Selanjutnya
+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.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
+
+emeNotifications.drmContentDisabled.button.label = Dayakan DRM
+emeNotifications.drmContentDisabled.button.accesskey = D
+
+# 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 (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = Penyesuaian %S
+
+e10s.accessibilityNotice.acceptButton.label = OK
+e10s.accessibilityNotice.acceptButton.accesskey = O
+
+# 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
+
+muteTab.label = Tab Senyap
+muteTab.accesskey = S
+unmuteTab.label = Nyah-senyap Tab
+unmuteTab.accesskey = a
+
+muteSelectedTabs2.label = Senyapkan Tab
+# LOCALIZATION NOTE (muteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for muteTab.accesskey
+unmuteSelectedTabs2.label = Nyahsenyap Tab
+
+# 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 (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.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) <What's new>" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64-bit
+aboutDialog.architecture.thirtyTwoBit = 32-bit
+
+midi.remember=Ingati keputusan ini
+
+# 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.copyURL.label = Disalin ke klipbod!
+
diff --git a/l10n-ms/browser/chrome/browser/customizableui/customizableWidgets.properties b/l10n-ms/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 0000000000..b4847a8e69
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,54 @@
+# 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)
+
+find-button.label = Cari
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = Cari dalam halaman ini (%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
+
+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)
+
+panic-button.label = Lupakan
+panic-button.tooltiptext = Lupakan beberapa sejarah pelayaran
+
+toolbarspring.label = Ruang Fleksibel
+toolbarseparator.label = Pemisah
+toolbarspacer.label = Ruang
diff --git a/l10n-ms/browser/chrome/browser/downloads/downloads.properties b/l10n-ms/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 0000000000..e98849bf77
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (stateStarting):
+# Indicates that the download is starting.
+stateStarting=Memulakan…
+# 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 (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
+
diff --git a/l10n-ms/browser/chrome/browser/feeds/subscribe.properties b/l10n-ms/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 0000000000..6dcc03b008
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/feeds/subscribe.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/.
+
+# 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 (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/l10n-ms/browser/chrome/browser/places/bookmarkProperties.properties b/l10n-ms/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..14d6289c91
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/places/bookmarkProperties.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/.
+
+dialogAcceptLabelAddItem=Tambah
+dialogAcceptLabelSaveItem=Simpan
+dialogAcceptLabelAddMulti=Tambah Tandabuku
+dialogAcceptLabelEdit=Simpan
+dialogTitleAddBookmark=Tandabuku Baru
+dialogTitleAddFolder=Folder Baru
+dialogTitleAddMulti=Tandabuku Baru
+dialogTitleEdit=Sifat untuk “%S”
+
+bookmarkAllTabsDefault=[Nama Folder]
+newFolderDefault=Folder Baru
+newBookmarkDefault=Tandabuku Baru
diff --git a/l10n-ms/browser/chrome/browser/places/places.properties b/l10n-ms/browser/chrome/browser/places/places.properties
new file mode 100644
index 0000000000..a5cab38f75
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/places/places.properties
@@ -0,0 +1,71 @@
+# 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.
+
+# 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.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
+
+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
+
+
+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.
+
+# 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/l10n-ms/browser/chrome/browser/safebrowsing/safebrowsing.properties b/l10n-ms/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 0000000000..2e6bfcae83
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/browser/search.properties b/l10n-ms/browser/chrome/browser/search.properties
new file mode 100644
index 0000000000..82d471a377
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/search.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+searchtip=Cari menggunakan %S
+
+# 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
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for <user-typed string> 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
+
diff --git a/l10n-ms/browser/chrome/browser/shellservice.properties b/l10n-ms/browser/chrome/browser/shellservice.properties
new file mode 100644
index 0000000000..d1206a2592
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (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/l10n-ms/browser/chrome/browser/siteData.properties b/l10n-ms/browser/chrome/browser/siteData.properties
new file mode 100644
index 0000000000..32c03c3a55
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/browser/sitePermissions.properties b/l10n-ms/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 0000000000..1fd5e539dc
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/sitePermissions.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (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
+
+# 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.cookie.label = Tetapkan Kuki
+permission.desktop-notification3.label = Hantar Notifikasi
+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.midi.label = Akses Peranti MIDI
+permission.midi-sysex.label = Akses Peranti MIDI dengan Sokongan SysEx
diff --git a/l10n-ms/browser/chrome/browser/syncSetup.properties b/l10n-ms/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 0000000000..60e3411c24
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/syncSetup.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/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = Teruskan
+
+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/l10n-ms/browser/chrome/browser/tabbrowser.properties b/l10n-ms/browser/chrome/browser/tabbrowser.properties
new file mode 100644
index 0000000000..6662eaa46e
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/tabbrowser.properties
@@ -0,0 +1,69 @@
+# 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.closeButtonMultiple=Tutup 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.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.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/l10n-ms/browser/chrome/browser/taskbar.properties b/l10n-ms/browser/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..0e66048552
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/browser/translation.dtd b/l10n-ms/browser/chrome/browser/translation.dtd
new file mode 100644
index 0000000000..78b2de2b99
--- /dev/null
+++ b/l10n-ms/browser/chrome/browser/translation.dtd
@@ -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/. -->
+
+<!-- This file is only used by the Firefox Translations extension,
+ - and should be removed once possible.
+ - See: https://bugzilla.mozilla.org/show_bug.cgi?id=1788595 -->
+
+<!-- LOCALIZATION NOTE (translation.thisPageIsIn.label,
+ - translation.translateThisPage.label):
+ - These 2 strings are used to construct a sentence that contains a dropdown
+ - showing the detected language of the current web page.
+ - In en-US it looks like this:
+ - This page is in [detected language] Translate this page?
+ - "detected language" here is a language name coming from the
+ - global/languageNames.properties file; for some locales it may not be in
+ - the correct grammar case to keep the same structure of the original
+ - sentence. -->
+<!ENTITY translation.thisPageIsIn.label "Halaman ini dalam">
+<!ENTITY translation.translateThisPage.label "Terjemahkan halaman ini?">
+<!ENTITY translation.translate.button "Terjemah">
+<!ENTITY translation.notNow.button "Bukan Sekarang">
+
+<!ENTITY translation.translatingContent.label "Menterjemah kandungan halaman…">
+
+<!-- LOCALIZATION NOTE (translation.translatedFrom.label,
+ - translation.translatedTo.label,
+ - translation.translatedToSuffix.label):
+ - These 3 strings are used to construct a sentence that contains 2 dropdowns
+ - showing the source and target language of a translated web page.
+ - In en-US it looks like this:
+ - This page has been translated from [from language] to [to language]
+ - "from language" and "to language" here are language names coming from the
+ - global/languageNames.properties file; for some locales they may not be in
+ - the correct grammar case to keep the same structure of the original
+ - sentence.
+ -
+ - translation.translatedToSuffix.label (empty in en-US) is for locales that
+ - need to display some text after the second drop down for the sentence to
+ - be grammatically correct. -->
+<!ENTITY translation.translatedFrom.label "Halaman ini telah diterjemahkan daripada">
+<!ENTITY translation.translatedTo.label "kepada">
+<!ENTITY translation.translatedToSuffix.label "">
+
+<!ENTITY translation.showOriginal.button "Papar Original">
+<!ENTITY translation.showTranslation.button "Papar Terjemahan">
+
+<!ENTITY translation.errorTranslating.label "Berlaku ralat dalam menterjemahkan halaman ini.">
+<!ENTITY translation.tryAgain.button "Cuba Lagi">
+
+<!ENTITY translation.serviceUnavailable.label "Terjemahan tidak tersedia pada masa ini. Sila cuba lagi kemudian.">
+
+<!ENTITY translation.options.menu "Pilihan">
+<!-- LOCALIZATION NOTE (translation.options.neverForSite.accesskey,
+ - translation.options.preferences.accesskey):
+ - The accesskey values used here should not clash with the value used for
+ - translation.options.neverForLanguage.accesskey in translation.properties
+ -->
+<!ENTITY translation.options.neverForSite.label "Jangan sesekali terjemahkan laman ini">
+<!ENTITY translation.options.neverForSite.accesskey "e">
+<!ENTITY translation.options.preferences.label "Keutamaan terjemahan">
+<!ENTITY translation.options.preferences.accesskey "T">
+
diff --git a/l10n-ms/browser/chrome/browser/translation.properties b/l10n-ms/browser/chrome/browser/translation.properties
new file mode 100644
index 0000000000..6232ed99c5
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/browser/uiDensity.properties b/l10n-ms/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 0000000000..11a3188d83
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/browser/webrtcIndicator.properties b/l10n-ms/browser/chrome/browser/webrtcIndicator.properties
new file mode 100644
index 0000000000..ee71038b8f
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/chrome/overrides/appstrings.properties b/l10n-ms/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 0000000000..61154231c6
--- /dev/null
+++ b/l10n-ms/browser/chrome/overrides/appstrings.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/.
+
+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=<Tidak Diketahui>
+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.
+## 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/l10n-ms/browser/chrome/overrides/netError.dtd b/l10n-ms/browser/chrome/overrides/netError.dtd
new file mode 100644
index 0000000000..c99e014430
--- /dev/null
+++ b/l10n-ms/browser/chrome/overrides/netError.dtd
@@ -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/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Masalah memuatkan halaman">
+<!ENTITY retry.label "Cuba Lagi">
+<!ENTITY returnToPreviousPage.label "Undur">
+<!ENTITY returnToPreviousPage1.label "Undur (Disyorkan)">
+
+<!ENTITY viewCertificate.label "Papar Sijil">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
+
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.pageTitle "Pelayan Tidak Ditemui">
+<!ENTITY dnsNotFound.longDesc1 "
+<strong>Jika alamat ini betul, ada tiga cara yang anda boleh cuba:</strong>
+<ul>
+ <li>Cuba lagi nanti.</li>
+ <li>Semak sambungan rangkaian.</li>
+ <li>Jika anda sudah disambungkan tetapi ada firewall, semak samada &brandShortName; telah diberi izin untuk mengakses Web ini.</li>
+</ul>
+">
+
+<!ENTITY fileNotFound.longDesc "
+<ul>
+ <li>Semak ralat huruf besar nama fail atau ralat menaip lain.</li>
+ <li>Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.</li>
+</ul>
+">
+
+<!ENTITY fileAccessDenied.longDesc "
+<ul>
+ <li>Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.</li>
+</ul>
+">
+
+<!ENTITY generic.longDesc "
+<p>&brandShortName; tidak dapat memuat halaman ini atas beberapa alasan.</p>
+">
+
+<!ENTITY captivePortal.title "Log masuk ke rangkaian">
+<!ENTITY captivePortal.longDesc2 "<p>Anda perlu log masuk ke rangkaian ini sebelum anda boleh mengakses Internet.</p>">
+
+<!ENTITY openPortalLoginPage.label2 "Buka Halaman Log Masuk Rangkaian">
+
+<!ENTITY malformedURI.pageTitle "URL tak sah">
+
+<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
+
+<!ENTITY notCached.longDesc "<p>Dokumen yang diminta tidak ada dalam cache &brandShortName;.</p><ul><li>Sebagai langkah keselamatan, &brandShortName; tidak akan meminta semula dokumen yang sensitif secara automatik.</li><li>Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.</li></ul>">
+
+<!ENTITY netOffline.longDesc2 "
+<ul>
+ <li>Tekan &quot;Cuba Lagi&quot; untuk bertukar ke mod atas talian dan memuatkan halaman.</li>
+</ul>
+">
+
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY netReset.longDesc "&sharedLongDesc;">
+
+<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
+
+<!ENTITY unknownProtocolFound.longDesc "
+<ul>
+ <li>Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.</li>
+</ul>
+">
+
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan itu betul.</li>
+ <li>Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi
+ berfungsi.</li>
+</ul>
+">
+
+<!ENTITY proxyResolveFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan adalah betul.</li>
+ <li>Pastikan komputer anda ada sambungan rangkaian yang berfungsi.</li>
+ <li>Jika komputer atau rangkaian dilindungi firewall atau proksi, pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.</li>
+</ul>
+">
+
+<!ENTITY redirectLoop.longDesc "
+<ul>
+ <li>Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima
+ kuki.</li>
+</ul>
+">
+
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+ <li>Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi
+ yang dipasang.</li>
+ <li>Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.</li>
+</ul>
+">
+
+<!ENTITY nssFailure2.longDesc2 "
+<ul>
+ <li>Halaman yang anda mahu lihat tidak dapat dipaparkan kerana autentisiti data yang diterima tidak dapat disahkan.</li>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY certerror.introPara2 "&brandShortName; mengesan ada potensi ancaman keselamatan dan tidak meneruskan ke <span class='hostname'/>. Jika anda lawat laman web ini, penyerang boleh cuba untuk mencuri maklumat seperti kata laluan, e-mel atau butiran kad kredit anda.">
+
+<!ENTITY certerror.sts.introPara "&brandShortName; mengesan potensi ancaman keselamatan dan tidak terus <span class='hostname'/> kerana laman web ini memerlukan sambungan yang selamat.">
+
+<!ENTITY certerror.expiredCert.introPara "&brandShortName; mengesan isu dan tidak terus <span class='hostname'/>. Laman web sama ada salah konfigurasi atau jam komputer ditetapkan mengikut masa yang salah.">
+<!ENTITY certerror.expiredCert.secondPara2 "Kemungkinan sijil laman web tamat tempoh, yang menghalang &brandShortName; menyambung dengan selamat. Jika anda melawat laman web ini, penyerang boleh cuba mencuri maklumat seperti kata laluan, emel atau butiran kad kredit anda.">
+<!ENTITY certerror.expiredCert.sts.secondPara "Kemungkinan sijil laman web tamat tempoh, yang menghalang &brandShortName; menyambung dengan selamat.">
+
+<!ENTITY certerror.whatCanYouDoAboutItTitle "Apa yang anda boleh lakukan tentangnya?">
+
+<!ENTITY certerror.unknownIssuer.whatCanYouDoAboutIt "
+<p>Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya.</p>
+<p>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.</p>
+">
+
+<!ENTITY certerror.expiredCert.whatCanYouDoAboutIt2 "
+<p>Jam komputer ditetapkan ke <span id='wrongSystemTime_systemDate2'/>. Pastikan komputer ditetapkan ke tarikh, masa dan zon masa yang betul dalam tetapan sistem, dan mulakan semula <span class='hostname'/>.</p>
+<p>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.</p>
+">
+
+<!ENTITY certerror.badCertDomain.whatCanYouDoAboutIt "<p>Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya. Anda boleh maklumkan masalah ini kepada pentadbir laman web.</p>
+">
+
+<!ENTITY sharedLongDesc "
+<ul>
+ <li>Laman ini tidak ada buat sementara waktu atau terlalu sibuk. Cuba lagi dalam beberapa
+ ketika.</li>
+ <li>Jika anda tidak dapat memuatkan sebarang halaman, semak sambungan rangkaian
+ komputer.</li>
+ <li>Jika komputer atau rangkaian anda dilindungi firewall atau proksi, sila pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.</li>
+</ul>
+">
+
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; menghalang halaman ini daripada dimuatkan kerana ada kandungan yang tidak dibenarkan oleh polisi keselamatan.</p>">
+
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+
+<!ENTITY securityOverride.exceptionButton1Label "Terima Risiko dan Teruskan">
+
+<!ENTITY errorReporting.automatic2 "Laporkan ralat seperti ini untuk membantu Mozilla mengenal pasti dan menyekat laman berbahaya">
+<!ENTITY errorReporting.learnMore "Ketahui selanjutnya…">
+
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc2) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc2 "Info lanjutan: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY certerror.pagetitle2 "Amaran: Mungkin Ada Risiko Keselamatan">
+<!ENTITY certerror.sts.pagetitle "Jangan Sambung: Potensi Isu Sekuriti">
+<!ENTITY certerror.whatShouldIDo.badStsCertExplanation1 "<span class='hostname'></span> 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.">
+<!ENTITY certerror.copyToClipboard.label "Salin teks ke klipbod">
+
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> menggunakan teknologi keselamatan yang usang dan terdedah kepada serangan. Penyerang dengan mudah boleh mendedahkan maklumat yang anda fikir selamat. Pentadbir laman web perlu membaiki pelayan terlebih dahulu sebelum anda boleh melawat laman ini.</p><p>Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "Halaman Disekat">
+
+<!ENTITY clockSkewError.longDesc "Komputer anda fikir sekarang ialah <span id='wrongSystemTime_systemDate1'/>, yang menghalang &brandShortName; membuat sambungan dengan selamat. Untuk melawat <span class='hostname'></span>, kemas kini jam komputer dalam tetapan sistem ke tarikh, masa dan zon masa semasa dan mulakan semula <span class='hostname'></span>.">
+
+<!ENTITY prefReset.longDesc "Tetapan keselamatan rangkaian anda mungkin menyebabkan masalah ini. Adakah anda mahu tetapan piawai anda dipulihkan?">
+<!ENTITY prefReset.label "Pulih tetapan piawai">
+
+<!ENTITY networkProtocolError.longDesc "<p>Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
diff --git a/l10n-ms/browser/crashreporter/crashreporter-override.ini b/l10n-ms/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..78a740f368
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/defines.inc b/l10n-ms/browser/defines.inc
new file mode 100644
index 0000000000..388a5bc0f8
--- /dev/null
+++ b/l10n-ms/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 <em:contributor>Mahrazi Mohd Kamal</em:contributor><em:contributor>Syafiq Mazli</em:contributor><em:contributor>Haryati Salehin</em:contributor><em:contributor>Fahmi Fisal</em:contributor><em:contributor>Muhammad Hafiz Hidzir</em:contributor><em:contributor>Syakir Sudar</em:contributor><em:contributor>Adnan Shukor</em:contributor><em:contributor>Timothy</em:contributor><em:contributor>Amirol Ahmad</em:contributor><em:contributor>Amin Abdullah</em:contributor><em:contributor>M Ilham Ramadhan</em:contributor><em:contributor>Ahmad Noor Kader Mustajir</em:contributor><em:contributor>Muazam Hadi</em:contributor><em:contributor>Mohd Fadzil</em:contributor><em:contributor>Amin Abdullah</em:contributor><em:contributor>Paie</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-ms/browser/extensions/formautofill/formautofill.properties b/l10n-ms/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 0000000000..0fc094fc56
--- /dev/null
+++ b/l10n-ms/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,199 @@
+# 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 (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 (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 (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
+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.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.linux = %S cuba menggunakan maklumat kad kredit yang disimpan.
diff --git a/l10n-ms/browser/extensions/report-site-issue/webcompat.properties b/l10n-ms/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 0000000000..f93323f460
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/firefox-l10n.js b/l10n-ms/browser/firefox-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/installer/custom.properties b/l10n-ms/browser/installer/custom.properties
new file mode 100644
index 0000000000..0d7cd2247d
--- /dev/null
+++ b/l10n-ms/browser/installer/custom.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.
+
+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_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/l10n-ms/browser/installer/mui.properties b/l10n-ms/browser/installer/mui.properties
new file mode 100644
index 0000000000..86ef554652
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/installer/nsisstrings.properties b/l10n-ms/browser/installer/nsisstrings.properties
new file mode 100644
index 0000000000..8837cd0b96
--- /dev/null
+++ b/l10n-ms/browser/installer/nsisstrings.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:
+
+# 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.
+
+# Do not replace $BrandShortName, $BrandProductName, $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
+
+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.
+
+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
+
diff --git a/l10n-ms/browser/installer/override.properties b/l10n-ms/browser/installer/override.properties
new file mode 100644
index 0000000000..9f220809b7
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/langpack-metadata.ftl b/l10n-ms/browser/langpack-metadata.ftl
new file mode 100644
index 0000000000..c41b06b0a6
--- /dev/null
+++ b/l10n-ms/browser/langpack-metadata.ftl
@@ -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/.
+
+
+## Strings used to define the metadata of langpacks published on addons.mozilla.org.
+## Only text elements and literals are supported for these strings.
+
+langpack-creator = mozilla.org
+# To credit multiple contributors, use a comma-delimited list.
+# Example: Joe Solon, Suzy Solon
+langpack-contributors = Mahrazi Mohd Kamal, Syafiq Mazli, Haryati Salehin, Fahmi Fisal, Muhammad Hafiz Hidzir, Syakir Sudar, Adnan Shukor, Timothy, Amirol Ahmad, Amin Abdullah, M Ilham Ramadhan, Ahmad Noor Kader Mustajir, Muazam Hadi, Mohd Fadzil, Amin Abdullah, Paie
diff --git a/l10n-ms/browser/pdfviewer/chrome.properties b/l10n-ms/browser/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..3d6e7f2ce1
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/browser/pdfviewer/viewer.properties b/l10n-ms/browser/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..21542e2d3f
--- /dev/null
+++ b/l10n-ms/browser/pdfviewer/viewer.properties
@@ -0,0 +1,235 @@
+# 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
+last_page.title=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_ccw.title=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_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_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.
+
diff --git a/l10n-ms/browser/updater/updater.ini b/l10n-ms/browser/updater/updater.ini
new file mode 100644
index 0000000000..f9a5fd0f17
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/calendar/category-dialog.ftl b/l10n-ms/calendar/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..22fb020c62
--- /dev/null
+++ b/l10n-ms/calendar/calendar/category-dialog.ftl
@@ -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/.
+
+category-name-label = Nama
+category-color-label =
+ .label = Gunakan Warna
diff --git a/l10n-ms/calendar/calendar/preferences.ftl b/l10n-ms/calendar/calendar/preferences.ftl
new file mode 100644
index 0000000000..41bf458461
--- /dev/null
+++ b/l10n-ms/calendar/calendar/preferences.ftl
@@ -0,0 +1,175 @@
+# 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/.
+
+dateformat-label =
+ .value = Format Teks Tarikh:
+ .accesskey = T
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Panjang: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Pendek: { $date }
+timezone-label =
+ .value = Zon masa:
+weekstart-label =
+ .value = Mulakan minggu pada:
+ .accesskey = k
+day-1-name =
+ .label = Ahad
+day-2-name =
+ .label = Isnin
+day-3-name =
+ .label = Selasa
+day-4-name =
+ .label = Rabu
+day-5-name =
+ .label = Khamis
+day-6-name =
+ .label = Jumaat
+day-7-name =
+ .label = Sabtu
+show-weeknumber-label =
+ .label = Tunjuk nombor minggu dalam paparan dan bulan mini
+ .accesskey = n
+day-1-checkbox =
+ .label = Aha
+ .accesskey = A
+day-2-checkbox =
+ .label = Isn
+ .accesskey = I
+day-3-checkbox =
+ .label = Sel
+ .accesskey = S
+day-4-checkbox =
+ .label = Rab
+ .accesskey = R
+day-5-checkbox =
+ .label = Kha
+ .accesskey = K
+day-6-checkbox =
+ .label = Jum
+ .accesskey = J
+day-7-checkbox =
+ .label = Sab
+ .accesskey = S
+dayweek-legend = Paparan Hari dan Minggu
+visible-hours-label =
+ .value = Papar:
+ .accesskey = r
+visible-hours-end-label =
+ .value = jam pada masa
+day-start-label =
+ .value = Hari bermula pada:
+ .accesskey = H
+day-end-label =
+ .value = Hari berakhir pada:
+ .accesskey = i
+midnight-label =
+ .label = Tengah Malam
+noon-label =
+ .label = Tengahari
+location-checkbox =
+ .label = Papar lokasi
+ .accesskey = P
+multiweek-legend = Paparan Berbilang Minggu
+number-of-weeks-label =
+ .value = Bilangan minggu untuk dipaparkan (termasuk minggu terdahulu):
+ .accesskey = i
+week-0-label =
+ .label = tiada
+week-1-label =
+ .label = 1 minggu
+week-2-label =
+ .label = 2 minggu
+week-3-label =
+ .label = 3 minggu
+week-4-label =
+ .label = 4 minggu
+week-5-label =
+ .label = 5 minggu
+week-6-label =
+ .label = 6 minggu
+previous-weeks-label =
+ .value = Minggu terdahulu untuk dipaparkan:
+ .accesskey = M
+todaypane-legend = Anak Tetingkap Hari ini
+# Note: "Upcoming" is the name of a section and the translation must match the
+# translation of that section name (calendar.upcoming.button.label). Also,
+# it should be upper case (as a proper name) if the target language permits.
+soon-label =
+ .value = Bahagian Akan Datang memaparkan:
+ .accesskey = A
+event-task-legend = Acara dan Tugasan
+task-start-label =
+ .value = Tarikh Mula:
+task-start-1-label =
+ .label = Tiada
+task-start-2-label =
+ .label = Hari Permulaan
+task-start-3-label =
+ .label = Hari Tamat
+task-start-4-label =
+ .label = Esok
+task-start-5-label =
+ .label = Minggu Depan
+task-start-6-label =
+ .label = Berbanding Waktu Semasa
+task-start-7-label =
+ .label = Berbanding masa Permulaan
+task-start-8-label =
+ .label = Berbanding Jam Seterusnya
+task-due-label =
+ .value = Tarikh Tamat tempoh:
+edit-intab-label =
+ .label = Edit acara dan tugasan di dalam tab, bukan di dalam tetingkap dialog.
+ .accesskey = t
+accessibility-legend = Ketercapaian
+accessibility-colors-label =
+ .label = Mengoptimumkan warna untuk ketercapaian
+ .accesskey = w
+reminder-legend = Apabila Peringatan Genap Tempoh:
+reminder-play-checkbox =
+ .label = Mainkan bunyian
+ .accesskey = b
+reminder-play-alarm-button =
+ .label = Main
+ .accesskey = M
+reminder-default-sound-label =
+ .label = Gunakan bunyian piawai
+ .accesskey = p
+reminder-browse-sound-label =
+ .label = Cari…
+ .accesskey = C
+reminder-dialog-label =
+ .label = Paparkan dialog peringatan
+ .accesskey = d
+missed-reminder-label =
+ .label = Papar peringatan yang terlepas untuk kalendar boleh tulis
+ .accesskey = t
+reminder-default-legend = Piawai Peringatan
+default-snooze-label =
+ .value = Tempoh Lena Piawai:
+ .accesskey = L
+event-alarm-label =
+ .value = Tetapan peringatan piawai untuk acara:
+ .accesskey = c
+alarm-on-label =
+ .label = Aktif
+alarm-off-label =
+ .label = Nyahaktif
+task-alarm-label =
+ .value = Tetapan peringatan piawai untuk tugasan:
+ .accesskey = g
+event-alarm-time-label =
+ .value = Masa tetapan piawai sebelum acara bermula:
+ .accesskey = s
+task-alarm-time-label =
+ .value = Masa tetapan piawai sebelum tugasan bermula:
+ .accesskey = b
+category-new-label = Kategori Baru
+category-edit-label = Edit Kategori
+category-overwrite-title = Amaran: Nama duplikasi
+category-overwrite = Kategori dengan nama ini sudah wujud. Anda mahu menulis ganti?
+category-blank-warning = Anda perlu masukkan nama kategori.
diff --git a/l10n-ms/calendar/chrome/calendar/calendar-alarms.properties b/l10n-ms/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..b2d3fed1b3
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/l10n-ms/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..7be740b85c
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/calendar-event-dialog.dtd b/l10n-ms/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..0980c484d6
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY event.title.label "Edit Item" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Kekalkan tempoh apabila menukar tarikh akhir">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "Daripada" >
+<!ENTITY newevent.to.label "Hingga" >
+
+<!ENTITY newevent.status.label "Status" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "Tidak dinyatakan" >
+<!ENTITY newevent.eventStatus.none.accesskey "i" >
+<!ENTITY newevent.todoStatus.none.label "Tidak dinyatakan" >
+<!ENTITY newevent.eventStatus.cancelled.label "Dibatalkan" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "t" >
+<!ENTITY newevent.todoStatus.cancelled.label "Dibatalkan" >
+<!ENTITY newevent.status.tentative.label "Tentatif" >
+<!ENTITY newevent.status.tentative.accesskey "T" >
+<!ENTITY newevent.status.confirmed.label "Disahkan" >
+<!ENTITY newevent.status.confirmed.accesskey "D" >
+<!ENTITY newevent.status.needsaction.label "Perlu Tindakan" >
+<!ENTITY newevent.status.inprogress.label "Dalam Proses" >
+<!ENTITY newevent.status.completed.label "Selesai pada" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; selesai">
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+<!ENTITY event.attendees.notify.label "Maklumkan peserta">
+<!ENTITY event.attendees.notify.accesskey "k">
+<!ENTITY event.attendees.notifyundisclosed.label "Asingkan jemputan bagi setiap peserta">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "s">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Pilihan ini menghantar satu e-mel jemputan kepada setiap peserta. Setiap jemputan hanya mengandungi nama peserta ini supaya identiti peserta lain tidak didedahkan.">
+<!ENTITY event.attendees.disallowcounter.label "Jangan izinkan pengira">
+<!ENTITY event.attendees.disallowcounter.accesskey "i">
+<!ENTITY event.attendees.disallowcounter.tooltip "Tunjukkan bahawa anda tidak akan menerima cadangan balas">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.event.key2 "T">
+<!ENTITY event.dialog.new.task.key2 "D">
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.print.key "P">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "Baru">
+<!ENTITY event.menu.item.new.accesskey "B">
+<!ENTITY event.menu.item.new.event.label "Acara">
+<!ENTITY event.menu.item.new.event.accesskey "A">
+<!ENTITY event.menu.item.new.task.label "Tugasan">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Mesej">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "Buku Alamat Kenalan">
+<!ENTITY event.menu.item.new.contact.accesskey "K">
+<!ENTITY event.menu.item.close.label "Tutup">
+<!ENTITY event.menu.item.close.accesskey "T">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.save.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a dialog window.
+ - event.menu.item.save.tab.accesskey is used for the "Save" menu item
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.save.label "Simpan">
+<!ENTITY event.menu.item.save.accesskey "S">
+<!ENTITY event.menu.item.save.tab.accesskey "a">
+
+<!-- LOCALIZATION NOTE
+ - event.menu.item.saveandclose.accesskey is used for "Save and Close"
+ - menu item when editing events/tasks in a dialog window.
+ - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close"
+ - when editing events/tasks in a tab. -->
+<!ENTITY event.menu.item.saveandclose.label "Simpan dan Tutup">
+<!ENTITY event.menu.item.saveandclose.accesskey "t">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "z">
+
+<!ENTITY event.menu.item.delete.label "Buang…">
+<!ENTITY event.menu.item.delete.accesskey "B">
+<!ENTITY event.menu.item.page.setup.label "Tatacara Halaman">
+<!ENTITY event.menu.item.page.setup.accesskey "c">
+<!ENTITY event.menu.item.print.label "Cetak">
+<!ENTITY event.menu.item.print.accesskey "C">
+
+<!ENTITY event.menu.edit.label "Edit">
+<!ENTITY event.menu.edit.accesskey "E">
+<!ENTITY event.menu.edit.undo.label "Batal">
+<!ENTITY event.menu.edit.undo.accesskey "B">
+<!ENTITY event.menu.edit.redo.label "Ulang">
+<!ENTITY event.menu.edit.redo.accesskey "U">
+<!ENTITY event.menu.edit.cut.label "Potong">
+<!ENTITY event.menu.edit.cut.accesskey "t">
+<!ENTITY event.menu.edit.copy.label "Salin">
+<!ENTITY event.menu.edit.copy.accesskey "S">
+<!ENTITY event.menu.edit.paste.label "Tampal">
+<!ENTITY event.menu.edit.paste.accesskey "T">
+<!ENTITY event.menu.edit.select.all.label "Pilih Semua">
+<!ENTITY event.menu.edit.select.all.accesskey "S">
+
+<!ENTITY event.menu.view.label "Papar">
+<!ENTITY event.menu.view.accesskey "P">
+<!ENTITY event.menu.view.toolbars.label "Bar alatan">
+<!ENTITY event.menu.view.toolbars.accesskey "B">
+<!ENTITY event.menu.view.toolbars.event.label "Bar alatan Acara">
+<!ENTITY event.menu.view.toolbars.event.accesskey "A">
+<!ENTITY event.menu.view.toolbars.customize.label "Penyesuaian…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "P">
+<!ENTITY event.menu.view.showlink.label "Papar Pautan Berkaitan">
+<!ENTITY event.menu.view.showlink.accesskey "B">
+
+<!ENTITY event.menu.options.label "Pilihan">
+<!ENTITY event.menu.options.accesskey "P">
+<!ENTITY event.menu.options.attendees.label "Jemput Peserta…">
+<!ENTITY event.menu.options.attendees.accesskey "J">
+<!ENTITY event.menu.options.timezone2.label "Papar Zon masa">
+<!ENTITY event.menu.options.timezone2.accesskey "Z">
+<!ENTITY event.menu.options.priority2.label "Prioriti">
+<!ENTITY event.menu.options.priority2.accesskey "o">
+<!ENTITY event.menu.options.priority.notspecified.label "Tidak dinyatakan">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "d">
+<!ENTITY event.menu.options.priority.low.label "Rendah">
+<!ENTITY event.menu.options.priority.low.accesskey "R">
+<!ENTITY event.menu.options.priority.normal.label "Normal">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "Tinggi">
+<!ENTITY event.menu.options.priority.high.accesskey "T">
+<!ENTITY event.menu.options.privacy.label "Privasi">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "Acara Umum">
+<!ENTITY event.menu.options.privacy.public.accesskey "u">
+<!ENTITY event.menu.options.privacy.confidential.label "Papar Masa dan Tarikh Sahaja">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "P">
+<!ENTITY event.menu.options.privacy.private.label "Acara Peribadi">
+<!ENTITY event.menu.options.privacy.private.accesskey "r">
+<!ENTITY event.menu.options.show.time.label "Papar Masa sebagai">
+<!ENTITY event.menu.options.show.time.accesskey "M">
+<!ENTITY event.menu.options.show.time.busy.label "Sibuk">
+<!ENTITY event.menu.options.show.time.busy.accesskey "S">
+<!ENTITY event.menu.options.show.time.free.label "Lapang">
+<!ENTITY event.menu.options.show.time.free.accesskey "L">
+
+<!ENTITY event.invite.attendees.label "Jemput Peserta…">
+<!ENTITY event.invite.attendees.accesskey "J">
+<!ENTITY event.email.attendees.label "Karang E-Mel kepada Semua Peserta…">
+<!ENTITY event.email.attendees.accesskey "S">
+<!ENTITY event.email.tentative.attendees.label "Karang E-Mel kepada Peserta tanpa Keputusan…">
+<!ENTITY event.email.tentative.attendees.accesskey "K">
+<!ENTITY event.remove.attendees.label2 "Buang semua peserta">
+<!ENTITY event.remove.attendees.accesskey "r">
+<!ENTITY event.remove.attendee.label "Buang peserta">
+<!ENTITY event.remove.attendee.accesskey "u">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Simpan">
+<!ENTITY event.toolbar.saveandclose.label "Simpan dan Tutup">
+<!ENTITY event.toolbar.delete.label "Buang">
+<!ENTITY event.toolbar.attendees.label "Jemput Peserta">
+<!ENTITY event.toolbar.privacy.label "Privasi">
+
+<!ENTITY event.toolbar.save.tooltip2 "Simpan">
+<!ENTITY event.toolbar.saveandclose.tooltip "Simpan dan Tutup">
+<!ENTITY event.toolbar.delete.tooltip "Buang">
+<!ENTITY event.toolbar.attendees.tooltip "Jemput Peserta">
+<!ENTITY event.toolbar.attachments.tooltip "Tambah Lampiran">
+<!ENTITY event.toolbar.privacy.tooltip "Tukar Privasi">
+<!ENTITY event.toolbar.priority.tooltip "Tukar Prioriti">
+<!ENTITY event.toolbar.status.tooltip "Tukar Status">
+<!ENTITY event.toolbar.freebusy.tooltip "Tukar masa Lapang/Busy">
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label "Mohon cadangan">
+<!ENTITY counter.button.proposal.accesskey "d">
+<!ENTITY counter.button.proposal.tooltip2 "Medan acara akan diisi menggunakan nilai daripada balasan cadangan kepada semua peserta samada dengan atau tanpa perubahan tambahan yang disimpan">
+<!ENTITY counter.button.original.label "Mohon data asal">
+<!ENTITY counter.button.original.accesskey "s">
+<!ENTITY counter.button.original.tooltip2 "Medan ini akan ditetapkan dengan nilai daripada acara asal, sebelum cadangan balasan dibuat">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Tajuk:" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Lokasi:" >
+<!ENTITY event.location.accesskey "L">
+<!ENTITY event.categories.label "Kategori:">
+<!ENTITY event.categories.accesskey "g">
+<!ENTITY event.categories.textbox.label "Tambah kategori baru" >
+<!ENTITY event.calendar.label "Kalendar:" >
+<!ENTITY event.calendar.accesskey "K">
+<!ENTITY event.attendees.label "Peserta:" >
+<!ENTITY event.attendees.accesskey "t">
+<!ENTITY event.alldayevent.label "Acara Sepanjang hari" >
+<!ENTITY event.alldayevent.accesskey "h">
+<!ENTITY event.from.label "Mula:" >
+<!ENTITY event.from.accesskey "M">
+<!ENTITY task.from.label "Mula:" >
+<!ENTITY task.from.accesskey "M">
+<!ENTITY event.to.label "Tamat:" >
+<!ENTITY event.to.accesskey "m">
+<!ENTITY task.to.label "Tarikh Tamat tempoh:" >
+<!ENTITY task.to.accesskey "e">
+<!ENTITY task.status.label "Status:" >
+<!ENTITY task.status.accesskey "a">
+<!ENTITY event.repeat.label "Ulang:" >
+<!ENTITY event.repeat.accesskey "U">
+<!ENTITY event.until.label "Hingga:">
+<!ENTITY event.until.accesskey "H">
+<!ENTITY event.reminder.label "Peringatan:" >
+<!ENTITY event.reminder.accesskey "t">
+<!ENTITY event.description.label "Keterangan:" >
+<!ENTITY event.description.accesskey "g">
+<!ENTITY event.attachments.label "Lampiran:" >
+<!ENTITY event.attachments.accesskey "p" >
+<!ENTITY event.attachments.menubutton.label "Lampir">
+<!ENTITY event.attachments.menubutton.accesskey "L">
+<!ENTITY event.attachments.url.label "Laman web…">
+<!ENTITY event.attachments.url.accesskey "L">
+<!ENTITY event.attachments.popup.remove.label "Buang" >
+<!ENTITY event.attachments.popup.remove.accesskey "B" >
+<!ENTITY event.attachments.popup.open.label "Buka" >
+<!ENTITY event.attachments.popup.open.accesskey "B" >
+<!ENTITY event.attachments.popup.removeAll.label "Buang Semua" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "S" >
+<!ENTITY event.attachments.popup.attachPage.label "Lampir Halaman web…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "m" >
+<!ENTITY event.url.label "Pautan Berkaitan:" >
+<!ENTITY event.priority2.label "Prioriti:">
+
+<!ENTITY event.reminder.none.label "Tiada peringatan " >
+<!ENTITY event.reminder.0minutes.before.label "0 minit sebelum" >
+<!ENTITY event.reminder.5minutes.before.label "5 minit sebelum" >
+<!ENTITY event.reminder.15minutes.before.label "15 minit sebelum" >
+<!ENTITY event.reminder.30minutes.before.label "30 minit sebelum" >
+<!ENTITY event.reminder.1hour.before.label "1 jam sebelum" >
+<!ENTITY event.reminder.2hours.before.label "2 jam sebelum" >
+<!ENTITY event.reminder.12hours.before.label "12 jam sebelum" >
+<!ENTITY event.reminder.1day.before.label "1 hari sebelum" >
+<!ENTITY event.reminder.2days.before.label "2 hari sebelum" >
+<!ENTITY event.reminder.1week.before.label "1 minggu sebelum" >
+<!ENTITY event.reminder.custom.label "Penyesuaian…" >
+
+<!ENTITY event.reminder.multiple.label "Berbilang Peringatan…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Masa sebagai:">
+<!ENTITY event.statusbarpanel.privacy.label "Privasi:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Edit Perulangan">
+
+<!ENTITY event.repeat.does.not.repeat.label "Jangan ulang">
+<!ENTITY event.repeat.daily.label "Harian">
+<!ENTITY event.repeat.weekly.label "Mingguan">
+<!ENTITY event.repeat.every.weekday.label "Setiap Hari Kerja">
+<!ENTITY event.repeat.bi.weekly.label "Selang seminggu">
+<!ENTITY event.repeat.monthly.label "Bulanan">
+<!ENTITY event.repeat.yearly.label "Tahunan">
+<!ENTITY event.repeat.custom.label "Penyesuaian…">
+
+<!ENTITY event.recurrence.pattern.label "Corak perulangan">
+<!ENTITY event.recurrence.occurs.label "Ulang" >
+<!ENTITY event.recurrence.day.label "harian" >
+<!ENTITY event.recurrence.week.label "mingguan" >
+<!ENTITY event.recurrence.month.label "bulanan" >
+<!ENTITY event.recurrence.year.label "tahunan" >
+
+<!ENTITY event.recurrence.pattern.every.label "Setiap" >
+<!ENTITY repeat.units.days.both "Hari" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Setiap hari kerja" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Setiap" >
+<!ENTITY repeat.units.weeks.both "Minggu" >
+<!ENTITY event.recurrence.on.label "Pada:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Setiap" >
+<!ENTITY repeat.units.months.both "Bulan" >
+<!ENTITY event.recurrence.monthly.every.label "Setiap" >
+<!ENTITY event.recurrence.monthly.first.label "Yang Pertama">
+<!ENTITY event.recurrence.monthly.second.label "Yang Kedua">
+<!ENTITY event.recurrence.monthly.third.label "Yang Ketiga">
+<!ENTITY event.recurrence.monthly.fourth.label "Yang Keempat">
+<!ENTITY event.recurrence.monthly.fifth.label "Yang Kelima">
+<!ENTITY event.recurrence.monthly.last.label "Yang Terakhir">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Ahad" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Isnin" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Selasa" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Rabu" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Khamis" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Jumaat" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Sabtu" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Hari dalam sebulan">
+<!ENTITY event.recurrence.repeat.recur.label "Akan berulang pada hari">
+
+<!ENTITY event.recurrence.every.label "Setiap:" >
+<!ENTITY repeat.units.years.both "Tahun" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Setiap" >
+
+<!-- LOCALIZATON NOTE
+ Some languages use a preposition when describing dates:
+ Portuguese: 6 de Setembro
+ English: 6 [of] September
+ event.recurrence.pattern.yearly.of.label is "of" in
+ Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+<!ENTITY event.recurrence.pattern.yearly.of.label "" >
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label "Januari" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Februari" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Mac" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "April" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Mei" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Jun" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Julai" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Ogos" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "September" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Oktober" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "November" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Disember" >
+<!ENTITY event.recurrence.yearly.every.label "Setiap">
+<!ENTITY event.recurrence.yearly.first.label "Yang Pertama">
+<!ENTITY event.recurrence.yearly.second.label "Yang Kedua">
+<!ENTITY event.recurrence.yearly.third.label "Yang Ketiga">
+<!ENTITY event.recurrence.yearly.fourth.label "Yang Keempat">
+<!ENTITY event.recurrence.yearly.fifth.label "Yang Kelima">
+<!ENTITY event.recurrence.yearly.last.label "Yang Terakhir">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Ahad" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Isnin" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Selasa" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Rabu" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Khamis" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Jumaat" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Sabtu" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "hari" >
+<!ENTITY event.recurrence.of.label "daripada" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Januari" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Februari" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Mac" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "April" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Mei" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Jun" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Julai" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Ogos" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "September" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Oktober" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "November" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Disember" >
+
+<!ENTITY event.recurrence.range.label "Tempoh pengulangan">
+<!ENTITY event.recurrence.forever.label "Tiada tarikh tamat" >
+<!ENTITY event.recurrence.repeat.for.label "Cipta" >
+<!ENTITY event.recurrence.appointments.label "Janji temu" >
+<!ENTITY event.repeat.until.label "Ulang sehingga" >
+<!ENTITY event.recurrence.preview.label "Previu">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Jemput Peserta">
+<!ENTITY event.organizer.label "Penganjur">
+<!ENTITY event.freebusy.suggest.slot "Cadangan slot masa:">
+<!ENTITY event.freebusy.button.next.slot "Slot seterusnya">
+<!ENTITY event.freebusy.button.previous.slot "Slot dahulu">
+<!ENTITY event.freebusy.zoom "Zum:">
+<!ENTITY event.freebusy.legend.free "Lapang" >
+<!ENTITY event.freebusy.legend.busy "Sibuk" >
+<!ENTITY event.freebusy.legend.busy_tentative "Tentatif" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Di luar Pejabat" >
+<!ENTITY event.freebusy.legend.unknown "Tiada Maklumat" >
+<!ENTITY event.attendee.role.required "Peserta yang Diperlukan">
+<!ENTITY event.attendee.role.optional "Peserta Tambahan">
+<!ENTITY event.attendee.role.chair "Pengerusi">
+<!ENTITY event.attendee.role.nonparticipant "Bukan Peserta">
+<!ENTITY event.attendee.usertype.individual "Individu">
+<!ENTITY event.attendee.usertype.group "Kumpulan">
+<!ENTITY event.attendee.usertype.resource "Sumber">
+<!ENTITY event.attendee.usertype.room "Bilik">
+<!ENTITY event.attendee.usertype.unknown "Tidak diketahui">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Sila Nyatakan Zon Masa">
+<!ENTITY event.timezone.custom.label "Zon masa Seterusnya…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "Umum">
+<!ENTITY read.only.title.label "Tajuk:">
+<!ENTITY read.only.calendar.label "Kalendar:">
+<!ENTITY read.only.event.start.label "Tarikh Mula:">
+<!ENTITY read.only.task.start.label "Tarikh Mula:">
+<!ENTITY read.only.event.end.label "Tarikh Tamat:">
+<!ENTITY read.only.task.due.label "Tarikh Tamat tempoh:">
+<!ENTITY read.only.repeat.label "Ulang:">
+<!ENTITY read.only.location.label "Lokasi:">
+<!ENTITY read.only.category.label "Kategori:">
+<!ENTITY read.only.organizer.label "Penganjur:">
+<!ENTITY read.only.reply.label "Balas:">
+<!ENTITY read.only.accept.label "Saya akan hadir">
+<!ENTITY read.only.decline.label "Saya tidak akan hadir">
+<!ENTITY read.only.tentative.label "Saya mungkin hadir">
+<!ENTITY read.only.needs.action.label "Saya akan sahkan kemudian">
+<!ENTITY read.only.reminder.label "Peringatan:">
+<!ENTITY read.only.attachments.label "Lampiran:">
+<!ENTITY read.only.attendees.label "Peserta">
+<!ENTITY read.only.description.label "Keterangan">
+<!ENTITY read.only.link.label "Pautan Berkaitan">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Simpan dan Tutup">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Simpan perubahan dan tutup tetingkap tanpa mengubah status penyertaan dan menghantar respons">
+<!ENTITY summary.dialog.accept.label "Terima">
+<!ENTITY summary.dialog.accept.tooltiptext "Terima jemputan">
+<!ENTITY summary.dialog.tentative.label "Tentatif">
+<!ENTITY summary.dialog.tentative.tooltiptext "Terima jemputan secara tentatif">
+<!ENTITY summary.dialog.decline.label "Tolak">
+<!ENTITY summary.dialog.decline.tooltiptext "Tolak jemputan">
+<!ENTITY summary.dialog.dontsend.label "Jangan hantar respons">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Tukar status penyertaan tanpa menghantar jawapan kepada penganjur dan tutup tetingkap">
+<!ENTITY summary.dialog.send.label "Hantar respons sekarang">
+<!ENTITY summary.dialog.send.tooltiptext "Hantar respons kepada pengatur dan tutup tetingkap">
diff --git a/l10n-ms/calendar/chrome/calendar/calendar-event-dialog.properties b/l10n-ms/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..7ed266e503
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/calendar-extract.properties b/l10n-ms/calendar/chrome/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..8a5dc4e213
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/l10n-ms/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..2b9458fe67
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -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/.
+-->
+
+<!-- Calendar Invitations Dialog -->
+<!ENTITY calendar.invitations.dialog.invitations.text "Jemputan">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Mengemaskini senarai jemputan.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Tiada yang tidak mengesahkan jemputan.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Terima">
+<!ENTITY calendar.invitations.list.decline.button.label "Tolak">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Acara ulangan">
+<!ENTITY calendar.invitations.list.alldayevent.text "Acara sepanjang hari">
+<!ENTITY calendar.invitations.list.location.text "Lokasi: ">
+<!ENTITY calendar.invitations.list.organizer.text "Penganjur: ">
+<!ENTITY calendar.invitations.list.attendee.text "Peserta: ">
+<!ENTITY calendar.invitations.list.none.text "Tiada">
diff --git a/l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..3387688239
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY buttons.occurrence.accesskey "i">
+<!ENTITY buttons.allfollowing.accesskey "e">
+<!ENTITY buttons.parent.accesskey "a">
diff --git a/l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/l10n-ms/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..a3df3f11a8
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/calendar.dtd b/l10n-ms/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 0000000000..28a63f777b
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+<!-- 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/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label "Kalendar">
+<!ENTITY calendar.calendar.accesskey "K">
+
+<!ENTITY calendar.newevent.button.tooltip "Cipta acara baru" >
+<!ENTITY calendar.newtask.button.tooltip "Cipta tugasan baru" >
+
+<!ENTITY calendar.unifinder.todoitems.label "Tugasan" >
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Papar Tugasan selesai">
+
+<!ENTITY calendar.today.button.label "Hari ini">
+<!ENTITY calendar.tomorrow.button.label "Esok">
+<!ENTITY calendar.upcoming.button.label "Akan Datang">
+
+<!ENTITY calendar.events.filter.all.label "Semua Acara">
+<!ENTITY calendar.events.filter.today.label "Acara Hari ini">
+<!ENTITY calendar.events.filter.future.label "Semua Acara Akan Datang">
+<!ENTITY calendar.events.filter.current.label "Hari Dipilih Sekarang">
+<!ENTITY calendar.events.filter.currentview.label "Acara dalam Paparan Semasa">
+<!ENTITY calendar.events.filter.next7Days.label "Acara dalam 7 Hari Berikut">
+<!ENTITY calendar.events.filter.next14Days.label "Acara dalam 14 Hari Berikut">
+<!ENTITY calendar.events.filter.next31Days.label "Acara dalam 31 Hari Berikut">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Acara dalam Bulan Kalendar ini">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.done.label "Siap">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Susun mengikut keselesaian">
+<!ENTITY calendar.unifinder.tree.priority.label "Prioriti">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Susun mengikut prioriti">
+<!ENTITY calendar.unifinder.tree.title.label "Tajuk">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Susun mengikut tajuk">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#37; Selesai">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Susun mengikut &#37; selesai">
+<!ENTITY calendar.unifinder.tree.startdate.label "Mula">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Susun mengikut tarikh mula">
+<!ENTITY calendar.unifinder.tree.enddate.label "Tamat">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Susun mengikut tarikh tamat">
+<!ENTITY calendar.unifinder.tree.duedate.label "Genap tempoh">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Susun mengikut genap tempoh">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Selesai">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Susun mengikut tarikh selesai">
+<!ENTITY calendar.unifinder.tree.categories.label "Kategori">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Susun mengikut kategori">
+<!ENTITY calendar.unifinder.tree.location.label "Lokasi">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Susun mengikut lokasi">
+<!ENTITY calendar.unifinder.tree.status.label "Status">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Susun mengikut status">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Nama Kalendar">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Susun mengikut nama kalendar">
+<!ENTITY calendar.unifinder.tree.duration.label "Genap tempoh dalam">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Susun mengikut masa sehingga genap tempoh">
+<!ENTITY calendar.unifinder.close.tooltip "Tutup carian acara dan senarai acara">
+
+<!ENTITY calendar.today.button.tooltip "Pergi ke Hari ini" >
+<!ENTITY calendar.todaypane.button.tooltip "Papar Anak Tetingkap Hari ini" >
+
+<!ENTITY calendar.day.button.tooltip "Tukar ke paparan hari" >
+<!ENTITY calendar.week.button.tooltip "Tukar ke paparan minggu" >
+<!ENTITY calendar.month.button.tooltip "Tukar ke paparan bulan" >
+<!ENTITY calendar.multiweek.button.tooltip "Tukar ke paparan berbilang minggu" >
+
+<!ENTITY calendar.nextday.label "Esok Hari" >
+<!ENTITY calendar.prevday.label "Semalam" >
+<!ENTITY calendar.nextday.accesskey "s" >
+<!ENTITY calendar.prevday.accesskey "e" >
+<!ENTITY calendar.nextweek.label "Minggu Depan" >
+<!ENTITY calendar.prevweek.label "Minggu Lepas" >
+<!ENTITY calendar.nextweek.accesskey "p" >
+<!ENTITY calendar.prevweek.accesskey "s" >
+<!ENTITY calendar.nextmonth.label "Bulan Depan" >
+<!ENTITY calendar.prevmonth.label "Bulan Lepas" >
+<!ENTITY calendar.nextmonth.accesskey "p" >
+<!ENTITY calendar.prevmonth.accesskey "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Satu Hari Akan Datang" >
+<!ENTITY calendar.navigation.prevday.tooltip "Satu Hari Lepas" >
+<!ENTITY calendar.navigation.nextweek.tooltip "Satu Minggu Akan Datang" >
+<!ENTITY calendar.navigation.prevweek.tooltip "Satu Minggu Lepas" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "Satu Bulan Akan Datang" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Satu Bulan Lepas" >
+
+<!ENTITY calendar.newevent.button.label "Acara Baru" >
+<!ENTITY calendar.newtask.button.label "Tugasan Baru" >
+<!ENTITY calendar.print.button.label "Cetak" >
+<!ENTITY calendar.print.button.accesskey "C">
+
+<!ENTITY calendar.day.button.label "Hari" >
+<!ENTITY calendar.week.button.label "Minggu" >
+<!ENTITY calendar.month.button.label "Bulan" >
+<!ENTITY calendar.multiweek.button.label "Berbilang minggu" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Hari bekerja sahaja" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" >
+<!ENTITY calendar.displaytodos.checkbox.label "Tugasan dalam Paparan" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "g" >
+<!ENTITY calendar.completedtasks.checkbox.label "Papar Tugasan selesai" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "s" >
+
+<!ENTITY calendar.orientation.label "Putar Paparan" >
+<!ENTITY calendar.orientation.accesskey "u" >
+
+<!ENTITY calendar.search.options.searchfor " mengandungi">
+
+<!ENTITY calendar.list.header.label "Kalendar">
+
+<!ENTITY calendar.task.filter.title.label "Papar">
+<!ENTITY calendar.task.filter.all.label "Semua">
+<!ENTITY calendar.task.filter.all.accesskey "S">
+<!ENTITY calendar.task.filter.today.label "Hari ini">
+<!ENTITY calendar.task.filter.today.accesskey "H">
+<!ENTITY calendar.task.filter.next7days.label "Tujuh Hari Akan Datang">
+<!ENTITY calendar.task.filter.next7days.accesskey "T">
+<!ENTITY calendar.task.filter.notstarted.label "Tugasan Belum Dimulakan">
+<!ENTITY calendar.task.filter.notstarted.accesskey "e">
+<!ENTITY calendar.task.filter.overdue.label "Tugasan Melebihi Genap Tempoh">
+<!ENTITY calendar.task.filter.overdue.accesskey "M">
+<!ENTITY calendar.task.filter.completed.label "Tugasan Selesai">
+<!ENTITY calendar.task.filter.completed.accesskey "S">
+<!ENTITY calendar.task.filter.open.label "Tugasan Belum Selesai">
+<!ENTITY calendar.task.filter.open.accesskey "m">
+
+<!-- LOCALIZATION NOTE(calendar.task.filter.current.label)
+ "Current Tasks" will show all tasks, except those with a start date set
+ that is after today and after the selected date. If a task repeats, a
+ separate entry will be shown for each of the occurrences that happen on or
+ before today (or the selected date, whichever is later). -->
+<!ENTITY calendar.task.filter.current.label "Tugasan Semasa">
+<!ENTITY calendar.task.filter.current.accesskey "e">
+
+<!ENTITY calendar.task-details.title.label "tajuk">
+<!ENTITY calendar.task-details.organizer.label "daripada">
+<!ENTITY calendar.task-details.priority.label "prioriti">
+<!ENTITY calendar.task-details.priority.low.label "Rendah">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label "Tinggi">
+<!ENTITY calendar.task-details.status.label "status">
+<!ENTITY calendar.task-details.category.label "kategori">
+<!ENTITY calendar.task-details.repeat.label "ulang">
+<!ENTITY calendar.task-details.attachments.label "lampiran">
+<!ENTITY calendar.task-details.start.label "tarikh mula">
+<!ENTITY calendar.task-details.due.label "tarikh tamat tempoh">
+
+<!ENTITY calendar.task.category.button.tooltip "Kategori tugasan">
+<!ENTITY calendar.task.complete.button.tooltip "Tanda tugasan dipilih sebagai selesai">
+<!ENTITY calendar.task.priority.button.tooltip "Tukar prioriti">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Tapis tugasan #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Buka">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "B">
+<!ENTITY calendar.context.modifyorviewtask.label "Buka Tugasan…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "B">
+<!ENTITY calendar.context.newevent.label "Acara Baru…">
+<!ENTITY calendar.context.newevent.accesskey "A">
+<!ENTITY calendar.context.newtodo.label "Tugasan Baru…">
+<!ENTITY calendar.context.newtodo.accesskey "s">
+<!ENTITY calendar.context.deletetask.label "Buang Tugasan">
+<!ENTITY calendar.context.deletetask.accesskey "g">
+<!ENTITY calendar.context.deleteevent.label "Buang Acara">
+<!ENTITY calendar.context.deleteevent.accesskey "g">
+<!ENTITY calendar.context.cutevent.label "Potong">
+<!ENTITY calendar.context.cutevent.accesskey "t">
+<!ENTITY calendar.context.copyevent.label "Salin">
+<!ENTITY calendar.context.copyevent.accesskey "S">
+<!ENTITY calendar.context.pasteevent.label "Tampal">
+<!ENTITY calendar.context.pasteevent.accesskey "T">
+<!ENTITY calendar.context.button.label "Anak Tetingkap Hari ini">
+<!ENTITY calendar.context.button.accesskey "H">
+
+<!ENTITY calendar.context.attendance.menu.label "Kehadiran">
+<!ENTITY calendar.context.attendance.menu.accesskey "d">
+<!ENTITY calendar.context.attendance.occurrence.label "Kejadian Ini">
+<!ENTITY calendar.context.attendance.all.label "Semua Kejadian" >
+
+<!ENTITY calendar.context.attendance.all2.label "Siri Lengkap">
+<!ENTITY calendar.context.attendance.send.label "Hantar notifikasi sekarang">
+<!ENTITY calendar.context.attendance.send.accesskey "H">
+<!ENTITY calendar.context.attendance.dontsend.label "Jangan hantar notifikasi">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "J">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "D">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Diterima">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "f">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Diterima secara tentatif">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "t">
+<!ENTITY calendar.context.attendance.occ.declined.label "Ditolak">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "w">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Diwakilkan">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "M">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Masih perlu tindakan">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "D">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "Dalam proses">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "S">
+<!ENTITY calendar.context.attendance.occ.completed.label "Selesai">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "t">
+<!ENTITY calendar.context.attendance.all.accepted.label "Diterima">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "f">
+<!ENTITY calendar.context.attendance.all.tentative.label "Diterima secara tentatif">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "k">
+<!ENTITY calendar.context.attendance.all.declined.label "Ditolak">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "w">
+<!ENTITY calendar.context.attendance.all.delegated.label "Diwakilkan">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "h">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Masih perlu tindakan">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "p">
+<!ENTITY calendar.context.attendance.all.inprogress.label "Dalam proses">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "l">
+<!ENTITY calendar.context.attendance.all.completed.label "Selesai">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Kemajuan">
+<!ENTITY calendar.context.progress.accesskey "K">
+<!ENTITY calendar.context.priority.label "Prioriti">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "Tunda Tugasan">
+<!ENTITY calendar.context.postpone.accesskey "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Tandakan Selesai">
+<!ENTITY calendar.context.markcompleted.accesskey "d">
+
+<!ENTITY progress.level.0 "0&percnt; Selesai">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25 &percnt; Selesai">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50 &percnt; Selesai">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75 &percnt; Selesai">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "100 &percnt; Selesai">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "Tidak dinyatakan">
+<!ENTITY priority.level.none.accesskey "d">
+<!ENTITY priority.level.low "Rendah">
+<!ENTITY priority.level.low.accesskey "R">
+<!ENTITY priority.level.normal "Normal">
+<!ENTITY priority.level.normal.accesskey "N">
+<!ENTITY priority.level.high "Tinggi">
+<!ENTITY priority.level.high.accesskey "T">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 Jam">
+<!ENTITY calendar.context.postpone.1hour.accesskey "J">
+<!ENTITY calendar.context.postpone.1day.label "1 Hari">
+<!ENTITY calendar.context.postpone.1day.accesskey "H">
+<!ENTITY calendar.context.postpone.1week.label "1 Minggu">
+<!ENTITY calendar.context.postpone.1week.accesskey "M">
+
+<!ENTITY calendar.copylink.label "Salin Lokasi Pautan">
+<!ENTITY calendar.copylink.accesskey "S">
+
+<!-- Task View -->
+<!-- Note that the above *.context.* strings are currently used for the other
+ task action buttons -->
+<!ENTITY calendar.taskview.delete.label "Buang">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Kalendar Baru…">
+<!ENTITY calendar.context.newserver.accesskey "B">
+<!ENTITY calendar.context.findcalendar.label "Cari Kalendar…" >
+<!ENTITY calendar.context.findcalendar.accesskey "C" >
+<!ENTITY calendar.context.deleteserver2.label "Buang Kalendar…">
+<!ENTITY calendar.context.deleteserver2.accesskey "B">
+
+<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the
+ calendar is the general action of removing it, while deleting means to
+ clear the data and unsubscribing means just taking it out of the calendar
+ list. -->
+<!ENTITY calendar.context.removeserver.label "Buang Kalendar…">
+<!ENTITY calendar.context.removeserver.accesskey "B">
+<!ENTITY calendar.context.unsubscribeserver.label "Batal langganan Kalendar…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "B">
+<!ENTITY calendar.context.synccalendars.label "Selaraskan Kalendar">
+<!ENTITY calendar.context.synccalendars.accesskey "S">
+<!ENTITY calendar.context.publish.label "Terbitkan Kalendar…">
+<!ENTITY calendar.context.publish.accesskey "b">
+<!ENTITY calendar.context.export.label "Eksport Kalendar…">
+<!ENTITY calendar.context.export.accesskey "E">
+<!ENTITY calendar.context.properties.label "Sifat">
+<!ENTITY calendar.context.properties.accesskey "S">
+
+<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey)
+ This is the access key used for the showCalendar string -->
+<!ENTITY calendar.context.showcalendar.accesskey "p">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "S">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "H">
+<!ENTITY calendar.context.showall.label "Papar Semua Kalendar">
+<!ENTITY calendar.context.showall.accesskey "S">
+
+<!ENTITY calendar.context.convertmenu.label "Tukar Kepada">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "k">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "r">
+<!ENTITY calendar.context.convertmenu.event.label "Acara…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "A">
+<!ENTITY calendar.context.convertmenu.message.label "Mesej…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "Tugasan…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Bulan-Mini">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Senarai Kalendar">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "S">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Tapis Tugasan">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "T">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Lokasi:" >
+<!ENTITY calendar.alarm.details.label "Butiran…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Lena untuk" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Lena Semua untuk" >
+<!ENTITY calendar.alarm.title.label "Peringatan Kalendar" >
+<!ENTITY calendar.alarm.dismiss.label "Abai" >
+<!ENTITY calendar.alarm.dismissall.label "Abai Semua" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 Minit" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 Minit" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 Minit" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 Minit" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 Minit" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 Jam" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 Jam" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 Hari" >
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+ This string is not seen in the UI, it is read by screen readers when the
+ user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+ dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel "Batal Lena">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Edit Kalendar">
+<!ENTITY calendar.server.dialog.name.label "Nama Kalendar:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Warna:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.wcap.label "Sun Java System Calendar Server (WCAP)">
+<!ENTITY calendarproperties.format.label "Format:">
+<!ENTITY calendarproperties.location.label "Lokasi:">
+<!ENTITY calendarproperties.refreshInterval.label "Muat semula Kalendar:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Secara Manual">
+<!ENTITY calendarproperties.name.label "Nama:">
+<!ENTITY calendarproperties.readonly.label "Baca Sahaja">
+<!ENTITY calendarproperties.firealarms.label "Papar Peringatan">
+<!ENTITY calendarproperties.cache3.label "Sokongan Luar talian">
+<!ENTITY calendarproperties.enabled.label "Aktifkan kalendar ini">
+<!ENTITY calendarproperties.forceDisabled.label "Penyedia kalendar ini tidak dapat ditemukan. Ini kerap terjadi apabila anda nyahdayakan atau nayhpasang add-ons tertentu.">
+<!ENTITY calendarproperties.unsubscribe.label "Batal langganan">
+<!ENTITY calendarproperties.unsubscribe.accesskey "B">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Terbitkan Kalendar">
+<!ENTITY calendar.publish.url.label "URL Penerbitan">
+<!ENTITY calendar.publish.publish.button "Terbitkan">
+<!ENTITY calendar.publish.close.button "Tutup">
+
+<!ENTITY calendar.publish.example.url.description "Sesuatu seperti http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Pilih Kalendar">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Cetak Kalendar">
+<!ENTITY calendar.print.title.label "Tajuk:">
+<!ENTITY calendar.print.layout.label "Susun atur:">
+<!ENTITY calendar.print.range.label "Apa Yang Mahu Dicetak">
+<!ENTITY calendar.print.currentView2.label "Paparan semasa">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Acara//tasks dipilih">
+<!ENTITY calendar.print.tasks.label "Tugasan">
+<!ENTITY calendar.print.events.label "Acara">
+<!ENTITY calendar.print.custom.label "Julat tarikh lazim:">
+<!ENTITY calendar.print.from.label "Daripada:">
+<!ENTITY calendar.print.to.label "Sehingga:">
+<!ENTITY calendar.print.settingsGroup.label "Tetapan Cetakan">
+<!ENTITY calendar.print.optionsGroup.label "Pilihan">
+<!ENTITY calendar.print.taskswithnoduedate.label "Tugasan tanpa tarikh genap tempoh">
+<!ENTITY calendar.print.completedtasks.label "Tugasan selesai">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Butiran…">
+<!ENTITY calendar.error.code "Kod ralat:">
+<!ENTITY calendar.error.description "Keterangan:">
+<!ENTITY calendar.error.title "Ada ralat">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Tambah sebagai acara">
+<!ENTITY calendar.extract.task.button "Tambah sebagai tugasan">
+<!ENTITY calendar.extract.event.button.tooltip "Ekstrak maklumat kalendar daripada mesej dan masukkan ke dalam kalender sebagai acara">
+<!ENTITY calendar.extract.task.button.tooltip "Ekstrak maklumat kalendar daripada mesej dan masukkan ke dalam kalender sebagai tugasan">
diff --git a/l10n-ms/calendar/chrome/calendar/calendar.properties b/l10n-ms/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 0000000000..f7eedcf266
--- /dev/null
+++ b/l10n-ms/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 <email address> 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 <email address> 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 <email address> 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 <email address> 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 <email address> 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/l10n-ms/calendar/chrome/calendar/calendarCreation.dtd b/l10n-ms/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..c2edd26bd8
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY wizard.title "Cipta Kalendar Baru" >
+<!ENTITY wizard.label "Cipta kalendar baru" >
+<!ENTITY wizard.description "Cari kalendar anda" >
+
+<!ENTITY initialpage.description "Kalendar anda boleh disimpan di dalam komputer, atau disimpan di dalam pelayan supaya boleh diakses secara jauh, atau dikongsikan dengan rakan atau rakan sejawat." >
+<!ENTITY initialpage.computer.label "Dalam Komputer Saya">
+<!ENTITY initialpage.network.label "Dalam Rangkaian">
+
+<!ENTITY locationpage.description "Sediakan maklumat yang diperlukan untuk mengakses kalendar anda secara jauh" >
+<!ENTITY locationpage.login.description "Pilihan: masukkan nama pengguna dan kata laluan" >
+<!ENTITY locationpage.username.label "Nama pengguna:" >
+<!ENTITY locationpage.password.label "Kata laluan:" >
+
+<!ENTITY custompage.shortdescription "Sesuaikan kalendar anda" >
+<!ENTITY custompage.longdescription "Anda boleh beri gelaran untuk kalendar anda dan warnakan acara dalam kalendar ini." >
+
+<!ENTITY finishpage.shortdescription "Kalendar Dicipta" >
+<!ENTITY finishpage.longdescription "Kalendar anda sudah dicipta." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Lain-lain">
+
+<!ENTITY buttons.create.label "Cipta Kalendar">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "Cari Kalendar">
+<!ENTITY buttons.find.accesskey "C">
+
+<!ENTITY buttons.back.label "Undur">
+<!ENTITY buttons.back.accesskey "U">
+
+<!ENTITY buttons.subscribe.label "Langgan">
+<!ENTITY buttons.subscribe.accesskey "L">
+
+<!ENTITY calendartype.label "Jenis Kalendar:">
+<!ENTITY location.label "Lokasi:">
+<!ENTITY location.placeholder "Nama URL atau hos pelayan kalendar">
+
+<!ENTITY network.nocredentials.label "Lokasi ini tidak perlukan kelayakan">
+<!ENTITY network.loading.description "Sila tunggu sementara kalendar anda akan ditemukan.">
+<!ENTITY network.notfound.description "Tidak dapat mencari kalendar di lokasi ini. Sila semak tetapan anda.">
+<!ENTITY network.authfail.description "Kelayakan yang anda masukkan tidak diterima. Sila semak tetapan anda.">
+
+<!ENTITY network.subscribe.single.description "Sila pilih kalendar yang anda mahu langgan.">
+<!ENTITY network.subscribe.multiple.description "Pelbagai jenis kalendar ada disediakan di lokasi ini. Sila pilih jenis kalendar, kemudian tandakan kalendar yang anda mahu langgan.">
diff --git a/l10n-ms/calendar/chrome/calendar/calendarCreation.properties b/l10n-ms/calendar/chrome/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..941a9a5b3c
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/categories.properties b/l10n-ms/calendar/chrome/calendar/categories.properties
new file mode 100644
index 0000000000..6076089f79
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/dateFormat.properties b/l10n-ms/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 0000000000..a6c90aab86
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/l10n-ms/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..8bf7ed8f82
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -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/. -->
+
+<!ENTITY reminderdialog.title "Tetapkan Peringatan">
+<!ENTITY reminder.add.label "Tambah">
+<!ENTITY reminder.add.accesskey "T">
+<!ENTITY reminder.remove.label "Buang">
+<!ENTITY reminder.remove.accesskey "B">
+
+<!ENTITY reminder.reminderDetails.label "Butiran Peringatan">
+<!ENTITY reminder.action.label "Pilih Tindakan Peringatan">
+
+<!ENTITY reminder.action.alert.label "Papar Amaran">
+<!ENTITY reminder.action.email.label "Hantar E-mel">
+
+<!ENTITY alarm.units.minutes "minit" >
+<!ENTITY alarm.units.hours "jam" >
+<!ENTITY alarm.units.days "hari" >
diff --git a/l10n-ms/calendar/chrome/calendar/global.dtd b/l10n-ms/calendar/chrome/calendar/global.dtd
new file mode 100644
index 0000000000..7917f8b017
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/global.dtd
@@ -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/. -->
+
+<!ENTITY time.midnight "Tengah Malam" >
+<!ENTITY time.noon "Tengahari" >
+
+<!-- Day Names -->
+<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently
+ only used in Preferences > Views > Workweek groupbox -->
+<!ENTITY day.1.Ddd "Aha" >
+<!ENTITY day.1.Ddd.accesskey "A">
+<!ENTITY day.2.Ddd "Isn" >
+<!ENTITY day.2.Ddd.accesskey "I">
+<!ENTITY day.3.Ddd "Sel" >
+<!ENTITY day.3.Ddd.accesskey "S">
+<!ENTITY day.4.Ddd "Rab" >
+<!ENTITY day.4.Ddd.accesskey "R">
+<!ENTITY day.5.Ddd "Kha" >
+<!ENTITY day.5.Ddd.accesskey "K">
+<!ENTITY day.6.Ddd "Jum" >
+<!ENTITY day.6.Ddd.accesskey "J">
+<!ENTITY day.7.Ddd "Sab" >
+<!ENTITY day.7.Ddd.accesskey "S">
+
+<!ENTITY day.1.name "Ahad" >
+<!ENTITY day.2.name "Isnin" >
+<!ENTITY day.3.name "Selasa" >
+<!ENTITY day.4.name "Rabu" >
+<!ENTITY day.5.name "Khamis" >
+<!ENTITY day.6.name "Jumaat" >
+<!ENTITY day.7.name "Sabtu" >
+
+<!ENTITY month.1.name "Januari" >
+<!ENTITY month.2.name "Februari" >
+<!ENTITY month.3.name "Mac" >
+<!ENTITY month.4.name "April" >
+<!ENTITY month.5.name "Mei" >
+<!ENTITY month.6.name "Jun" >
+<!ENTITY month.7.name "Julai" >
+<!ENTITY month.8.name "Ogos" >
+<!ENTITY month.9.name "September" >
+<!ENTITY month.10.name "Oktober" >
+<!ENTITY month.11.name "November" >
+<!ENTITY month.12.name "Disember" >
+
+<!ENTITY onemonthbackward.tooltip "Satu Bulan Lepas" >
+<!ENTITY onemonthforward.tooltip "Satu Bulan Akan Datang" >
+<!ENTITY showToday.tooltip "Pergi ke Hari ini">
+<!ENTITY onedayforward.tooltip "Satu Hari Akan Datang">
+<!ENTITY onedaybackward.tooltip "Satu Hari Lepas">
+<!ENTITY showselectedday.tooltip "Papar acara untuk hari yang dipilih">
diff --git a/l10n-ms/calendar/chrome/calendar/menuOverlay.dtd b/l10n-ms/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..5ad0f95583
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/menuOverlay.dtd
@@ -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/. -->
+
+<!-- Event Menu -->
+<!ENTITY event.new.event "Acara Baru…">
+<!ENTITY event.new.event.accesskey "B">
+
+<!ENTITY event.new.task "Tugasan Baru…">
+<!ENTITY event.new.task.accesskey "g">
+
+<!ENTITY calendar.import.label "Import…">
+<!ENTITY calendar.import.accesskey "I">
+
+<!ENTITY calendar.export.label "Eksport…">
+<!ENTITY calendar.export.accesskey "E">
+
+<!ENTITY calendar.publish.label "Terbitkan…">
+<!ENTITY calendar.publish.accesskey "b">
+
+<!ENTITY calendar.deletecalendar.label "Buang Kalendar yang Dipilih…">
+<!ENTITY calendar.deletecalendar.accesskey "B">
+<!ENTITY calendar.unsubscribecalendar.label "Batal langganan Kalendar yang Dipilih…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "B">
+
+<!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar
+ is the general action of removing it, while deleting means to clear the
+ data and unsubscribing means just taking it out of the calendar list. -->
+<!ENTITY calendar.removecalendar.label "Buang Kalendar Dipilih…">
+<!ENTITY calendar.removecalendar.accesskey "B">
+
+
+<!ENTITY calendar.menu.customize.label "Penyesuaian…">
+<!ENTITY calendar.menu.customize.accesskey "P">
+
+<!ENTITY showUnifinderCmd.label "Cari Acara">
+<!ENTITY showUnifinderCmd.accesskey "C">
+<!ENTITY showUnifinderCmd.tooltip "Togol anak tetingkap carian acara">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Papar Tugasan dalam Kalendar">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T">
+
+<!ENTITY goTodayCmd.label "Hari ini">
+<!ENTITY goTodayCmd.accesskey "H">
+
+<!ENTITY showCurrentView.label "Paparan Semasa">
+<!ENTITY showCurrentView.accesskey "P">
+
+<!ENTITY calendar.properties.label "Sifat Kalendar…">
+<!ENTITY calendar.properties.accesskey "a">
diff --git a/l10n-ms/calendar/chrome/calendar/migration.dtd b/l10n-ms/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 0000000000..fa04183390
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/migration.dtd
@@ -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/. -->
+
+<!ENTITY migration.title "Data Import: &brandFullName;">
+<!ENTITY migration.welcome "Selamat Datang">
+<!ENTITY migration.importing "Mengimport">
+<!ENTITY migration.list.description "&brandShortName; boleh mengimport data kalendar daripada banyak aplikasi yang popular. Data daripada aplikasi berikut telah dijumpai dalam komputer anda. Sila pilih data yang anda mahu import.">
+<!ENTITY migration.progress.description "Mengimport data yang dipilih">
diff --git a/l10n-ms/calendar/chrome/calendar/migration.properties b/l10n-ms/calendar/chrome/calendar/migration.properties
new file mode 100644
index 0000000000..940d97807c
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/calendar/provider-uninstall.dtd b/l10n-ms/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..cbeb8fb5b7
--- /dev/null
+++ b/l10n-ms/calendar/chrome/calendar/provider-uninstall.dtd
@@ -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/. -->
+
+<!ENTITY providerUninstall.title "Nyahpasang Penyedia">
+<!ENTITY providerUninstall.accept.label "Batal langganan yang Dipilih">
+<!ENTITY providerUninstall.accept.accesskey "N">
+<!ENTITY providerUninstall.cancel.label "Simpan Add-on">
+<!ENTITY providerUninstall.cancel.accesskey "S">
+<!ENTITY providerUninstall.preName.label "Anda telah meminta untuk nyahpasang atau nyahdayakan:">
+<!ENTITY providerUninstall.postName.label "Ini akan menyebabkan kalendar di bawah dinyahdayakan.">
+<!ENTITY providerUninstall.reinstallNote.label "Melainkan anda bercadang untuk memasang semula, anda boleh memilih untuk berhenti melanggan daripada penyedia kalendar ini.">
diff --git a/l10n-ms/calendar/chrome/calendar/timezones.properties b/l10n-ms/calendar/chrome/calendar/timezones.properties
new file mode 100644
index 0000000000..15a63d2643
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/calendar/chrome/lightning/lightning-toolbar.dtd b/l10n-ms/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..7561c5d7e0
--- /dev/null
+++ b/l10n-ms/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY lightning.toolbar.calendar.name "Bar alatan Kalendar">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "K">
+<!ENTITY lightning.toolbar.task.name "Bar alatan Tugasan">
+<!ENTITY lightning.toolbar.task.name.accesskey "T">
+
+<!ENTITY lightning.toolbar.sync.label "Selaraskan">
+<!ENTITY lightning.toolbar.sync.tooltip "Muat semula kalendar dan selaraskan perubahan">
+<!ENTITY lightning.toolbar.delete.label "Buang">
+<!ENTITY lightning.toolbar.delete.tooltip "Buang acara dan tugasan yang dipilih">
+<!ENTITY lightning.toolbar.edit.label "Edit">
+<!ENTITY lightning.toolbar.edit.tooltip "Edit acara dan tugasan yang dipilih">
+<!ENTITY lightning.toolbar.gototoday.label "Pergi ke Hari ini">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Pergi ke Hari ini">
+<!ENTITY lightning.toolbar.print.label "Cetak">
+<!ENTITY lightning.toolbar.print.tooltip "Cetak acara dan tugasan">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Kalendar">
+<!ENTITY lightning.toolbar.calendar.tooltip "Tukar ke tab kalendar">
+<!ENTITY lightning.toolbar.calendar.accesskey "K">
+<!ENTITY lightning.toolbar.task.label "Tugasan">
+<!ENTITY lightning.toolbar.task.tooltip "Tukar ke tab tugasan">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Acara">
+<!ENTITY lightning.toolbar.newevent.tooltip "Cipta acara baru">
+<!ENTITY lightning.toolbar.newtask.label "Tugasan">
+<!ENTITY lightning.toolbar.newtask.tooltip "Cipta tugasan baru">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "Hari">
+<!ENTITY lightning.toolbar.day.accesskey "H">
+<!ENTITY lightning.toolbar.week.label "Minggu">
+<!ENTITY lightning.toolbar.week.accesskey "M">
+<!ENTITY lightning.toolbar.multiweek.label "Berbilang minggu">
+<!ENTITY lightning.toolbar.multiweek.accesskey "b">
+<!ENTITY lightning.toolbar.month.label "Bulan">
+<!ENTITY lightning.toolbar.month.accesskey "B">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "AppMenu">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Papar Menu &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Anak tetingkap Kalendar">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "A">
+<!ENTITY lightning.toolbar.calendarpane.label "Papar Anak tetingkap Kalendar">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "A">
diff --git a/l10n-ms/calendar/chrome/lightning/lightning.dtd b/l10n-ms/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 0000000000..7a71327319
--- /dev/null
+++ b/l10n-ms/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,111 @@
+<!-- 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/. -->
+
+<!-- WARNING! This file contains UTF-8 encoded characters!
+ - If this ==> … <== doesn't look like an ellipsis (three dots in a row),
+ - your editor isn't using UTF-8 encoding and may munge up the document!
+ -->
+
+<!-- Tools menu -->
+<!ENTITY lightning.preferencesLabel "Kalendar">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Acara…">
+<!ENTITY lightning.menupopup.new.event.accesskey "A">
+<!ENTITY lightning.menupopup.new.task.label "Tugasan…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Kalendar…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "n">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.label "Buka">
+<!ENTITY lightning.menupopup.open.accesskey "B">
+<!ENTITY lightning.menupopup.open.message.label "Mesej Disimpan…">
+<!ENTITY lightning.menupopup.open.message.accesskey "M">
+<!ENTITY lightning.menupopup.open.calendar.label "Fail Kalendar…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "K">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "Kalendar">
+<!ENTITY lightning.menu.view.calendar.accesskey "n">
+<!ENTITY lightning.menu.view.tasks.label "Tugasan">
+<!ENTITY lightning.menu.view.tasks.accesskey "g">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Acara dan Tugasan">
+<!ENTITY lightning.menu.eventtask.accesskey "n">
+
+<!-- properties dialog, calendar creation wizard -->
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label,
+ lightning.calendarproperties.forceEmailScheduling.label)
+ These strings are used in the calendar wizard and the calendar properties dialog, but are only
+ displayed when setting/using a caldav calendar -->
+<!ENTITY lightning.calendarproperties.email.label "E-mel:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Utamakan penjadualan e-mel pihak-klien">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "Buat masa sekarang, anda hanya boleh mengaktifkan tetapan kalendar ini dalam dialog sifat jika pelayan kalendar menguruskan penjadualan.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Pilihan ini hanya disediakan jika pelayan kalendar mengendalikan penjadualan. Penjadualan e-mel piawai boleh didapatkan semula, bukan ditentukan oleh pelayan jika pilihan ini didayakan.">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Terima">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Terima jemputan acara">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Terima semua">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Terima jemputan semua pengulangan acara">
+<!ENTITY lightning.imipbar.btnAdd.label "Tambah">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Tambah acara dalam kalendar">
+<!ENTITY lightning.imipbar.btnDecline.label "Tolak">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Tolak jemputan acara">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Tolak semua">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Tolak jemputan semua pengulangan acara">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Tolak">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Tolak cadangan balas">
+<!ENTITY lightning.imipbar.btnDelete.label "Buang">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Buang daripada kalendar">
+<!ENTITY lightning.imipbar.btnDetails.label "Butiran…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Papar butiran acara">
+<!ENTITY lightning.imipbar.btnMore.label "Selanjutnya">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Klik untuk papar pilihan selanjutnya">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Sahkan semula">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Hantar pengesahan semula kepada pihak penganjur">
+<!ENTITY lightning.imipbar.btnReschedule.label "Penjadualan semula">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Penjadualan semula acara">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Simpan salinan">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Simpan salinan acara kalendar yang tiada balasan kepada penganjur. Senarai peserta akan dibuang.">
+<!ENTITY lightning.imipbar.btnTentative.label "Tentatif">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Terima jemputan acara secara tentatif">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Tentatif semua">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Terima jemputan semua pengulangan acara secara tentatif">
+<!ENTITY lightning.imipbar.btnUpdate.label "Kemaskini">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Kemaskini acara dalam kalendar">
+<!ENTITY lightning.imipbar.description "Mesej ini mengandungi jemputan untuk menghadiri acara.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Hantar respons sekarang">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Hantar respons kepada penganjur">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Hantar respons untuk semua siri kepada penganjur">
+<!ENTITY lightning.imipbar.btnDontSend.label "Jangan hantar respons">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Tukar status penyertaan tanpa menghantar respons kepada penganjur">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Tukar status penyertaan untuk siri tanpa menghantar respons kepada penganjur">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "P">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "Cipta kalendar baru">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Papar Mini-Bulan">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Papar Mini-Hari">
+<!ENTITY todaypane.showMiniday.accesskey "r">
+<!ENTITY todaypane.showNone.label "Papar Tiada">
+<!ENTITY todaypane.showNone.accesskey "T">
+<!ENTITY todaypane.showTodayPane.label "Papar Anak Tetingkap Hari ini">
+<!ENTITY todaypane.showTodayPane.accesskey "p">
+<!ENTITY todaypane.statusButton.label "Anak Tetingkap Hari ini">
diff --git a/l10n-ms/calendar/chrome/lightning/lightning.properties b/l10n-ms/calendar/chrome/lightning/lightning.properties
new file mode 100644
index 0000000000..44f4539b7b
--- /dev/null
+++ b/l10n-ms/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 <email address> 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 <email address> 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 <email address> 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 <email address> 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 <email address> 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/l10n-ms/chat/accounts.dtd b/l10n-ms/chat/accounts.dtd
new file mode 100644
index 0000000000..70a9100193
--- /dev/null
+++ b/l10n-ms/chat/accounts.dtd
@@ -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/. -->
+
+<!-- Account manager window for Instantbird -->
+<!ENTITY accounts.title "Akaun - &brandShortName;">
+<!ENTITY accountManager.width "450">
+<!-- Instant messaging account status window for Thunderbird -->
+<!ENTITY accountsWindow.title "Status pesanan segera">
+<!ENTITY accountsWindow2.style "width: 41em; height: 27em;">
+
+<!ENTITY accountManager.newAccount.label "Akaun Baru">
+<!ENTITY accountManager.newAccount.accesskey "B">
+<!ENTITY accountManager.close.label "Tutup">
+<!ENTITY accountManager.close.accesskey "p">
+<!-- This should match account.commandkey in instantbird.dtd -->
+<!ENTITY accountManager.close.commandkey "a">
+<!-- This title must be short, displayed with a big font size -->
+<!ENTITY accountManager.noAccount.title "Akaun tidak dikonfigurasikan lagi">
+<!ENTITY accountManager.noAccount.description "Klik butang &accountManager.newAccount.label; untuk membolehkan &brandShortName; membimbing anda melaksanakan proses mengkonfigurasi.">
+<!ENTITY account.autoSignOn.label "Daftar masuk semasa permulaan">
+<!ENTITY account.autoSignOn.accesskey "D">
+<!ENTITY account.connect.label "Sambung">
+<!ENTITY account.connect.accesskey "b">
+<!ENTITY account.disconnect.label "Memutuskan">
+<!ENTITY account.disconnect.accesskey "t">
+<!ENTITY account.delete.label "Buang">
+<!ENTITY account.delete.accesskey "B">
+<!ENTITY account.edit.label "Sifat">
+<!ENTITY account.edit.accesskey "S">
+<!ENTITY account.moveup.label "Pindah atas">
+<!ENTITY account.movedown.label "Pindah bawah">
+<!ENTITY account.cancelReconnection.label "Batal sambungan semula">
+<!ENTITY account.cancelReconnection.accesskey "B">
+<!ENTITY account.copyDebugLog.label "Salin Log Nyahpepijat">
+<!ENTITY account.copyDebugLog.accesskey "S">
+<!ENTITY account.showDebugLog.label "Papar Log Nyahpepijat">
+<!ENTITY account.showDebugLog.accesskey "P">
+<!ENTITY account.connecting "Sedang menyambung…">
+<!ENTITY account.disconnecting "Memutuskan…">
+<!ENTITY account.disconnected "Tidak Bersambung">
diff --git a/l10n-ms/chat/accounts.properties b/l10n-ms/chat/accounts.properties
new file mode 100644
index 0000000000..001bcc56a4
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/commands.properties b/l10n-ms/chat/commands.properties
new file mode 100644
index 0000000000..2c2f285317
--- /dev/null
+++ b/l10n-ms/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 &lt;arahan&gt; 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 &lt;mesej&gt;: hantar mesej tanpa memproses arahan.
+rawHelpString=raw &lt;mesej&gt;: hantar mesej tanpa mengabaikan entiti HTML.
+helpHelpString=help&lt;nama&gt; papar mesej bantuan untuk arahan &lt;nama&gt;, 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 &lt;mesej status&gt;: tetapkan status ke %2$S dengan mesej status pilihan.
+back=ada
+away=tiada
+busy=tiada
+dnd=tiada
+offline=luar talian
diff --git a/l10n-ms/chat/contacts.properties b/l10n-ms/chat/contacts.properties
new file mode 100644
index 0000000000..7b2ca7d67c
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/conversations.properties b/l10n-ms/chat/conversations.properties
new file mode 100644
index 0000000000..6cc020e858
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/facebook.properties b/l10n-ms/chat/facebook.properties
new file mode 100644
index 0000000000..db9305fa30
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/imtooltip.properties b/l10n-ms/chat/imtooltip.properties
new file mode 100644
index 0000000000..5574469aa1
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/irc.properties b/l10n-ms/chat/irc.properties
new file mode 100644
index 0000000000..25b60aad0a
--- /dev/null
+++ b/l10n-ms/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 &lt;action to perform&gt;: Melaksanakan tindakan.
+command.ban=%S &lt;nick!user@host&gt;: Sekat pengguna yang sepadan dengan corak yang diberikan.
+command.ctcp=%S &lt;nick&gt; &lt;msg&gt;: Hantar mesej CTCP kepada gelaran.
+command.chanserv=%S &lt;command&gt;: Hantar arahan kepada ChanServ.
+command.deop=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Menghapuskan status operator saluran daripada seseorang. Anda hendaklah seorang operator untuk melakukan ini.
+command.devoice=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: 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 &lt;nick&gt;[ &lt;nick&gt;]* [&lt;channel&gt;]: Jemput seorang atau lebih ramai pengguna menyertai anda dalam saluran semasa, atau menyertai saluran tertentu.
+command.join=%S &lt;room1&gt;[ &lt;key1&gt;][,&lt;room2&gt;[ &lt;key2&gt;]]*: Sertai satu atau lebih saluran, pilihan untuk menyediakan kunci setiap saluran, jika perlu.
+command.kick=%S &lt;nick&gt; [&lt;message&gt;]: 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 &lt;command&gt;: Hantar arahan kepada MemoServ.
+command.modeUser2=%S &lt;nick&gt; [(+|-)&lt;mode&gt;]: Dapatkan, tetapkan atau buang tetapan mod pengguna.
+command.modeChannel2=%S [&lt;channel&gt;] [(+|-)&lt;new mode&gt; [&lt;parameter&gt;][,&lt;parameter&gt;]*]: Dapatkan, tetapkan atau buang tetapan mod saluran.
+command.msg=%S &lt;nick&gt; &lt;message&gt;: Hantar mesej peribadi kepada pengguna (bukannya dalam saluran).
+command.nick=%S &lt;new nickname&gt;: Tukar nama gelaran anda.
+command.nickserv=%S &lt;command&gt;: Hantar arahan kepada NickServ.
+command.notice=%S &lt;target&gt; &lt;message&gt;: Hantar notis kepada pengguna atau saluran.
+command.op=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Maklumkan status operator saluran kepada seseorang. Anda hendaklah operator saluran untuk melakukan ini.
+command.operserv=%S &lt;command&gt;: Hantar arahan kepada OperServ.
+command.part=%S [message]: Tinggalkan mesej saluran semasa dengan mesej pilihan.
+command.ping=%S [&lt;nick&gt;]: Tanyakan sela waktu yang dialami pengguna (atau pelayan jika tiada pengguna yang ditentukan).
+command.quit=%S &lt;message&gt;: Putuskan sambungan daripada pelayan dengan mesej pilihan.
+command.quote=%S &lt;command&gt;: Hantar arahan mentah kepada pelayan.
+command.time=%S: Memaparkan masa tempatan semasa pada pelayan IRC.
+command.topic=%S [&lt;new topic&gt;]: Tetapkan topik saluran ini.
+command.umode=%S (+|-)&lt;new mode&gt;: Tetapkan atau buang tetapan mod pengguna.
+command.version=%S &lt;nick&gt;: Tanyakan versi klien pengguna.
+command.voice=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Maklumkan status suara saluran kepada seseorang. Anda hendaklah operator saluran untuk melakukan ini.
+command.whois2=%S [&lt;nick&gt;]: 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/l10n-ms/chat/logger.properties b/l10n-ms/chat/logger.properties
new file mode 100644
index 0000000000..61dd177f4a
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/matrix.properties b/l10n-ms/chat/matrix.properties
new file mode 100644
index 0000000000..694ad7eb4e
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/status.properties b/l10n-ms/chat/status.properties
new file mode 100644
index 0000000000..3b325b0c0b
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/chat/twitter.properties b/l10n-ms/chat/twitter.properties
new file mode 100644
index 0000000000..f65697f83e
--- /dev/null
+++ b/l10n-ms/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
+# @<username>.
+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 &lt;username&gt;[ &lt;username&gt;]*: Mula mengikuti pengguna.
+command.unfollow=%S &lt;username&gt;[ &lt;username&gt;]*: Berhenti mengikuti pengguna.
diff --git a/l10n-ms/chat/xmpp.properties b/l10n-ms/chat/xmpp.properties
new file mode 100644
index 0000000000..3bc4958e1e
--- /dev/null
+++ b/l10n-ms/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 [&lt;bilik&gt;[@&lt;pelayan&gt;][/&lt;nick&gt;]] [&lt;kata laluan&gt;]: Sertai bilik, pilihan menyediakan pelayan yang berbeza, atau nama panggilan, atau kata laluan bilik.
+command.part2=%S [&lt;message&gt;]: Tinggalkan bilik semasa dengan mesej pilihan.
+command.topic=%S [&lt;new topic&gt;]: Tetapkan topik bilik ini.
+command.ban=%S &lt;nick&gt;[&lt;message&gt;]: Sekat seseorang daripada bilik. Anda hendaklah pentadbir bilik untuk melakukan ini.
+command.kick=%S &lt;nick&gt;[&lt;message&gt;]: Singkir seseorang daripada bilik. Anda hendaklah moderator bilik untuk melakukan ini.
+command.invite=%S &lt;jid&gt;[&lt;message&gt;]: Jemput pengguna menyertai bilik semasa dengan mesej pilihan.
+command.inviteto=%S &lt;room jid&gt;[&lt;password&gt;]: Jemput rakan perbualan anda menyertai bilik berserta kata laluan, jika perlu.
+command.me=%S &lt;action to perform&gt;: Melaksanakan tindakan.
+command.nick=%S &lt;new nickname&gt;: Tukar nama gelaran anda.
+command.msg=%S &lt;nick&gt; &lt;message&gt;: Hantar mesej peribadi kepada peserta dalam bilik.
+command.version=%S: Tanyakan maklumat berkaitan klien yang digunakan rakan perbualan anda.
diff --git a/l10n-ms/chat/yahoo.properties b/l10n-ms/chat/yahoo.properties
new file mode 100644
index 0000000000..4bc5431af1
--- /dev/null
+++ b/l10n-ms/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/l10n-ms/devtools/client/accessibility.properties b/l10n-ms/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..2237369138
--- /dev/null
+++ b/l10n-ms/devtools/client/accessibility.properties
@@ -0,0 +1,104 @@
+# 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 These strings are used inside the Accessibility panel
+# which is in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# 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.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.
+
diff --git a/l10n-ms/devtools/client/animationinspector.properties b/l10n-ms/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..016e3b1836
--- /dev/null
+++ b/l10n-ms/devtools/client/animationinspector.properties
@@ -0,0 +1,183 @@
+# 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.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 (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=&#8734;
+
+# 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.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.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%%
+
diff --git a/l10n-ms/devtools/client/application.ftl b/l10n-ms/devtools/client/application.ftl
new file mode 100644
index 0000000000..22ebdb7810
--- /dev/null
+++ b/l10n-ms/devtools/client/application.ftl
@@ -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/.
+
+
+### 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 <a>about:debugging</a> 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 displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+serviceworker-worker-updated = Kemaskini <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = Berjalan
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Dihentikan
+
diff --git a/l10n-ms/devtools/client/boxmodel.properties b/l10n-ms/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..fd554fa7d8
--- /dev/null
+++ b/l10n-ms/devtools/client/boxmodel.properties
@@ -0,0 +1,32 @@
+# 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 Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE 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 (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=Model Kotak
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=Edit kedudukan
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=Sifat Box Model
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=offset
+
diff --git a/l10n-ms/devtools/client/compatibility.ftl b/l10n-ms/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..0c8cccfbae
--- /dev/null
+++ b/l10n-ms/devtools/client/compatibility.ftl
@@ -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/.
+
+## Messages used as headers in the main pane
+
+## Message used as labels for the type of issue
+
+## Messages used as labels and titles for buttons in the footer
+
+## Messages used as headers in settings pane
+
+##
+
diff --git a/l10n-ms/devtools/client/components.properties b/l10n-ms/devtools/client/components.properties
new file mode 100644
index 0000000000..c241a50b41
--- /dev/null
+++ b/l10n-ms/devtools/client/components.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=tidak diketahui:
+
+# LOCALIZATION NOTE (viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=Papar sumber dalam Penyahpepijat → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Tutup mesej ini
+
diff --git a/l10n-ms/devtools/client/debugger.properties b/l10n-ms/devtools/client/debugger.properties
new file mode 100644
index 0000000000..22904b438d
--- /dev/null
+++ b/l10n-ms/devtools/client/debugger.properties
@@ -0,0 +1,600 @@
+# 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 Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# 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 These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# 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 (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the complete source of the open file.
+copyToClipboard.label=Salin ke klipbod
+copyToClipboard.accesskey=S
+
+copySource.label=Salin teks sumber
+copySource.accesskey=n
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Salin URI sumber
+copySourceUri2.accesskey=u
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Tetapkan akar direktori
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=Buang akar direktori
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Salin Fungsi
+copyFunction.accesskey=F
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=Salin Stack Trace
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Menilai dalam konsol
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Klik untuk jeda (%S)
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=Menunggu pelaksanaan seterusnya
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Klik untuk sambung semula (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Jenjang langkau %S
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Jenjang masuk %S
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Jenjang keluar %S
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Jeda pada pengecualian
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Jeda apabila pengecualian ditangkap
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=Laman ini tidak mempunyai sumber.
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=Editor
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=Jenjang
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Cari
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Cari dalam fail…
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=Tiada hasil ditemukan
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=Cari dalam fail...
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Cari dalam fail…
+
+breakpointMenuItem.enableSelf2.label=Dayakan
+breakpointMenuItem.enableSelf2.accesskey=D
+breakpointMenuItem.disableSelf2.label=Nyahdayakan
+breakpointMenuItem.disableSelf2.accesskey=N
+breakpointMenuItem.deleteSelf2.label=Buang
+breakpointMenuItem.deleteSelf2.accesskey=B
+breakpointMenuItem.enableOthers2.label=Dayakan yang lain
+breakpointMenuItem.enableOthers2.accesskey=l
+breakpointMenuItem.disableOthers2.label=Nyahdayakan yang lain
+breakpointMenuItem.disableOthers2.accesskey=y
+breakpointMenuItem.deleteOthers2.label=Buang yang lain
+breakpointMenuItem.deleteOthers2.accesskey=n
+breakpointMenuItem.enableAll2.label=Dayakan semua
+breakpointMenuItem.enableAll2.accesskey=s
+breakpointMenuItem.disableAll2.label=Nyahdayakan semua
+breakpointMenuItem.disableAll2.accesskey=d
+breakpointMenuItem.deleteAll2.label=Buang semua
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=Buang syarat
+breakpointMenuItem.removeCondition2.accesskey=t
+breakpointMenuItem.addCondition2.label=Tambah syarat
+breakpointMenuItem.addCondition2.accesskey=T
+breakpointMenuItem.editCondition2.label=Edit syarat
+breakpointMenuItem.editCondition2.accesskey=i
+breakpointMenuItem.enableSelf=Dayakan titik putus
+breakpointMenuItem.disableSelf=Nyahdayakan titik putus
+breakpointMenuItem.deleteSelf=Buang titik putus
+breakpointMenuItem.enableOthers=Dayakan yang lain
+breakpointMenuItem.disableOthers=Nyahdayakan yang lain
+breakpointMenuItem.deleteOthers=Buang yang lain
+breakpointMenuItem.enableAll=Dayakan semua breakpoints
+breakpointMenuItem.disableAll=Nyahdayakan semua titik putus
+breakpointMenuItem.deleteAll=Buang semua takat putus
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Breakpoints
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Buang titik putus
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=Call stack
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=Tiada Jeda
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Kolaps Baris
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Kembangkan Baris
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Hasil Berikut
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Hasil dahulu
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Terus Ke Sini
+editor.continueToHere.accesskey=S
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Tambah titik putus
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Nyahdayakan titik putus
+editor.disableBreakpoint.accesskey=N
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Dayakan titik putus
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Buang titik putus
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Langkau ke lokasi %S
+editor.jumpToMappedLocation1.accesskey=k
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=Nyahdayakan Framework Grouping
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=Dayakan Framework Grouping
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=generated
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=asal
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=Tambah watch expression
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Ungkapan tidak sah…
+expressions.label=Tambah watch expression
+expressions.accesskey=e
+
+expressions.remove.tooltip=Buang watch expression
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=Titik Putus XHR
+xhrBreakpoints.placeholder=Putus apabila URL mengandungi
+xhrBreakpoints.label=Tambah titik putus XHR
+
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=Jeda mana-mana URL
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Tutup tab
+sourceTabs.closeTab.accesskey=t
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Tutup tab lain
+sourceTabs.closeOtherTabs.accesskey=l
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=Tutup tab ke kanan
+sourceTabs.closeTabsToEnd.accesskey=p
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Tutup semua tab
+sourceTabs.closeAllTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Reveal in Tree
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=Pretty Print Source
+sourceTabs.prettyPrint.accesskey=p
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(Dari %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(Sumber peta dari %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(mapped)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Tutup tab
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Skop
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Skop Tidak Tersedia
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=Tiada Jeda
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Sekat
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Sumber
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Garis rangka
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=Tapis fungsi
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Susun mengikut nama
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=Tiada fungsi
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=Tiada fail dipilih
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S untuk mencari
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Watch expressions
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Muat semula
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S untuk mencari fail
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S Pergi ke fail
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S untuk mencari dalam fail
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S Cari dalam fail
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Papar semua pintasan
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Cari…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Pergi ke fail…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Jeda semua pengecualian. Klik untuk abaikan semua pengecualian
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=Memuatkan...
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Sila pulihkan untuk menyahpepijat modul ini
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Ralat memuatkan URI: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Pergi ke baris…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Pergi ke nombor baris dalam fail
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=Cari fungsi…
+symbolSearch.search.functionsPlaceholder.title=Cari fungsi dalam fail
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Cari pembolehubah…
+symbolSearch.search.variablesPlaceholder.title=Cari pembolehubah dalam fail
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.modifiersLabel): A label
+# preceding the group of modifiers
+symbolSearch.searchModifier.modifiersLabel=Pengubahsuai:
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.regex): A search option
+# when searching text in a file
+symbolSearch.searchModifier.regex=Regex
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.caseSensitive): A search option
+# when searching text in a file
+symbolSearch.searchModifier.caseSensitive=Sensitif kes
+
+# LOCALIZATION NOTE(symbolSearch.searchModifier.wholeWord): A search option
+# when searching text in a file
+symbolSearch.searchModifier.wholeWord=Seluruh perkataan
+
+experimental=Ini adalah ciri eksperimen
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+anonymousFunction=<anonymous>
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Togol Titik Putus
+shortcuts.toggleBreakpoint.accesskey=T
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Jeda/Sambung
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=Jenjang Langkau
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=Jenjang Masuk
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=Jenjang Keluar
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Carian Fail Sumber
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Pergi ke fail
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Pergi ke baris
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Carian Projek Penuh
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Cari dalam fail
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Carian Fungsi
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Cari fungsi
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Pintasan papan kekunci
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+
+variablesViewOptimizedOut=(optimized away)
+variablesViewUninitialized=(belum diinisialisasi)
+variablesViewMissingArgs=(tidak dibenarkan)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=Klik untuk pilih nod di dalam pemeriksa
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Klik untuk set nilai
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=Surih tindan
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=#1 lagi…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Klik berganda untuk edit
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Klik untuk ubah nilai
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Klik untuk buang
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Expanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=boleh dikonfigurasikan
+enumerableTooltip=boleh diangkakan
+writableTooltip=boleh tulis
+frozenTooltip=dibekukan
+sealedTooltip=dimeterai
+extensibleTooltip=boleh perluas
+overriddenTooltip=diganti
+WebIDLTooltip=WebIDL
+
diff --git a/l10n-ms/devtools/client/device.properties b/l10n-ms/devtools/client/device.properties
new file mode 100644
index 0000000000..17c476930c
--- /dev/null
+++ b/l10n-ms/devtools/client/device.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. 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:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=Telefon
+device.tablets=Tablet
+device.laptops=Laptops
+device.televisions=TVs
+device.consoles=Gaming consoles
+device.watches=Watches
diff --git a/l10n-ms/devtools/client/dom.properties b/l10n-ms/devtools/client/dom.properties
new file mode 100644
index 0000000000..fb2b83bda6
--- /dev/null
+++ b/l10n-ms/devtools/client/dom.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 These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# 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 These strings are used inside the DOM panel
+# which is available from the Browser Tools sub-menu -> 'DOM'.
+# 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 (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=Tapis Panel DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Muat semula
diff --git a/l10n-ms/devtools/client/filterwidget.properties b/l10n-ms/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..771f7914c2
--- /dev/null
+++ b/l10n-ms/devtools/client/filterwidget.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 These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=Tiada penapis yang dinyatakan
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=Anda tidak mempunyai praset tersimpan. \
+Anda boleh menyimpan praset yang ditapis dengan memilih nama dan menyimpannya. \
+Praset boleh diakses dengan cepat dan boleh diguna semula dengan mudah.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=Tambahkan penapis menggunakan senarai dibawah
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=warna radius x y
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=Seret ke atas atau ke bawah untuk menyusun semula penapis
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=Seret kiri atau kanan untuk mengurang atau meningkatkan nilai
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Pilih Penapis
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Tambah
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Nama Praset
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Simpan
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Praset
diff --git a/l10n-ms/devtools/client/font-inspector.properties b/l10n-ms/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..42c6e2de0b
--- /dev/null
+++ b/l10n-ms/devtools/client/font-inspector.properties
@@ -0,0 +1,65 @@
+# 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 contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=sistem
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=Tiada fon yang digunakan pada elemen semasa.
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=Salin URL
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=Penyesuaian
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=Tika
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=Saiz
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=Berat
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=Italik
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Papar selanjutnya
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=Papar minima
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=Tinggi Baris
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=Semua fon dalam halaman
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=Fon Digunakan
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=Fon teks previu
diff --git a/l10n-ms/devtools/client/har.properties b/l10n-ms/devtools/client/har.properties
new file mode 100644
index 0000000000..ce0dd6a55a
--- /dev/null
+++ b/l10n-ms/devtools/client/har.properties
@@ -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/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# 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 These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# 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 (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=Kandungan respons tidak disertakan.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Permintaan daripada organisasi berkaitan tidak disertakan.
+
diff --git a/l10n-ms/devtools/client/inspector.properties b/l10n-ms/devtools/client/inspector.properties
new file mode 100644
index 0000000000..7c72a27680
--- /dev/null
+++ b/l10n-ms/devtools/client/inspector.properties
@@ -0,0 +1,443 @@
+# 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 Inspector
+# which is available from the Web Developer sub-menu -> 'Inspect'.
+#
+# 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 These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# 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.
+
+inspector.panelLabel.markupView=Paparan Penanda
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=Ada beberapa nod disorok.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Papar semua #1 nod
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector.
+markupView.whitespaceOnly=Nod teks Whitespace-only: %S
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=Elemen ini memaparkan kandungannya mengikut model grid tapi mengikut takrif baris dan/atau lajur daripada penyimpan grid induk.
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=Elemen ini menjana kotak elemen blok yang menetapkan konteks pemformatan blok baru.
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=Elemen ini tidak menghasilkan kotak tertentu dengan sendirinya, tetapi memaparkan kandungannya.
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=Pendengar acara
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=Papar takrif elemen penyesuaian
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=Atribut baru
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+# (test with dom.webcomponents.shadowdom.enabled set to true)
+markupView.revealLink.tooltip=Dedahkan
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=Tidak dapat memuatkan imej
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=Tidak tersedia dalam dokumen non-HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Buka dalam Penyahpepijat
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Lokasi tidak diketahui
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=Lokasi asal listener ini tidak dapat dikesan. Kod ini mungkin ditranspile oleh utiliti seperti Babel.
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Gelembung
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Tangkapan
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Buka togol pemeriksa 3-anak tetingkap
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Tutup togol pemeriksa 3-anak tetingkap
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S daripada %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=Tiada padanan
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=Buka Pautan dalam Tab Baru
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=Salin Alamat Pautan
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=Pilih Elemen #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=Edit Atribut %S
+inspectorEditAttribute.accesskey=E
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=Buang Atribut “%S”
+inspectorRemoveAttribute.accesskey=B
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=Salin Nilai Atribut “%S”
+inspectorCopyAttributeValue.accesskey=N
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=Klik untuk menyerlahkan nod ini dalam halaman
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorHTMLEdit.label=Edit Sebagai HTML
+inspectorHTMLEdit.accesskey=E
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=Dalaman HTML
+inspectorCopyInnerHTML.accesskey=D
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=Luaran HTML
+inspectorCopyOuterHTML.accesskey=L
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=Pemilih CSS
+inspectorCopyCSSSelector.accesskey=S
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=Laluan CSS
+inspectorCopyCSSPath.accesskey=L
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=Luaran HTML
+inspectorPasteOuterHTML.accesskey=L
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=Dalaman HTML
+inspectorPasteInnerHTML.accesskey=D
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=Sebelum
+inspectorHTMLPasteBefore.accesskey=B
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=Selepas
+inspectorHTMLPasteAfter.accesskey=S
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=Sebagai Anak Pertama
+inspectorHTMLPasteFirstChild.accesskey=P
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=Sebagai Anak Akhir
+inspectorHTMLPasteLastChild.accesskey=A
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=Skrol ke dalam Paparan
+inspectorScrollNodeIntoView.accesskey=S
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=Buang Nod
+inspectorHTMLDelete.accesskey=B
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=Atribut
+inspectorAttributesSubmenu.accesskey=A
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=Tambah Atribut
+inspectorAddAttribute.accesskey=A
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Cari HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=Data Imej-URL
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=Papar Sifat DOM
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=Papar Sifat Aksesibiliti
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=Guna dalam Konsul
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Kembangkan Semua
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Runtuhkan Semua
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=Nod Skrinsyot
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=Nod Salinan
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=Cipta Nod Baru
+inspectorAddNode.accesskey=C
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=Salin
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=Tampal
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=Papar Elemen Penyesuaian
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=Fon
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=Perubahan
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=Peraturan
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=Dikira
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=Susun atur
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=Animasi
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=Ambil warna dari halaman
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=Breadcrumbs
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=Gaya pelayar
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=Gaya Penapis
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=Tambah peraturan baharu
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=Togol kelas-pseudo
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=Togol kelas
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=Tambah kelas baru
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=Tiada kelas dalam elemen ini
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=Tiada sifat CSS ditemui.
+
diff --git a/l10n-ms/devtools/client/jsonview.properties b/l10n-ms/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..016a25dcbf
--- /dev/null
+++ b/l10n-ms/devtools/client/jsonview.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 http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE 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 (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=Data Mentah
+jsonViewer.tab.Headers=Pengepala
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=Pengepala Respon
+jsonViewer.requestHeaders=Pengepala Permintaan
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Simpan
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Salin
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Kembangkan Semua
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Runtuhkan Semua
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=Cetakan Cantik
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Tapis JSON
+
diff --git a/l10n-ms/devtools/client/layout.properties b/l10n-ms/devtools/client/layout.properties
new file mode 100644
index 0000000000..4b70df6b5e
--- /dev/null
+++ b/l10n-ms/devtools/client/layout.properties
@@ -0,0 +1,113 @@
+# 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 contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=Flex Container
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+flexbox.flexItemOf=Item Flex %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=Pilih penyimpan atau item Flex untuk meneruskan.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=Saiz Asas
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=Fleksibiliti
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=Saiz Minimum
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=Saiz Maksimum
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=Saiz Akhir
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=Saiz Kandungan
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=Item telah dikekang saiz maksimumnya.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=Item telah dikekang saiz minimumnya.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=Item ditetapkan untuk mengembang.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=Item ditetapkan untuk mengecut.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=Item tidak ditetapkan untuk mengembang.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=Item tidak ditetapkan untuk mengecut.
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=Tidak dapat memaparkan garis rangka untuk grid ini
+layout.cannotShowGridOutline.title=Garis grid terpilih tidak boleh dimuat dalam panel susun atur untuk boleh digunakan secara efektif.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Papar nama ruang
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Papar nombor baris
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Lanjutkan garisan infiniti
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Grid
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Grid Display Settings
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=CSS Grid tidak digunakan dalam halaman ini
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Overlay Grid
diff --git a/l10n-ms/devtools/client/memory.properties b/l10n-ms/devtools/client/memory.properties
new file mode 100644
index 0000000000..1dbff60f98
--- /dev/null
+++ b/l10n-ms/devtools/client/memory.properties
@@ -0,0 +1,434 @@
+# 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 Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# 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 These strings are used inside the Memory Tools
+# which is available from the Browser Tools sub-menu -> 'Memory'.
+# 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 (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=Simpan
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Buang
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Simpan Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Import Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Firefox Snapshots
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Sedang memproses…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Rakam susunan panggilan
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Togol rakaman susunan panggilan apabila ada objek disediakan. Snapshot seterusnya boleh dikumpul dan dilabel dalam objek mengikut susunan panggilan, tetapi hanya dengan objek yang dicpta selepas menogol pilihan ini. Rakaman susunan panggilan ada overhed prestasi.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Kumpul ikut:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Tukar cara objek dihimpun
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=Undur ke agregat
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Viewing individuals in group
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Kumpulkan item mengikut jenis
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Himpun item mengikut susunan JavaScript yang direkod apabila objek disediakan
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Himpun item mengikut susunan terbalik JavaScript yang direkod apabila objek dicipta
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Dilabel oleh:
+
+# LOCALIZATION NOTE (toolbar.labelBy): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Ubah cara objek dilabel
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Label objek mengikut kategori yang sesuai
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Label objek mengikut susunan JavaScript yang direkodkan apabila diperuntukkan
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Label objek mengikut kategori yang sesuai
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=Papar:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Tukar paparan snapshot
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Agregat
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=Papar ringkasan kandungan snapshot mengikut objek yang diagregat ke dalam kumpulan
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Dominators
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=Papar pepohon dominator dan timbulkan struktur terbesar dalam snapshot
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Peta Pokok
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Penggunaan memori visual: blok yang lebih besar menggunakan peratusan memori yang lebih besar
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Ambil snapshot
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Import…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Buang semua snapsyot
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=Bandingkan snapshot
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Tapis
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Tapis kandungan syot kilat
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=Papar nod individu dalam kumpulan ini dan laluan yang dikekalkan
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=Ketahui lanjut…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=Root GC
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(tiada susunan)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(tiada nama fail)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(root)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=Garis asas
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=Perbandingan
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Pilih snapshot asas
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Pilih snapshot untuk dibandingkan dengan snapshot asas
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=Ralat
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=Ada ralat semasa membandingkan snapshots.
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=Mengira perbezaan…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=Mengira perbezaan…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Pilih dua snapshots untuk dibandingkan
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=Pilih dua snapshots untuk dibandingkan
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Menjana laporan dominator…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Menjana laporan dominator…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Mengira saiz…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Mengira saiz dominator yang dikekalkan…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Mengambil…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Mengambil selanjutnya…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Ralat
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=Ada ralat semasa memproses pepohon dominator
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Menyimpan snapsyot…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=Membaca snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=Menjana laporan agregat…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=Menyimpan peta pepohon…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=Ada ralat semasa memproses snapshot ini.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Ralat
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=Ada ralat semasa mengambil individu dalam kumpulan
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Mengambil…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Mengambil individu dalam kumpulan…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Nod
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=Nod individu dalam snapshot
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Menyimpan snapsyot…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Mengimport snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=Membaca snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Membaca laporan…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Menyimpan peta pepohon…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Ralat
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=Tiada perbezaan antara asas dengan perbandingan.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=Tiada padanan.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Kosong.
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=Tiada susunan panggilan ditemukan. Rekod susunan panggilan sebelum membuat snapshot.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Saiz Dikekalkan (Bait)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=Jumlah saiz objek itu sendiri, dan saiz semua objek lain yang diteruskan hidup olehnya
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Saiz Shallow (Bait)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=Saiz objek itu sendiri
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Dominator
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=Label bagi objek dalam memori
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Bait
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=Jumlah bait yang digunakan oleh kumpulan ini, tidak termasuk sub-kumpulan
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Kiraan
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=Jumlah bait yang dicapai oleh kumpulan ini, tidak termasuk sub-kumpulan
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Jumlah Bait
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=Jumlah bait yang digunakan oleh kumpulan ini, termasuk sub-kumpulan
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Jumlah Kiraan
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=Jumlah bait yang dicapai oleh kumpulan ini, termasuk sub-kumpulan
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Kumpulan
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=Nama kumpulan ini
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Mengekalkan Laluan (dari Garbage Collector Roots)
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=Pilih satu item untuk melihat laluan yang dikekalkan olehnya
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=kiraan
diff --git a/l10n-ms/devtools/client/menus.properties b/l10n-ms/devtools/client/menus.properties
new file mode 100644
index 0000000000..21141f822b
--- /dev/null
+++ b/l10n-ms/devtools/client/menus.properties
@@ -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/.
+
+browserConsoleCmd.label = Konsol Pelayar
+browserConsoleCmd.accesskey = e
+
+responsiveDesignMode.label = Mod Reka bentuk Responsif
+responsiveDesignMode.accesskey = R
+
+eyedropper.label = Eyedropper
+eyedropper.accesskey = Y
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = Kotak Alatan Pelayar
+browserToolboxMenu.accesskey = e
+
+# LOCALIZATION NOTE (browserContentToolboxMenu.label): This is the label for the
+# application menu item that opens the browser content toolbox UI in the Tools menu.
+# This toolbox allows to debug the chrome of the content process in multiprocess builds.
+browserContentToolboxMenu.label = Kotak Alatan Kandungan Pelayar
+browserContentToolboxMenu.accesskey = k
+
diff --git a/l10n-ms/devtools/client/netmonitor.properties b/l10n-ms/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..a3adc40633
--- /dev/null
+++ b/l10n-ms/devtools/client/netmonitor.properties
@@ -0,0 +1,1048 @@
+# 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 Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# 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 These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# 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 (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=Sambungan internet yang digunakan untuk mengambil sumber ini selamat.
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=Sambungan internet yang digunakan untuk mengambil sumber ini tidak selamat.
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=Ralat keselamatan menghalang sumber dimuat masuk.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=Sumber ini dipindahkan melalui sambungan internet yang menggunakan enkripsi lemah.
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=Didayakan
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=Dinyahdayakan
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=Hos %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<Tidak wujud>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Sorok perincian permintaan
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=Tiada pengepala untuk permintaan ini
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Pengepala penapis
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=Tiada kuki untuk permintaan ini
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Tapis kuki
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# params tab of the network details pane for the filtering input.
+paramsFilterText=Tapis permintaan parameter
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details params tab identifying the query string.
+paramsQueryString=Rentetan pertanyaan
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details params tab identifying the form data.
+paramsFormData=Borang data
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details params tab identifying the request payload.
+paramsPostPayload=Permintaan muatan
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=Pengepala permintaan
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=Minta pengepala dari aliran muatnaik
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=Pengepala respon
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details params tab identifying the request cookies.
+requestCookies=Permintaan kuki
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details params tab identifying the response cookies.
+responseCookies=Tindakbalas Kuki
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Respon muatan
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=Sifat penapis
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → callback %S()
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Susun menaik
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Susun menurun
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Mulakan analisa prestasi
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Tempoh apabila berlaku "DOMContentLoad”
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Tempoh apabila berlaku "beban"
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=#1 permintaan
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=Tiada permintaan
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Bilangan permintaan
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=%S / %S dihantar
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Saiz/transferred saiz semua permintaan
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Selesai: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Jumlah masa yang diperlukan untuk memuatkan semua permintaan
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S B
+
+# LOCALIZATION NOTE (networkMenu.sizeKB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.sizeKB=%S KB
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S MB
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S GB
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=Tidak dapat memindahkan saiz sebegini
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu specifying the transferred of a request is
+# cached.
+networkMenu.sizeCached=cache
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu specifying the transferred of a request computed
+# by a service worker.
+networkMenu.sizeServiceWorker=service worker
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=Jumlah %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=Disekat %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=Sambungan %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=Dihantar %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=Menunggu %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=Diterima %S ms
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S ms
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S s
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S min
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=Memuatkan
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=Kosong
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=Sila tunggu…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=Tiada data tersedia
+
+# LOCALIZATION NOTE (charts.sizeKB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.sizeKB=%S KB
+
+# LOCALIZATION NOTE (charts.transferredSizeKB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSizeKB=%S KB
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize=Saiz Dipindahkan: %S KB
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Cache primer
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Cache kosong
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=Ketahui selanjutnya perihal analisis prestasi
+
+# LOCALIZATION NOTE (charts.totalSize): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize=Saiz: %S KB
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Masa: #1 saat
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=Masa bebas sekatan: #1 saat
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Cache respons: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Jumlah permintaan: %S
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=Saiz
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Jenis
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=Dipindahkan
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Masa
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=Masa bebas sekatan
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=Dikeluarkan Untuk
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Nama Lazim (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Organisasi (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Unit Organisasi (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=Dikeluarkan Oleh
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valide period of this fingerprints
+certmgr.periodofvalidity.label=Tempoh Sah
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Bermula Pada:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Luput Pada:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valide period of this fingerprints
+certmgr.fingerprints.label=Cap jari
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=SHA-256 Fingerprint:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=SHA1 Fingerprint:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Ketelusan:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=Rekod SCTs yang sah
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=SCTs tidak cukup
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=SCTs tidak pelbagai
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Klik pada butang
+netmonitor.perfNotice2=untuk memulakan analisa prestasi.
+netmonitor.perfNotice3=Analisis
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Laksanakan permintaan untuk
+netmonitor.reloadNotice2=Muat semula
+netmonitor.reloadNotice3=halaman untuk melihat maklumat terperinci aktiviti rangkaian.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=Status
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Kaedah
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=Fail
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=Protokol
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Domain
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=IP Capaian Jauh
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Jenis
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Kuki
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Tetapan-kuki
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=Skema
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=Masa Mula
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=Masa Tamat
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=Tempoh Respon
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=Tempoh
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=Kependaman
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column, which is the
+# compressed / encoded size.
+netmonitor.toolbar.transferred=Dipindahkan
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=Saiz
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Garis masa
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=Pengepala
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Kuki
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Param
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Respons
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Pemasaan
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Timbunan Surih
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Keselamatan
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=Semua
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=Fon
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Imej
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Media
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=Lain-lain
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Tapis URLs
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=Ketahui selanjutnya perihal penapisan
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Log Kekal
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=Jika anda aktifkan pilihan ini, senarai yang.diminta tidak akan dihapuskan setiap kali anda melayari halaman baru
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Nyahdayakan cache
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Nyahdayakan cache HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Buang
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Jeda/Sambung merakam log rangkaian
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Mengeset semula Lajur
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Pemasaan
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=Pengepala Respon
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation.
+netmonitor.summary.learnMore=Ketahui selanjutnya perihal kod status
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=Edit dan Hantar semula
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name.
+netmonitor.response.name=Nama:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Dimensi:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's mime.
+netmonitor.response.mime=Jenis MIME:
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=Disekat:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=Resolusi DNS:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=Persediaan TLS:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=Menyambung:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=Menghantar:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=Menunggu:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=Menerima:
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=Ketahui selanjutnya perihal pemasaan
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=Sifer yang digunakan untuk enkripsi tidak sesuai dan tidak selamat.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=Ada ralat:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Versi protokol:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=Suit sifer:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=Kumpulan Pertukaran Utama:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=tiada
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=lazim
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=kumpulan tidak diketahui
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=Skema Tandatangan:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=tiada
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=skema tandatangan tidak diketahui
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP Keselamatan Pengangkutan Rapi:
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Penyematan Kunci Umum:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=Sambungan:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Sijil:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=URL ini sepadan dengan penjejak diketahui dan akan disekat dengan Sekatan Kandungan yang diaktifkan.
+
+# LOCALIZATION NOTE (netmonitor.context.copy): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copy=Salin
+
+# LOCALIZATION NOTE (netmonitor.context.copy.accesskey): This is the access key
+# for the copy sub-menu displayed in the context menu for a request
+netmonitor.context.copy.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=Salin URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=U
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=Salin Parameter URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=Salin Data %S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=D
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=Salin sebagai cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=Salin Pengepala Permintaan
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=Salin Pengepala Respon
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=Salin Respon
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=Salin Imej sebagai URI Data
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=Simpan Imej Sebagai
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Salin Semua Sebagai HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=Simpan Semua sebagai HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=Import Fail HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=Fail HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=Semua Fail
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=Edit dan Hantar semula
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=E
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=Buka dalam Tab Baru
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=Buka dalam Penyahpepijat
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=Buka Fail dalam Editor Gaya
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=G
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=Mula Analisa Prestasi…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=Permintaan Baru
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=Kaedah
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=URL
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=Rentetan Pertanyaan:
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=Pengepala Permintaan
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Permintaan Kandungan:
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Hantar
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Batal
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Undur
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (cache)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (service worker)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (cache, service worker)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = Letak fail HAR di sini
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=Eksport/Import HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=Tiada maklumat cache
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=Tidak Tersedia
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Saiz Data
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Luput
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Ambil Kiraan
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Terakhir Diambil
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Terakhir Diubah
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=Peranti
+
diff --git a/l10n-ms/devtools/client/network-throttling.properties b/l10n-ms/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..a7495d4cce
--- /dev/null
+++ b/l10n-ms/devtools/client/network-throttling.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingSelector
+# component used to throttle network bandwidth.
+#
+# 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 These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# 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 (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=Tanpa pendikitan
+
diff --git a/l10n-ms/devtools/client/perftools.ftl b/l10n-ms/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..5221519af7
--- /dev/null
+++ b/l10n-ms/devtools/client/perftools.ftl
@@ -0,0 +1,36 @@
+# 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 DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+## All of the headings for the various sections.
+
+##
+
+## The controls for the interval at which the profiler samples the code.
+
+##
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+##
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+##
+
+## Onboarding UI labels. These labels are displayed in the new performance panel UI, when
+## devtools.performance.new-panel-onboarding preference is true.
+
+## Profiler presets
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/popup/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+##
diff --git a/l10n-ms/devtools/client/responsive.properties b/l10n-ms/devtools/client/responsive.properties
new file mode 100644
index 0000000000..591946c5a7
--- /dev/null
+++ b/l10n-ms/devtools/client/responsive.properties
@@ -0,0 +1,125 @@
+# 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 Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# 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 These strings are used inside the Responsive Design Mode,
+# available from the Browser Tools sub-menu -> 'Responsive Design Mode'.
+#
+# 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 (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=Edit Senarai…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Tutup Mod Rekaan Responsif
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Putar viewport
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Responsif
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Dayakan simulasi sentuh
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Nyahdayakan simulasi sentuh
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Ambil skrinsyot port pandang
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=Skrinsyot %1$S pada %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=Responsive Design Mode hanya tersedia untuk tab pelayar remote, seperti yang digunakan untuk kandungan web content dalam multi-process Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Tukar nisbah piksel peranti port pandang
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=Nisbah piksel peranti secara automatik ditetapkan pada %1$S
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=Peranti Penyesuaian
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (Penyesuaian)
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device. The available width is very low, so you might see
+# overlapping text if the length is much longer than 5 or so characters.
+responsive.deviceAdderName=Nama
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device. The available width is very low, so you might see
+# overlapping text if the length is much longer than 5 or so characters.
+responsive.deviceAdderSize=Saiz
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Simpan
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=Size: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nTouch: %5$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=Muat semula apabila simulasi sentuh ditogol
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Muat semula apabila agen pengguna ditukar
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=Perubahan simulasi peranti perlu dimuatkan semula supaya dapat dilaksanakan. Muat semula automatik dinyahdayakan secara piawai untuk mengelakkan kehilangan perubahan dalam DevTools. Anda boleh mengaktifkannya semula melalui menu Tetapan.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Port pandang selaras-kiri
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Ejen Pengguna Tersuai
+
+responsive.showUserAgentInput=Papar ejen pengguna
+
diff --git a/l10n-ms/devtools/client/shared.properties b/l10n-ms/devtools/client/shared.properties
new file mode 100644
index 0000000000..b283ed23a3
--- /dev/null
+++ b/l10n-ms/devtools/client/shared.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 (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S×%S
+
diff --git a/l10n-ms/devtools/client/sourceeditor.properties b/l10n-ms/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..a6f0c1b3e6
--- /dev/null
+++ b/l10n-ms/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# 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 Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE 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 (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=Cari:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=Pergi ke baris…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=docs
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=tidak ditemui
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/l10n-ms/devtools/client/startup.properties b/l10n-ms/devtools/client/startup.properties
new file mode 100644
index 0000000000..701e22abd3
--- /dev/null
+++ b/l10n-ms/devtools/client/startup.properties
@@ -0,0 +1,237 @@
+# 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 (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Pilihan Kotak Alatan
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Pilihan
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Panel Pilihan Kotak Alatan
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Gelap
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Cerah
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Prestasi
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Panel Prestasi
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=P
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Prestasi (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Konsol Web
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Konsol
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Panel Console
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Konsol Web (%S)
+
+webConsoleCmd.accesskey=W
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Penyahpepijat
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Panel Penyahpepijat
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=P
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Editor Gaya
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Panel Editor Gaya
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Editor Gaya Hamparan (CSS) (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Pemeriksa
+inspector.accesskey=P
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Panel Pemeriksa
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=DOM dan Pemeriksa Gaya (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=DOM dan Pemeriksa Gaya (%1$S atau %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Rangkaian
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Panel Network
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=N
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Monitor Rangkaian (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=a
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Storan
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Pemeriksa Storan
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Panel Storan
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Pemeriksa Storan (Kuki, Storan Lokal, ...) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Memori
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Panel Memori
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Memori
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=Panel DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Ketercapaian
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Panel Aksesibiliti
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=k
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=Aplikasi
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Panel Aplikasi
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=Panel Aplikasi
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = Mod Reka bentuk Responsif (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = Ambil skrinsyot keseluruhan halaman
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = Togol pembaris halaman
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Ukur sebahagian daripada halaman
+
diff --git a/l10n-ms/devtools/client/storage.ftl b/l10n-ms/devtools/client/storage.ftl
new file mode 100644
index 0000000000..fb851133fa
--- /dev/null
+++ b/l10n-ms/devtools/client/storage.ftl
@@ -0,0 +1,91 @@
+# 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 Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Tapis item
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Tapis nilai
+
+# Add Item button title
+storage-add-button =
+ .title = Tambah item
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Buang Semua
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Buang Semua Kuki Sesi
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Hapus “{ $itemName }”
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Tambah item
+
+# Context menu action to delete all storage items from a given host
+# Variables:
+# $host (String) - Host for which we want to delete the items
+storage-context-menu-delete-all-from =
+ .label = Buang Semua Dari “{ $host }”
+
+## Header names of the columns in the Storage Table for each type of storage available
+## through the Storage Tree to the side.
+
+storage-table-headers-cookies-name = Nama
+storage-table-headers-cookies-value = Nilai
+storage-table-headers-cache-status = Status
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Kuki
+storage-tree-labels-local-storage = Storan Lokal
+storage-tree-labels-session-storage = Storan Sesi
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Storan Cache
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Kembangkan Anak tetingkap
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Runtuhkan Anak tetingkap
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Sesi
+
+# Heading displayed over the item value in the sidebar
+storage-data = Data
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Nilai Terhurai
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = Pangkalan data “{ $dbName }” akan dibuang selepas semua sambungan ditutup.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = Pangkalan data “{ $dbName }” tidak dapat dibuang.
diff --git a/l10n-ms/devtools/client/styleeditor.ftl b/l10n-ms/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..014ad6f97e
--- /dev/null
+++ b/l10n-ms/devtools/client/styleeditor.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+styleeditor-new-button =
+ .tooltiptext = Cipta dan tambah lembaran gaya baru ke atas dokumen tersebut
+ .accesskey = B
+styleeditor-import-button =
+ .tooltiptext = Mengimport dan melampirkan lembaran gaya yang sedia ada kepada dokumen itu
+ .accesskey = I
+styleeditor-visibility-toggle =
+ .tooltiptext = Togol ketampakan lembaran gaya
+ .accesskey = S
+styleeditor-save-button = Simpan
+ .tooltiptext = Simpan lembaran gaya ini ke dalam fail
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = Pilihan Editor Gaya
+styleeditor-media-rules = Aturan @media
+styleeditor-editor-textbox =
+ .data-placeholder = Taip CSS di sini.
+styleeditor-no-stylesheet = Halaman ini tiada lembaran gaya.
+styleeditor-no-stylesheet-tip = Mungkin anda ingin untuk <a data-l10n-name="append-new-stylesheet">lampirkan satu gaya lembaran yang baru</a>?
+styleeditor-open-link-new-tab =
+ .label = Buka Pautan dalam Tab Baru
+styleeditor-copy-url =
+ .label = Salin URL
+styleeditor-find =
+ .label = Cari
+ .accesskey = r
+styleeditor-find-again =
+ .label = Cari Lagi
+ .accesskey = g
+styleeditor-go-to-line =
+ .label = Langkau ke barisan…
+ .accesskey = L
diff --git a/l10n-ms/devtools/client/styleeditor.properties b/l10n-ms/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..b0811ba7e1
--- /dev/null
+++ b/l10n-ms/devtools/client/styleeditor.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 These strings are used inside the Style Editor.
+# LOCALIZATION NOTE 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 (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<lembaran gaya sebaris #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=Lembaran gaya baru #%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 peraturan.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=Lembaran gaya tidak dapat dimuatkan.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=Lembaran gaya tersebut tidak boleh disimpan.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Import lembaran gaya
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=Fail CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Simpan lembaran gaya
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=Fail CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
diff --git a/l10n-ms/devtools/client/toolbox-options.ftl b/l10n-ms/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..ae49bc12cc
--- /dev/null
+++ b/l10n-ms/devtools/client/toolbox-options.ftl
@@ -0,0 +1,128 @@
+# 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 for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Alatan Pembangun Piawai
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * Tidak disokong untuk sasaran kekotak alatan semasa
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = Alatan Pembangun dipasang oleh add-ons
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Butang Kotak Alatan Yang Ada
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Tema
+
+## Inspector section
+
+# The heading
+options-context-inspector = Pemeriksa
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Papar Gaya Pelayar
+options-show-user-agent-styles-tooltip =
+ .title = Mengaktifkan ini akan dapat memaparkan gaya piawai yang dimuatkan oleh pelayar.
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Trunkat atribut DOM
+options-collapse-attrs-tooltip =
+ .title = Trunkat atribut panjang dalam pemeriksa
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Unit warna piawai
+options-default-color-unit-authored = Seperti yang Ditetapkan
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-name = Nama Warna
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Editor Gaya
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = CSS Auto-lengkap
+options-stylesheet-autocompletion-tooltip =
+ .title = Ciri, nilai dan pemilih CSS auto-lengkap dalam Editor Gaya sebaik sahaja anda menaip
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Perilaku Skrinsyot
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Mainkan bunyi pengatup kamera
+options-screenshot-audio-tooltip =
+ .title = Dayakan audio kamera apabila mengambil skrinshot
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Keutamaan Editor
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Mengandai berasaskan inden pada konteks sumber
+options-sourceeditor-detectindentation-label = Mengesan inden
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Menyelitkan tutup pendakap secara automatik
+options-sourceeditor-autoclosebrackets-label = Auto tutup pendakap
+options-sourceeditor-expandtab-tooltip =
+ .title = Gunakan ruang dan bukannya aksara tab
+options-sourceeditor-expandtab-label = Inden menggunakan ruang
+options-sourceeditor-tabsize-label = Saiz tab
+options-sourceeditor-keybinding-label = Keybindings
+options-sourceeditor-keybinding-default-label = Piawai
+
+## Advanced section
+
+# The heading
+options-context-advanced-settings = Tetapan lanjutan
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Nyahdayakan Cache HTTP (apabila kotak alat dibuka)
+options-disable-http-cache-tooltip =
+ .title = Mengaktifkan pilihan ini akan menyahdayakan cache HTTP untuk semua tab yang ada kotak alat yang dibuka. Service Workers tidak terkesan dengan pilihan ini.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Nyahdayakan JavaScript *
+options-disable-javascript-tooltip =
+ .title = Mengaktifkan pilihan ini akan menyahdayakan JavaScript untuk tab semasa. Jika tab atau kotak alat ditutup maka tetapan ini akan diabaikan.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Dayakan pelayar chrome dan kotak alatan menyahpepijat add-ons
+options-enable-chrome-tooltip =
+ .title = Mengaktifkan pilihan ini akan membolehkan anda untuk menggunakan pelbagai alat pembangun dalam konteks pelayar (via Alatan > Pembangun Web > Kotak Alatan Pelayar) dan debug add-ons dari Pengurus Add-ons
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Dayakan nyahpepijat jauh
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Dayakan Service Workers menerusi HTTP (apabila kotak alatan terbuka)
+options-enable-service-workers-http-tooltip =
+ .title = Mengaktifkan pilihan ini akan mendayakan service workers menerusi HTTP untuk semua tab yang ada kotak alatan terbuka.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Dayakan Sumber Peta
+options-source-maps-tooltip =
+ .title = Jika anda aktifkan pilihan ini, sumber ini akan dipetakan di dalam alatan.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Sesi semasa sahaja, ulang muat laman
+
+##
+
diff --git a/l10n-ms/devtools/client/toolbox.ftl b/l10n-ms/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..a55f200b2e
--- /dev/null
+++ b/l10n-ms/devtools/client/toolbox.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/.
+
+
+### These messages are used in the DevTools toolbox.
+
+
+## These labels are shown in the "..." menu in the toolbox, and represent different
+## commands such as the docking of DevTools, toggling features, and viewing some
+## external links. Some of the commands have the keyboard shortcut shown next to
+## the label.
+
+toolbox-meatball-menu-dock-bottom-label = Dok ke bawah
+toolbox-meatball-menu-dock-left-label = Dok ke kiri
+toolbox-meatball-menu-dock-right-label = Dok ke kanan
+toolbox-meatball-menu-dock-separate-window-label = Tetingkap berasingan
+
+toolbox-meatball-menu-splitconsole-label = Papar konsol terpisah
+toolbox-meatball-menu-hideconsole-label = Sorok konsol terpisah
+
+toolbox-meatball-menu-settings-label = Tetapan
+toolbox-meatball-menu-documentation-label = Dokumentasi…
+toolbox-meatball-menu-community-label = Komuniti…
+
+# This menu item is only available in the browser toolbox. It forces the popups/panels
+# to stay visible on blur, which is primarily useful for addon developers and Firefox
+# contributors.
+toolbox-meatball-menu-noautohide-label = Nyahdayakan autosorok popup
+
+##
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
diff --git a/l10n-ms/devtools/client/toolbox.properties b/l10n-ms/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..27e6b0481e
--- /dev/null
+++ b/l10n-ms/devtools/client/toolbox.properties
@@ -0,0 +1,155 @@
+# 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 (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=Alatan Pembangun - %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=Alatan Pembangun - %1$S - %2$S
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Alatan Pembangun
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Alatan Pembangun
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.noContentProcessForTab.message)
+# Used as a message in the alert displayed when trying to open a browser
+# content toolbox and there is no content process running for the current tab
+toolbox.noContentProcessForTab.message=Tiada kandungan diproses untuk tab ini.
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditor is used.
+toolbox.viewCssSourceInStyleEditor.label=Buka Fail dalam Editor-Gaya
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=Buka Fail dalam Penyahpepijat
+
+toolbox.resumeOrderWarning=Halaman tidak menyambung memuat selepas disertakan dengan debugger. Untuk menyelesaikan masalah ini, sila tutup dan buka semula kotak alatan.
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match fullZoom*Cmd.commandkey values from browser.dtd
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=Pilih iframe sebagai dokumen sasaran semasa
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=Butang ini hanya tersedia dalam halaman dengan beberapa iframes
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=Sesuaikan Alatan Pembangun dan dapatkan bantuan
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Tutup Alatan Pembangun
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=Ralat sumber peta: %1$S\nURL Sumber: %2$S\nURL Sumber Peta: %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=Ralat semasa mendapatkan sumber asal: %1$S\nSource URL: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabelWithDeviceName): This is displayed
+# as a toolbox header in about:devtools-toolbox. about:devtools-toolbox is used for
+# instance when inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec on Pixel 2 (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+# The device name of runtime: %3$S
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=Status sambungan Kotak Alatan Pelayar:
+
diff --git a/l10n-ms/devtools/client/webconsole.properties b/l10n-ms/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..e339c6807f
--- /dev/null
+++ b/l10n-ms/devtools/client/webconsole.properties
@@ -0,0 +1,328 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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 (browserConsole.title): shown as the
+# title when opening the browser console popup
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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 (browserConsole.title): shown as the
+# title when opening the browser console popup
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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.
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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 (browserConsole.title): shown as the
+# title when opening the browser console popup
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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.
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The 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.
+
+browserConsole.title=Konsol Pelayar
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=Konsol Web mengelog masuk API (console.log, console.info, console.warn, console.error) telah dinyahdayakan oleh satu skrip dalam halaman ini.
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=Ketahui Selanjutnya
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<anonymous>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Async: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=Konsol telah dibersihkan.
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<tiada label>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=Pengira “%S” tidak wujud.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<tiada label kumpulan>
+
+maxTimersExceeded=nombor pemasa maksimum yang dibenarkan dalam halaman ini telah penuh.
+timerAlreadyExists=Pemasa “%S” sudah wujud.
+timerDoesntExist=Pemasa “%S” tidak wujud.
+timerJSError=Gagal memproses nama pemasa.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Sambungan tamat. Semak konsol ralat pada kedua-dua hujung sambungan untuk kebarangkalian mesej ralat. Buka semula konsol web untuk cubaan semula.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Sifat penapis
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 ulangan
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=Klik untuk pilih nod di dalam pemeriksa
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=Amaran Penipuan: Berwaspada ketika menampal sesuatu yang anda tidak faham. Ini mungkin membolehkan penyerang mencuri identiti atau mengambil alih kawalan komputer anda. Sila taip ‘%S’ di bawah (tidak perlu menekan butang masuk) untuk mengizinkan menampal.
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=izinkan menampal
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=Papar/hide butiran mesej.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Papar/sorok kumpulan.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(indeks)
+table.iterationIndex=(iteration index)
+table.key=Kekunci
+table.value=Nilai
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Ralat
+level.warn=Amaran
+level.info=Info
+level.log=Log
+level.debug=Nyahpepijat
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=Salin Lokasi Pautan
+webconsole.menu.copyURL.accesskey=a
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=Buka URL di Tab Baru
+webconsole.menu.openURL.accesskey=T
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=Buka dalam Panel Rangkaian
+webconsole.menu.openInNetworkPanel.accesskey=R
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Simpan sebagai pembolehubah global
+webconsole.menu.storeAsGlobalVar.accesskey=S
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=Salin mesej
+webconsole.menu.copyMessage.accesskey=S
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=Salin objek
+webconsole.menu.copyObject.accesskey=o
+
+webconsole.menu.openInSidebar.accesskey=B
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=Buang output Konsol Web
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=Togol bar penapis
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Tapis output
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=Ralat
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=Amaran
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=Log
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=Info
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=Nyahpepijat
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=Permintaan
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=Navigasi ke %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Tutup Konsol Berpisah (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Tutup Bar Sisi
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=Sejarah carian
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=Tutup (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=#1 daripada #2 keputusan
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=Tiada keputusan
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=Keputusan dahulu (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=Keputusan berikut (%S)
+
+
diff --git a/l10n-ms/devtools/shared/accessibility.properties b/l10n-ms/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..33da94e371
--- /dev/null
+++ b/l10n-ms/devtools/shared/accessibility.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 (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=Kontras: %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=Tidak dapat mengira
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=Kontras:
+
diff --git a/l10n-ms/devtools/shared/debugger-paused-reasons.ftl b/l10n-ms/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..ba3e27a5da
--- /dev/null
+++ b/l10n-ms/devtools/shared/debugger-paused-reasons.ftl
@@ -0,0 +1,55 @@
+# 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 Debugger which is available from the Web
+### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger
+### Overlay" that is displayed in the content page when it pauses.
+
+
+### 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.
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused due to a `debugger` statement in the code
+whypaused-debugger-statement = Jeda pada penyataan penyahpepijat
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Jeda pada titik putus
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Jeda pada pengecualian
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused while stepping in or out of the stack
+whypaused-resume-limit = Jeda semasa jenjang
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a dom event
+whypaused-pause-on-dom-events = Jeda pada pendengar acara
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Ralat dengan titik putus bersyarat
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Jeda pada janji penolakan
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Jeda pada penegasan
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Jeda pada fungsi nyahpepijat
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Penyahpepijat jeda
diff --git a/l10n-ms/devtools/shared/debugger.properties b/l10n-ms/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..efda5f4b5c
--- /dev/null
+++ b/l10n-ms/devtools/shared/debugger.properties
@@ -0,0 +1,67 @@
+# 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 Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# 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 These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# 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 (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Sambungan Masuk
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=Permintaan diterima untuk mengizinkan sambungan penyahpepijat jauh dikesan. Klien jauh boleh mengambil kawalan sepenuhnya ke atas pelayar anda!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=Titik akhir Klien: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=Titik akhir Pelayan: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=Izinkan sambungan?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=Nyahdayakan
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Pengenalan Klien
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=Titik akhir yang sedang anda berhubungan memerlukan lebih banyak maklumat untuk mengesahkan sambungan internet ini.  Sila berikan token di bawah prom yang muncul pada titik akhir yang lain.
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=My Cert: %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=Token: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Sediakan Token Klien
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=Klien sepatutnya papar nilai token.  Masukkan nilai token di sini untuk melengkapkan pengesahan dengan klien ini.
diff --git a/l10n-ms/devtools/shared/eyedropper.properties b/l10n-ms/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..dc8b093ac2
--- /dev/null
+++ b/l10n-ms/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE 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 (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=disalin
diff --git a/l10n-ms/devtools/shared/highlighters.ftl b/l10n-ms/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..03c559af7c
--- /dev/null
+++ b/l10n-ms/devtools/shared/highlighters.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/.
+
+
+### This file contains strings used in highlighters.
+### Highlighters are visualizations that DevTools draws on top of content to aid
+### in understanding content sizing, etc.
+
+# The row and column position of a grid cell shown in the grid cell infobar when hovering
+# over the CSS grid outline.
+# Variables
+# $row (integer) - The row index
+# $column (integer) - The column index
+grid-row-column-positions = Baris { $row } / Lajur { $column }
+
diff --git a/l10n-ms/devtools/shared/screenshot.properties b/l10n-ms/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..cf615a1b3c
--- /dev/null
+++ b/l10n-ms/devtools/shared/screenshot.properties
@@ -0,0 +1,127 @@
+# 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 Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# 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 These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# 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 (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=Simpan imej halaman
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=Nama fail destinasi
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=Nama fail (perlu ada ekstensi ‘.png') yang kita tulis skrinsyot padanya.
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=Salin skrinsyot ke klipbod? (true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=True jika anda mahu salin skrinsyot, bukan menyimpannya menjadi fail.
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=Pilihan
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=Lengah (saat)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=Tempoh menunggu (dalam saat) sebelum skrinsyot diambil
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=Nisbah piksel peranti
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=Nisbah piksel peranti yang digunakan apabila mengambil skrinsyot
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=Seluruh halaman web? (true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=True jika skrinsyot juga perlu memasukkan bahagian laman web yang berada di luar batasan skrol semasa.
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=Simpan ke fail? (true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=True jika skrinsyot perlu simpan fail walaupun pilihan lain didayakan (contoh, klipbod).
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=Skrinsyot %1$S pada %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=Ralat menyimpan %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=Disimpan ke %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Ralat berlaku semasa menyalin skrinsyot ke klipbod.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Skrinsyot disalin ke klipbod.
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=Pemilih CSS
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=Pemilih CSS untuk digunakan dengan document.querySelector yang mengenal pasti elemen tunggal
+
diff --git a/l10n-ms/devtools/shared/shared.properties b/l10n-ms/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/l10n-ms/devtools/shared/shared.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/.
+
+# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character
+ellipsis=…
diff --git a/l10n-ms/devtools/shared/styleinspector.properties b/l10n-ms/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..9f51e9aa9e
--- /dev/null
+++ b/l10n-ms/devtools/shared/styleinspector.properties
@@ -0,0 +1,194 @@
+# 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 Style 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 (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=Padanan Terbaik
+rule.status.MATCHED=Padanan
+rule.status.PARENT_MATCH=Parent Match
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline): For each
+# style property the panel shows the rules which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), or from the element itself (element).
+rule.sourceInline=sebaris
+rule.sourceElement=elemen
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=Diwarisi dari %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=Keyframes %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(agen pengguna)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Elemen-Pseudo
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=Elemen Ini
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=Nilai property tidak sah
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=Nama sifat tidak sah
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=Tapis peraturan yang ada sifat ini
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=Tiada elemen dipilih.
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S tidak ditetapkan
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=Serlahkan semua elemen yang sepadan pemilih ini
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=Klik untuk membuka pengutip warna, shift + klik untuk menukar format warna
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=Klik untuk membuka editor fungsi-pemasaan
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=Klik untuk membuka editor penapis
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Shift+klik untuk mengubah format sudut
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=Klik untuk togol penyerlah Flexbox
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=Klik untuk togol CSS Grid highlighter
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Salin Warna
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=S
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=Salin URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=S
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=Salin Imej Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=I
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=Gagal untuk menyalin imej Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Papar Sumber Asal
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=S
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=Tambah Peraturan Baru
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=P
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=Pilih Semua
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=S
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Salin
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=S
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=Salin Lokasi
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Salin Nama Sifat
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Salin Nilai Sifat
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Salin Peraturan
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Salin Pemilih
diff --git a/l10n-ms/devtools/startup/key-shortcuts.ftl b/l10n-ms/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..fa9d562104
--- /dev/null
+++ b/l10n-ms/devtools/startup/key-shortcuts.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/.
+
+# Key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox = I
+# Alternative key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox-f12 = VK_F12
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+devtools-commandkey-browser-toolbox = I
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+devtools-commandkey-browser-console = J
+# Key pressed to toggle on the Responsive Design Mode
+devtools-commandkey-responsive-design-mode = M
+# Key pressed to open a toolbox with the inspector panel selected
+devtools-commandkey-inspector = C
+# Key pressed to open a toolbox with the web console panel selected
+devtools-commandkey-webconsole = K
+# Key pressed to open a toolbox with the network monitor panel selected
+devtools-commandkey-netmonitor = E
+# Key pressed to open a toolbox with the style editor panel selected
+devtools-commandkey-styleeditor = VK_F7
+# Key pressed to open a toolbox with the performance panel selected
+devtools-commandkey-performance = VK_F5
+# Key pressed to open a toolbox with the storage panel selected
+devtools-commandkey-storage = VK_F9
+# Key pressed to open a toolbox with the DOM panel selected
+devtools-commandkey-dom = W
diff --git a/l10n-ms/dom/chrome/accessibility/AccessFu.properties b/l10n-ms/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..2e6cdc5793
--- /dev/null
+++ b/l10n-ms/dom/chrome/accessibility/AccessFu.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/.
+
+# Roles
+menubar = bar menu
+scrollbar = bar skrol
+grip = genggam
+alert = amaran
+menupopup = menu popup
+document = dokumen
+pane = tetingkap
+dialog = dialog
+separator = pemisah
+toolbar = bar alat
+statusbar = bar status
+table = jadual
+columnheader = pengepala kolum
+rowheader = pengepala baris
+column = lajur
+row = baris
+cell = sel
+link = pautan
+list = senarai
+listitem = senarai item
+outline = garisan luar
+outlineitem = item garis panduan
+pagetab = tab
+propertypage = ciri laman
+graphic = grafik
+switch = tukar
+pushbutton = butang
+checkbutton = butang semak
+radiobutton = butang radio
+combobox = kekotak kombo
+progressbar = bar kemajuan
+slider = gelangsar
+spinbutton = butang berputar
+diagram = gambarajah
+animation = animasi
+equation = persamaan
+buttonmenu = butang menu
+whitespace = ruang kosong
+pagetablist = senarai tab
+canvas = canvas
+checkmenuitem = item menu semak
+passwordtext = teks kata laluan
+radiomenuitem = item menu radio
+textcontainer = bekas teks
+togglebutton = butang togol
+treetable = jadual pepohon
+header = pengepala
+footer = pekaki
+paragraph = perenggan
+entry = kemasukan
+caption = sari kata
+heading = tajuk
+section = seksyen
+form = borang
+comboboxlist = senarai kotak kombo
+comboboxoption = pilihan kotak kombo
+imagemap = peta imej
+listboxoption = pilihan
+listbox = kotak senarai
+flatequation = persamaan rata
+gridcell = sel petak
+note = nota
+figure = rajah
+definitionlist = senarai definisi
+term = syarat
+definition = definisi
+
+mathmltable = rajah matematik
+mathmlcell = sel
+mathmlenclosed = tertutup
+mathmlfraction = pecahan
+mathmlfractionwithoutbar = pecahan tanpa bar
+mathmlroot = root
+mathmlscripted = scripted
+mathmlsquareroot = punca kuasa dua
+
+# More sophisticated roles which are not actual numeric roles
+textarea = ruang teks
+
+base = asas
+close-fence = closing fence
+denominator = penyebut
+numerator = numerator
+open-fence = pagar pembukaan
+overscript = overscript
+presubscript = presubscript
+presuperscript = presuperscript
+root-index = indeks root
+subscript = subscript
+superscript = superskrip
+underscript = underscript
+
+# More sophisticated object descriptions
+headingLevel = tahap tajuk %S
+
+# Landmark announcements
+banner = banner
+complementary = pelengkap
+contentinfo = info kandungan
+main = utama
+navigation = navigasi
+search = cari
+
+stateRequired = diminta
+
diff --git a/l10n-ms/dom/chrome/accessibility/mac/accessible.properties b/l10n-ms/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..356a1fb214
--- /dev/null
+++ b/l10n-ms/dom/chrome/accessibility/mac/accessible.properties
@@ -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/.
+
+jump = Langkau
+press = Tekan
+check = Semak
+uncheck = Nyahtanda
+select = Pilih
+open = Buka
+close = Tutup
+switch = Tukar
+click = Klik
+collapse= Runtuh
+expand = Kembangkan
+activate= Aktifkan
+cycle = Kitaran
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = Kandungan HTML
+# The Role Description for the Tab button.
+tab = tab
+# The Role Description for definition list dl, dt and dd
+term = terma
+definition = definisi
+# The Role Description for an input type="search" text field
+searchTextField = carian medan teks
+# The Role Description for WAI-ARIA Landmarks
+application = aplikasi
+search = cari
+banner = banner
+navigation = navigasi
+complementary = pelengkap
+content = kandungan
+main = utama
+# The (spoken) role description for various WAI-ARIA roles
+alert = amaran
+alertDialog = dialog amaran
+article = artikel
+document = dokumen
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = gambar
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = tajuk
+log = log
+marquee = marquee
+math = math
+note = nota
+region = wilayah
+status = status aplikasi
+timer = pemasa
+tooltip = panduan alatan
+separator = pemisah
+tabPanel = panel tab
diff --git a/l10n-ms/dom/chrome/accessibility/unix/accessible.properties b/l10n-ms/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..6ed0e11e81
--- /dev/null
+++ b/l10n-ms/dom/chrome/accessibility/unix/accessible.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/.
+
+jump = Langkau
+press = Tekan
+check = Semak
+uncheck = Nyahtanda
+select = Pilih
+open = Buka
+close = Tutup
+switch = Tukar
+click = Klik
+collapse= Runtuh
+expand = Kembangkan
+activate= Aktifkan
+cycle = Kitaran
diff --git a/l10n-ms/dom/chrome/accessibility/win/accessible.properties b/l10n-ms/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..6ed0e11e81
--- /dev/null
+++ b/l10n-ms/dom/chrome/accessibility/win/accessible.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/.
+
+jump = Langkau
+press = Tekan
+check = Semak
+uncheck = Nyahtanda
+select = Pilih
+open = Buka
+close = Tutup
+switch = Tukar
+click = Klik
+collapse= Runtuh
+expand = Kembangkan
+activate= Aktifkan
+cycle = Kitaran
diff --git a/l10n-ms/dom/chrome/appstrings.properties b/l10n-ms/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..bb00788ab6
--- /dev/null
+++ b/l10n-ms/dom/chrome/appstrings.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Sila semak bahawa URL adalah betul dan cuba lagi.
+fileNotFound=Fail %S tidak ditemui. Sila semak lokasi dan cuba lagi.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=%S tidak dapat ditemui. Sila semak nama dan cuba lagi.
+unknownProtocolFound=Satu daripada (%S) berikut bukanlah protokol yang didaftarkan atau tidak dibenarkan di dalam konteks ini.\u0020
+connectionFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi %S.
+netInterrupt=Sambungan kepada %S telah dihentikan tanpa dijangka. Terdapat data yang telah dipindahkan.
+netTimeout=Operasi telah tamat tempoh ketika cuba menghubungi %S.
+redirectLoop=Had pelencongan untuk URL telah melebihi had. Tidak dapat memuat halaman diminta. Ini mungkin disebabkan oleh kuki yang telah disekat.
+confirmRepostPrompt=Untuk memaparkan halaman ini, aplikasi perlu menghantar maklumat yang memungkinkan berulangnya sebarang aktivi (seperti carian atau pengesahan pesanan) yang telah dibuat sebelum ini.
+resendButton.label=Hantar Semula
+unknownSocketType=Dokumen ini tidak dapat dipaparkan melainkan anda memasang Pengurus Sekuriti Peribadi (PSM). Muaturun dan pasang PSM dan cuba lagi, atau hubungi pentadbir sistem anda.
+netReset=Dokumen tidak mengandungi data.
+notCached=Dokumen ini sudah tiada.
+netOffline=Dokumen ini tidak dapat dipaparkan ketika di luar talian. Untuk pergi atas talian, nyahtanda Kerja Luar talian daripada menu Fail.
+isprinting=Dokumen tidak boleh diubah ketika Mencetak atau dalam Previu Cetak.
+deniedPortAccess=Capaian ke nombor port yang diberi telah dinyahdayakan atas alasan keselamatan.
+proxyResolveFailure=Pelayan proksi yang anda konfigur tidak dapat ditemui. Sila periksa tetapan proksi anda dan cuba lagi.
+proxyConnectFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi pelayan proksi yang telah anda konfigur. Sila periksa tetapan proksi anda dan cuba lagi.
+contentEncodingError=Halaman yang anda cuba lihat tidak boleh dipaparkan kerana cara pemampatan yang digunakan tidak sah atau tidak disokong.
+unsafeContentType=Halaman yang anda cuba lihat tidak dapat dipaparkan kerana mengandungi fail yang berkemungkinan tidak selamat untuk dibuka. Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+malwareBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+unwantedBlocked=Laman %S telah dilaporkan menyediakan perisian yang tidak diingini dan telah disekat berdasarkan kepada keutamaan anda.
+deceptiveBlocked=Halaman web %S telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.
+cspBlocked=Halaman ini mengandungi polisi keselamatan kandungan yang mencegah laman dimuatkan sebegini.
+corruptedContentErrorv2=Laman ini %S telah mengalami pencabulan protokol rangkaian yang tidak boleh dibaiki.
+sslv3Used=Keselamatan data anda pada %S tidak dapat dijamin kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+weakCryptoUsed=Pemilik %S telah mengkonfigurasi laman web mereka dengan tidak betul. Untuk meliindungi maklumat anda daripada dicuri, sambungan ke laman web ini tidak dilaksanakan.
+inadequateSecurityError=Laman web cuba menggunakan tahap keselamatan yang tidak sesuai.
+blockedByPolicy=Organisasi anda telah menyekat akses ke halaman atau laman web ini.
+networkProtocolError=Firefox mengalami pelanggaran protokol rangkaian yang tidak dapat diperbaiki.
diff --git a/l10n-ms/dom/chrome/dom/dom.properties b/l10n-ms/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..7c5b94e7cb
--- /dev/null
+++ b/l10n-ms/dom/chrome/dom/dom.properties
@@ -0,0 +1,315 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Amaran: Skrip tidak responsif
+KillScriptMessage=Skrip dalam halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, atau biarkan skrip menilai samada skrip akan siap.
+KillScriptWithDebugMessage=Skrip pada halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, buka skrip dalam penyahpepijat, atau biarkan skrip meneruskannya.
+KillScriptLocation=Skrip: %S
+
+KillAddonScriptTitle=Amaran: Skrip add-on tidak responsif
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Skrip ekstensi “%1$S” sedang dilaksanakan dalam halaman ini, dan membuatkan %2$S tidak responsif.\n\nMungkin sedang sibuk atau berhenti memberikan respons secara kekal. Anda boleh hentikan skrip sekarang, atau teruskan untuk memastikan samada boleh disiapkan atau tidak.
+KillAddonScriptGlobalMessage=Halang skrip ekstensi daripada dilaksanakan dalam halaman ini sehingga dimuatkan semula
+
+StopScriptButton=Henti skrip
+DebugScriptButton=Skrip nyahpijat
+WaitForScriptButton=Teruskan
+DontAskAgain=&Jangan tanya saya lagi
+WindowCloseBlockedWarning=Skrip tidak dapat menutup tetingkap yang bukan dibuka oleh skrip.
+OnBeforeUnloadTitle=Adakah anda pasti?
+OnBeforeUnloadStayButton=Kekal pada Halaman
+OnBeforeUnloadLeaveButton=Tinggalkan Halaman
+EmptyGetElementByIdParam=Rentetan kosong dihantar ke getElementById().
+DocumentWriteIgnored=Panggilan untuk document.write() daripada satu muatan tidak selari skrip luaran telah diabaikan.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Gagal meletakkan fail ke dalam elemen contenteditable: %S.
+FormValidationTextTooLong=Sila pendekkan teks ini kepada kurang atau sama dengan %S aksara (anda sedang menggunakan %S aksara).
+FormValidationTextTooShort=Sila gunakan sekurang-kurangnya %S aksara (anda sekarang menggunakan %S aksara).
+FormValidationValueMissing=Sila isikan ruang ini.
+FormValidationCheckboxMissing=Sila tandakan kotak ini jika anda ingin teruskan.
+FormValidationRadioMissing=Sila pilih salah satu dari pilihan ini.
+FormValidationFileMissing=Sila pilih satu fail.
+FormValidationSelectMissing=Sila pilih salah satu dari senarai.
+FormValidationInvalidEmail=Sila masukkan alamat e-mel.
+FormValidationInvalidURL=Sila masukkan URL.
+FormValidationInvalidDate =Sila masukkan tarikh yang sah.
+FormValidationPatternMismatch=sila padankan format yang diminta.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Sila padankan format yang diminta: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Sila pilih nilai yang tidak melebihi %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Sila pilih nilai yang tidak lewat daripada %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Sila pilih nilai yang tidak kurang daripada %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Sila pilih nilai yang tidak awal daripada %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Silih pilih nilai yang sah. Pilihan sah yang terdekat adalah %S dan %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Sila pilih nilai yang sah. Nilai yang terhampir adalah %S.
+FormValidationBadInputNumber=Sila masukkan nombor.
+FullscreenDeniedDisabled=Permintaan untuk skrin penuh ditolak kerana API Skrin penuh dinyahdayakan dalam keutamaan pengguna.
+FullscreenDeniedFocusedPlugin=Permintaan untuk skrin penuh ditolak kerana plugin tetingkap ditumpukan.
+FullscreenDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+FullscreenDeniedContainerNotAllowed=Meminta kepada skrin penuh telah dihentikan kerana sekurangnya satu daripada satu dokumen mengandungi iframes yang tidak mempunyai satu atribut "allowfullscreen".
+FullscreenDeniedNotInputDriven=Permintaan untuk format ditolak kerana Element.requestFullscreen() tidak dipanggil dari dalam pengendali peristiwa jangka pendek user-generated.
+FullscreenDeniedNotHTMLSVGOrMathML=Permintaan skrin penuh ditolak kerana elemen yang meminta bukan <svg>, <math>, atau HTML.
+FullscreenDeniedNotInDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta tiada lagi dalam dokumen.
+FullscreenDeniedMovedDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta telah memindahkan dokumen.
+FullscreenDeniedLostWindow=Permintaan skrin penuh ditolak kerana kami tidak lagi ada tetingkap.
+FullscreenDeniedSubDocFullscreen=Permintaan skrin penuh ditolak kerana subdokumen kepada dokumen yang meminta skrin penuh sudah pun skrin penuh.
+FullscreenDeniedNotDescendant=Permintaan skrin penuh ditolak kerana elemen yang meminta tidak ada hubungan dengan elemen skrin penuh semasa.
+FullscreenDeniedNotFocusedTab=Permintaan skrin penuh ditolak kerana elemen yang meminta bukanlah tab yang sedang ditumpukan sekarang.
+FullscreenDeniedFeaturePolicy=Permintaan skrin penuh ditolak kerana direktif FeaturePolicy.
+RemovedFullscreenElement=Terkeluar skrin penuh kerana elemen skrin penuh telah dibuang dari dokumen.
+FocusedWindowedPluginWhileFullscreen=Terkeluar skrin penuh kerana plugin tetingkap ditumpukan.
+PointerLockDeniedDisabled=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dinyahdayakan oleh keutamaan pengguna.
+PointerLockDeniedInUse=Permintaan untuk kunci penunjuk ditolak kerana penuding pada masa ini dikawal oleh dokumen yang berlainan.
+PointerLockDeniedNotInDocument=Permintaan untuk kunci penunjuk ditolak kerana unsur meminta tidak dalam dokumen.
+PointerLockDeniedSandboxed=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dihadkan via sandbox.
+PointerLockDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+PointerLockDeniedNotFocused=Permintaan untuk kunci penunjuk ditolak kerana dokumen tidak difokus.
+PointerLockDeniedMovedDocument=Permintaan untuk kunci penunjuk ditolak kerana elemen yang meminta telah memindahkan dokumen.
+PointerLockDeniedNotInputDriven=Permintaan untuk kunci penunjuk ditolak kerana Element.requestPointerLock() tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna, dan dokumen tidak skrin penuh.
+PointerLockDeniedFailedToLock=Permintaan untuk kunci penunjuk ditolak kerana pelayar gagal mengunci penunjuk.
+HTMLSyncXHRWarning=Permintaan menghuraikan HTML dalam XMLHttp tidak disokong dalam mod segerak.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Percubaan untuk menetapkan forbidden header telah ditolak: %S
+ResponseTypeSyncXHRWarning=Penggunaan atribut XMLHttpRequest's responseType tidak lagi disokong pada mod segerak dalam konteks tetingkap.
+TimeoutSyncXHRWarning=Penggunaan daripada XMLHttpRequest's atribut masa tamat adalah tidak disokong dalam mod sinkronis dalam konteks tetingkap.
+JSONCharsetWarning=Satu percubaan telah dibuat untuk mengisytiharkan pengekodan bukan UTF-8 untuk JSON yang diambil menggunakan XMLHttpRequest. Hanya pengekodan UTF-8 yang disokong JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement yang dihantar ke createMediaElementSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream yang dihantar ke createMediaStreamSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=Tangkapan HTMLMediaElement sedang memainkan MediaStream. Status suara atau senyap tidak disokong pada masa ini.
+MediaLoadExhaustedCandidates=Semua sumber-sumber calon gagal dilaksanakan. Pelaksanaan media diberhentikan sementara.
+MediaLoadSourceMissingSrc=<source> elemen tidak mempunyai "src" atribut. Beban sumber media gagal.
+MediaStreamAudioSourceNodeDifferentRate=Menyambung AudioNodes dari AudioContexts dengan kadar sampel yang berbeza pada masa ini tidak disokong.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Muatkan HTTP gagal dengan status %1$S. Gagal muatkan sumber media %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI tidak sah. Memuatkan sumber media %S gagal.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Dinyatakan "jenis" sifat "%1$S" tidak disokong. Muatan sumber media %2$S gagal.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=HTTP "Content-Type" tidak disokong oleh "%1$S". Proses muat turun sumber %2$S gagal.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Media sumber %S tidak dapat dinyahkod.
+MediaWidevineNoWMF=Cuba memainkan Widevine tanpa Windows Media Foundation. Lihat https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Untuk memainkan video format %S, anda perlu memasang perisian tambahan Microsoft, rujuk https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Video pada halaman ini tidak boleh dimainkan. Sistem anda mungkin tidak ada kodeks video yang diperlukan untuk: %S
+MediaUnsupportedLibavcodec=Video dalam halaman ini tidak dapat dimainkan. Sistem anda tidak menyokong versi lobavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Sumber media %1$S tidak dapat dinyahkod, ralat: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Sumber media %1$S mungkin boleh dinyahkod, tetapi dengan ralat: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Tidak boleh memainkan media. Tiada dekoder untuk format yang diminta: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Tiada dekorder untuk sebahagian format yang diminta: %S
+MediaCannotInitializePulseAudio=Tidak dapat menggunakan PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Menggunakan Sambungan Media Enkripsi pada %S yang tidak selamat (iaitu bebas-HTTPS) konteks adalah tidak digalakkan dan tidak lama lagi akan dihapuskan. Anda harus mempertimbangkan beralih kepada sumber asal yang selamat seperti HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Penggunaan Mutation Events telah tamat. Sebaliknya, gunakan MutationObserver.
+BlockAutoplayError=Automain hanya diizinkan jika disahkan oleh pengguna, laman diaktifkan oleh pengguna atau media disenyapkan.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Objek Komponen dikecam. Ia akan dikeluarkan tidak lama lagi.
+PluginHangUITitle=Amaran: Skrip tidak responsif
+PluginHangUIMessage=%S mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan plugin sekarang, atau biarkan skrip meneruskan untuk melihat jika skrip akan selesai.
+PluginHangUIWaitButton=Teruskan
+PluginHangUIStopButton=Hentikan plugin
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Memanggil detach() pada NodeIterator tidak lagi ada kesan.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Mengabaikan dapatkan atau tetapkan ciri yang mempunyai [LenientThis] kerana objek "this" tidak betul.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Penggunaan captureEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 addEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Penggunaan releaseEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 removeEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=XMLHttp segerak pada tajuk utama dikecam kerana kesan buruknya kepada pengalaman pengguna akhir. Untuk bantuan yang lebih http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers telah diabaikan. Jangan gunakannya untuk mengesan UA.
+ImportXULIntoContentWarning=Mengimport nod XUL kepada kandungan dokumen telah dikecam. Fungsian ini mungkin akan disingkirkan tidak lama lagi.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Transaksi IndexedDB yang masih belum selesai telah dibatalkan kerana navigasi halaman.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Penggunaan memori Will-change terlalu tinggi. Had bajet pada kawasan permukaan dokumen didarab dengan %1$S (%2$S px). Ulangan will-change ke atas bajet akan diabaikan.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Worker tidak dapat dimulakan dengan serta-merta kerana dokumen lain dalam origin yang sama telah menggunakan bilangan maksimum worker. Worker sekarang dibaris gilir dan akan dimulakan selepas beberapa worker lain sudah siap.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Cache Aplikasi API (AppCache) tidak sesuai dan akan dialih keluar pada masa akan datang.  Sila pertimbangkan menggunakan ServiceWorker untuk sokongan luar talian.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Mencuba mencipta Worker daripada sumber kosong. Ini mungkin tidak disengajakan.
+WebrtcDeprecatedPrefixWarning=Antara muka WebRTC dengan “moz” prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) tidak sesuai.
+NavigatorGetUserMediaWarning=pengemudi. mozGetUserMedia telah diganti oleh pengemudi. mediaDevicesmediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams tidak sesuai. Sebaliknya, gunakan RTCPeerConnection.getSenders/getReceivers.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Gagal memuatkan ‘%S’. ServiceWorker telah memintas permintaan dan menemui ralat yang tidak dijangka.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Gagal memuatkan ‘%1$S’ dengan respon ‘%2$S’. ServiceWorker tidak dibenarkan untuk mensintesis Respon cors bagi Permintaan asal-sama.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan opaque Response kepada FetchEvent. respondWith() semasa mengendali ‘%2$S’FetchEvent. Objek Opaque Response hanya sah apabila RequestMode ialah ‘no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Error Response kepada FetchEvent.respondWith(). Ini biasanya bermakna ServiceWorker melaksanakan panggilan fetch() yang tidak sah.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Response terpakai kepada FetchEvent.respondWith(). Response hanya boleh dibaca sekali sahaja. Gunakan Response.clone() untuk mengaksesnya beberapa kali.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan opaqueredirect Response kepada FetchEvent.respondWith() semasa mengendalikan non-navigasi FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan redirected Response kepada FetchEvent.respondWith() manakala RedirectMode pula tidak ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Gagal memuatkan ‘%S’. ServiceWorker membatalkan memuat dengan memanggil FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang ditolak dengan ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang dselesaikan dengan nilai non-Response ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "mozImageSmoothingEnabled", or "imageSmoothingEnabled"
+PrefixedImageSmoothingEnabledWarning=Penggunaan mozImageSmoothingEnabled tidak sesuai. Sila gunakan ciri unprefixed imageSmoothingEnabled.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Gagal mendaftar ServiceWorker: laluan skop yang disediakan ‘%1$S’ tidak di bawah skop maksimum yang dibenarkan ‘%2$S’. Ubah skop, pindahkan skrip Service Worker, atau gunakan pengepala HTTP Service-Worker-Allowed untuk mengizinkan skop.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Gagal mendaftar /update ServiceWorker bagi skop ‘%1$S’: Memuat gagal dengan status %2$S untuk skrip ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Gagal mendaftar/mengemaskini ServiceWorker untuk skop ‘%1$S’: Content-Type rosak ‘%2$S’ diterima untuk skrip ‘%3$S’. Mesti jenis MIME JavaScript.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Gagal mendaftar/kemaskini ServiceWorker untuk skop ‘%S’: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetRegistrationStorageError=Gagal mendapatkan pendaftaran service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetClientStorageError=Gagal mendapatkan klien service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker bagi skop ‘%S’ gagal melaksanakan 'postMessage' kerana akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Menamatkan ServiceWorker bagi skop ‘%1$S’ dengan promises tertangguh waitUntil/respondWith kerana ihsan tamat tempoh.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Fetch event handlers must be added during the worker script’s initial evaluation.
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) telah ditolak kerana tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna.
+ManifestShouldBeObject=Manifes mestilah sebuah objek.
+ManifestScopeURLInvalid=Skop URL tidak sah.
+ManifestScopeNotSameOrigin=Skop URL mesti sama origin dengan dokumen.
+ManifestStartURLOutsideScope=URL permulaan di luar skop, jadi skop in tidak sah.
+ManifestStartURLInvalid=URL permulaan tidak sah.
+ManifestStartURLShouldBeSameOrigin=Permulaan URL mesti sama origin dengan dokumen.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Dijangka %1$S’ %2$S ahli kepada %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S bukan warna CSS yang sah.
+PatternAttributeCompileFailure=Tidak dapat menyemak <input pattern='%S'> kerana bukan corak regexp yang sah: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Gagal melaksanakan ‘postMessage’ pada ‘DOMWindow’: Origin sasaran yang disediakan (‘%S’) tidak sepadan dengan origin tetingkap penerima (‘%S’).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Menulis semula YouTube Flash gaya lama yang diterap (%S) ke iframe yang diterap (%S). Sila kemaskini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Menulis semula gaya-lama YouTube Flash yang diterap (%S) ke iframe yang diterap (%S). Params tidak disokong oleh iframe yang diterap dan ditukar. Sila kemas kini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Encryption’ perlu menyertakan parameter unik ‘salt‘ bagi setiap mesej. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Crypto-Key’ perlu menyertakan parameter ‘dh‘ yang mengandungi kunci awam pelayan app. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Encryption-Key' perlu menyertakan parameter 'dh'. Pengepala ini tidak sesuai dan akan dialih keluar tidak lama lagi. Sila gunakan 'Crypto-Key' dengan 'Content-Encoding: aesgcm'. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Content-Encoding' mesti 'aesgcm'. ‘aescgm128‘ dibolehkan, tetapi tidak sesuai dan akan dialih keluar tidak lama lagi. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'dh' dalam pengepala 'Crypto-Key' mesti kunci awam pelayan app Diffie-Hellman, base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C) dan dalam "uncompressed" atau bentuk "raw" (65 bait sebelum pengekodan). Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'salt' dalam pengepala 'Encryption' mesti base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C), dan sekurang-kurangnya 16 bait sebelum pengekodan. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'rs' pengepala 'Encryption' mesti di antara %2$S and 2^36-31, atau dibuang. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Rekod dalam mesej yang dienkripsi tidak disertakan dengan betul. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Untuk bantuan perihal enkripsi, sila rujuk https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Mengabaikan panggilan ‘preventDefault()’ pada acara jenis ‘%1$S’ daripada pendengar yang didaftarkan sebagai 'passive'.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap tidak sesuai dan akan dialih keluar. Guna ImageBitmapRenderingContext.transferFromImageBitmap.
+IIRFilterChannelCountChangeWarning=IIRFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+BiquadFilterChannelCountChangeWarning=BiquadFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=image.png
+GenericFileName=fail
+GeolocationInsecureRequestIsForbidden=A Geolocation request can only be fulfilled in a secure context.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Atribut ‘content’ objek Window tidak sesuai. Sebaliknya, sila gunakan ‘window.top’.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> dengan ID “%S” ada gelung rujukan.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Rantai rujukan SVG <%S> yang terlalu panjang telah diabaikan pada elemen dengan ID “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=‘%S’ atribut elemen <script> kosong.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=‘%S’ atribut elemen <script> tidak sah URI: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Gagal memuatkan <script> dengan sumber “%S”.
+ModuleSourceLoadFailed=Gagal memuatkan modul dengan sumber “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=<script> sumber URI rosak: “%S”.
+ModuleSourceMalformed=Sumber modul URI telah rosak: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=<script> sumber URI tidak diizinkan dalam dokumen ini: “%S”.
+ModuleSourceNotAllowed=Modul sumber URI tidak dibenarkan dalam dokumen ini: “%S”.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Nilai keyframe %1$S tidak sah mengikut sintaks “%2$S”.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Gagal membaca data dari ReadableStream: “%S”.
+MotionEventWarning=Penggunaan pengesan pergerakan tidak digalakkan.
+OrientationEventWarning=Penggunaan pengesan orientasi tidak digalakkan.
+ProximityEventWarning=Penggunaan pengesan kehampiran tidak digalakkan.
+AmbientLightEventWarning=Penggunaan pengesan cahaya ambien tidak digalakkan.
+# LOCALIZATION NOTE: Do not translate "storage", "indexedDB.open" and "navigator.storage.persist()".
+IDBOpenDBOptions_StorageTypeWarning=Atribut ‘storage’ dalam pilihan yang diluluskan ke indexedDB.open sudah tidak sesuai dan akan dibuang tidak lama lagi. Untuk mendapatkan storan kekal, sila gunakan navigator.storage.persist().
+UnsupportedEntryTypesIgnored=Mengabaikan entryTypes: %S yang tidak disokong.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface adalah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() ialah satu kaedah ujian-sahaja dan ini adalah mesej pembatalan pengujiannya.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute ialah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=Penggunaan CanvasRenderingContext2D dalam createImageBitmap tidak lagi sesuai.
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror tidak dapat digunakan.
+
diff --git a/l10n-ms/dom/chrome/global-strres.properties b/l10n-ms/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..01f3eb0fbb
--- /dev/null
+++ b/l10n-ms/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Ralat tidak diketahui telah berlaku (%1$S)
diff --git a/l10n-ms/dom/chrome/global.dtd b/l10n-ms/dom/chrome/global.dtd
new file mode 100644
index 0000000000..661fb351f4
--- /dev/null
+++ b/l10n-ms/dom/chrome/global.dtd
@@ -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/. -->
+
+<!ENTITY locale.dir "ltr">
diff --git a/l10n-ms/dom/chrome/layout/HtmlForm.properties b/l10n-ms/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..ba251f9b01
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/HtmlForm.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/.
+
+Reset=Set semula
+Submit=Kemukakan Pertanyaan
+Browse=Cari…
+FileUpload=Muat Naik Fail
+DirectoryUpload=Pilih Folder untuk Dimuat Naik
+DirectoryPickerOkButtonLabel=Muat naik
+ForgotPostWarning=Borang mengandungi enctype=%S, tetapi tidak mengandungi method=post. Penghantaran biasanya dengan method=GET dan sebaliknya tiada enctype.
+ForgotFileEnctypeWarning=Borang mengandungi input fail, tetapi hilang method=POST dan enctype=multipart/form-data pada borang. Fail tidak akan dihantar.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Pos Borang daripada %S
+CannotEncodeAllUnicode=Borang telah dihantar dalam pengekodan %S yang tidak dapat mengekod semua aksara Unicode, jadi input pengguna boleh rosak. Untuk mengelakkan masalah ini, halaman ini telah ditukar dan borang yang dihantar dalam pengekodan UTF-8 samada dengan mengubah pengekodan halaman itu sendiri kepada UTF-8 atau dengan menyatakan accept-charset=utf-8 dalam elemen borang.
+AllSupportedTypes=Semua jenis disokong
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Tiada direktori dipilih.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S fail dipilih.
+ColorPicker=Pilih warna
+# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is shown at the end of the tooltip text for <input type='file'
+# multiple> when there are more than 21 files selected (when we will only list
+# the first 20, plus an "and X more" line). #1 represents the number of files
+# minus 20 and will always be a number equal to or greater than 2. So the
+# singular case will never be used.
+AndNMoreFiles=dan #1 lagi
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Butiran
diff --git a/l10n-ms/dom/chrome/layout/MediaDocument.properties b/l10n-ms/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..9045f57879
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (%S Image, %S × %S pixels)
+ImageTitleWithoutDimensions=%S (%S Imej)
+ImageTitleWithDimensions2=(%S Image, %Sx%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(%S Imej)
+MediaTitleWithFile=%S (%S Objek)
+MediaTitleWithNoInfo=(%S Objek)
+
+InvalidImage=Imej “%S” tidak dapat dipaparkan kerana mengandungi ralat.
+ScaledImage=Diskalakan (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-ms/dom/chrome/layout/css.properties b/l10n-ms/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..26569fd598
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/css.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/.
+
+MimeNotCss=Stylesheet %1$S tidak dimuatkan kerana jenis MIME, "%2$S", bukan "text/css".
+MimeNotCssWarn=Gaya-helaian %1$S telah dimuatkan sebagai CSS walaupun ia berjenis MIME, "%2$S", bukan "text/css".
+
+PEDeclDropped=Deklarasi dijatuhkan.
+PEDeclSkipped=Dilangkau kepada deklarasi berikutnya.
+PEUnknownProperty=Ciri tidak diketahui '%1$S'.
+PEValueParsingError=Ralat penghuraian nilai untuk '%1$S'.
+PEUnknownAtRule=at-ruletidak dikenali atau ralat menghurai at-rule '%1$S'.
+PEMQUnexpectedOperator=Pengendali tidak dijangka dalam senarai media.
+PEMQUnexpectedToken=Token ‘%1$S’ tidak dijangka dalam senarai media.
+PEAtNSUnexpected=Token tidak dijangka di antara @namespace: '%1$S' .
+PEKeyframeBadName=Menjangka pengenal untuk nama daripada peraturan @keyframes.
+PEBadSelectorRSIgnored=Set aturan diabaikan kerana pemilih rosak.
+PEBadSelectorKeyframeRuleIgnored=Peraturan keyframe dibiarkan disebabkan oleh pemilih yang buruk.
+PESelectorGroupNoSelector=Pemilih dijangka.
+PESelectorGroupExtraCombinator=Penggabung Berjuntai.
+PEClassSelNotIdent=Menjangka pengenal untuk pemilih kelas tetapi menemui '%1$S'.
+PETypeSelNotType=Menjangka nama elemen atau '*' tetapi menemui '%1$S'.
+PEUnknownNamespacePrefix=Awalan ruang-nama tidak diketahui '%1$S'.
+PEAttributeNameExpected=Menjangka pengenal untuk nama atribut tetapi menemui '%1$S'.
+PEAttributeNameOrNamespaceExpected=MEnjangka nama atribut atau ruang nama tetapi menemui '%1$S'.
+PEAttSelNoBar=Menjangka '|' tetapi menemui '%1$S'.
+PEAttSelUnexpected=Token tidak dijangka dalam pemilih atribut: '%1$S'.
+PEAttSelBadValue=Menjangka pengenal atau rentetan untuk nilai dalam pemilih atribut tetapi menemui '%1$S'.
+PEPseudoSelBadName=Menjangka pengenal untuk pseudo-class atau pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelEndOrUserActionPC=Menjangkakan berakhirnya pemilih atau tindakan pengguna pseudo-class selepas pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelUnknown=Pseudo-class atau pseudo-element tidak diketahui '%1$S'.
+PEPseudoClassArgNotIdent=Dijangkai pengecam untuk parameter kelas-pseudo tetapi mendapati '%1$S'.
+PEColorNotColor=Menjangka warna tetapi menemui '%1$S'.
+PEParseDeclarationDeclExpected=Menjangka deklarasi tetapi menemui '%1$S'.
+PEUnknownFontDesc=Pemerihal ‘%1$S’ tidak diketahui dalam peraturan @font-face.
+PEMQExpectedFeatureName=Dijangka nama ciri media tetapi mendapati '%1$S'.
+PEMQNoMinMaxWithoutValue=Fungsi media yang min- atau max- mesti mempunyai satu nilai.
+PEMQExpectedFeatureValue=Jumpa nilai yang tidak sah untuk ciri media.
+PEExpectedNoneOrURL=Menjangka 'none' atau URL tetapi menemui '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Dijangka 'tiada', URL, atau fungsi penapis tetapi mendapati '%1$S'.
+
+TooLargeDashedRadius=Radius sempadan terlalu besar untuk gaya ‘sempang’ (had ialah 100000 px). Hurai sebagai Padat.
+TooLargeDottedRadius=Radius sempadan terlalu besar untuk gaya ‘titik’ (had ialah 100000 px). Hurai sebagai padat.
diff --git a/l10n-ms/dom/chrome/layout/htmlparser.properties b/l10n-ms/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..8b9a78f671
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/htmlparser.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/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Pengekodan karakter dokumen berbingkai tidak ditetapkan. Dokumen akan kelihatan berlainan jika dipapar tanpa bingkai dokumen.
+EncMetaUnsupported=Satu pengekodan karakter tidak disokong telah diisytiharkan untuk HTML dokumen menggunakan tag meta. Perisytiharan itu telah diabaikan.
+EncProtocolUnsupported=Sebuah pengekodan karakter tidak disokong telah diisytiharkan pada tahap pemindahan protokol. Perisytiharan itu telah diabaikan.
+EncMetaUtf16=Tag meta telah digunakan untuk mengisytiharkan pengekodan karakter sebagai UTF-16. Ini telah ditafsirkan sebagai UTF-8 perisytiharan sebagai ganti.
+EncMetaUserDefined=Tag meta telah digunakan untuk mengisytiharkan aksara pengkodan sebagai x-user-defined. Sebaliknya ini telah ditafsirkan sebagai pengisytiharan windows-1252 untuk keserasian dengan fon legasi yang disalah kod secara sengaja. Laman ini perlu berhijrah kepada Unicode.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Sampah selepas “</”.
+errLtSlashGt=Terjumpa “</>”. Berkemungkinan punca: Unescaped “<” (escape as “&lt;”) atau tersalah taip end tag.
+errCharRefLacksSemicolon=Rujukan aksara tidak ditamatkan oleh koma bernoktah.
+errNoDigitsInNCR=Tiada digit di dalam rujukan aksara bernombor.
+errGtInSystemId=“>” dalam pengenal sistem.
+errGtInPublicId=“>” di dalam pengenal pasti umum.
+errNamelessDoctype=DOCTYPE yang tidak bernama.
+errConsecutiveHyphens=Sengkang berturut tidak menamatkan komen. “--” tidak dibenarkan dalam satu komen, tetapi cth. “- -” dibenarkan.
+errPrematureEndOfComment=Komen berakhir secara terburu-buru. Gunakan “-->” untuk mengakiri komen dengan sempurna.
+errBogusComment=Komen palsu.
+errUnquotedAttributeLt=“<” pada atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Hilangnya “>” secara tiba-tiba sebelum itu.
+errUnquotedAttributeGrave=“`” dalam nilai atribut yang tidak tertakrif. Penyebab yang mungkin: Menggunakan ciri-ciri karakter yang salah sebagai takrif.
+errUnquotedAttributeQuote=Kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errUnquotedAttributeEquals=“=” kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=Tiada ruang di antara atribut.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before
+errUnquotedAttributeStartGrave=“`” pada permulaan nilai atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Menggunakan ciri-ciri yang salah sebagai pembida.
+errUnquotedAttributeStartEquals=“=” pada permulaan nilai atribut tanpa petikan. Kemungkinan: duplikasi lilau tanda sama dengan.
+errAttributeValueMissing=Nilai atribut tidak ditemui.
+errBadCharBeforeAttributeNameLt=Menjangkakan nama atribut tetapi “<” ditemui. Berkemungkinan: “>” hilang sebelumnya.
+errEqualsSignBeforeAttributeName=Menjangkakan nama atribut tetapi “=” ditemui. Berkemungkinan: Nama atribut hilang.
+errBadCharAfterLt=Karekter buruk selepas “<”. Berkemungkinan punca Unescaped “<”. Cuba keluarkan ia sebagai “&lt;”.
+errLtGt=Terjumpa “<>”. Berkemungkinan punca: Unescaped “<” (keluar sebagai “&lt;”) atau tersalah taip bermula tag.
+errProcessingInstruction=“<?” ditemui. Berkemungkinan: menggunakan arahan XML dalam arahan HTML. (XML tidak disokong dalam HTML)
+errUnescapedAmpersandInterpretedAsCharacterReference=String ini berikutan “&” telah diinterprasi sebagai lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errNotSemicolonTerminated=Lampiran karekter yang dinamakan telah tidak diberhentikan oleh satu semicolon. (Or “&” harus dikeluarkan sebagai as “&amp;”.)
+errNoNamedCharacterMatch=“&” tidak dapat mula satu lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errQuoteBeforeAttributeName=Wujudnya satu pembida apabila menjangkakan nama atribut. Kemungkinan punca: “=” hilang secara tiba-tiba sebelumya.
+errLtInAttributeName=“<“ pada nama atribut. Kemungkinan punca: “>“ hilang secara tiba-tiba sebelumya.
+errQuoteInAttributeName=Petikan dalam atribut nama. Mungkin berpunca: Petikan yang bersamaan hilang dimana awalannya.
+errExpectedPublicId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errBogusDoctype=Doctype palsu.
+maybeErrAttributesOnEndTag=tag penutup mempunyai atribut-atribut.
+maybeErrSlashInEndTag=Lilau “/” pada penghujung tag akhir.
+errNcrNonCharacter=Rujukan aksara berkembang kepada bukan-aksara.
+errNcrSurrogate=Rujukan karakter mengembang kepada sifar.
+errNcrControlChar=Rujukan aksara berkembang menjadi aksara kawalan.
+errNcrCr=rujukan aksara bernombor telah berkembang ke destinasi pengembalian
+errNcrInC1Range=Rujukan aksara bernombor telah berkembang ke julat pengawalan C1.
+errEofInPublicId=Penghujung fail di dalam pengenal pasti umum..
+errEofInComment=Akhir fail di dalam comment.
+errEofInDoctype=Penghujung fail di dalam doctype.
+errEofInAttributeValue=Penghujung fail dicapai ketika di dalam nilai atribut. Abaikan tag.
+errEofInAttributeName=Penghujung fail berlaku pada satu nama atribut. Abaikan tag.
+errEofWithoutGt=Lihat dokumen yang terakhir tanpa ulangan tag pengakhiran “>”. Mengabaikan tag.
+errEofInTagName=Penghujung fail ketika mencari nama tag. Mengabaikan tag.
+errEofInEndTag=Penghujung fail di dalam tag akhir. Abaikan tag.
+errEofAfterLt=Akhir fail selepas “<”.
+errNcrOutOfRange=Character diluar julat Unicode dibenarkan merujuk.
+errNcrUnassigned=Rujukan aksara mengembang ke satu titik kod yang kekal tidak ditugaskan.
+errDuplicateAttribute=Buat salinan atribut.
+errEofInSystemId=Penghujung fail di dalam pengenal pasti sistem.
+errExpectedSystemId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errMissingSpaceBeforeDoctypeName=Ruang yang hilang sebelum doctype nama.
+errNcrZero=Rujukan karakter mengembang kepada sifar.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Tiada ruang di antara kata kunci doctype “SYSTEM” dan petikan.
+errNoSpaceBetweenPublicAndSystemIds=Tiada ruang di antara orang ramai doctype dan pengenalan sistem.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Tiada ruang di antara kata kunci doctype “PUBLIC” dan petikan.
+
+# Tree builder errors
+errStrayStartTag2=Tag permulaan lilau “%1$S”.
+errStrayEndTag=Tag pengakhiran lilau “%1$S”.
+errUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsImplied=Tag akhir “%1$S” tersirat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsCell=Rekod jadual telah ditutup sepenuhnya, tetapi mempunyai elemen terbuka.
+errStrayDoctype=Doctype lilau.
+errAlmostStandardsDoctype=Mod doctype hampir piawai. Menjangkakan “<!DOCTYPE html>”.
+errQuirkyDoctype=Kepelikan doctype. Dijangka “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Bukan ruang aksara dalam halaman treler.
+errNonSpaceAfterFrameset=Non-space selepas “frameset”.
+errNonSpaceInFrameset=Non-space dalam “frameset”.
+errNonSpaceAfterBody=Tiada aksara beruang selepas isi.
+errNonSpaceInColgroupInFragment=Tak beruang dalam “colgroup” ketika menghuraikan fragmen.
+errNonSpaceInNoscriptInHead=Aksara tidak beruang dalam “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” unsur antara “head” and “body”.
+errStartTagWithoutDoctype=Memulakan tag yang dilihat tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errNoSelectInTableScope=Tiada “select” dalam skop meja.
+errStartSelectWhereEndSelectExpected=“select” dimana tag mula akhir tag dijangka.
+errStartTagWithSelectOpen=“%1$S” memulakan tag dengan “select” terbuka.
+errImage=Melihat tanda mula “image”.
+errHeadingWhenHeadingOpen=Tajuk tidak boleh merujuk tajuk lain.
+errFramesetStart=Tag permulaan “frameset” dilihat.
+errNoCellToClose=Tiada sel untuk ditutup.
+errStartTagInTable=Tag mula “%1$S” dilihat dalam “table”.
+errFormWhenFormOpen=Terlihat tag mula “form”, tetapi telah terdapat elemen “form” yang aktif. Borang bersarang adalah tidak dibenarkan. Mengabaikan tag.
+errTableSeenWhileTableOpen=Tag mula bagi “table” dilihat tetapi “table” sebelum masih terbuka.
+errStartTagInTableBody=“%1$S” tag mula dalam kotak body.
+errEndTagSeenWithoutDoctype=Mengakhiri tag yang nampak tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errEndTagAfterBody=Melihat tag akhir selepas “body” ditutup.
+errEndTagSeenWithSelectOpen=“%1$S” tag akhir dengan “select” terbuka.
+errGarbageInColgroup=Sampah dalam fragmen “colgroup”.
+errEndTagBr=Tag akhir “br”.
+errNoElementToCloseButEndTagSeen=Tiada elemen “%1$S” dalam skop tetapi tag akhir “%1$S” dilihat.
+errHtmlStartTagInForeignContext=Tag mula HTML “%1$S” di dalam konteks ruangan nama asing.
+errNoTableRowToClose=Tiada baris jadual untuk ditutup.
+errNonSpaceInTable=Kesilapan karakter tiada ruang di dalam jadual
+errUnclosedChildrenInRuby=Elemen children tidak bertutup dalam “ruby”.
+errStartTagSeenWithoutRuby=Tag mula “%1$S” dilihat tanpa elemen “ruby” terbuka.
+errSelfClosing=Sintaks penutupan sendiri (“/>”) digunakan pada elemen HTML yang sah. Abaikan tanda / dan menganggap sebagai tag mula.
+errNoCheckUnclosedElementsOnStack=Elemen tak tertutup pada tindanan.
+errEndTagDidNotMatchCurrentOpenElement=Tag akhir “%1$S” tidak sama dengan nama elemen terbuka (“%2$S”) semasa.
+errEndTagViolatesNestingRules=Tag akhir “%1$S” mengingkari panduan penetasan.
+errEndWithUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
diff --git a/l10n-ms/dom/chrome/layout/layout_errors.properties b/l10n-ms/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..193ea3015b
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/layout_errors.properties
@@ -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/.
+
+ImageMapRectBoundsError=atribut "coords" tag <area shape="rect"> tidak dalam format "kiri,atas,kanan,bawah".
+ImageMapCircleWrongNumberOfCoords=atribut "coords" tag <area shape="circle"> tidak dalam format "center-x,center-y,radius".
+ImageMapCircleNegativeRadius=atribut "coords" tag <area shape="circle"> memiliki radius negatif.
+ImageMapPolyWrongNumberOfCoords=atribut "coords" tag <area shape="poly"> tidak dalam format "x1,y1,x2,y2 ...".
+ImageMapPolyOddNumberOfCoords=atribut "coords" tag <area shape="poly"> telah kehilangan kordinat "y" terakhir (ormat yang betul adalah "x1,y1,x2,y2 ...").
+
+TablePartRelPosWarning=Kedudukan baris relatif jadual dan kumpulan kini disokong. Laman ini mungkin perlu dikemaskini kerana ciri ini mungkin tidak mempunyai kesan tanpanya.
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Animasi tidak dapat dijalankan pada compositor ini kerana kawasan bingkai (%1$S) terlalu besar berbanding dengan viewport (lebih besar daripada %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Animasi tidak dapat dijalankan pada kompositor ini kerana saiz bingkai (%1$S, %2$S) terlalu besar berbanding dengan viewport (lebih besar daripada (%3$S, %4$S)) atau lebih besar daripada nilai maksimum yang dibenarkan (%5$S,%6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Transformasi animasi ‘backface-visibility: hidden’ tidak dapat dijalankan pada pengatur huruf
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Transformasi animasi ‘transform’ dengan elemen SVG tidak dapat dijalan pada pengatur huruf
+CompositorAnimationWarningTransformWithGeometricProperties=Animasi ‘transform’ tidak boleh dijalankan pada pengatur huruf apabila sifat geometri dianimasi dengan elemen yang sama pada masa yang sama
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Animasi ‘mengubah’ tidak dapat dijalankan pada kompositor ini kerana perlu diselaraskan dengan animasi sifat geometri yang bermula pada masa yang sama
+CompositorAnimationWarningTransformFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'transform'
+CompositorAnimationWarningOpacityFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'opacity'
+CompositorAnimationWarningHasRenderingObserver=Animasi tidak boleh dijalankan pada pengatur huruf kerana elemen ada rendering pemerhati (-moz-element atau SVG clipping/masking)
+
diff --git a/l10n-ms/dom/chrome/layout/printing.properties b/l10n-ms/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..71698849d7
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d daripada %2$d
+
+PrintToFile=Cetak Ke Fail
+print_error_dialog_title=Ralat Pencetak
+printpreview_error_dialog_title=Ralat Previu Cetak
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Ada ralat ketika mencetak.
+
+PERR_ABORT=Kerja mencetak diabaikan, atau dibatalkan.
+PERR_NOT_AVAILABLE=Sesetengah fungsi mencetak yang tidak tersedia.
+PERR_NOT_IMPLEMENTED=Terdapat fungsian mencetak tidak lagi diimplemen.
+PERR_OUT_OF_MEMORY=Memori bebas tidak mencukupi untuk mencetak.
+PERR_UNEXPECTED=Terdapat masalah tidak dijangka ketika mencetak.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Tiada pencetak tersedia.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Tiada pencetak tersedia, tidak dapat memaparkan previu cetakan.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Pencetak yang dipilih tidak dapat ditemui.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Gagal membuka fail output untuk cetak ke fail.
+PERR_GFX_PRINTER_STARTDOC=Mencetak gagal ketika memulakan tugas mencetak.
+PERR_GFX_PRINTER_ENDDOC=Mencetak gagal ketika menyelesaikan tugas mencetak.
+PERR_GFX_PRINTER_STARTPAGE=Mencetak gagal ketika memulakan laman baru.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Belum dapat mencetak dokumen ini, masih lagi dimuatkan.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Tidak boleh previu cetakan dokumen ini lagi kerana sedang dimuatkan.
diff --git a/l10n-ms/dom/chrome/layout/xmlparser.properties b/l10n-ms/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..5aca128025
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = kehabisan memori
+2 = ralat sintaks
+3 = tiada elemen ditemui
+4 = tidak berbaik-bentuk
+5 = token tidak ditutup
+6 = sebahagian aksara
+7 = tag tidak sepadan
+8 = atribut pendua
+9 = sampah selepas elemen dokumen
+10 = rujukan entiti parameter tidak sah
+11 = entiti tidak ditentukan
+12 = rujukan entiti rekursif
+13 = asynchronous entity
+14 = rujukan dakan nombor aksara tidak sah
+15 = rujukan kepada entiti binari
+16 = rujukan kepada entiti luaran dalam atribut
+17 = deklarasi XML atau teks tidak pada permulaan entiti
+18 = pengkodan tidak diketahui
+19 = pengkodan ditentukan dalam deklarasi XML tidak betul
+20 = seksyen CDATA tidak ditutup
+21 = ralat dalam memproses rujukan entiti luaran
+22 = dokumen bukanlah tersendiri
+23 = keadaan penghurai tidak dijangka
+24 = entiti diisytihar dalam entiti parameter
+27 = awalan tidak dijilid kepada ruang nama
+28 = hendaklah tidak mengisytihar prefix
+29 = markup tidak lengkap dalam entiti parameter
+30 = Pengishtiharan XML tidak dibentuk dengan baik
+31 = awalan mestilah tidak dijilid kepada salah satu dari ruang nama rizab URI
+32 = aksara(-aksara) tak sah dalam id awam
+38 = awalan terpelihara (xml) tidak perlu tidak diisytiharkan atau terikat kepada nama ruang nama yang lain
+39 = awalan yang dipinjam (xmlns) tidak perlu diisytiharkan atau tidak diisytiharkan
+40 = awalan tidak perlu terikat kepada salah satu daripada nama-nama ruang nama yang dipinjam
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Ralat Penghurai XML: %1$S\nLokasi: %2$S\nNombor Baris %3$u, Kolum %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Dijangka: </%S>
diff --git a/l10n-ms/dom/chrome/layout/xul.properties b/l10n-ms/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..b3cffbc3e3
--- /dev/null
+++ b/l10n-ms/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> arahan pemprosesan tiada lagi kesan di luar prolog pengaturacaraan dalam logik (lihat pepijat 360119).
diff --git a/l10n-ms/dom/chrome/mathml/mathml.properties b/l10n-ms/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..4a11092544
--- /dev/null
+++ b/l10n-ms/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Markup tidak sah: <%1$S> tidak dibenarkan sebagai anak untuk <%2$S>.
+ChildCountIncorrect=Markup tidak sah: Kesalahan nombor bagi children untuk <%1$S/> ditanda.
+DuplicateMprescripts=Markup tidak sah: Lebih daripada satu <mprescripts/> dalam <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Markup tidak sah: Mengharapkan hanya saru lement Base dalam <mmultiscripts/>. Tidak menemui apa-apa.
+SubSupMismatch=Markup tidak sah: Padanan subscript/superscript tidak sempurna dalam <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Ralat dalam nilai penghuraian '%1$S' untuk '%2$S' attribute kepada <%3$S/>. Attribute diabaikan.
+AttributeParsingErrorNoTag=Ralat dalam penghuraian nilai '%1$S' untuk attribute '%2$S'. Attribute diabaikan.
+LengthParsingError=Ralat dalam penguraian nilai attribute MathML '%1$S' sebagai panjang. Attribute diabaikan.
diff --git a/l10n-ms/dom/chrome/netError.dtd b/l10n-ms/dom/chrome/netError.dtd
new file mode 100644
index 0000000000..b18e29b34c
--- /dev/null
+++ b/l10n-ms/dom/chrome/netError.dtd
@@ -0,0 +1,97 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY loadError.label "Ralat Memuatkan Halaman">
+<!ENTITY retry.label "Cuba Lagi">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Tidak dapat Menyambung">
+<!ENTITY connectionFailure.longDesc "<p>Walaupun laman ini nampak sah, tetapi pelayar tidak dapat menyediakan sambungan.</p><ul><li>Mungkin laman ini dinyahdaya buat sementara waktu? Cuba lagi nanti.</li><li>Adakah anda juga tidak dapat melayari laman lain? Semak sambungan rangkaian komputer.</li><li>Adakah komputer atau rangkaian anda dilindungi firewall atau proksi? Tetapan yang tidak betul boleh mengganggu pelayaran Web.</li></ul>">
+
+<!ENTITY deniedPortAccess.title "Port Dihadkan atas Alasan Keselamatan">
+<!ENTITY deniedPortAccess.longDesc "<p>Alamat yang diminta mengkhususkan port (cth. <q>mozilla.org:80</q> untuk port 80 pada mozilla.org) kebiasaannya digunakan untuk kegunaan <em>selain</em> daripada pelayaran Web. Pelayar telah membatalkan permintaan untuk perlindungan dan sekuriti anda.</p>">
+
+<!ENTITY dnsNotFound.title "Alamat Tidak Ditemui">
+<!ENTITY dnsNotFound.longDesc "<p>Pelayar tidak menemui hos pelayan alamat yang diberi.</p><ul><li>Adakah anda telah melakukan kesilapan menaip domain? (e.g. <q><strong>ww</strong>.mozilla.org</q> Sepatutnya <q><strong>www</strong>.mozilla.org</q>)</li><li>Adakah anda pasti alamat ini wujud? Pendaftarannya mungkin telah luput.</li><li>Adakah anda tidak dapat melayari laman lain? Semak sambungan rangkaian dan tetapan pelayan DNS.</li><li>Adakah komputer atau rangkaian anda dilindungi oleh firewall atau proksi? Tetapan yang tidak betul boleh mengganggu pelayaran Web.</li></ul>">
+
+<!ENTITY fileNotFound.title "Fail Tidak Ditemui">
+<!ENTITY fileNotFound.longDesc "<ul><li>Adakah item boleh dinamakan, dialih keluar, atau dipindahkan?</li><li>Adakah terdapat kesilapan ejaan, penggunaan huruf besar, atau kesilapan menaip alamat?</li><li>Adakah anda memiliki keizinan yang mencukupi untuk memohon item?</li></ul>">
+
+<!ENTITY fileAccessDenied.title "Akses kepada fail ditolak">
+<!ENTITY fileAccessDenied.longDesc "<ul><li>mungkin telah dialih keluar, dipindah, atau keizinan fail yang menyekat aksesnya.</li></ul> ">
+
+<!ENTITY generic.title "Gagal Menyudahkan Permintaan">
+<!ENTITY generic.longDesc "<p>Maklumat tambahan perihal masalah atau ralat ini belum lagi wujud.</p>">
+
+<!ENTITY malformedURI.title "Alamat Tidak Sah">
+<!ENTITY malformedURI.longDesc "<p>Alamat yang diberikan tidak dapat bentuk yang dikenali. Sila semak kesilapan pada bar lokasi dan cuba lagi.</p>">
+
+<!ENTITY netInterrupt.title "Pemindahan Data Terganggu">
+<!ENTITY netInterrupt.longDesc "<p>Sambungan pelayar berjaya, tetapi sambungan terganggu semasa pemindahan maklumat. Sila cuba lagi.</p><ul><li>Adakah anda tidak dapat melayari laman lain? Semak sambungan rangkaian komputer anda.</li><li>Masih bermasalah? Hubungi pentadbir rangkaian atau penyedia Internet anda untuk bantuan.</li></ul>">
+
+<!ENTITY notCached.title "Dokumen Luput">
+<!ENTITY notCached.longDesc "<p>Dokumen yang diminta tidak berada didalam cache pelayar.</p><ul><li>Untuk langkah keselamatan, dokumen sensitif tidak akan diminta semula oleh pelayar secara automatik.</li><li>Sila klik Cuba Lagi untuk meminta semula dokumen tersebut dari laman web.</li></ul>">
+
+<!ENTITY netOffline.title "Mod Luar Talian">
+<!ENTITY netOffline.longDesc2 "<p>Pelayar ini beroperasi dalam mod offline dan tidak boleh disambungkan ke item yang diminta.</p><ul><li>Komputer ini bersambung dengan jaringan aktif?</li><li>Tekan &quot;Cuba Lagi&quot; untuk tukar ke mod di talian dan memuatkan laman kembali.</li></ul>">
+
+<!ENTITY contentEncodingError.title "Ralat Pengekodan Kandungan">
+<!ENTITY contentEncodingError.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana menggunakan bentuk pemampatan yang tidak sah atau tidak disokong.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+<!ENTITY unsafeContentType.title "Jenis Fail Tidak Selamat">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "Sambungan Terganggu">
+<!ENTITY netReset.longDesc "<p>Talian rangkaian terganggu ketika perundingan rangkaian. Sila cuba lagi.</p>">
+
+<!ENTITY netTimeout.title "Sambungan Tamat Tempoh">
+<!ENTITY netTimeout.longDesc "<p>Laman yang meminta tidak memberi respon kepada permintaan sambungan dan pelayar telah berhenti menunggu balasan.</p><ul><li>Kemungkinan pelayan mengalami permintaan tinggi atau gagal sementara? Cuba lagi kemudian.</li><li>Adakah anda gagal melayari laman lain? Semak konfigurasi rangkaian komputer.</li><li>Adakah komputer atau rangkaian anda dilindungi firewall atau proksi? Tetapan yang tidak betul boleh mengganggu pelayaran Web.</li><li>Masih ada masalah? Hubungi pentadbir rangkaian atau penyedia Internet anda untuk bantuan.</li></ul>">
+
+<!ENTITY unknownProtocolFound.title "Protokol Tidak Diketahui">
+<!ENTITY unknownProtocolFound.longDesc "<p>Alamat yang menentukan protokol (cth. <q>wxyz://</q>) yang pelayar tidak kenali, jadi pelayar tidak disambung kepada laman dengan betul.</p><ul><li>Adakah anda cuba untuk mencapai multimedia atau servis bukan teks lain? Periksa laman untuk keperluan tambahan.</li><li>Sebahagian protokol boleh jadi memerlukan perisian atau plugin pihak-ketiga sebelum pelayar dapat mengenalinya.</li></ul>">
+
+<!ENTITY proxyConnectFailure.title "Pelayan proksi Menolak Sambungan">
+<!ENTITY proxyConnectFailure.longDesc "<p>Pelayar dikonfigurasi untuk menggunakan pelayan proksi, tetapi proksi menafikan sambungan.</p><ul><li>Adakah konfigurasi proksi pelayar betul? Periksa tetapan dan cuba lagi.</li><li>Adakah pelayan proksi membenarkan sambungan daripada rangkaian ini?</li><li>Masih bermasalah? Dapatkan nasihat pentadbir rangkaian atau penyedia Internet anda untuk bantuan.</li></ul>">
+
+<!ENTITY proxyResolveFailure.title "Pelayan Proksi Tidak Ditemui">
+<!ENTITY proxyResolveFailure.longDesc "<p>Pelayar dikonfigurasi untuk menggunakan pelayan proksi, tetapi proksi tidak dapat ditemui.</p><ul><li>Adakah konfigurasi proksi pelayar betul? Periksa tetapan dan cuba lagi.</li><li>Adakah komputer disambungkan kepada rangkaian aktif?</li><li>Masih bermasalah? Dapatkan nasihat pentadbir rangkaian atau penyedia Internet anda untuk bantuan.</li></ul>">
+
+<!ENTITY redirectLoop.title "Gelung Lencongan">
+<!ENTITY redirectLoop.longDesc "<p>Pelayar berhenti daripada cuba mendapatkan item diminta. Laman mengalihkan permintaan dengan cara yang tidak akan selesai.</p><ul><li>Sudahkan anda menyahdaya atau menyekat keperluan kuki oleh laman ini?</li><li><em>NOTA</em>: Jika terima kuki dari laman ini juga tidak dapat menyelesaikan masalah, berkemungkinan adalah masalah konfigurasi pelayan dan bukannya komputer anda.</li></ul>">
+
+<!ENTITY unknownSocketType.title "Tindak Balas Salah">
+<!ENTITY unknownSocketType.longDesc "<p>Laman memberi respons kepada rangkaian yang meminta dengan cara yang tidak dijangka dan pelayar tidak dapat diteruskan.</p>">
+
+<!ENTITY nssFailure2.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssFailure2.longDesc2 "<p>Halaman yang anda sedang lihat tidak dapat ditunjuk kerana data penerima tidak boleh disahkan</p><ul><li>Sila hubungi pemilik laman web tentang masalah ini.</li></ul>">
+
+<!ENTITY nssBadCert.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssBadCert.longDesc2 "<ul> <li>Ini kemungkinan masalah pada konfigurasi server, atau mungkin seseorang cuba menyamar server tersebut</li> <li>Jikalau anda berjaya bersambung dengan server dahulu, kesalahan ini mungkin berlaku seketika, anda boleh cuba semula nanti.</li> </ul>">
+
+<!ENTITY securityOverride.linkText "Atau anda boleh tambah pengecualian…">
+<!ENTITY securityOverride.warningContent "
+<p>Anda tidak perlu menambah pengecualian jika anda menggunakan sambungan yang anda tidak percayai sepenuhnya atau jika anda belum pernah melihat amaran ini untuk pelayan ini.</p>
+<p>Jika anda masih ingin menambah pengecualian bagi laman ini, anda boleh berbuat demikian dalam tetapan enkripsi lanjutan.</p>
+">
+
+<!ENTITY cspBlocked.title "Disekat oleh Polisi Keselamatan Kandungan">
+<!ENTITY cspBlocked.longDesc "<p>Pelayar menghalang laman ini daripada dipaparkan kerana ia mempunyai kandungan yang tidak dibenarkan oleh polisi keselamatan.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Ralat Kandungan Rosak">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+<!ENTITY inadequateSecurityError.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> menggunakan teknologi keselamatan yang usang dan terdedah kepada serangan. Penyerang dengan mudah boleh mendedahkan maklumat yang anda fikir selamat. Pentadbir laman web perlu membaiki pelayan terlebih dahulu sebelum anda boleh melawat laman ini.</p><p>Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "Halaman Disekat">
+
+<!ENTITY networkProtocolError.title "Ralat Protokol Rangkaian">
+<!ENTITY networkProtocolError.longDesc "<p>Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
diff --git a/l10n-ms/dom/chrome/netErrorApp.dtd b/l10n-ms/dom/chrome/netErrorApp.dtd
new file mode 100644
index 0000000000..d245555380
--- /dev/null
+++ b/l10n-ms/dom/chrome/netErrorApp.dtd
@@ -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/. -->
+
+<!-- This file exists to allow applications to override one or more messages
+ from netError.dtd; Applications which want to do this should override
+ this file with their own version of netErrorApp.dtd -->
+
+<!-- An example (from Firefox):
+
+<!ENTITY securityOverride.linkText "Or you can add an exception…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Get me out of here!">
+<!ENTITY securityOverride.exceptionButtonLabel "Add Exception…">
+
+<!ENTITY securityOverride.warningContent "
+<p>You should not add an exception if you are using an internet connection that you do not trust completely or if you are not used to seeing a warning for this server.</p>
+<p>If you still wish to add an exception for this site, you can do so in your advanced encryption settings.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+-->
diff --git a/l10n-ms/dom/chrome/nsWebBrowserPersist.properties b/l10n-ms/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..d5ef05a8bd
--- /dev/null
+++ b/l10n-ms/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=%S tidak dapat disimpan kerana fail sumber tidak dapat dibaca.\n\n Cuba lagi kemudian atau hubungi pentadbir pelayan.
+writeError=%S tidak dapat disimpan, kerana rakat tidak diketahui berlaku.\n\nCuba menyimpan kepada loaksi berbeza.
+launchError=%S tidak dapat dibuka, kerana ralat tidak diketahui berlaku.\n\nuba menyimpan kepada cakera dahulu kemudian buka ffail.
+diskFull=Tidak terdapat ruang mencukupi pada akera untuk menyimpan %S.\n\nSingkir fail tidak berkaitan daripada cakera dan uba lagi, atau cuba simpan dalam lokasi berlainan.
+readOnly=%S tidak dapata disimpan, kerana cakera, folder, atau fail terlindung-tulis.\n\nBoleh-tuliskan cakera dan cuba lagi, atau uba menyimpan pada lokasi berbeza.
+accessError=%S tidak dapat disimpan, kerana anda tidak boleh menukar kandungan folder berkenaan.\n\nTukar iri folder dan cuba lagi, atau cuba menyimpan di lokasi berbeza.
+SDAccessErrorCardReadOnly=Tidak boleh muat turun fail kerana kad SD sedang digunakan.
+SDAccessErrorCardMissing=Tidak boleh muat turun fail kerana kad SD tidak ditemui.
+helperAppNotFound=%S tidak dapat dibuka, kerana aplikasi pembantu yang dikaitkan tidak wujud. Tukar perkaitan dalam keutamaan anda.
+noMemory=Tidak terdapat memori menukup untuk menyelesaikan tindakan yang anda pohon.\n\nKeluar sebahagian aplikasi dan cuba lagi.
+title=Memuaturun %S
+fileAlreadyExistsError=%S tidak dapat disimpan, kerana fail sedia wujud dengan nama sama seperti direktori '_files'.\n\nCuba menyimpan kepada lokasi berbeza.
+fileNameTooLongError=%S tidak dapat disimpan, kerana nama fail terlalu panjang.\n\nCuba menyimpan dengan nama fail lebih pendek.
diff --git a/l10n-ms/dom/chrome/security/caps.properties b/l10n-ms/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..5797f65bbb
--- /dev/null
+++ b/l10n-ms/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Ralat Sekuriti: Kandungan pada %S tidak dapat memuat atau memaut pada %S.
+CheckSameOriginError = Ralat Selamat: kandungan pada %S tidak dapat memuat data daripada %S.
+ExternalDataError = Ralat Keselamatan: Kandungan %S yang cuba dimuatkan %S, mungkin tidak boleh memuatkan data luaran apabila digunakan sebagai imej. 
+
+CreateWrapperDenied = Keizinan ditolak untuk mencipta pembalut objek kelas %S
+CreateWrapperDeniedForOrigin = Keizinan ditolak bagi <%2$S> untuk mencipta pembalut objek kelas %1$S
diff --git a/l10n-ms/dom/chrome/security/csp.properties b/l10n-ms/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..fed7cfc5ef
--- /dev/null
+++ b/l10n-ms/dom/chrome/security/csp.properties
@@ -0,0 +1,102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Tetapan halaman ini menyekat pemuatan sumber: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Tetapan halaman ini disekat pemuatan sumber di %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Pencabulan berlaku untuk polisi hanya-laporan CSP ("%1$S"). Perilaku ini dibenarkan, dan laporan CSP telah dihantar.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Tetapan laman memerhatikan pemuatan sumber pada %2$S ("%1$S"). Laporan CSP sedang dihantar.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Telah cuba hantar laporan ke URI tidak sah: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = Tidak boleh menghurai laporan URI: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Tidak boleh proses arahan tidak diketahui '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Mengabaikan pilihan tidak diketahui %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Mengabaikan duplikasi sumber %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Mengabaikan sumber ‘%1$S’ (Tidak disokong apabila dihantar via unsur meta).
+# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
+# %1$S is the ignored src
+# script-src and style-src are directive names and should not be localized
+ignoringSrcWithinScriptStyleSrc = Mengabaikan “%1$S” dalam script-src atau style-src: nonce-source atau hash-source yang dinyatakan
+# LOCALIZATION NOTE (ignoringSrcForStrictDynamic):
+# %1$S is the ignored src
+# script-src, as well as 'strict-dynamic' should not be localized
+ignoringSrcForStrictDynamic = Mengabaikan “%1$S” dalam script-src: ‘strict-dynamic’ yang dinyatakan
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Mengabaikan sumber “%1$S” (Hanya disokong dalam script-src).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Kata kunci ‘strict-dynamic’ dalam “%1$S” dengan nonce atau hash yang tidak sah boleh menyekat semua skrip daripada dimuatkan
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URL laporan (%1$S) perlulah URI HTTP atau HTTPS.\u0020
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Laman ini (%1$S) ada polisi Lapor-Sahaja tanpa laporan URI. CSP tidak akan menyekat dan tidak boleh melaporkan pelanggaran polisi ini.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Gagal untuk menghuraikan sumber tak dikenali %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Menaik taraf permintaan tidak selamat ‘%1$S untuk menggunakan‘‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Mengabaikan srcs bagi direktif ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Mentafsir %1$S sebagai nama hos, bukannya kata kunci. Jika anda berhasrat menjadikannya kata kunci, gunakan '%2$S' (dibungkus dengan tanda petikan tunggal).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Arahan ‘%1$S’ tidak disokong. Arahan dan nilai akan diabaikan.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Menyekat permintaan tidak selamat ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values (e.g., 'require-sri-for')
+ignoringDirectiveWithNoValues = Mengabaikan ‘%1$S’ kerana ia tidak mengandungi sebarang parameter.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Mengabaikan direktif sandbox apabila dihantar dalam polisi laporan-sahaja ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Mengabaikan ‘%1$S’ kerana arahan ‘%2$S’.
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Gagal menghuraikan sumber yang tidak sah %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Tidak boleh hurai hos tidak sah %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Tidak boleh hurai port dalam %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Duplikasi %1$S arahan telah dikesan. Kesemua tetapi contoh pertama telah diabaikan.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Tidak dapat menghuraikan sandbox flag yang tidak sah ‘%1$S’
diff --git a/l10n-ms/dom/chrome/security/security.properties b/l10n-ms/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..4caa61e4e6
--- /dev/null
+++ b/l10n-ms/dom/chrome/security/security.properties
@@ -0,0 +1,83 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Menyekat memuat kandungan paparan bercampur "%1$S"
+BlockMixedActiveContent = Menyekat memuat kandungan aktif bercampur "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membolehkan membaca sumber jauh di %1$S. (Alasan: CORS dinyahdayakan).
+CORSOriginHeaderNotAdded=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: ‘Origin’ pengepala CORS tidak boleh ditambah).
+CORSExternalRedirectNotAllowed=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: hala semula permintaan luaran CORS tidak dibenarkan).
+CORSRequestNotHttp=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: CORS meminta bukan http).
+CORSMultipleAllowOriginNotAllowed=Permintaan Asal-Silang Disekat: Polisi Asal Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: Berbilang pengepala ‘Access-Control-Allow-Origin’ CORS tidak dibenarkan.
+CORSAllowOriginNotMatchingOrigin=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: pengepala ‘Access-Control-Allow-Origin’ CORS tidak sepadan ‘%2$S’).
+CORSNotSupportingCredentials=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di ‘%1$S’. (Alasan: Credential tidak disokong jika pengepala CORS ‘Access-Control-Allow-Origin’ is ‘*’).
+CORSMethodNotFound=Cross-Origin Request Disekat: Polisi Asalan Sama tidak membenarkan sumber remote di %1$S dibaca. (Alasan: Tiada kaedah yang ditemui dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSMissingAllowCredentials=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: jangkaan ‘benar’ dalam pengepala ‘Access-Control-Allow-Credentials’ CORS).
+CORSInvalidAllowMethod=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSInvalidAllowHeader=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Headers’ CORS).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Ada ralat yang tidak diketahui semasa memproses pengepala yang ditetapkan oleh laman ini.
+STSUntrustworthyConnection=Strict-Transport-Security: Sambungan ke laman ini tidak boleh dipercayai, maka pengepala yang dinyatakan telah diabaikan.
+STSCouldNotParseHeader=Strict-Transport-Security: Laman ini menyatakan pengepala yang tidak berjaya dihurai.
+STSNoMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang idak mengandungi direktif ‘max-age’.
+STSMultipleMaxAges=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘max-age’.
+STSInvalidMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘max-age’ yang tidak sah.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘includeSubDomains’.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘includeSubDomains’ yang tidak sah.
+STSCouldNotSaveState=Strict-Transport-Security: Ada ralat mencatat laman ini sebagai hos Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecureFormActionPasswordsPresent=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecurePasswordsPresentOnIframe=Medan kata laluan dipersembahkan pada iframe (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Memuatkan kandungan aktif bercampur (tidak selamat) pada laman selamat "%1$S"
+LoadingMixedDisplayContent2=Memuatkan kandungan paparan bercampur (tidak selamat) pada laman selamat "%1$S"
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Untuk iframe yang mempunyai kedua-dua skrip membenarkan dan membolehkan-sama-asal untuk atribut sandbox yang boleh mengalih keluar dengan sandboxing.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Elemen script mengandungi cincang yang rosak dalam atribut integrity “%1$S”. Format yang betul ialah “<hash algorithm>-<hash value>”.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Cincang yang terkandung dalam atribut integrity tersalah panjang.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Cincang yang terkandung dalam atribut integrity tidak boleh dinyahkod.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256").
+IntegrityMismatch=Tiada cincang “%1$S” dalam atribut integrity yang sepadan dengan kandungan sub-sumber.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” tidak layak untuk semakan integriti kerana CORS-samada tidak didayakan atau tidak sama-asal.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Algoritma hash dalam atribut integrity tidak disokong: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Atribut integrity tidak mengandungi sebarang metadata yang sah.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Laman ini menggunakan sifer RC4 untuk enkripsi, yang tidak sesuai dan tidak selamat.
+
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not trasnlate "nosniff".
+XCTOHeaderValueMissing=Amaran pengepala X-Content-Type-Options: nilainya ialah “%1$S”; adakah anda bermaksud mahu menghantar “nosniff”?
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navigasi ke data tahaptinggi: URI tidak dibenarkan (Sekat memuat: “%1$S”)
+BlockSubresourceRedirectToData=Melencong ke data tidak selamat: URI tidak diizinkan (Menyekat memuatkan: “%1$S”)
+
+BlockSubresourceFTP=Memuatkan subresource FTP dalam halaman http(s) tidak diizinkan (Pemuatan disekat: “%1$S”)
+
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Pengepala Clear-Site-Data memaksa pembersihan data “%S”.
+UnknownClearSiteDataValue=Pengepala Clear-Site-Data ditemui. Nilai tidak diketahui “%S”.
+
+FeaturePolicyUnsupportedFeatureName=Polisi Ciri: Melangkau ciri nama “%S” yang tidak disokong.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Polisi Ciri: Melangkau senarai kosong dibenarkan untuk ciri: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Polisi Ciri: Melangkau nilai “%S” dibenarkan yang tidak disokong.
+
diff --git a/l10n-ms/dom/chrome/svg/svg.properties b/l10n-ms/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..9181923c5e
--- /dev/null
+++ b/l10n-ms/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Nilai tidak dijangka %2$S menghurai atribut %1$S.
diff --git a/l10n-ms/dom/chrome/xml/prettyprint.dtd b/l10n-ms/dom/chrome/xml/prettyprint.dtd
new file mode 100644
index 0000000000..2c723b9f6b
--- /dev/null
+++ b/l10n-ms/dom/chrome/xml/prettyprint.dtd
@@ -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/. -->
+
+<!ENTITY xml.nostylesheet "Fail XML tidak ada sebarang maklumat gaya yang dikaitkan dengannya. Pepohon dokumen ditunjukkan di bawah.">
diff --git a/l10n-ms/dom/chrome/xslt/xslt.properties b/l10n-ms/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..2a9567a23f
--- /dev/null
+++ b/l10n-ms/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Menghurai lembaran gaya XSLT gagal.
+2 = Menghurai ekspresi XPath gagal.
+3 =
+4 = Pengubahan XSLT gagal.
+5 = Fungsi XSLT/XPath tidak sah.
+6 = Gaya-helaian XSLT (kemungkinan) mengandungi recursion.
+7 = Nilai atribut tidak sah dalam XSLT 1.0.
+8 = Ekpressi XPath telah dijangka untuk mengembalikan NodeSet.
+9 = Pengubahan XSLT ditamatkan oleh <xsl:message>.
+10 = Ralat rangkaian berlaku memuatkan lembaran gaya XSLT:
+11 = Lembaran gaya XSLT tidak mempunyai jenis mime XML:
+12 = Lembaran gaya XSLT secara terus atau tidak terus diimport atau termasuk dirinya sendiri:
+13 = Fungsi XPath telah dibatalkan dengan bilangan argumen yang salah .
+14 = Fungsi ekstensi XPath yang tidak diketahui telah dipanggil.
+15 = Kegagalan menghurai XPath: ')' dijangka:
+16 = Kegagalan menghurai XPath: paksi tidak sah:
+17 = Kegagalan menghurai XPath: Ujian Nama atau Jenis Nod dijangka:
+18 = Kegagalan menghurai XPath: ']' dijangka:
+19 = Kegagalan menghurai XPath: nama pembolehubah tidak sah:
+20 = Kegagalan menghurai XPath: akhir ungkapan tidak dijangka:
+21 = Kegagalan menghurai XPath: operator dijangka:
+22 = Kegagalan menghurai XPath: perkataan tidak bertutup:
+23 = Kegagalan menghurai XPath: ':' tidak dijangka:
+24 = Kegagalan menghurai XPath: '!' tidak dijangka, sangkalan not():
+25 = Kegagalan menghurai XPath: aksara tidak sah ditemui:
+26 = Kegagalan menghurai XPath: operator binari dijangka:
+27 = Memuat lembaran gaya XSLT telah disekat atas alasan keselamatan.
+28 = Penilaian ungkapan yang tidak sah.
+29 = Pengukuhan curly tidak seimbang.
+30 = Mereka cipta satu elemen dengan QName yang tidak sah.
+31 = pembolehubah yang sah akan menyamai pembolehubah yang sah dengan templat yang sama
+32 = Panggilan fungsi utama tidak dibenarkan.
+
+LoadingError = Ralat memuat helaian-gaya: %S
+TransformError = Ralat ketika transformasi XSLT: %S
diff --git a/l10n-ms/dom/dom/XMLPrettyPrint.ftl b/l10n-ms/dom/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..a1c6076ded
--- /dev/null
+++ b/l10n-ms/dom/dom/XMLPrettyPrint.ftl
@@ -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/.
+
+xml-nostylesheet = Fail XML tidak ada sebarang maklumat gaya yang dikaitkan dengannya. Pepohon dokumen ditunjukkan di bawah.
diff --git a/l10n-ms/dom/dom/media.ftl b/l10n-ms/dom/dom/media.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/dom/dom/media.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/mail/all-l10n.js b/l10n-ms/mail/all-l10n.js
new file mode 100644
index 0000000000..642ad6534a
--- /dev/null
+++ b/l10n-ms/mail/all-l10n.js
@@ -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/.
+
+#filter substitution
+
+pref("general.useragent.locale", "@AB_CD@");
diff --git a/l10n-ms/mail/branding/thunderbird/brand.dtd b/l10n-ms/mail/branding/thunderbird/brand.dtd
new file mode 100644
index 0000000000..7ac4dea705
--- /dev/null
+++ b/l10n-ms/mail/branding/thunderbird/brand.dtd
@@ -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/. -->
+<!ENTITY brandShortName "Thunderbird">
+<!ENTITY brandShorterName "Thunderbird">
+<!ENTITY brandFullName "Mozilla Thunderbird">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 "Logo Mozilla Thunderbird dan Thunderbird
+ adalah cap dagangan Mozilla Foundation.">
diff --git a/l10n-ms/mail/branding/thunderbird/brand.ftl b/l10n-ms/mail/branding/thunderbird/brand.ftl
new file mode 100644
index 0000000000..eaeaf9d3e3
--- /dev/null
+++ b/l10n-ms/mail/branding/thunderbird/brand.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/.
+
+
+## Thunderbird Brand
+##
+## Thunderbird must be treated as a brand, and kept in English.
+## It cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-short-name = Thunderbird
+-vendor-short-name = Mozilla
diff --git a/l10n-ms/mail/branding/thunderbird/brand.properties b/l10n-ms/mail/branding/thunderbird/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/l10n-ms/mail/branding/thunderbird/brand.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/.
+brandShortName=Thunderbird
+brandShorterName=Thunderbird
+brandFullName=Mozilla Thunderbird
+vendorShortName=Mozilla
diff --git a/l10n-ms/mail/chrome/communicator/utilityOverlay.dtd b/l10n-ms/mail/chrome/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..f6637aad41
--- /dev/null
+++ b/l10n-ms/mail/chrome/communicator/utilityOverlay.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
+
+<!ENTITY fileMenu.label "Fail">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "Baru">
+<!ENTITY newMenu.accesskey "B">
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "Batal">
+<!ENTITY undoCmd.accesskey "B">
+<!ENTITY redoCmd.label "Ulang">
+<!ENTITY redoCmd.accesskey "U">
+<!ENTITY deleteCmd.label "Buang">
+<!ENTITY deleteCmd.accesskey "B">
+
+<!ENTITY viewMenu.label "Papar">
+<!ENTITY viewMenu.accesskey "P">
+<!ENTITY viewToolbarsMenu.label "Bar alatan">
+<!ENTITY viewToolbarsMenu.accesskey "B">
+<!ENTITY showTaskbarCmd.label "Bar Status">
+<!ENTITY showTaskbarCmd.accesskey "u">
+
+<!ENTITY closeCmd.label "Tutup">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "T">
+
+<!ENTITY quitApplicationCmd.label "Keluar">
+<!ENTITY quitApplicationCmd.key "Q">
+<!ENTITY quitApplicationCmd.accesskey "u">
+
+<!ENTITY quitApplicationCmdUnix.label "Keluar">
+<!ENTITY quitApplicationCmdUnix.accesskey "K">
+
+<!ENTITY quitApplicationCmdMac.label "Keluar &brandShortName;">
+<!ENTITY quitApplicationCmdMac.accesskey "K">
diff --git a/l10n-ms/mail/chrome/messenger-mapi/mapi.properties b/l10n-ms/mail/chrome/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..f33b1ad616
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-mapi/mapi.properties
@@ -0,0 +1,36 @@
+# 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/.
+
+# Mail Integration Dialog
+dialogTitle=%S
+dialogText=Adakah anda mahu gunakan %S sebagai aplikasi mel piawai?
+newsDialogText=Adakah anda mahu gunakan %S sebagai aplikasi berita piawai?
+feedDialogText=Adakah anda mahu gunakan %S sebagai agregat suapan piawai?
+checkboxText=Jangan papar dialog ini lagi
+setDefaultMail=%S masih belum ditetapkan sebagai aplikasi mel piawai. Adakah anda mahu tetapkannya sebagai aplikasi mel piawai?
+setDefaultNews=%S masih belum ditetapkan sebagai aplikasi berita piawai. Adakah anda mahu tetapkannya sebagai aplikasi berita piawai?
+setDefaultFeed=%S masih belum ditetapkan sebagai agregat suapan piawai. Adakah anda mahu tetapkannya sebagai agregat suapan piawai?
+alreadyDefaultMail=%S sudah ditetapkan sebagai aplikasi mel piawai.
+alreadyDefaultNews=%S sudah ditetapkan sebagai aplikasi berita piawai.
+alreadyDefaultFeed=%S sudah ditetapkan sebagai agregat suapan piawai.
+
+# MAPI Messages
+loginText=Sila masukkan kata laluan anda untuk %S:
+loginTextwithName=Sila masukkan nama pengguna dan kata laluan
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=%S tidak boleh ditetapkan sebagai aplikasi mel piawai kerana kekunci pendaftaran tidak dapat dikemaskini. Sila dapatkan pengesahan daripada pentadbir sistem bahawa anda diberi akses menulis sistem pendaftaran, dan kemudian cuba lagi.
+errorMessageNews=%S tidak boleh ditetapkan sebagai aplikasi berita piawai kerana kekunci pendaftaran tidak dapat dikemaskini. Sila dapatkan pengesahan daripada pentadbir sistem bahawa anda diberi akses menulis sistem pendaftaran, dan kemudian cuba lagi.
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=Ada aplikasi lain sedang cuba menghantar mel menggunakan profil pengguna anda. Adakah anda pasti mahu menghantar mel?
+mapiBlindSendDontShowAgain=Beri amaran apabila ada aplikasi lain cuba menghantar e-mel bagi pihak saya
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
+
diff --git a/l10n-ms/mail/chrome/messenger-newsblog/am-newsblog.dtd b/l10n-ms/mail/chrome/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..8d9533a089
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-newsblog/am-newsblog.dtd
@@ -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/. -->
+
+<!ENTITY biffAll.label "Aktifkan kemaskini semua suapan">
+<!ENTITY biffAll.accesskey "A">
+
+<!ENTITY newFeedSettings.label "Tetapan Piawai untuk Suapan Berita">
+
+<!ENTITY manageSubscriptions.label "Urus Langganan…">
+<!ENTITY manageSubscriptions.accesskey "U">
+
+<!ENTITY feedWindowTitle.label "Bestari Akaun Suapan">
+<!ENTITY feeds.accountName "Blog &amp; Suapan Berita">
diff --git a/l10n-ms/mail/chrome/messenger-newsblog/feed-subscriptions.dtd b/l10n-ms/mail/chrome/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..f85160e617
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-newsblog/feed-subscriptions.dtd
@@ -0,0 +1,55 @@
+<!-- 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/. -->
+
+<!-- Subscription Dialog -->
+<!ENTITY feedSubscriptions.label "Langganan Suapan">
+<!ENTITY learnMore.label "Ketahui selanjutnya perihal Suapan">
+
+<!ENTITY feedTitle.label "Tajuk:">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "URL Suapan:">
+<!ENTITY feedLocation.accesskey "S">
+<!ENTITY feedLocation2.placeholder "Masukkan url suapan yang sah">
+<!ENTITY locationValidate.label "Sahkan">
+<!ENTITY validateText.label "Semak pengesahan dan dapatkan url yang sah.">
+
+<!ENTITY feedFolder.label "Simpan Artikel dalam:">
+<!ENTITY feedFolder.accesskey "S">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "Semak artikel baru setiap ">
+<!ENTITY biffStart.accesskey "k">
+<!ENTITY biffMinutes.label "minit">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "hari">
+<!ENTITY biffDays.accesskey "h">
+<!ENTITY recommendedUnits.label "Disyorkan penerbit:">
+
+<!ENTITY quickMode.label "Papar ringkasan artikel, bukan memuatkan halaman web">
+<!ENTITY quickMode.accesskey "p">
+
+<!ENTITY autotagEnable.label "Cipta tag secara automatik daripada suapan &lt;kategori&gt;">
+<!ENTITY autotagEnable.accesskey "o">
+<!ENTITY autotagUsePrefix.label "Awalan tag dengan:">
+<!ENTITY autotagUsePrefix.accesskey "A">
+<!ENTITY autoTagPrefix.placeholder "Masukkan awalan tag">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "Tambah">
+<!ENTITY button.addFeed.accesskey "T">
+<!ENTITY button.verifyFeed.label "Sahkan">
+<!ENTITY button.verifyFeed.accesskey "S">
+<!ENTITY button.updateFeed.label "Kemaskini">
+<!ENTITY button.updateFeed.accesskey "K">
+<!ENTITY button.removeFeed.label "Buang">
+<!ENTITY button.removeFeed.accesskey "B">
+<!ENTITY button.importOPML.label "Import">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "Eksport">
+<!ENTITY button.exportOPML.accesskey "E">
+<!ENTITY button.exportOPML.tooltip "Eksport Suapan dalam struktur folder; klik ctrl atau ctrl enter untuk mengeksport Suapan sebagai satu senarai">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "Tutup">
diff --git a/l10n-ms/mail/chrome/messenger-newsblog/newsblog.properties b/l10n-ms/mail/chrome/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..47b3116c02
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-newsblog/newsblog.properties
@@ -0,0 +1,93 @@
+# 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/.
+
+subscribe-validating-feed=Mengesahkan suapan…
+subscribe-cancelSubscription=Adakah anda pasti mahu membatalkan langganan suapan semasa?
+subscribe-cancelSubscriptionTitle=Melanggan Suapan…
+subscribe-feedAlreadySubscribed=Anda sudah melanggan suapan ini.
+subscribe-errorOpeningFile=Tidak dapat membuka fail.
+subscribe-feedAdded=Suapan ditambah.
+subscribe-feedUpdated=Suapan dikemaskini.
+subscribe-feedMoved=Langganan suapan dipindahkan.
+subscribe-feedCopied=Langganan suapan disalin.
+subscribe-feedRemoved=Langganan suapan dibatalkan.
+subscribe-feedNotValid=URL Suapan ini tidak sah.
+subscribe-feedVerified=URL Suapan sudah disahkan.
+subscribe-networkError=URL Suapan tidak dapat ditemui. Sila semak nama dan cuba lagi.
+subscribe-noAuthError=URL Suapan ini tidak diberi kuasa.
+subscribe-loading=Memuatkan, sila tunggu…
+
+subscribe-OPMLImportTitle=Pilih fail OPML untuk diimport
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=Eksport %S sebagai fail OPML - Senarai suapan
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=Eksport %S sebagai fail OPML - Suapan dengan struktur folder
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=%1$S Mengeksport OPML - %2$S
+## LOCALIZATION NOTE(subscribe-OPMLExportDefaultFileName):
+## %1$S is the brandShortName (Thunderbird for example), %2$S is the account name.
+## The default extension (.opml) is added here as it is not automatically appended in the file picker on MacOS.
+subscribe-OPMLExportDefaultFileName=Suapan%1$S-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=Fail %S mungkin bukan fail OPML yang sah.
+## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of new imported entries.
+subscribe-OPMLImportFeedCount=#1 suapan baru telah diimport.
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=#1 suapan baru yang masih belum anda langgan telah diimport;#1 suapan baru yang masih belum anda langgan telah diimport;
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(daripada #1 entri yang ditemui);(daripada #1 entri yang ditemui)
+## LOCALIZATION NOTE(subscribe-OPMLImportStatus):
+## This is the concatenation of the two strings defined above to compose 1 sentence.
+## %1$S = subscribe-OPMLImportUniqueFeeds
+## %2$S = subscribe-OPMLImportFoundFeeds
+subscribe-OPMLImportStatus=%1$S %2$S.
+
+subscribe-OPMLExportOPMLFilesFilterText=Fail OPML
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=Suapan dalam akaun ini telah dieksport ke %S.
+
+subscribe-confirmFeedDeletionTitle=Buang Suapan
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=Adakah anda pasti mahu berhenti melanggan daripada suapan: \n %S?
+
+## LOCALIZATION NOTE(subscribe-gettingFeedItems):
+## - The first %S is the number of articles processed so far;
+## - The second %S is the total number of items
+subscribe-gettingFeedItems=Memuat turun artikel suapan (%S daripada %S)…
+
+newsblog-noNewArticlesForFeed=Tiada artikel baru daripada suapan ini.
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=%S tidak dapat ditemui. Sila semak nama dan cuba lagi.
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S bukan suapan yang sah.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S menggunakan sijil keselamatan yang tidak sah.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S tidak diberi kuasa.
+newsblog-getNewMsgsCheck=Menyemak item baru suapan…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=Blog & Suapan Berita
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=Lampiran MIME ini disimpan berasingan daripada mesej.
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* Akaun Baru *
+ImportFeedsNewAccount=Cipta dan import ke dalam akaun Suapan baru
+ImportFeedsExistingAccount=Import ke dalam akaun Suapan sedia ada
+## LOCALIZATION NOTE(ImportFeedsDone):
+## - The first %S is the import file name;
+## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting;
+## - The third %S is the feed account name.
+ImportFeedsNew=baru
+ImportFeedsExisting=sedia ada
+ImportFeedsDone=Proses mengimport langganan suapan daripada fail %1$S ke dalam akaun '%3$S' %2$S telah selesai.
diff --git a/l10n-ms/mail/chrome/messenger-region/region.properties b/l10n-ms/mail/chrome/messenger-region/region.properties
new file mode 100644
index 0000000000..c1882eb25b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-region/region.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/.
+
+# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
+# mail.addr_book.mapit_url.format=
+# The mail.addr_book.mapit_url.format should start with the URL of the mapping
+# service and then the query part with placeholders to be subsituted from values
+# from the addressbook contact's address.
+# Available placeholders are:
+# @A1 == address, part 1
+# @A2 == address, part 2
+# @CI == city
+# @ST == state
+# @ZI == zip code
+# @CO == country
+# Default map service:
+mail.addr_book.mapit_url.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+# List of available map services (up to 5 can be defined here):
+mail.addr_book.mapit_url.1.name=Google Maps
+mail.addr_book.mapit_url.1.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+mail.addr_book.mapit_url.2.name=OpenStreetMap
+mail.addr_book.mapit_url.2.format=https://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO
+
+mailnews.messageid_browser.url=http://groups.google.com/search?as_umsgid=%mid
+
+# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
+# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV
+mailnews.localizedRe=
diff --git a/l10n-ms/mail/chrome/messenger-smime/certFetchingStatus.dtd b/l10n-ms/mail/chrome/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..8c312e6e55
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/certFetchingStatus.dtd
@@ -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 shown while obtaining certificates from a directory -->
+
+<!ENTITY title.label "Memuat turun Sijil">
+<!ENTITY info.message "Mencari direktori sijil penerima. Ini akan mengambil masa beberapa minit.">
+<!ENTITY stop.label "Hentikan Mencari">
diff --git a/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd b/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..e4324aa40f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
@@ -0,0 +1,18 @@
+<!-- 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 msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "Keselamatan Mesej">
+<!ENTITY subject.plaintextWarning "Sila ambil perhatian: Baris subjek mesej e-mel tidak akan dienkrip.">
+<!ENTITY status.heading "Kandungan mesej anda akan dihantar seperti berikut:">
+<!ENTITY status.signed "Ditandatangani secara digital:">
+<!ENTITY status.encrypted "Dienkrip:">
+<!ENTITY status.certificates "Sijil:">
+<!ENTITY view.label "Papar">
+<!ENTITY view.accesskey "P">
+<!ENTITY tree.recipient "Penerima">
+<!ENTITY tree.status "Status">
+<!ENTITY tree.issuedDate "Dikeluarkan">
+<!ENTITY tree.expiresDate "Luput">
diff --git a/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.properties b/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..a663e53fb4
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/msgCompSecurityInfo.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/.
+
+StatusNotFound=Tidak Ditemui
+StatusValid=Sah
+StatusExpired=Sudah Luput
+StatusUntrusted=Tidak Dipercayai
+StatusRevoked=Dibatalkan
+StatusInvalid=Tidak sah
+StatusYes=Ya
+StatusNo=Tidak
+StatusNotPossible=Tidak mungkin
diff --git a/l10n-ms/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties b/l10n-ms/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..51d577ddf4
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
@@ -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/.
+
+ImapOnDemand=Mesej yang dipaparkan telah ditandatangani secara digital, tapi tidak semua lampiran telah dimuat turun. Oleh itu, tandatangan ini tidak boleh disahkan. Klik OK untuk memuat turun mesej secara lengkap dan mengesahkan tandatangan.
+#
+#NOTE To translater, anything between %..% and <..> should not be translated.
+# the former will be replaced by java script, and the latter is HTML formatting.
+#
+CantDecryptTitle=%brand% tidak dapat mengenkrip mesej ini
+CantDecryptBody=Pengirim mengenkripsi mesej kepada anda ini menggunakan salah satu daripada sijil digital anda, tapi %brand% tidak dapat mencari sijil ini dan kunci yang berkaitan.<br>Penyelesaian yang boleh dibuat:<br><ul><li>Jika anda ada kad pintar, sila sisipkan sekarang.<li>Jika anda menggunakan mesin yang baru, atau menggunakan profil %brand% baru, anda perlu pulihkan kunci peribadi dan sijil anda daripada sandaran. Sijil sandaran biasanya berakhir dengan ".p12".</ul>
diff --git a/l10n-ms/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd b/l10n-ms/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..30b0e363e1
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "Keselamatan Mesej">
+<!ENTITY signatureCert.label "Papar Sijil Bertandatangan">
+<!ENTITY encryptionCert.label "Papar Sijil Dienkripsi">
+
+<!ENTITY signer.name "Ditandatangani oleh:">
+<!ENTITY recipient.name "Dienkripsi untuk:">
+<!ENTITY email.address "Alamat e-mel:">
+<!ENTITY issuer.name "Sijil dikeluarkan oleh:">
+
diff --git a/l10n-ms/mail/chrome/messenger-smime/msgSecurityInfo.properties b/l10n-ms/mail/chrome/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..5beb10fd5d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger-smime/msgSecurityInfo.properties
@@ -0,0 +1,36 @@
+# 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/.
+
+## Signature Information strings
+SINoneLabel=Mesej Tiada Tandatangan Digital
+SINone=Mesej ini tidak disertakan dengan tandatangan digital pengirim. Ini bermakna, mesej ini mungkin dihantar oleh seseorang yang menyamar memiliki alamat e-mel ini. Mungkin juga, mesej ini telah diubah semasa penghantaran melalui rangkaian. Tapi, ada juga kemungkinan bahawa perkara di atas tidak berlaku.
+SIValidLabel=Mesej Ada Tandatangan
+SIValid=Mesej ini disertakan dengan tandatangan digital. Mesej ini tidak diubah sejak dihantar.
+SIInvalidLabel=Tandatangan Digital Tidak Sah
+SIInvalidHeader=Mesej ini disertakan dengan tandatangan digital, tapi tandatangan ini tidak sah.
+SIContentAltered=Tandatangan tidak sepadan dengan kandungan mesej dengan betul. Mesej ini mungkin telah diubah selepas ditandatangani oleh pengirim. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SIExpired=Sijil yang digunakan untuk menandatangani mesej ini sudah luput. Pastikan jam komputer anda ditetapkan dengan betul.
+SIRevoked=Sijil yang digunakan untuk menandatangani mesej ini telah dibatalkan. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SINotYetValid=Sijil yang digunakan untuk menandatangani mesej ini masih belum disahkan. Pastikan jam komputer anda ditetapkan dengan betul.
+SIUnknownCA=Sijil yang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti sijil yang tidak diketahui.
+SIUntrustedCA=Sijil yang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti sijil yang anda tidak percaya untuk mengeluarkan sijil jenis ini.
+SIExpiredCA=Sijil yang digunakan untuk menandatangani mesej itu telah dikeluarkan oleh autoriti sijil yang sijilnya sendiri sudah luput. Pastikan jam komputer anda ditetapkan dengan betul.
+SIRevokedCA=Sijil ayang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti yang sijilnya sendiri sudah dibatalkan. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SINotYetValidCA=Sijil yang digunakan untuk menandatangani mesej itu telah dikeluarkan oleh autoriti sijil yang sijilnya sendiri masih belum disahkan. Pastikan jam komputer anda ditetapkan dengan betul.
+SIInvalidCipher=Mesej ini telah ditandatangani menggunakan kekuatan enkripsi yang tidak disokong oleh versi perisian anda.
+SIClueless=Ada masalah yang tidak diketahui dengan tandatangan digital. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SIPartiallyValidLabel=Mesej telah ditandatangani
+SIPartiallyValidHeader=Walaupun tandatangan digital ini sah, tapi tidak diketahui samada pengirim dan penandatangan adalah pihak yang sama.
+SIHeaderMismatch=Alamat e-mel yang disenaraikan dalam sijil penandatangan berbeza daripada alamat e-mel yang digunakan untuk menghantar mesej ini. Sila lihat butiran tandatangan sijil untuk mengetahui penandatangan mesej ini.
+SICertWithoutAddress=Sijil yang digunakan untuk menandatangani mesej tidak mengandungi alamat e-mel. Sila lihat butiran tandatangan sijil untuk mengetahui penandatangan mesej ini.
+
+## Encryption Information strings
+EINoneLabel2=Mesej Tidak Dienkripsi
+EINone=Mesej ini tidak dienkripsi sebelum dihantar. Maklumat yang dihantar melalui Internet tanpa enkripsi boleh dilihat oleh pihak lain semasa dalam penghantaran.
+EIValidLabel=Mesej Dienkripsi
+EIValid=Mesej ini dienkripsi sebelum dihantar kepada anda. Enkripsi menjadikan pihak lain sangat sukar untuk memaparkan kandungan maklumat semasa dihantar melalui rangkaian.
+EIInvalidLabel=Mesej Tidak Boleh Didekripsi
+EIInvalidHeader=Mesej ini telah dienkripsi sebelum dihantar kepada anda, tetapi tidak boleh didekripsi.
+EIContentAltered=Kandungan mesej mungkin telah diubah semasa penghantaran.
+EIClueless=Ada masalah yang tidak diketahui dengan mesej yang dienkripsi ini.
diff --git a/l10n-ms/mail/chrome/messenger/AccountManager.dtd b/l10n-ms/mail/chrome/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..ea7e2bf7e9
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/AccountManager.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from AccountManager.xul -->
+
+<!-- extracted from AccountManager.xhtml -->
+
+<!ENTITY accountManagerTitle.label "Tetapan Akaun">
+
+<!ENTITY accountActionsButton.label "Tindakan Akaun">
+<!ENTITY accountActionsButton.accesskey "A">
+<!ENTITY addMailAccountButton.label "Tambah Akaun Mel…">
+<!ENTITY addMailAccountButton.accesskey "T">
+<!ENTITY addIMAccountButton.label "Tambah Akaun Sembang…">
+<!ENTITY addIMAccountButton.accesskey "S">
+<!ENTITY addFeedAccountButton.label "Tambah Akaun Suapan…">
+<!ENTITY addFeedAccountButton.accesskey "S">
+<!ENTITY setDefaultButton.label "Tetapkan sebagai Piawai">
+<!ENTITY setDefaultButton.accesskey "P">
+<!ENTITY removeButton.label "Buang Akaun">
+<!ENTITY removeButton.accesskey "B">
+
+<!-- AccountManager.xul -->
+
+<!-- AccountManager.xhtml -->
+
diff --git a/l10n-ms/mail/chrome/messenger/AccountWizard.dtd b/l10n-ms/mail/chrome/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..82c7db096c
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/AccountWizard.dtd
@@ -0,0 +1,55 @@
+<!-- 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/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "Bestari Akaun">
+<!ENTITY accountWizard.size "width: 40em; height: 38em;">
+
+<!-- Entities for Account Type page -->
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "Identiti">
+<!ENTITY identityDesc.label "Setiap akaun ada identiti sendiri, iaitu maklumat untuk mengenal pasti akaun apabila mesej diterima.">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "Masukkan nama yang anda mahu paparkan dalam medan &quot;Daripada&quot; untuk mesej keluar">
+<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line
+ 1, do not translate two of "&quot;"
+ 2, Use localized full name instead of "John Smith"
+-->
+<!ENTITY fullnameExample.label "(sebagai contoh, &quot;Ahmad Abdullah&quot;).">
+<!ENTITY fullnameLabel.label "Nama Anda:">
+<!ENTITY fullnameLabel.accesskey "N">
+
+<!ENTITY emailLabel.label "Alamat E-mel:">
+<!ENTITY emailLabel.accesskey "A">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "Maklumat Pelayan Masuk">
+<!ENTITY incomingUsername.label "Nama Pengguna:">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "Masukkan nama pelayan berita (NNTP) (sebagai contoh, &quot;news.example.net&quot;).">
+<!ENTITY newsServerLabel.label "Pelayan Kumpulan berita:">
+<!ENTITY newsServerLabel.accesskey "K">
+
+<!-- Entities for Outgoing Server page -->
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "Nama Akaun">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "Masukkan nama akaun yang mahu dijadikan rujukan (sebagai contoh, &quot;Akaun Kerja&quot;, &quot;Akaun Utama&quot; atau &quot;Akaun Berita&quot;).">
+<!ENTITY accnameLabel.label "Nama Akaun:">
+<!ENTITY accnameLabel.accesskey "A">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "Tahniah!">
+<!ENTITY completionText.label "Sila sahkan bahawa maklumat di bawah adalah betul.">
+<!ENTITY newsServerNamePrefix.label "Nama Pelayan Berita (NNTP):">
+<!ENTITY clickFinish.label "Klik Selesai untuk menyimpan tetapan dan keluar daripada Bestari Akaun.">
+<!ENTITY clickFinish.labelMac "Klik Siap untuk menyimpan tetapan dan keluar daripada Bestari Akaun.">
diff --git a/l10n-ms/mail/chrome/messenger/CustomHeaders.dtd b/l10n-ms/mail/chrome/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..b16ec325e9
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/CustomHeaders.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Penyesuaian Pengepala">
+<!ENTITY addButton.label "Tambah">
+<!ENTITY addButton.accesskey "T">
+<!ENTITY removeButton.label "Buang">
+<!ENTITY removeButton.accesskey "B">
+<!ENTITY newMsgHeader.label "Pengepala mesej baru:">
+<!ENTITY newMsgHeader.accesskey "P">
diff --git a/l10n-ms/mail/chrome/messenger/FilterEditor.dtd b/l10n-ms/mail/chrome/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..2f6332bb93
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/FilterEditor.dtd
@@ -0,0 +1,65 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Peraturan Tapisan">
+<!ENTITY filterName.label "Nama penapis:">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY junk.label "Mel Remeh">
+<!ENTITY notJunk.label "Bukan Mel Remeh">
+
+<!ENTITY lowestPriorityCmd.label "Paling rendah">
+<!ENTITY lowPriorityCmd.label "Rendah">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY highPriorityCmd.label "Tinggi">
+<!ENTITY highestPriorityCmd.label "Paling tinggi">
+
+<!ENTITY contextDesc.label "Laksanakan tapisan apabila:">
+<!ENTITY contextIncomingMail.label "Mendapatkan Mel Baru:">
+<!ENTITY contextIncomingMail.accesskey "M">
+<!ENTITY contextManual.label "Laksanakan secara Manual">
+<!ENTITY contextManual.accesskey "L">
+<!ENTITY contextBeforeCls.label "Tapis sebelum Pengelasan Mel Remeh">
+<!ENTITY contextAfterCls.label "Tapis selepas Pengelasan Mel Remeh">
+<!ENTITY contextOutgoing.label "Selepas Menghantar">
+<!ENTITY contextOutgoing.accesskey "M">
+<!ENTITY contextArchive.label "Arkib">
+<!ENTITY contextArchive.accesskey "A">
+
+<!ENTITY filterActionDesc.label "Laksanakan tindakan ini:">
+<!ENTITY filterActionDesc.accesskey "L">
+
+<!ENTITY filterActionOrderWarning.label "Nota: Tindakan tapisan akan dilaksanakan dalam turutan berbeza.">
+<!ENTITY filterActionOrder.label "Lihat pelaksanaan perintah">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "Pindah Mesej ke">
+<!ENTITY copyMessage.label "Salin Mesej ke">
+<!ENTITY forwardTo.label "Kirim semula Mesej kepada">
+<!ENTITY replyWithTemplate.label "Balas menggunakan Templat">
+<!ENTITY markMessageRead.label "Tandakan sebagai telah Dibaca">
+<!ENTITY markMessageUnread.label "Tandakan sebagai Belum Dibaca">
+<!ENTITY markMessageStarred.label "Tandakan Bintang">
+<!ENTITY setPriority.label "Tetapkan Prioriti ke">
+<!ENTITY addTag.label "Tag Mesej">
+<!ENTITY setJunkScore.label "Tetapkan Status Mel Remeh ke">
+<!ENTITY deleteMessage.label "Buang Mesej">
+<!ENTITY deleteFromPOP.label "Buang Daripada Pelayan POP">
+<!ENTITY fetchFromPOP.label "Ambil Daripada Pelayan POP">
+<!ENTITY ignoreThread.label "Abaikan Thread">
+<!ENTITY ignoreSubthread.label "Abaikan Sub-thread">
+<!ENTITY watchThread.label "Ikuti Thread">
+<!ENTITY stopExecution.label "Henti Pelaksanaan Tapisan">
+
+<!ENTITY addAction.tooltip "Tambah tindakan baru">
+<!ENTITY removeAction.tooltip "Batal tindakan ini">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the filter action widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex -->
+<!ENTITY filterActionTypeFlexValue "1">
+<!ENTITY filterActionTargetFlexValue "4">
diff --git a/l10n-ms/mail/chrome/messenger/FilterListDialog.dtd b/l10n-ms/mail/chrome/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..34d1bee084
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/FilterListDialog.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Tapis Mesej">
+<!ENTITY nameColumn.label "Nama Penapis">
+<!ENTITY activeColumn.label "Didayakan">
+<!ENTITY newButton.label "Baru…">
+<!ENTITY newButton.accesskey "B">
+<!ENTITY newButton.popupCopy.label "Salin…">
+<!ENTITY newButton.popupCopy.accesskey "S">
+<!ENTITY editButton.label "Edit…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "Buang">
+<!ENTITY deleteButton.accesskey "g">
+<!ENTITY reorderTopButton "Pindah ke Atas">
+<!ENTITY reorderTopButton.accessKey "t">
+<!ENTITY reorderTopButton.toolTip "Susun semula penapis supaya dilaksanakan sebelum semua yang lain">
+<!ENTITY reorderUpButton.label "Pindah Atas">
+<!ENTITY reorderUpButton.accesskey "A">
+<!ENTITY reorderDownButton.label "Pindah Bawah">
+<!ENTITY reorderDownButton.accesskey "B">
+<!ENTITY reorderBottomButton "Pindah ke Bawah">
+<!ENTITY reorderBottomButton.accessKey "B">
+<!ENTITY reorderBottomButton.toolTip "Susun semula penapis supaya dilaksanakan selepas semua yang lain">
+<!ENTITY filterHeader.label "Penapis yang aktif dilaksanakan secara automatik mengikut susunan di bawah.">
+<!ENTITY filtersForPrefix.label "Tapis untuk:">
+<!ENTITY filtersForPrefix.accesskey "P">
+<!ENTITY viewLogButton.label "Tapis Log">
+<!ENTITY viewLogButton.accesskey "L">
+<!ENTITY runFilters.label "Laksanakan Sekarang">
+<!ENTITY runFilters.accesskey "L">
+<!ENTITY stopFilters.label "Berhenti">
+<!ENTITY stopFilters.accesskey "B">
+<!ENTITY folderPickerPrefix.label "Laksanakan penapis yang dipilih pada:">
+<!ENTITY folderPickerPrefix.accesskey "l">
+<!ENTITY helpButton.label "Bantuan">
+<!ENTITY helpButton.accesskey "B">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "Cari penapis mengikut nama…">
+
+
+
diff --git a/l10n-ms/mail/chrome/messenger/SearchDialog.dtd b/l10n-ms/mail/chrome/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..6e33b45338
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/SearchDialog.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- for SearchDialog.xul -->
+<!ENTITY searchHeading.label "Cari mesej dalam:">
+<!ENTITY searchHeading.accesskey "i">
+<!ENTITY searchSubfolders.label "Cari sub-folder">
+<!ENTITY searchSubfolders.accesskey "e">
+<!ENTITY searchOnServer.label "Laksanakan carian dalam pelayan">
+<!ENTITY searchOnServer.accesskey "s">
+<!ENTITY resetButton.label "Buang">
+<!ENTITY resetButton.accesskey "B">
+<!ENTITY openButton.label "Buka">
+<!ENTITY openButton.accesskey "k">
+<!ENTITY deleteButton.label "Buang">
+<!ENTITY deleteButton.accesskey "B">
+<!ENTITY searchDialogTitle.label "Cari Mesej">
+<!ENTITY results.label "Hasil">
+<!ENTITY moveButton.label "Pindah Ke">
+<!ENTITY moveButton.accesskey "K">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "Buka dalam Folder">
+<!ENTITY openInFolder.accesskey "r">
+<!ENTITY saveAsVFButton.label "Simpan sebagai Folder Carian">
+<!ENTITY saveAsVFButton.accesskey "m">
+
+<!-- for ABSearchDialog.xul -->
+<!ENTITY abSearchHeading.label "Cari dalam:">
+<!ENTITY abSearchHeading.accesskey "i">
+<!ENTITY propertiesButton.label "Sifat">
+<!ENTITY propertiesButton.accesskey "S">
+<!ENTITY composeButton.label "Tulis">
+<!ENTITY composeButton.accesskey "T">
+<!ENTITY deleteCardButton.label "Buang">
+<!ENTITY deleteCardButton.accesskey "B">
+<!ENTITY abSearchDialogTitle.label "Carian Buku Alamat Lanjutan">
+
diff --git a/l10n-ms/mail/chrome/messenger/aboutDialog.dtd b/l10n-ms/mail/chrome/messenger/aboutDialog.dtd
new file mode 100644
index 0000000000..114019be6c
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/aboutDialog.dtd
@@ -0,0 +1,115 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY aboutDialog.title "Perihal &brandFullName;">
+
+<!-- LOCALIZATION NOTE (update.*):
+# These strings are also used in the update pane of preferences.
+# See about:preferences#advanced.
+-->
+<!-- LOCALIZATION NOTE (update.checkForUpdatesButton.*, update.updateButton.*):
+# Only one button is present at a time.
+# The button when displayed is located directly under the Thunderbird version in
+# the about dialog.
+-->
+<!ENTITY update.checkForUpdatesButton.label "Semak Kemaskini">
+<!ENTITY update.checkForUpdatesButton.accesskey "S">
+<!ENTITY update.updateButton.label3 "Mula semula untuk mengemaskini &brandShorterName;">
+<!ENTITY update.updateButton.accesskey "M">
+
+
+<!-- LOCALIZATION NOTE (warningDesc.version): This is a warning about the experimental nature of Nightly builds. It is only shown in this version. -->
+<!ENTITY warningDesc.version "&brandShortName; masih dalam percubaan dan mungkin tidak stabil.">
+<!-- LOCALIZATION NOTE (warningDesc.telemetryDesc): This is a notification that Nightly builds automatically send Telemetry data back to Mozilla. It is only shown in this version. "It" refers to brandShortName. -->
+<!ENTITY warningDesc.telemetryDesc "Maklumat prestasi, perkakasan, penggunaan dan penyesuaian dihantar secara automatik ke &vendorShortName; untuk membantu menjadikan &brandShortName; lebih baik.">
+
+<!-- LOCALIZATION NOTE (community.exp.*) This paragraph is shown in "experimental" builds, i.e. Nightly builds, instead of the other "community.*" strings below. -->
+<!ENTITY community.exp.start "">
+<!-- LOCALIZATION NOTE (community.exp.mozillaLink): This is a link title that links to http://www.mozilla.org/. -->
+<!ENTITY community.exp.mozillaLink "&vendorShortName;">
+<!ENTITY community.exp.middle " adalah ">
+<!-- LOCALIZATION NOTE (community.exp.creditslink): This is a link title that links to about:credits. -->
+<!ENTITY community.exp.creditsLink "komuniti global">
+<!ENTITY community.exp.end " bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.">
+
+<!ENTITY community.start2 "&brandShortName; direka oleh ">
+<!-- LOCALIZATION NOTE (community.mozillaLink): This is a link title that links to http://www.mozilla.org/. -->
+<!ENTITY community.mozillaLink "&vendorShortName;">
+<!ENTITY community.middle2 ", sebuah ">
+<!-- LOCALIZATION NOTE (community.creditsLink): This is a link title that links to about:credits. -->
+<!ENTITY community.creditsLink "komuniti global">
+<!ENTITY community.end3 " bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.">
+
+<!ENTITY helpus.start "Mahu membantu? ">
+<!-- LOCALIZATION NOTE (helpus.donateLink): This is a link title that links to the thunderbird donation page -->
+<!ENTITY helpus.donateLink "Hulurkan sumbangan">
+<!ENTITY helpus.middle " atau ">
+<!-- LOCALIZATION NOTE (helpus.getInvolvedLink): This is a link title that links to http://www.mozilla.org/contribute/. -->
+<!ENTITY helpus.getInvolvedLink "sertainya!">
+<!ENTITY helpus.end "">
+
+<!ENTITY releaseNotes.link "Nota keluaran">
+
+<!-- LOCALIZATION NOTE (bottomLinks.license): This is a link title that links to about:license. -->
+<!ENTITY bottomLinks.license "Maklumat Perlesenan">
+
+<!-- LOCALIZATION NOTE (bottomLinks.rights): This is a link title that links to about:rights. -->
+<!ENTITY bottomLinks.rights "Hak Pengguna Akhir">
+
+<!-- LOCALIZATION NOTE (bottomLinks.privacy): This is a link title that links to https://www.mozilla.org/legal/privacy/. -->
+<!ENTITY bottomLinks.privacy "Polisi Privasi">
+
+<!-- LOCALIZATION NOTE (update.checkingForUpdates): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.checkingForUpdates "Menyemak kemaskini…">
+<!-- LOCALIZATION NOTE (update.noUpdatesFound): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.noUpdatesFound "&brandShortName; sudah terkini">
+<!-- LOCALIZATION NOTE (update.adminDisabled): try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.adminDisabled "Kemaskini dinyahdayakan oleh pentadbir sistem anda">
+<!-- LOCALIZATION NOTE (update.otherInstanceHandlingUpdates): try to make the localized text short -->
+<!ENTITY update.otherInstanceHandlingUpdates "&brandShortName; sedang dikemaskini oleh tika lain">
+
+<!-- LOCALIZATION NOTE (update.failed.start,update.failed.linkText,update.failed.end):
+ update.failed.start, update.failed.linkText, and update.failed.end all go into
+ one line with linkText being wrapped in an anchor that links to a site to download
+ the latest version of Firefox (e.g. http://www.firefox.com). As this is all in
+ one line, try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.failed.start "Kemaskini gagal. ">
+<!ENTITY update.failed.linkText "Muat turun versi terkini">
+<!ENTITY update.failed.end "">
+
+<!-- LOCALIZATION NOTE (update.manual.start,update.manual.end): update.manual.start and update.manual.end
+ all go into one line and have an anchor in between with text that is the same as the link to a site
+ to download the latest version of Firefox (e.g. http://www.firefox.com). As this is all in one line,
+ try to make the localized text short (see bug 596813 for screenshots). -->
+<!ENTITY update.manual.start "Memuat turun ">
+<!ENTITY update.manual.linkText "versi terbaru">
+<!ENTITY update.manual.end "">
+
+<!-- LOCALIZATION NOTE (update.unsupported.start,update.unsupported.linkText,update.unsupported.end):
+ update.unsupported.start, update.unsupported.linkText, and
+ update.unsupported.end all go into one line with linkText being wrapped in
+ an anchor that links to a site to provide additional information regarding
+ why the system is no longer supported. As this is all in one line, try to
+ make the localized text short (see bug 843497 for screenshots). -->
+<!ENTITY update.unsupported.start "Anda tidak boleh lagi melaksanakan kemaskini dalam sistem ini. ">
+<!ENTITY update.unsupported.linkText "Ketahui selanjutnya">
+<!ENTITY update.unsupported.end "">
+
+<!-- LOCALIZATION NOTE (update.downloading.start,update.downloading.end): update.downloading.start and
+ update.downloading.end all go into one line, with the amount downloaded inserted in between. As this
+ is all in one line, try to make the localized text short (see bug 596813 for screenshots). The — is
+ the "em dash" (long dash).
+ example: Downloading update — 111 KB of 13 MB -->
+<!ENTITY update.downloading.start "Memuat turun kemaskini — ">
+<!ENTITY update.downloading.end "">
+
+<!ENTITY update.applying "Melaksanakan kemaskini…">
+
+<!-- LOCALIZATION NOTE (channel.description.start,channel.description.end): channel.description.start and
+ channel.description.end create one sentence, with the current channel label inserted in between.
+ example: You are currently on the _Stable_ update channel. -->
+<!ENTITY channel.description.start "Anda sedang berada dalam ">
+<!ENTITY channel.description.end " saluran kemaskini. ">
+
+<!ENTITY cmdCloseMac.commandKey "w">
diff --git a/l10n-ms/mail/chrome/messenger/aboutDownloads.dtd b/l10n-ms/mail/chrome/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..7c450089db
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/aboutDownloads.dtd
@@ -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/. -->
+
+<!ENTITY aboutDownloads.title "Fail Disimpan">
+<!-- LOCALIZATION NOTE (cmd.show.label, cmd.show.accesskey, cmd.showMac.label,
+ cmd.showMac.accesskey):
+ The show and showMac commands are never shown together, thus they can share
+ the same access key (though the two access keys can also be different).
+ -->
+<!ENTITY cmd.show.label "Buka Kandungan Folder">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.showMac.label "Papar Dalam Finder">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "Buka">
+<!ENTITY cmd.open.accesskey "B">
+<!ENTITY cmd.removeFromHistory.label "Buang Daripada Sejarah">
+<!ENTITY cmd.removeFromHistory.accesskey "e">
+<!ENTITY cmd.clearList.label "Buang Senarai">
+<!ENTITY cmd.clearList.accesskey "B">
+<!ENTITY cmd.clearList.tooltip "Buang semua entri dalam senarai fail yang disimpan, kecuali yang sedang dimuat turun.">
+<!ENTITY cmd.searchDownloads.label "Cari…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/l10n-ms/mail/chrome/messenger/aboutRights.properties b/l10n-ms/mail/chrome/messenger/aboutRights.properties
new file mode 100644
index 0000000000..6f0c720a4f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/aboutRights.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/.
+
+buttonLabel=Ketahui hak anda…
+buttonAccessKey=K
diff --git a/l10n-ms/mail/chrome/messenger/aboutSupportMail.properties b/l10n-ms/mail/chrome/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..73aeadd73e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/aboutSupportMail.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/.
+
+# LOCALIZATION NOTE (warningLabel): Label for warning text that shows up when private data is included
+warningLabel=AMARAN:
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=Ini adalah kandungan maklumat sensitif yang tidak boleh dikemukakan atau diterbitkan tanpa kebenaran.
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (Pemacu lokal)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (Pemacu rangkaian)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (Lokasi tidak diketahui)
diff --git a/l10n-ms/mail/chrome/messenger/accountCreationModel.properties b/l10n-ms/mail/chrome/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..239ba02e38
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/accountCreationModel.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/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: fetchConfig.js, readFromXML.js, guessConfig.js, verifyConfig.js, createInBackend.js
+
+
+# readFromXML.js
+no_emailProvider.error=Konfigurasi fail XML tidak mengandungi konfigurasi akaun e-mel.
+outgoing_not_smtp.error=Pelayan keluar hendaklah jenis SMTP
+
+# verifyConfig.js
+cannot_login.error=Tidak dapat log masuk pelayan. Mungkin salah konfigurasi, nama pengguna atau kata laluan.
+
+
+# guessConfig.js
+cannot_find_server.error=Tidak dapat mencari pelayan
+
diff --git a/l10n-ms/mail/chrome/messenger/accountCreationUtil.properties b/l10n-ms/mail/chrome/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..04d49269e5
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/accountCreationUtil.properties
@@ -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/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: sanitizeDatatypes.js, fetchhttp.js, util.js
+
+
+# sanitizeDatatypes.js
+hostname_syntax.error=Nama hos samada kosong atau mengandungi aksara yang dilarang. Hanya huruf, nombor, - dan . dibenarkan.
+alphanumdash.error=String mengandungi aksara yang tidak disokong. Hanya huruf, nombor, - dan _ dibenarkan.
+allowed_value.error=Nilai yang disediakan tiada dalam senarai yang dibenarkan
+url_scheme.error=Skema URL tidak dibenarkan
+url_parsing.error=URL tidak diiktiraf
+string_empty.error=Anda mesti berikan nilai untuk string ini
+boolean.error=Bukan boolean
+no_number.error=Bukan nombor
+number_too_large.error=Nombor terlalu besar
+number_too_small.error=Nombor terlalu kecil
+
+
+# fetchhttp.js
+cannot_contact_server.error=Tidak dapat menghubungi pelayan
+bad_response_content.error=Kandungan respons buruk
+
+# verifyConfig.js
+# LOCALIZATION NOTE(auth_failed_generic.error): The login failed (server refused to allow the user in), but the server did not give any meaningful error message. This is a common case when the user entered a wrong password or is otherwise not allowed.
+auth_failed_generic.error=Log masuk gagal. Adakah nama/e-mel dan kata laluan yang betul?
+# LOCALIZATION NOTE(auth_failed_with_reason.error): The login failed (server refused to allow the user in), and the server gave an error message which we can present to the user. This is a common case when the user entered a wrong password or is otherwise not allowed. %1$S will be the IMAP/POP3/SMTP server hostname. %2$S will be the error message from the server (usually in the local language where the server is or in English).
+auth_failed_with_reason.error=Log masuk gagal. Pelayan %1$S menyatakan: %2$S
+# LOCALIZATION NOTE(verification_failed.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we unfortunately have no detailed error message.
+verification_failed.error=Pengesahan log masuk gagal atas sebab yang tidak diketahui.
+# LOCALIZATION NOTE(verification_failed_with_exception.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we have an error message. %1$S will be an error message, possibly in English
+verification_failed_with_exception.error=Pengesahan log masuk gagal dengan mesej: %1$S
diff --git a/l10n-ms/mail/chrome/messenger/activity.dtd b/l10n-ms/mail/chrome/messenger/activity.dtd
new file mode 100644
index 0000000000..b367888c3b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/activity.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (window.width2, window.height): These values should be
+close to the golden ratio (1.618:1) while making sure it's wide enough for long
+file names and tall enough to hint that there are more activities in the list -->
+<!ENTITY window.width2 "485">
+<!ENTITY window.height "300">
+
+<!ENTITY activity.title "Pengurus Aktiviti">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "Buang Senarai">
+<!ENTITY cmd.clearList.tooltip "Buang semua item yang lengkap, dibatalkan dan gagal daripada senarai">
+<!ENTITY cmd.clearList.accesskey "B">
+
diff --git a/l10n-ms/mail/chrome/messenger/activity.properties b/l10n-ms/mail/chrome/messenger/activity.properties
new file mode 100644
index 0000000000..b5378fbac1
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/activity.properties
@@ -0,0 +1,99 @@
+# 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/.
+
+# Status Text
+paused2=Dijeda
+processing=Memproses
+notStarted=Tidak Dimulakan
+failed=Gagal
+waitingForInput=Menunggu input
+waitingForRetry=Menunggu mengulang
+completed=Selesai
+canceled=Dibatalkan
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=Menghantar Mesej
+sendingMessage=Menghantar Mesej
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=Menghantar Mesej: %S
+copyMessage=Menyalin mesej ke folder penghantaran
+sentMessage=Mesej Dihantar
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=Mesej Dihantar: %S
+failedToSendMessage=Gagal menghantar mesej
+failedToCopyMessage=Gagal menyalin mesej
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=Gagal menghantar mesej: %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=Gagal menyalin mesej: %S
+
+# LOCALIZATION NOTE (autosyncProcessProgress2): Do not translate the words "%1$S", "%2$S", "%3$S" and "%4$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Place the word %4$S in your translation where the name of account being processed should appear.
+# EXAMPLE: Ted's account: Downloading message 334 of 1008 in Inbox…
+autosyncProcessProgress2=%4$S: Memuat turun %1$S daripada %2$S mesej dalam %3$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=Memastikan folder %S sentiasa terkini
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S sudah terkini
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=Bilangan mesej dimuat turun: %S
+autosyncEventStatusTextNoMsgs=Tiada mesej dimuat turun
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=Menyelaraskan: %S
+
+# LOCALIZATION NOTE (pop3EventStartDisplayText2): Do not translate the words "%1$S" and "%2$S" below.
+# Place the word %1$S in your translation where the name of the account being checked for new messages should appear.
+# Place the word %2$S in your translation where the name of the folder being checked for new messages should appear.
+# EXAMPLE: George's account: Checking Inbox for new messages…
+pop3EventStartDisplayText2=%1$S: Menyemak %2$S untuk mendapatkan mesej baru…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=%S sudah terkini
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=#1 mesej dimuat turun;#1 mesej dimuat turun
+pop3EventStatusTextNoMsgs=Tiada mesej untuk dimuat turun
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=#1 mesej dihapuskan daripada #2;#1 mesej dihapuskan daripada #2
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=#1 mesej dialihkan daripada #2 ke dalam #3;#1 mesej dialihkan daripada #2 ke dalam #3
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=#1 mesej disalin daripada #2 ke dalam #3;#1 mesej disalin daripada #2 ke dalam #3
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=daripada #1 ke #2
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=Folder #1 telah dibuang
+emptiedTrash=Buang Sampah
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=Folder #1 dipindahkan ke dalam folder #2
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=Folder #1 dipindahkan ke dalam Tong Sampah
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=Folder #1 disalin ke dalam folder #2
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=Folder #1 dinamakan semula sebagai #2
+indexing=Mengindeks mesej
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=Mengindeks mesej dalam #1
+indexingStatusVague=Menentukan mesej untuk diindeks
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=Menentukan mesej untuk diindeks dalam #1
+# LOCALIZATION NOTE (indexingStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+indexingStatusExact=Mengindeks #1 daripada #2 mesej;Mengindeks #1 daripada #2 mesej (#3% selesai)
+# LOCALIZATION NOTE (indexingFolderStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+# #4 is a folder name
+indexingFolderStatusExact=Mengindeks #1 daripada #2 mesej dalam #4;Mengindeks #1 daripada #2 mesej dalam #4 (#3% selesai)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=#1 mesej diindeks dalam #2;#1 mesej diindeks dalam #2
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=#1 saat berlalu;#1 saat berlalu
diff --git a/l10n-ms/mail/chrome/messenger/addbuddy.dtd b/l10n-ms/mail/chrome/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..909623fca5
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addbuddy.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY addBuddyWindow.title "Tambah kenalan">
+<!ENTITY name.label "Nama pengguna">
+<!ENTITY account.label "Akaun">
diff --git a/l10n-ms/mail/chrome/messenger/addons.properties b/l10n-ms/mail/chrome/messenger/addons.properties
new file mode 100644
index 0000000000..a53abb1e54
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addons.properties
@@ -0,0 +1,185 @@
+# 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/.
+
+xpinstallPromptMessage=%S menghalang laman ini daripada meminta anda memasang perisian dalam komputer.
+xpinstallPromptMessage.dontAllow=Jangan Izinkan
+xpinstallPromptMessage.dontAllow.accesskey=J
+
+xpinstallDisabledMessageLocked=Pemasangan perisian telah dinyahdayakan oleh pentadbir sistem anda.
+xpinstallDisabledMessage=Pemasangan perisian sedang dinyahdayakan. Klik Dayakan dan cuba lagi.
+xpinstallDisabledButton=Dayakan
+xpinstallDisabledButton.accesskey=n
+
+# 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, addonInstallErrorLegacy, addonLocalInstallErrorLegacy):
+# %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.
+
+# 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.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
+
+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.addressBooks=Membaca dan mengubah suai buku alamat dan kenalan anda
+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
+
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd b/l10n-ms/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..3693994bfa
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Labels -->
+<!ENTITY name.label "Nama Buku Alamat:">
+<!ENTITY name.accesskey "A">
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/abContactsPanel.dtd b/l10n-ms/mail/chrome/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..b449e385d6
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/abContactsPanel.dtd
@@ -0,0 +1,49 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY propertiesMenu.label "Sifat">
+<!ENTITY propertiesMenu.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "Sifat Buku Alamat">
+<!ENTITY abPropertiesMenu.accesskey "i">
+<!ENTITY contactPropertiesMenu.label "Sifat Kenalan">
+<!ENTITY contactPropertiesMenu.accesskey "i">
+<!ENTITY mailingListPropertiesMenu.label "Sifat Senarai Mel">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
+<!ENTITY abContextMenuButton.tooltip "Paparan Menu Konteks Buku Alamat">
+<!ENTITY addressbookPicker.label "Buku Alamat:">
+<!ENTITY addressbookPicker.accesskey "k">
+<!ENTITY searchContacts.label "Cari Kenalan:">
+<!ENTITY searchContacts.accesskey "n">
+<!ENTITY SearchNameOrEmail.label "Nama atau E-mel">
+
+<!ENTITY addtoToFieldMenu.label "Tambah ke medan Kepada">
+<!ENTITY addtoToFieldMenu.accesskey "T">
+<!ENTITY addtoCcFieldMenu.label "Tambah ke medan Cc">
+<!ENTITY addtoCcFieldMenu.accesskey "C">
+<!ENTITY addtoBccFieldMenu.label "Tambah ke medan Bcc">
+<!ENTITY addtoBccFieldMenu.accesskey "B">
+<!ENTITY deleteAddrBookCard.label "Buang">
+<!ENTITY deleteAddrBookCard.accesskey "B">
+<!ENTITY propertiesContext.label "Sifat">
+<!ENTITY propertiesContext.accesskey "i">
+<!ENTITY abPropertiesContext.label "Sifat">
+<!ENTITY abPropertiesContext.accesskey "i">
+<!ENTITY editContactContext.label "Edit Kenalan">
+<!ENTITY editContactContext.accesskey "E">
+<!ENTITY editMailingListContext.label "Edit Senarai">
+<!ENTITY editMailingListContext.accesskey "E">
+
+<!ENTITY newContactAbContext.label "Kenalan Baru">
+<!ENTITY newContactAbContext.accesskey "K">
+<!ENTITY newListAbContext.label "Senarai Baru">
+<!ENTITY newListAbContext.accesskey "S">
+
+<!ENTITY toButton.label "Tambah ke Kepada:">
+<!ENTITY toButton.accesskey "T">
+<!ENTITY ccButton.label "Tambah ke Cc:">
+<!ENTITY ccButton.accesskey "C">
+<!ENTITY bccButton.label "Tambah ke Bcc:">
+<!ENTITY bccButton.accesskey "B">
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/abMailListDialog.dtd b/l10n-ms/mail/chrome/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..0b612b8e22
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/abMailListDialog.dtd
@@ -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/. -->
+
+<!-- Title -->
+<!ENTITY mailListWindowAdd.title "Senarai Mel Baru">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "Tambah ke: ">
+<!ENTITY addToAddressBook.accesskey "T">
+<!ENTITY ListName.label "Senarai Nama: ">
+<!ENTITY ListName.accesskey "S">
+<!ENTITY ListNickName.label "Senarai Nama gelaran: ">
+<!ENTITY ListNickName.accesskey "N">
+<!ENTITY ListDescription.label "Keterangan: ">
+<!ENTITY ListDescription.accesskey "K">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "Taip alamat e-mel untuk ditambah dalam senarai mel:">
+<!ENTITY AddressTitle.accesskey "m">
+<!ENTITY UpButton.label "Pindah Atas">
+<!ENTITY DownButton.label "Pindah Bawah">
+
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/abMainWindow.dtd b/l10n-ms/mail/chrome/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..bc825f126a
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/abMainWindow.dtd
@@ -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/. -->
+
+<!ENTITY showAsDefault.label "Direktori permulaan piawai">
+<!ENTITY showAsDefault.accesskey "D">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Nama atau E-mel">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "Buku Alamat">
+<!ENTITY GeneratedName.label "Nama">
+<!ENTITY PrimaryEmail.label "E-mel">
+
+<!-- Card Summary Pane -->
+
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/abResultsPane.dtd b/l10n-ms/mail/chrome/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..34fe9b7ee2
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/abResultsPane.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Addrbook.label "Buku Alamat">
+<!ENTITY Addrbook.accesskey "B">
+<!ENTITY GeneratedName.label "Nama">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "E-mel">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY Company.label "Organisasi">
+<!ENTITY Company.accesskey "s">
+<!ENTITY _PhoneticName.label "Nama Fonetik">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "Nama gelaran">
+<!ENTITY NickName.accesskey "g">
+<!ENTITY SecondEmail.label "E-mel Tambahan">
+<!ENTITY SecondEmail.accesskey "l">
+<!ENTITY Department.label "Jabatan">
+<!ENTITY Department.accesskey "b">
+<!ENTITY JobTitle.label "Jawatan">
+<!ENTITY JobTitle.accesskey "J">
+<!ENTITY CellularNumber.label "Mudah alih">
+<!ENTITY CellularNumber.accesskey "M">
+<!ENTITY PagerNumber.label "Kelui">
+<!ENTITY PagerNumber.accesskey "K">
+<!ENTITY FaxNumber.label "Faks">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "Telefon Rumah">
+<!ENTITY HomePhone.accesskey "R">
+<!ENTITY WorkPhone.label "Telefon Kerja">
+<!ENTITY WorkPhone.accesskey "K">
+<!ENTITY ChatName.label "Nama Sembang">
+<!ENTITY ChatName.accesskey "S">
+<!ENTITY sortAscending.label "Menaik">
+<!ENTITY sortAscending.accesskey "M">
+<!ENTITY sortDescending.label "Menurun">
+<!ENTITY sortDescending.accesskey "M">
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/addressBook.properties b/l10n-ms/mail/chrome/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..604e1b546f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/addressBook.properties
@@ -0,0 +1,174 @@
+# 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 are used by the Mailing list dialog.
+# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name.
+mailingListTitleEdit=Edit %S
+emptyListName=Anda perlu masukkan nama senarai.
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=Semua Buku Alamat
+
+newContactTitle=Kenalan Baru
+# %S will be the contact's display name
+newContactTitleWithDisplayName=Kenalan Baru dalam %S
+editContactTitle=Edit Kenalan
+# %S will be the contact's display name
+editContactTitleWithDisplayName=Edit Kenalan dalam %S
+# don't translate vCard
+editVCardTitle=Edit vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=Edit vCard dalam %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=Anda perlu masukkan sekurang-kurangnya salah satu item yang berikut:\nAlamat E-mel, Nama Pertama, Nama Keluarga, Nama Paparan, Organisasi.
+cardRequiredDataMissingTitle=Tiada Maklumat Yang Diperlukan
+incorrectEmailAddressFormatMessage=Alamat e-mel utama hendaklah dalam bentuk user@host.
+incorrectEmailAddressFormatTitle=Format Alamat E-mel Tidak Betul
+
+viewListTitle=Senarai Mel: %S
+mailListNameExistsTitle=Senarai Mel Sudah Wujud
+mailListNameExistsMessage=Senarai Mel dengan nama ini telah wujud. Sila pilih nama lain.
+
+propertyPrimaryEmail=E-mel
+propertyListName=Nama Senarai
+propertySecondaryEmail=E-mel Tambahan
+propertyNickname=Nama gelaran
+propertyDisplayName=Nama Paparan
+propertyWork=Kerja
+propertyHome=Rumah
+propertyFax=Faks
+propertyCellular=Mudah alih
+propertyPager=Kelui
+propertyBirthday=Tarikh lahir
+propertyCustom1=Penyesuaian 1
+propertyCustom2=Penyesuaian 2
+propertyCustom3=Penyesuaian 3
+propertyCustom4=Penyesuaian 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=ID Jabber
+propertyIRC=Gelaran IRC
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%3$S %1$S, %2$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=Kepada
+prefixCc=Cc
+prefixBcc=Bcc
+addressBook=Buku Alamat
+
+# Contact photo management
+browsePhoto=Foto Kenalan
+
+stateImageSave=Menyimpan imej…
+errorInvalidUri=Ralat: Sumber imej tidak sah.
+errorNotAvailable=Ralat: Fail tidak dapat diakses.
+errorInvalidImage=Ralat: Jenis imej JPG, PNG dan GIF sahaja yang disokong.
+errorSaveOperation=Ralat: Tidak dapat menyimpan imej.
+
+# mailnews.js
+ldap_2.servers.pab.description=Buku Alamat Peribadi
+ldap_2.servers.history.description=Himpunan Alamat
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Buku Alamat Mac OS X
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=Bilangan Kenalan dalam %1$S: %2$S
+noMatchFound=Tiada padanan ditemui
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=#1 padanan ditemui
+
+## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
+## %1$S is the number of contacts that were copied. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsCopied=%1$S kenalan disalin;%1$S kenalan disalin
+
+## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
+## %1$S is the number of contacts that were moved. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsMoved=%1$S kenalan dipindahkan;%1$S kenalan dipindahkan
+
+# LDAP directory stuff
+invalidName=Sila masukkan Nama yang sah.
+invalidHostname=Sila masukkan Nama hos yang sah.
+invalidPortNumber=Sila masukkan Nombor Port yang sah.
+invalidResults=Sila masukkan nombor yang sah dalam medan hasil.
+abReplicationOfflineWarning=Anda mesti berada atas talian untuk melaksanakan replika LDAP.
+abReplicationSaveSettings=Tetapan mesti disimpan sebelum direktori boleh dimuat turun.
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=Eksport Buku Alamat - %S
+LDIFFiles=LDIF
+CSVFiles=Dipisahkan oleh Koma
+CSVFilesSysCharset=Dipisahkan oleh Koma (Sistem Charset)
+CSVFilesUTF8=Dipisahkan oleh Koma (UTF-8)
+TABFiles=Pembatasan Tab
+TABFilesSysCharset=Pembatasan Tab (Sistem Charset)
+TABFilesUTF8=Pembatasan Tab (UTF-8)
+VCFFiles=vCard
+failedToExportTitle=Gagal Mengeksport
+failedToExportMessageNoDeviceSpace=Gagal mengeksport buku alamat, tiada lagi ruang dalam peranti.
+failedToExportMessageFileAccessDenied=Gagal mengeksport buku alamat, capaian fail ditolak.
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=Replika Buku Alamat LDAP
+AuthDlgDesc=Untuk mengakses pelayan direktori, masukkan nama pengguna dan kata laluan anda.
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=Sertai + saya + dalam + Sembang + ini.
+
+# For printing
+headingHome=Rumah
+headingWork=Kerja
+headingOther=Lain-lain
+headingChat=Sembang
+headingPhone=Telefon
+headingDescription=Keterangan
+headingAddresses=Alamat
+
+## For address books
+addressBookTitleNew=Buku Alamat Baru
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=Sifat %S
+duplicateNameTitle=Duplikasi Nama Buku Alamat
+# LOCALIZATION NOTE (duplicateNameText):
+# Don't localize "\n• %S" unless your local layout comes out wrong.
+# %S is the name of the existing address book.
+# Example: An address book with this name already exists:
+# • My Custom AB
+duplicateNameText=Buku alamat dengan nama ini sudah wujud:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=Fail Buku Alamat Rosak
+corruptMabFileAlert=Salah satu fail buku alamat (fail %1$S) tidak boleh dibaca. Fail %2$S baru akan dicipta dan menjadi sandaran bagi fail lama, yang dipanggil %3$S, dalam direktori yang sama.
+
+# For locked .mab files
+lockedMabFileTitle=Tidak dapat Memuatkan Fail Buku Alamat
+lockedMabFileAlert=Tidak dapat memuatkan fail buku alamat %S. Mungkin fail baca sahaja, atau dikunci oleh aplikasi lain. Sila cuba lagi nanti.
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties b/l10n-ms/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..db14414942
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
@@ -0,0 +1,109 @@
+# 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 are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+# These are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+## @name ERR_STATE_UNBOUND
+## @loc none
+0=Masalah mempermulakan LDAP
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=Pelayan LDAP gagal disambungkan
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=Pelayan LDAP gagal disambungkan
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=Masalah komunikasi pelayan LDAP
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=Masalah carian pelayan LDAP
+
+
+# The format of the alert dialog itself
+#
+## @name ALERT_FORMAT
+## @loc None of %1$S, %2$S and %3$S should be localized.
+## %1$S is the error code itself, %2$S is an LDAP SDK error message from
+## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
+## to that specific error, found in this file.
+errorAlertFormat=Kod ralat %1$S: %2$S\n\n %3$S
+
+## The following errors are for error codes other than LDAP-specific ones.
+## Someday mozilla will actually have a system for mapping nsresults to
+## error strings that's actually widely used, unlike nsIErrorService. But
+## until it does, these strings live here...
+
+## @name HOST_NOT_FOUND
+## @loc none
+5000=Hos tidak ditemui
+
+## @name GENERIC_ERROR
+## @loc none
+9999=Ralat tidak diketahui
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=Sila cuba lagi nanti, atau hubungi Pentadbir Sistem anda.
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=Pengesahan rapi tidak disokong pada masa ini.
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=Pastikan tapis carian adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan tapis carian adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, dan kemudian klik Lanjutan untuk memaparkan Tapis Carian.
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=Pastikan Base DN adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Base DN adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit untuk memaparkan Base DN.
+
+## @name BUSY_HINT
+## @loc none
+10051=Sila cuba lagi nanti.
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=Pastikan Nama Hos dan Nombor Port adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos dan Nombor Port adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos. Klik Lanjutan untuk memaparkan Nombor Port.
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=Sila cuba lagi nanti.
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=Pastikan tapis carian adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan tapis carian adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, dan kemudian klik Lanjutan untuk memaparkan Tapis Carian.
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=Sila tutup tetingkap dan/atau aplikasi lain dan cuba lagi.
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=Pastikan Nama Hos dan Nombor Port adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos dan Nombor Port adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos. Klik Lanjutan untuk memaparkan Nombor Port.
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=Pastikan Nama Hos adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos.
+
+## @name GENERIC_HINT
+## @loc none
+19999=Sila hubungi Pentadbir Sistem anda.
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/pref-directory-add.dtd b/l10n-ms/mail/chrome/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..53ab3fef03
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/pref-directory-add.dtd
@@ -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/. -->
+
+<!ENTITY directoryName.label "Nama: ">
+<!ENTITY directoryName.accesskey "m">
+<!ENTITY directoryHostname.label "Nama hos: ">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "Base DN: ">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "Cari">
+<!ENTITY findButton.accesskey "r">
+<!ENTITY directorySecure.label "Guna sambungan selamat (SSL)">
+<!ENTITY directorySecure.accesskey "G">
+<!ENTITY directoryLogin.label "Bind DN: ">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "Umum">
+<!ENTITY Offline.tab "Luar talian">
+<!ENTITY Advanced.tab "Lanjutan">
+<!ENTITY portNumber.label "Nombor port: ">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "Tapis carian: ">
+<!ENTITY searchFilter.accesskey "c">
+<!ENTITY scope.label "Skop: ">
+<!ENTITY scope.accesskey "k">
+<!ENTITY scopeOneLevel.label "Satu Tahap">
+<!ENTITY scopeOneLevel.accesskey "T">
+<!ENTITY scopeSubtree.label "Sub-pepohon">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "Jangan kembalikan lebih daripada">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "hasil">
+<!ENTITY offlineText.label "Anda boleh muat turun salinan lokal direktori ini supaya boleh digunakan apabila di luar talian.">
+<!ENTITY saslMechanism.label "Kaedah log masuk: ">
+<!ENTITY saslMechanism.accesskey "d">
+<!ENTITY saslOff.label "Ringkas">
+<!ENTITY saslOff.accesskey "k">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+<!ENTITY newDirectoryWidth "36em">
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/pref-directory.dtd b/l10n-ms/mail/chrome/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..d6a7f16014
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/pref-directory.dtd
@@ -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 (window.title) : do not translate "LDAP" in below line -->
+<!ENTITY pref.ldap.window.title "Pelayan Direktori LDAP">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Pelayan Direktori LDAP:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "Pilih Pelayan Direktori LDAP:">
+<!ENTITY directoriesText.accesskey "P">
+<!ENTITY addDirectory.label "Tambah">
+<!ENTITY addDirectory.accesskey "a">
+<!ENTITY editDirectory.label "Edit">
+<!ENTITY editDirectory.accesskey "t">
+<!ENTITY deleteDirectory.label "Buang">
+<!ENTITY deleteDirectory.accesskey "g">
diff --git a/l10n-ms/mail/chrome/messenger/addressbook/replicationProgress.properties b/l10n-ms/mail/chrome/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..b311be1690
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/addressbook/replicationProgress.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+replicationStarted=Replikasi bermula…
+changesStarted=Mula mereplikakan perubahan…
+replicationSucceeded=Berjaya mereplikakan
+replicationFailed=Gagal mereplikakan
+replicationCancelled=Replikasi dibatalkan
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=Mereplikakan entri direktori: %S
+
+downloadButton=Muat turun Sekarang
+downloadButton.accesskey=M
+cancelDownloadButton=Batal Muat Turun
+cancelDownloadButton.accesskey=B
+
+directoryTitleNew=Direktori LDAP Baru
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=Sifat %S
diff --git a/l10n-ms/mail/chrome/messenger/am-addressing.dtd b/l10n-ms/mail/chrome/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..6cb4d216a0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-addressing.dtd
@@ -0,0 +1,51 @@
+<!-- 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/. -->
+
+<!-- extracted from am-addressing.xul -->
+
+<!-- extracted from am-addressing.xhtml -->
+
+<!ENTITY addressing.label "Karangan &amp; Alamat">
+<!ENTITY addressingGroupTitle.label "Alamat">
+<!ENTITY addressingText.label "Apabila mencari alamat:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "Guna keutamaan pelayan LDAP global untuk akaun ini">
+<!ENTITY useGlobal.accesskey "G">
+<!ENTITY editDirectories.label "Edit Direktori…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Guna pelayan LDAP lain:">
+<!ENTITY directories.accesskey "l">
+<!ENTITY directoriesNone.label "Tiada">
+
+<!-- am-addressing.xul -->
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "Karangan">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "Karang mesej dalam format HTML">
+<!ENTITY useHtml.accesskey "K">
+<!ENTITY autoQuote.label "Petik mesej asal secara automatik apabila membalas">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "Apabila memetik,">
+<!ENTITY quoting.accesskey "m">
+<!ENTITY aboveQuote.label "mulakan balasan di atas petikan tadi">
+<!ENTITY belowQuote.label "mulakan balasan di bawah petikan tadi">
+<!ENTITY selectAndQuote.label "pilih petikan">
+<!ENTITY place.label "dan letakkan tandatangan">
+<!ENTITY place.accesskey "t">
+<!ENTITY belowText.label "di bawah petikan (disyorkan)">
+<!ENTITY aboveText.label "di bawah balasan (di atas petikan tadi)">
+<!ENTITY includeSigOnReply.label "Sertakan tandatangan bagi setiap balasan">
+<!ENTITY includeSigOnReply.accesskey "I">
+<!ENTITY includeSigOnForward.label "Sertakan tandatangan bagi kiriman semula">
+<!ENTITY includeSigOnForward.accesskey "r">
+
+<!ENTITY globalComposingPrefs.label "Keutamaan Karangan Global…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "Keutamaan Pengalamatan Global…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/l10n-ms/mail/chrome/messenger/am-advanced.dtd b/l10n-ms/mail/chrome/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..d51cea7323
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-advanced.dtd
@@ -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/. -->
+
+<!-- extracted from am-advanced.xul -->
+
+<!-- extracted from am-advanced.xhtml -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "Tetapan Pelayan Keluar (SMTP)">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "Apabila menguruskan identiti, anda boleh guna pelayan dalam senarai dengan memilihnya sebagai Pelayan Keluar (SMTP), atau gunakan pelayan piawai dalam senarai ini dengan memilih &quot;Guna Pelayan Piawai&quot;.">
+
+<!ENTITY smtpListAdd.label "Tambah…">
+<!ENTITY smtpListAdd.accesskey "h">
+<!ENTITY smtpListEdit.label "Edit…">
+<!ENTITY smtpListEdit.accesskey "E">
+<!ENTITY smtpListDelete.label "Buang">
+<!ENTITY smtpListDelete.accesskey "g">
+<!ENTITY smtpListSetDefault.label "Tetapkan Piawai">
+<!ENTITY smtpListSetDefault.accesskey "t">
+
+<!ENTITY serverDetails.label "Butiran pelayan yang dipilih:">
+<!ENTITY serverDescription.label "Keterangan: ">
+<!ENTITY serverName.label "Nama Pelayan: ">
+<!ENTITY serverPort.label "Port: ">
+<!ENTITY userName.label "Nama Pengguna: ">
+<!ENTITY connectionSecurity.label "Keselamatan Sambungan: ">
+<!ENTITY authMethod.label "Kaedah pengesahan: ">
diff --git a/l10n-ms/mail/chrome/messenger/am-archiveoptions.dtd b/l10n-ms/mail/chrome/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..1ff73e9bd1
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-archiveoptions.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-archiveoptions.xul -->
+
+<!-- extracted from am-archiveoptions.xhtml -->
+
+<!ENTITY dialogTitle.label "Pilihan Arkib">
+<!ENTITY archiveGranularityPrefix.label "Apabila mengarkib mesej, letakkan dalam:">
+<!ENTITY archiveFlat.label "Folder tunggal">
+<!ENTITY archiveFlat.accesskey "t">
+<!ENTITY archiveYearly.label "Folder arkib tahunan">
+<!ENTITY archiveYearly.accesskey "F">
+<!ENTITY archiveMonthly.label "Folder arkib bulanan">
+<!ENTITY archiveMonthly.accesskey "b">
+<!ENTITY keepFolderStructure.label "Kekalkan struktur folder yang ada untuk mengarkib mesej">
+<!ENTITY keepFolderStructure.accesskey "K">
+<!ENTITY archiveExample.label "Contoh">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "Arkib">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "Peti masuk">
diff --git a/l10n-ms/mail/chrome/messenger/am-copies.dtd b/l10n-ms/mail/chrome/messenger/am-copies.dtd
new file mode 100644
index 0000000000..1a519cfd42
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-copies.dtd
@@ -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/. -->
+
+<!-- extracted from am-copies.xul -->
+
+<!-- extracted from am-copies.xhtml -->
+
+<!ENTITY copyAndFolderTitle.label "Salinan &amp; Folder">
+<!ENTITY sendingPrefix.label "Apabila menghantar mesej, secara automatik: ">
+<!ENTITY fccMailFolder.label "Letakkan salinan dalam:">
+<!ENTITY fccMailFolder.accesskey "L">
+<!ENTITY fccReplyFollowsParent.label "Letakkan balasan dalam folder mesej yang dibalas">
+<!ENTITY fccReplyFollowsParent.accesskey "b">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Cc kepada alamat e-mel berikut:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "Pisahkan alamat dengan tanda koma">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "Bcc kepada alamat e-mel berikut:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "Pisahkan alamat dengan tanda koma">
+<!ENTITY saveMessageDlg.label "Papar dialog pengesahan apabila mesej sudah disimpan">
+<!ENTITY saveMessageDlg.accesskey "a">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "Folder &quot;Dihantar&quot; dalam:">
+<!ENTITY sentFolderOn.accesskey "D">
+<!ENTITY sentInOtherFolder.label "Lain-lain:">
+<!ENTITY sentInOtherFolder.accesskey "L">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "Arkib Mesej">
+<!ENTITY keepArchives.label "Simpan arkib mesej dalam:">
+<!ENTITY keepArchives.accesskey "S">
+<!ENTITY archiveHierarchyButton.label "Pilihan arkib…">
+<!ENTITY archiveHierarchyButton.accesskey "P">
+<!ENTITY archivesFolderOn.label "Folder &quot;Arkib&quot; dalam:">
+<!ENTITY archivesFolderOn.accesskey "b">
+<!ENTITY archiveInOtherFolder.label "Lain-lain:">
+<!ENTITY archiveInOtherFolder.accesskey "n">
+<!ENTITY specialFolders.label "Draf dan Templat">
+<!ENTITY keepDrafts2.label "Simpan mesej draf dalam:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "Folder &quot;Draf&quot; dalam:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "Lain-lain:">
+<!ENTITY draftInOtherFolder.accesskey "n">
+<!ENTITY keepTemplates.label "Simpan templat mesej dalam:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "Folder &quot;Templat&quot; dalam:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "Lain-lain:">
+<!ENTITY templateInOtherFolder.accesskey "l">
diff --git a/l10n-ms/mail/chrome/messenger/am-identities-list.dtd b/l10n-ms/mail/chrome/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..ab365a2100
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-identities-list.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identitiesListManageDesc.label "Urus identiti akaun ini. Identiti pertama yang digunakan secara piawai.">
+<!ENTITY identitiesListAdd.label "Tambah…">
+<!ENTITY identitiesListAdd.accesskey "T">
+<!ENTITY identitiesListEdit.label "Edit…">
+<!ENTITY identitiesListEdit.accesskey "E">
+<!ENTITY identitiesListDefault.label "Tetapkan Piawai">
+<!ENTITY identitiesListDefault.accesskey "P">
+<!ENTITY identitiesListDelete.label "Buang">
+<!ENTITY identitiesListDelete.accesskey "B">
+<!ENTITY identitiesListClose.label "Tutup">
+<!ENTITY identitiesListClose.accesskey "T">
diff --git a/l10n-ms/mail/chrome/messenger/am-identity-edit.dtd b/l10n-ms/mail/chrome/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..c860d7a6e0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-identity-edit.dtd
@@ -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/. -->
+
+<!ENTITY identityListDesc.label "Konfigurasi tetapan identiti ini:">
+
+<!ENTITY settingsTab.label "Tetapan">
+<!ENTITY copiesFoldersTab.label "Salinan &amp; Folder">
+<!ENTITY addressingTab.label "Karangan &amp; Alamat">
+
+<!ENTITY publicData.label "Data Umum">
+<!ENTITY privateData.label "Data Peribadi">
+<!ENTITY identityAlias.label "Label Identiti:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/l10n-ms/mail/chrome/messenger/am-im.dtd b/l10n-ms/mail/chrome/messenger/am-im.dtd
new file mode 100644
index 0000000000..5c4daa21f4
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-im.dtd
@@ -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/. -->
+
+<!ENTITY accountWindow.title "Sifat akaun">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "Umum">
+<!ENTITY account.advanced "Pilihan Lanjutan">
+<!ENTITY account.name "Nama pengguna:">
+<!ENTITY account.password "Kata laluan:">
+<!ENTITY account.alias "Alias:">
+<!ENTITY account.newMailNotification "Maklumkan Mel baru">
+<!ENTITY account.autojoin "Auto-Sertai Saluran:">
+<!ENTITY account.proxySettings.caption "Tetapan Proksi:">
+<!ENTITY account.proxySettings.change.label "Tukar…">
+<!ENTITY account.proxySettings.change.accessKey "T">
diff --git a/l10n-ms/mail/chrome/messenger/am-junk.dtd b/l10n-ms/mail/chrome/messenger/am-junk.dtd
new file mode 100644
index 0000000000..bf356cd2e7
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-junk.dtd
@@ -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/. -->
+
+<!ENTITY junkSettings.label "Tetapan Mel Remeh">
+<!ENTITY trainingDescription.label "Jika diaktifkan, anda perlu melatih &brandShortName; untuk mengenal pasti mel remeh dengan menggunakan butang bar alatan Mel Remeh untuk menandakan samada sesuatu mesej itu remeh atau tidak. Anda perlu mengenal pasti mesej yang remeh atau sebaliknya. Selepas itu, &brandShortName; akan boleh menandakan mel remeh secara automatik.">
+<!ENTITY level.label "Aktifkan kawalan mudah suai mel remeh untuk akaun ini">
+<!ENTITY level.accesskey "A">
+
+<!ENTITY move.label "Pindah mesej remeh baru ke:">
+<!ENTITY move.accesskey "P">
+<!ENTITY junkFolderOn.label "Folder &quot;Mel Remeh&quot; dalam:">
+<!ENTITY junkFolderOn.accesskey "R">
+<!ENTITY otherFolder.label "Lain-lain:">
+<!ENTITY otherFolder.accesskey "L">
+<!ENTITY purge1.label "Buang secara automatik mel remeh yang melebihi">
+<!ENTITY purge1.accesskey "u">
+<!ENTITY purge2.label "hari">
+
+<!ENTITY whitelistHeader.label "Jangan tandakan secara automatik mel remeh jika pengirim ada di dalam: ">
+<!ENTITY whitelistHeader.accesskey "J">
+
+<!ENTITY ispHeadersWarning.label "Jika diaktifkan, &brandShortName; akan secara automatik mempertimbangkan mesej yang ditanda oleh pengelas luar ini sebagai remeh.">
+<!ENTITY ispHeaders.label "Percaya pengepala mel remeh yang ditetapkan oleh: ">
+<!ENTITY ispHeaders.accesskey "P">
+
+<!ENTITY junkClassification.label "Pemilihan">
+<!ENTITY junkActions.label "Destinasi dan Pengekalan">
+
+<!ENTITY globalJunkPrefs.label "Keutamaan Mel Remeh Global…">
+<!ENTITY globalJunkPrefs.accesskey "G">
diff --git a/l10n-ms/mail/chrome/messenger/am-main.dtd b/l10n-ms/mail/chrome/messenger/am-main.dtd
new file mode 100644
index 0000000000..f413444689
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-main.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-main.xul -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "Tetapan Akaun">
+<!ENTITY accountName.label "Nama Akaun:">
+<!ENTITY accountName.accesskey "N">
+<!ENTITY identityTitle.label "Identiti Piawai">
+<!ENTITY identityDesc.label "Setiap akaun ada identiti sendiri, iaitu maklumat yang boleh dilihat apabila penerima membaca mesej anda.">
+<!ENTITY name.label "Nama Anda:">
+<!ENTITY name.accesskey "A">
+<!ENTITY email.label "Alamat E-mel:">
+<!ENTITY email.accesskey "E">
+<!ENTITY replyTo.label "Alamat Balas-kepada:">
+<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.placeholder "Penerima akan membalas ke alamat yang lain">
+<!ENTITY organization.label "Organisasi:">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "Teks tandatangan:">
+<!ENTITY signatureText.accesskey "k">
+<!ENTITY signatureHtml.label "Guna HTML (contoh., &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "Lampir tandatangan dari fail (teks, HTML, atau imej):">
+<!ENTITY signatureFile.accesskey "t">
+<!ENTITY edit.label "Edit…">
+<!ENTITY choose.label "Pilih…">
+<!ENTITY choose.accesskey "P">
+<!ENTITY editVCard.label "Edit Kad…">
+<!ENTITY editVCard.accesskey "d">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "Lampir vCard dalam mesej">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "Urus Identiti…">
+<!ENTITY manageIdentities.accesskey "U">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "Pelayan Keluar (SMTP):">
+<!ENTITY smtpName.accesskey "u">
+<!ENTITY smtpDefaultServer.label "Guna Pelayan Piawai">
+
+<!ENTITY smtpServerEdit.label "Edit pelayan SMTP…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/l10n-ms/mail/chrome/messenger/am-mdn.dtd b/l10n-ms/mail/chrome/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..4e4fd09d3e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-mdn.dtd
@@ -0,0 +1,33 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pane.title "Resit Pemberitahu Serahan">
+<!ENTITY useGlobalPrefs.label "Guna keutamaan resit pemberitahu serahan global untuk akaun ini">
+<!ENTITY useGlobalPrefs.accesskey "G">
+<!ENTITY globalReceipts.label "Keutamaan Global…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "Sesuaikan resit pemberitahu serahan untuk akaun ini">
+<!ENTITY useCustomPrefs.accesskey "S">
+<!ENTITY requestReceipt.label "Apabila menghantar mesej, sentiasa minta resit pemberitahu serahan">
+<!ENTITY requestReceipt.accesskey "A">
+<!ENTITY receiptArrive.label "Apabila resit pemberitahuan serahan diterima:">
+<!ENTITY leaveIt.label "Biarkan dalam Peti Masuk">
+<!ENTITY leaveIt.accesskey "M">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "Pindahkan ke dalam folder &quot;Dihantar&quot;">
+<!ENTITY moveToSent.accesskey "P">
+<!ENTITY requestMDN.label "Apabila saya diminta menyerahkan resit pemberitahu serahan:">
+<!ENTITY returnSome.label "Izinkan resit pemberitahu serahan dihantar kepada sesetengah mesej">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "Jangan sesekali hantar resit pemberitahu serahan">
+<!ENTITY never.accesskey "J">
+<!ENTITY notInToCc.label "Jika saya tiada dalam Kepada atau Cc mesej:">
+<!ENTITY notInToCc.accesskey "K">
+<!ENTITY outsideDomain.label "Jika pengirim dari luar domain saya:">
+<!ENTITY outsideDomain.accesskey "r">
+<!ENTITY otherCases.label "Dalam hal yang lain:">
+<!ENTITY otherCases.accesskey "y">
+<!ENTITY askMe.label "Tanya saya">
+<!ENTITY alwaysSend.label "Sentiasa hantar">
+<!ENTITY neverSend.label "Jangan sesekali hantar">
diff --git a/l10n-ms/mail/chrome/messenger/am-mdn.properties b/l10n-ms/mail/chrome/messenger/am-mdn.properties
new file mode 100644
index 0000000000..61864da618
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-mdn.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/.
+
+## Strings used in prefs.
+prefPanel-mdn=Resit Pemberitahu Serahan
diff --git a/l10n-ms/mail/chrome/messenger/am-offline.dtd b/l10n-ms/mail/chrome/messenger/am-offline.dtd
new file mode 100644
index 0000000000..7a572c101b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-offline.dtd
@@ -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/. -->
+
+<!ENTITY doNotDownloadPop3Movemail.label "Untuk menjimatkan ruang cakera, jangan muat turun:">
+<!ENTITY doNotDownloadNntp.label "Untuk menjimatkan ruang cakera, jangan muat turun bagi kegunaan luar talian:">
+<!ENTITY doNotDownloadImap.label "Untuk menjimatkan ruang cakera, memuat turun mesej daripada pelayan dan menyimpan salinan lokal bagi kegunaan luar talian boleh dihadkan mengikut tempoh dan saiz.">
+<!ENTITY allFoldersOffline2.label "Simpan mesej dalam semua folder untuk akaun ini dalam komputer ini.">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "Nota: Perubahan ini memberi kesan kepada semua folder dalam akaun ini. Untuk menetapkan folder individu, gunakan butang Lanjutan….">
+<!ENTITY offlineNotDownload.label "Mesej yang melebihi">
+<!ENTITY offlineNotDownload.accesskey "M">
+<!ENTITY autosyncNotDownload.label "Jangan muat turun mesej yang melebihi">
+<!ENTITY autosyncNotDownload.accesskey "h">
+<!ENTITY kb.label "KB">
+<!ENTITY daysOld.label "hari lepas">
+<!ENTITY message.label "mesej">
+<!ENTITY nntpNotDownloadRead.label "Mesej yang dibaca">
+<!ENTITY nntpNotDownloadRead.accesskey "d">
+<!ENTITY nntpDownloadMsg.label "Mesej yang melebihi">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal.">
+<!ENTITY retentionCleanupImap.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, kedua-dua salinan lokal dan mesej asal dalam pelayan jauh.">
+<!ENTITY retentionCleanupPop.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, termasuk mesej asal dalam pelayan jauh.">
+<!ENTITY retentionKeepMsg.label "Buang mesej yang melebihi">
+<!ENTITY retentionKeepMsg.accesskey "a">
+<!ENTITY retentionKeepAll.label "Jangan buang apa-apa mesej">
+<!ENTITY retentionKeepAll.accesskey "n">
+<!ENTITY retentionKeepRecent.label "Buang semua kecuali yang terkini">
+<!ENTITY retentionKeepRecent.accesskey "k">
+<!ENTITY retentionApplyToFlagged.label "Sentiasa simpan mesej bertanda bintang">
+<!ENTITY retentionApplyToFlagged.accesskey "s">
+<!ENTITY nntpRemoveMsgBody.label "Buang kandungan mesej yang melebihi">
+<!ENTITY nntpRemoveMsgBody.accesskey "u">
+<!ENTITY offlineSelectNntp.label "Pilih kumpulan berita bagi kegunaan luar talian…">
+<!ENTITY offlineSelectNntp.accesskey "P">
+<!ENTITY offlineImapAdvancedOffline.label "Lanjutan…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "j">
+<!ENTITY syncGroupTitle.label "Menyelaraskan Mesej">
+<!ENTITY diskspaceGroupTitle.label "Ruang Cakera">
+
+<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label):
+ The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear
+ on a single line within the scope of useAutosync.ByAge as follows:
+
+ &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label;
+-->
+<!ENTITY allAutosync.label "Selaras semua mesej lokal tanpa mengira tempoh">
+<!ENTITY allAutosync.accesskey "r">
+<!ENTITY ageAutosyncBefore.label "Selaras yang terkini">
+<!ENTITY ageAutosync.accesskey "y">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "Hari">
+<!ENTITY weekAgeInterval.label "Minggu">
+<!ENTITY monthAgeInterval.label "Bulan">
+<!ENTITY yearAgeInterval.label "Tahun">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/l10n-ms/mail/chrome/messenger/am-server-advanced.dtd b/l10n-ms/mail/chrome/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..9c72db4d91
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-server-advanced.dtd
@@ -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/. -->
+
+<!ENTITY serverAdvanced.label "Tetapan Akaun Lanjutan">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "Direktori pelayan IMAP:">
+<!ENTITY serverDirectory.accesskey "i">
+<!ENTITY usingSubscription.label "Papar folder yang dilanggan sahaja">
+<!ENTITY usingSubscription.accesskey "p">
+<!ENTITY dualUseFolders.label "Folder sokongan pelayan yang mengandungi sub-folder dan mesej">
+<!ENTITY dualUseFolders.accesskey "f">
+<!ENTITY maximumConnectionsNumber.label "Bilangan cache maksimum sambungan pelayan">
+<!ENTITY maximumConnectionsNumber.accesskey "B">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "Keutamaan berikut menentukan ruang nama dalam pelayan IMAP">
+<!ENTITY personalNamespace.label "Ruang nama peribadi:">
+<!ENTITY personalNamespace.accesskey "R">
+<!ENTITY publicNamespace.label "Umum (dikongsi):">
+<!ENTITY publicNamespace.accesskey "u">
+<!ENTITY otherUsersNamespace.label "Pengguna Lain:">
+<!ENTITY otherUsersNamespace.accesskey "L">
+<!ENTITY overrideNamespaces.label "Izinkan pelayan mengatasi nama ruang ini">
+<!ENTITY overrideNamespaces.accesskey "I">
+<!ENTITY pop3DeferringDesc.label "Apabila memuat turun mel daripada pelayan akaun ini, guna folder berikut untuk menyimpan mesej baru:" >
+<!ENTITY accountInbox.label "Peti masuk akaun ini">
+<!ENTITY accountInbox.accesskey "i">
+<!ENTITY deferToServer.label "Peti masuk akaun lain">
+<!ENTITY deferToServer.accesskey "l">
+<!ENTITY deferGetNewMail.label "Sertakan pelayan ini apabila mendapatkan mel baru">
+<!ENTITY deferGetNewMail.accesskey "S">
diff --git a/l10n-ms/mail/chrome/messenger/am-server-top.dtd b/l10n-ms/mail/chrome/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..380c38230b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-server-top.dtd
@@ -0,0 +1,88 @@
+<!-- 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/. -->
+
+<!-- extracted from am-server-top.xul -->
+
+<!ENTITY messageStorage.label "Storan Mesej">
+<!ENTITY securitySettings.label "Tetapan Keselamatan">
+<!ENTITY serverSettings.label "Tetapan Pelayan">
+<!ENTITY serverType.label "Jenis Pelayan:">
+<!ENTITY serverName.label "Nama Pelayan:">
+<!ENTITY serverName.accesskey "P">
+<!ENTITY userName.label "Nama Pengguna:">
+<!ENTITY userName.accesskey "N">
+<!ENTITY port.label "Port:">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "Piawai:">
+<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammer dependency
+ For example, in Japanese cases:
+ biffStart.label "every"
+ biffEnd.label "minutes for new messages Check"
+-->
+<!ENTITY biffStart.label "Semak mesej baru setiap ">
+<!ENTITY biffStart.accesskey "p">
+<!ENTITY biffEnd.label "minit">
+<!ENTITY useIdleNotifications.label "Izinkan pelayan menghantar notifikasi segera apabila ada mesej baru">
+<!ENTITY useIdleNotifications.accesskey "i">
+<!ENTITY connectionSecurity.label "Keselamatan sambungan:">
+<!ENTITY connectionSecurity.accesskey "u">
+<!ENTITY connectionSecurityType-0.label "Tiada">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, jika ada">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "Kaedah pengesahan:">
+<!ENTITY authMethod.accesskey "h">
+<!ENTITY leaveOnServer.label "Tinggalkan mesej pada pelayan">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "Ambil pengepala sahaja">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "Untuk yang paling">
+<!ENTITY deleteByAgeFromServer.accesskey "u">
+<!ENTITY daysEnd.label "hari">
+<!ENTITY deleteOnServer2.label "Sehingga saya buang">
+<!ENTITY deleteOnServer2.accesskey "b">
+<!ENTITY downloadOnBiff.label "Muat turun mesej baru secara automatik">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "Apabila saya buang mesej:">
+<!ENTITY modelMoveToTrash.label "Pindahkan ke dalam folder ini:">
+<!ENTITY modelMoveToTrash.accesskey "h">
+<!ENTITY modelMarkDeleted.label "Hanya tandakan sebagai dibuang">
+<!ENTITY modelMarkDeleted.accesskey "k">
+<!ENTITY modelDeleteImmediately.label "Buang serta-merta">
+<!ENTITY modelDeleteImmediately.accesskey "s">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "Hapus (&quot;Buangan&quot;) Peti masuk apabila Keluar">
+<!ENTITY expungeOnExit.accesskey "B">
+<!ENTITY emptyTrashOnExit.label "Buang Sampah apabila Keluar">
+<!ENTITY emptyTrashOnExit.accesskey "u">
+<!ENTITY loginAtStartup.label "Semak mesej baru pada permulaan">
+<!ENTITY loginAtStartup.accesskey "S">
+<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
+ maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
+ of messages between them
+-->
+<!ENTITY maxMessagesStart.label "Tanya saya sebelum memuat turun lebih daripada">
+<!ENTITY maxMessagesStart.accesskey "m">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "mesej">
+<!ENTITY alwaysAuthenticate.label "Sentiasa minta pengesahan semasa menyambung ke pelayan ini">
+<!ENTITY alwaysAuthenticate.accesskey "s">
+<!ENTITY abbreviate.label "Papar nama kumpulan berita dalam anak tetingkap Folder Mel sebagai:">
+<!ENTITY abbreviateOn.label "Nama penuh (sebagai contoh, 'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "Nama singkatan (Sebagai contoh, 'n.p.m .mail-news')">
+<!ENTITY advancedButton.label "Lanjutan…">
+<!ENTITY advancedButton.accesskey "j">
+<!ENTITY serverDefaultCharset2.label "Pengekodan Teks Piawai:">
+<!ENTITY localFolderPicker.label "Pilih Direktori Lokal">
+<!ENTITY browseFolder.label "Cari…">
+<!ENTITY browseFolder.accesskey "C">
+<!ENTITY browseNewsrc.label "Cari…">
+<!ENTITY browseNewsrc.accesskey "i">
+
+<!ENTITY accountTitle.label "Tetapan Akaun">
+<!ENTITY accountSettingsDesc.label "Yang berikut adalah akaun istimewa. Tiada identiti yang dikaitkan dengannya.">
+<!ENTITY storeType.label "Jenis Storan Mesej:">
+<!ENTITY storeType.accesskey "J">
+<!ENTITY mboxStore2.label "Fail setiap folder (mbox)">
+<!ENTITY maildirStore.label "Fail setiap mesej (maildir)">
diff --git a/l10n-ms/mail/chrome/messenger/am-serverwithnoidentities.dtd b/l10n-ms/mail/chrome/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..fb3d3ec078
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-serverwithnoidentities.dtd
@@ -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/. -->
+
+<!ENTITY accountName.label "Nama Akaun:">
+<!ENTITY accountName.accesskey "N">
diff --git a/l10n-ms/mail/chrome/messenger/am-smime.dtd b/l10n-ms/mail/chrome/messenger/am-smime.dtd
new file mode 100644
index 0000000000..00616f8e29
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-smime.dtd
@@ -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/. -->
+
+<!ENTITY digitalSign.certificate.button "Pilih…">
+<!ENTITY digitalSign.certificate.accesskey "P">
+<!ENTITY digitalSign.certificate_clear.button "Buang">
+<!ENTITY digitalSign.certificate_clear.accesskey "B">
+<!ENTITY encryption.certificate.button "Pilih…">
+<!ENTITY encryption.certificate.accesskey "h">
+<!ENTITY encryption.certificate_clear.button "Buang">
+<!ENTITY encryption.certificate_clear.accesskey "u">
+<!ENTITY signingGroupTitle.label "Tandatangan Digital">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Pilih Sijil">
+<!ENTITY certPicker.info "Sijil:">
+<!ENTITY certPicker.detailsLabel "Butiran sijil yang dipilih:">
+
diff --git a/l10n-ms/mail/chrome/messenger/am-smime.properties b/l10n-ms/mail/chrome/messenger/am-smime.properties
new file mode 100644
index 0000000000..cc95d1cbdd
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/am-smime.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/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=Anda menyatakan bahawa mesej ini perlu ditandatangani secara digital, tapi gagal dilaksanakan kerana samada gagal mencari sijil bertandatangan seperti yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita anda, ataupun sijil telah tamat tempoh.
+NoSenderEncryptionCert=Anda menyatakan bahawa mesej ini perlu enkripsi, tapi gagal dilaksanakan kerana samada gagal mencari sijil enkripsi seperti yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita anda, ataupun sijil telah tamat tempoh.
+MissingRecipientEncryptionCert=Anda menyatakan bahawa mesej ini perlu enkripsi, tapi gagal dilaksanakan kerana gagal mencari sijil enkripsi untuk %S.
+ErrorEncryptMail=Tidak dapat mengenkripsi mesej. Sila pastikan bahawa anda ada sijil e-mel yang sah untuk setiap penerima. Pastikan juga bahawa sijil yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita adalah sah dan dipercayai untuk akaun mel ini.
+ErrorCanNotSignMail=Tidak dapat menandatangani mesej. Sila pastikan bahawa sijil yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita adalah sah dan dipercayai untuk akaun mel ini.
+
+NoSigningCert=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan untuk menandatangani mesej anda secara digital.
+NoSigningCertForThisAddress=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan untuk menandatangani mesej anda secara digital di <%S>.
+NoEncryptionCert=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan oleh pengirim untuk menghantar mesej e-mel enkripsi kepada anda.
+NoEncryptionCertForThisAddress=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan oleh pengirim untuk menghantar mesej e-mel enkripsi kepada anda di <%S>.
+
+encryption_needCertWantSame=Anda juga perlu menyatakan sijil yang boleh digunakan oleh pengirim apabila menghantar mesej enkripsi kepada anda. Adakah anda mahu menggunakan sijil yang sama untuk enkripsi & dekripsi mesej yang dihantar kepada anda?
+encryption_wantSame=Adakah anda mahu menggunakan sijil yang sama untuk enkripsi & dekripsi mesej yang dihantar kepada anda?
+encryption_needCertWantToSelect=Anda juga perlu menyatakan sijil yang boleh digunakan oleh pengirim apabila menghantar mesej enkripsi kepada anda. Adakah anda mahu mengkonfigurasikan sijil enkripsi sekarang?
+signing_needCertWantSame=Anda juga perlu menyatakan sijil yang boleh digunakan untuk menandatangani mesej anda secara digital. Adakah anda mahu menggunakan sijil yang sama untuk menandatangani mesej anda secara digital?
+signing_wantSame=Adakah anda mahu menggunakan sijil yang sama untuk menandatangani mesej anda secara digital?
+signing_needCertWantToSelect=Anda juga perlu menyatakan sijil yang boleh digunakan untuk menandatangani mesej anda secara digital. Adakah anda mahu mengkonfigurasikan sijil untuk menandatangani mesej anda secara digital sekarang?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=Mesej Enkripsi S/MIME
+mime_smimeSignatureContentDesc=Tandatangan Kriptografi S/MIME
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Dikeluarkan kepada:
+CertInfoIssuedBy=Dikeluarkan oleh:
+CertInfoValid=Sah
+CertInfoFrom=daripada
+CertInfoTo=hingga
+CertInfoPurposes=Tujuan
+CertInfoEmail=E-mel
+CertInfoStoredIn=Disimpan dalam:
+NicknameExpired=(luput)
+NicknameNotYetValid=(masih belum sah)
diff --git a/l10n-ms/mail/chrome/messenger/appleMailImportMsgs.properties b/l10n-ms/mail/chrome/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..6fffa81fcd
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/appleMailImportMsgs.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of import module
+ApplemailImportName=Apple Mail
+
+# Description of import module
+ApplemailImportDescription=Import Mel Lokal daripada Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=Mesej lokal berjaya diimport daripada %S
+
+# Error Message
+ApplemailImportMailboxBadparam=Ada ralat dalaman. Gagal mengimport. Cuba lagi.
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=Ada ralat semasa mengimport mesej daripada %S. Mesej tidak diimport.
+
diff --git a/l10n-ms/mail/chrome/messenger/baseMenuOverlay.dtd b/l10n-ms/mail/chrome/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..a2a2266fbf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/baseMenuOverlay.dtd
@@ -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/. -->
+
+<!-- Help Menu -->
+<!ENTITY helpMenu.label "Bantuan">
+<!ENTITY helpMenu.accesskey "B">
+<!-- LOCALIZATION NOTE some localizations of Windows use "?"
+ for the help button in the menubar but Gnome does not. -->
+<!ENTITY helpMenuWin.label "Bantuan">
+<!ENTITY helpMenuWin.accesskey "B">
+
diff --git a/l10n-ms/mail/chrome/messenger/beckyImportMsgs.properties b/l10n-ms/mail/chrome/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..d8f2930f76
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/beckyImportMsgs.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/.
+#
+# The following are used by the becky import code to display status/error
+# and informational messages
+
+# Short name of import module
+BeckyImportName=Becky! Internet Mail
+
+# Description of import module
+BeckyImportDescription=Import Mel Lokal daripada Becky! Internet Mail
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=Mesej lokal berjaya diimport daripada %S.
+
+BeckyImportAddressSuccess=Buku alamat diimport
diff --git a/l10n-ms/mail/chrome/messenger/charsetTitles.properties b/l10n-ms/mail/chrome/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..8d181a9555
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/charsetTitles.properties
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Rule of this file:
+## 1. key should always be in lower case ascii so we can do case insensitive
+## comparison in the code faster.
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+iso-8859-1.title = Western (ISO-8859-1)
+iso-8859-2.title = Central European (ISO-8859-2)
+iso-8859-3.title = South European (ISO-8859-3)
+iso-8859-4.title = Baltic (ISO-8859-4)
+iso-8859-10.title = Nordic (ISO-8859-10)
+iso-8859-13.title = Baltic (ISO-8859-13)
+iso-8859-14.title = Celtic (ISO-8859-14)
+iso-8859-15.title = Western (ISO-8859-15)
+iso-8859-16.title = Romanian (ISO-8859-16)
+windows-1250.title = Central European (Windows-1250)
+windows-1252.title = Western (Windows-1252)
+windows-1254.title = Turkish (Windows-1254)
+windows-1257.title = Baltic (Windows-1257)
+macintosh.title = Western (MacRoman)
+x-mac-ce.title = Central European (MacCE)
+x-mac-turkish.title = Turkish (MacTurkish)
+x-mac-croatian.title = Croatian (MacCroatian)
+x-mac-romanian.title = Romanian (MacRomanian)
+x-mac-icelandic.title = Icelandic (MacIcelandic)
+iso-2022-jp.title = Japanese (ISO-2022-JP)
+shift_jis.title = Japanese (Shift_JIS)
+euc-jp.title = Japanese (EUC-JP)
+big5.title = Chinese Traditional (Big5)
+big5-hkscs.title = Chinese Traditional (Big5-HKSCS)
+gb2312.title = Chinese Simplified (GB2312)
+gbk.title = Chinese Simplified (GBK)
+euc-kr.title = Korean (EUC-KR)
+utf-7.title = Unicode (UTF-7)
+utf-8.title = Unicode (UTF-8)
+utf-16.title = Unicode (UTF-16)
+utf-16le.title = Unicode (UTF-16LE)
+utf-16be.title = Unicode (UTF-16BE)
+iso-8859-5.title = Cyrillic (ISO-8859-5)
+windows-1251.title = Cyrillic (Windows-1251)
+x-mac-cyrillic.title = Cyrillic (MacCyrillic)
+x-mac-ukrainian.title = Cyrillic/Ukrainian (MacUkrainian)
+koi8-r.title = Cyrillic (KOI8-R)
+koi8-u.title = Cyrillic/Ukrainian (KOI8-U)
+iso-8859-7.title = Greek (ISO-8859-7)
+windows-1253.title = Greek (Windows-1253)
+x-mac-greek.title = Greek (MacGreek)
+windows-1258.title = Vietnamese (Windows-1258)
+windows-874.title = Thai (Windows-874)
+iso-8859-6.title = Arabic (ISO-8859-6)
+iso-8859-8.title = Hebrew Visual (ISO-8859-8)
+iso-8859-8-i.title = Hebrew (ISO-8859-8-I)
+windows-1255.title = Hebrew (Windows-1255)
+windows-1256.title = Arabic (Windows-1256)
+x-user-defined.title = Ditakrif Pengguna
+ibm866.title = Cyrillic/Russian (CP-866)
+gb18030.title = Chinese Simplified (GB18030)
+x-mac-arabic.title = Arabic (MacArabic)
+x-mac-farsi.title = Farsi (MacFarsi)
+x-mac-hebrew.title = Hebrew (MacHebrew)
+x-mac-devanagari.title = Hindi (MacDevanagari)
+x-mac-gujarati.title = Gujarati (MacGujarati)
+x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi)
+
+chardet.off.title = (Off)
+chardet.universal_charset_detector.title = Universal
+chardet.ja_parallel_state_machine.title = Japanese
+chardet.ko_parallel_state_machine.title = Korean
+chardet.zhtw_parallel_state_machine.title = Traditional Chinese
+chardet.zhcn_parallel_state_machine.title = Simplified Chinese
+chardet.zh_parallel_state_machine.title = Chinese
+chardet.cjk_parallel_state_machine.title = East Asian
+chardet.ruprob.title = Russian
+chardet.ukprob.title = Ukrainian
diff --git a/l10n-ms/mail/chrome/messenger/chat.dtd b/l10n-ms/mail/chrome/messenger/chat.dtd
new file mode 100644
index 0000000000..37657ff66b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/chat.dtd
@@ -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/. -->
+
+<!ENTITY onlineContactsHeader.label "Kenalan Atas Talian">
+<!ENTITY offlineContactsHeader.label "Kenalan Luar Talian">
+<!ENTITY conversationsHeader.label "Perbualan">
+<!ENTITY searchResultConversation.label "Hasil carian">
+<!ENTITY chat.noConv.title "Perbualan akan dipaparkan di sini.">
+<!ENTITY chat.noConv.description "Guna senarai kenalan dalam panel kiri untuk memulakan perbualan.">
+<!ENTITY chat.noPreviousConv.description "Buat masa ini, tiada perbualan terdahulu yang disimpan oleh &brandShortName; untuk kenalan ini.">
+<!ENTITY chat.noAccount.title "Anda masih belum menetapkan akaun sembang lagi.">
+<!ENTITY chat.noAccount.description "Ikuti panduan proses penetapan akaun sembang yang disediakan oleh &brandShortName;.">
+<!ENTITY chat.accountWizard.button "Mulakan">
+<!ENTITY chat.noConnectedAccount.title "Akaun sembang anda tidak bersambung.">
+<!ENTITY chat.noConnectedAccount.description "Anda boleh menyambungkannya dari dialog 'Status sembang':">
+<!ENTITY chat.showAccountManager.button "Papar status sembang">
+
+<!ENTITY chat.participants "Peserta:">
+<!ENTITY chat.previousConversations "Perbualan Terdahulu:">
+<!ENTITY chat.ongoingConversation "Perbualan sekarang">
+
+<!ENTITY openConversationCmd.label "Mulakan Perbualan">
+<!ENTITY openConversationCmd.accesskey "b">
+<!ENTITY closeConversationCmd.label "Tutup Perbualan">
+<!ENTITY closeConversationCmd.accesskey "T">
+<!ENTITY aliasCmd.label "Namakan semula">
+<!ENTITY aliasCmd.accesskey "N">
+<!ENTITY deleteCmd.label "Buang Kenalan">
+<!ENTITY deleteCmd.accesskey "g">
+
+<!ENTITY openConversationButton.tooltip "Mulakan perbualan">
+<!ENTITY closeConversationButton.tooltip "Tutup perbualan">
+
+<!ENTITY addBuddyButton.label "Tambah Kenalan">
+<!ENTITY joinChatButton.label "Sertai Sembang">
+<!ENTITY chatAccountsButton.label "Papar Akaun">
+
+<!ENTITY status.available "Ada">
+<!ENTITY status.unavailable "Tiada">
+<!ENTITY status.offline "Luar talian">
+
+<!ENTITY openLinkCmd.label "Buka Pautan…">
+<!ENTITY openLinkCmd.accesskey "B">
diff --git a/l10n-ms/mail/chrome/messenger/chat.properties b/l10n-ms/mail/chrome/messenger/chat.properties
new file mode 100644
index 0000000000..0614c88f5b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/chat.properties
@@ -0,0 +1,99 @@
+# 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/.
+
+chatTabTitle=Sembang
+goBackToCurrentConversation.button=Sertai semula perbualan sekarang
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=Mulakan perbualan dengan %S
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=Kenalan
+
+# LOCALIZATION NOTE (buddy.authRequest.label):
+# This string appears in a notification bar at the
+# top of the Contacts window when someone added the user to his/her
+# contact list, to request the permission from the user to share
+# status information with this potential new contact.
+# %S is replaced with the user name of the potential new contact.
+buddy.authRequest.label=%S mahu bersembang dengan anda
+buddy.authRequest.allow.label=Izinkan
+buddy.authRequest.allow.accesskey=I
+buddy.authRequest.deny.label=Tolak
+buddy.authRequest.deny.accesskey=T
+
+# LOCALIZATION NOTE (buddy.deletePrompt.title):
+# %S here will be replaced by the alias (or username) of a buddy about
+# to be removed from the buddy list.
+buddy.deletePrompt.title=Buang %S?
+
+# LOCALIZATION NOTE (buddy.deletePrompt.message):
+# %1$S will be replaced by the name of a buddy (either the alias
+# followed by the username between parenthesis if an alias is set, or
+# only the username otherwise).
+# %2$S will be the name of the protocol on which this buddy is removed
+# (for example: AIM, MSN, Google Talk).
+#
+# Please find a wording that will keep the username as close as
+# possible to the beginning of the string, because this is the
+# important information that an user should see when looking quickly
+# at this prompt.
+buddy.deletePrompt.message=%1$S akan dibuang secara kekal daripada senarai rakan dalam %2$S jika anda meneruskan.
+
+# LOCALIZATION NOTE (buddy.deletePrompt.displayName):
+# This is used to format the display name inserted in buddy.deletePrompt.message
+# %1$S is the alias, %2$S is the username.
+buddy.deletePrompt.displayName=%1$S (%2$S)
+
+# LOCALIZATION NOTE (buddy.deletePrompt.button):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+buddy.deletePrompt.button=&Buang
+
+displayNameEmptyText=Nama Paparan
+userIconFilePickerTitle=Pilih ikon baru…
+
+# LOCALIZATION NOTE (chat.isTyping, chat.hasStoppedTyping):
+# The contact display name is displayed with a big font on a first
+# line and these two strings are displayed on a second line with a
+# smaller font. Please try to find a wording that make this look
+# almost like a sentence.
+chat.isTyping=sedang menaip…
+chat.hasStoppedTyping=telah berhenti menaip.
+# LOCALIZATION NOTE (chat.contactIsTyping, chat.contactHasStoppedTyping):
+# These strings are displayed in a tooltip when hovering the status type icon.
+# %S is replaced with the display name of the contact.
+chat.contactIsTyping=%S sedang menaip.
+chat.contactHasStoppedTyping=%S telah berhenti menaip.
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S bukan arahan yang disokong. Taip /help untuk melihat senarai arahan.
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=Hari ini
+log.yesterday=Semalam
+
+#LOCALIZATION NOTE
+# These are special groups in the log tree for the last 3-7 days and
+# the last 8-14 days.
+log.currentWeek=Minggu Ini
+log.previousWeek=Minggu Lepas
+
+# LOCALIZATION NOTE (messagePreview):
+# This is the default message preview to be shown
+# when the user has chosen not to show any info in the notification about the
+# incoming message being notified.
+messagePreview=Mesej Sembang Baru
+
+#LOCALIZATION NOTE (bundledMessagePreview): Semi-colon list of plural forms.
+# Used when multiple incoming messages from the same sender are bundled
+# into a single notification.
+# #1 is the number of incoming messages the user is being notified about. When #1
+# is greater than one, the plural form after the semicolon is used.
+# Do not translate %1$S, it is the message preview to be shown in the
+# notification, i.e. the first incoming message.
+bundledMessagePreview=%1$S… (dan #1 lagi mesej);%1$S… (dan #1 lagi mesej)
diff --git a/l10n-ms/mail/chrome/messenger/configEditorOverlay.dtd b/l10n-ms/mail/chrome/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/configEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY closeCmd.key "W">
diff --git a/l10n-ms/mail/chrome/messenger/converterDialog.dtd b/l10n-ms/mail/chrome/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..6ed43b27eb
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/converterDialog.dtd
@@ -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/. -->
+
+<!ENTITY converterDialog.title "Penukar Jenis Storan Mesej">
+<!ENTITY converterDialog.continueButton "Teruskan">
+<!ENTITY converterDialog.cancelButton "Batal">
+<!ENTITY converterDialog.finishButton "Selesai">
+<!ENTITY converterDialog.complete "Penukaran sudah selesai. &brandShortName; akan mula semula sekarang.">
+<!ENTITY converterDialog.error "Penukaran gagal.">
+
diff --git a/l10n-ms/mail/chrome/messenger/converterDialog.properties b/l10n-ms/mail/chrome/messenger/converterDialog.properties
new file mode 100644
index 0000000000..a9b4539032
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/converterDialog.properties
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (converterDialog.warning):
+# %1$S will be replaced by the name of the account which is going to be converted.
+# %2$S will be replaced by the format into which the account will be converted.
+# %3$S will be replaced by $BrandShortName.
+converterDialog.warning=Mesej dalam akaun %1$S sekarang akan ditukar ke format %2$S. %3$S akan mula semula selepas penukaran selesai.
+
+# LOCALIZATION NOTE (converterDialog.message):
+# %1$S will be replaced by the name of the account which is being converted.
+# %2$S will be replaced by the format into which the account will be converted.
+converterDialog.message=Menukar akaun %1$S ke %2$S…
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredAccount):
+# %1$S will be replaced by the name of the deferred account for which migration is initiated by the user.
+# %2$S will be replaced by the name of the account to which the deferred account is deferred ie the name of the deferred-to account.
+# %3$S will be replaced by the name of the deferred-to account.
+# %4$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %5$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %6$S will be replaced by the format into which the accounts will be converted.
+# %7$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredAccount=%1$S ditunda ke %2$S. Akaun ditunda ke %3$S:%4$S. Mesej dalam akaun %5$S kini akan ditukarkan ke format %6$S. %7$S akan mula semula selepas penukaran selesai.
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredToAccount):
+# %1$S will be replaced by the name of the deferred-to account for which migration is initiated by the user and to which other accounts are deferred.
+# %2$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %3$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %4$S will be replaced by the format into which the accounts will be converted.
+# %5$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredToAccount=Akaun ditunda ke %1$S:%2$S. Mesej dalam akaun %3$S kini akan ditukarkan ke format %4$S. %5$S akan mula semula selepas penukaran selesai.
+
+# LOCALIZATION NOTE (converterDialog.messageForDeferredAccount):
+# %1$S will be replaced by a comma separated list of names of accounts which are being converted.
+# %2$S will be replaced by the format into which the accounts will be converted.
+converterDialog.messageForDeferredAccount=Menukar akaun %1$S ke %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=%1$S%% siap
diff --git a/l10n-ms/mail/chrome/messenger/custom.properties b/l10n-ms/mail/chrome/messenger/custom.properties
new file mode 100644
index 0000000000..afdadcdbb3
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/custom.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/.
+
+colonInHeaderName=Pengepala yang dimasukkan mengandungi aksara tidak sah, seperti ':', aksara tidak boleh-cetak, aksara bukan-ascii, atau aksara ascii lapan bit. Sila buang aksara tidak sah ini dan cuba lagi.
diff --git a/l10n-ms/mail/chrome/messenger/customizeToolbar.dtd b/l10n-ms/mail/chrome/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..dd8dd2cb0e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/customizeToolbar.dtd
@@ -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/. -->
+
+<!ENTITY dialog.title "Penyesuaian Bar Alatan">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "Anda boleh tambah atau alih keluar item dengan seret keluar atau dari dalam bar alat.">
+<!ENTITY show.label "Papar:">
+<!ENTITY iconsAndText.label "Ikon dan Teks">
+<!ENTITY icons.label "Ikon">
+<!ENTITY text.label "Teks">
+<!ENTITY iconsBesideText.label "Ikon sebelah Teks">
+<!ENTITY useSmallIcons.label "Guna Ikon Kecil">
+<!ENTITY restoreDefaultSet.label "Pulih Set Piawai">
+<!ENTITY saveChanges.label "Siap">
+<!ENTITY undoChanges.label "Batal Perubahan">
diff --git a/l10n-ms/mail/chrome/messenger/customizeToolbar.properties b/l10n-ms/mail/chrome/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..c165f15fab
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/customizeToolbar.properties
@@ -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/.
+
+enterToolbarTitle=Bar Alat Baru
+enterToolbarName=Masukkan nama bar alat ini:
+enterToolbarDup=Sudah ada bar alat tersedia dengan nama “%S”. Sila masukkan nama berlainan.
+enterToolbarBlank=Anda mesti masukkan nama untuk mencipta bar alat baru.
+separatorTitle=Pemisah
+springTitle=Ruang Fleksibel
+spacerTitle=Ruang
diff --git a/l10n-ms/mail/chrome/messenger/devtools/dbgserver.dtd b/l10n-ms/mail/chrome/messenger/devtools/dbgserver.dtd
new file mode 100644
index 0000000000..e14b5008bf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/devtools/dbgserver.dtd
@@ -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/. -->
+
+<!ENTITY options.title "Pilihan Alatan Pembangun">
+<!ENTITY options.status.label "Status:">
+<!ENTITY options.port.label "Port:">
+<!ENTITY options.forcelocal.label "Izinkan sambungan daripada komputer lain">
diff --git a/l10n-ms/mail/chrome/messenger/devtools/dbgserver.properties b/l10n-ms/mail/chrome/messenger/devtools/dbgserver.properties
new file mode 100644
index 0000000000..4dfc694108
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/devtools/dbgserver.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/.
+
+options.stop.label=Hentikan Pelayan Alatan Pembangun
+options.start.label=Mulakan Pelayan Alatan Pembangun
+
+options.connected.label=#1 Klien Disambung;#1 Klien Disambung
+options.connected.tooltip=Pelayan alatan pembangun sedang dilaksanakan dan disambung kepada klien.
+options.listening.label=Mendengar
+options.listening.tooltip=Pelayan alatan pembangun sedang dilaksanakan dan menunggu sambungan.
+options.idle.label=Tidak Dilaksanakan
+options.idle.tooltip=Pelayan alatan pembangun tidak dilaksanakan. Anda boleh memulakannya dari dalam dialog ini.
+options.unsupported.label=Tidak disokong
+options.unsupported.tooltip=Ada ralat semasa memuatkan alatan pembangun terbina-dalam pelayan. Pastikan bahawa alatan ini ada dalam pakej dan lihat mesej ralat dalam konsol.
diff --git a/l10n-ms/mail/chrome/messenger/downloadheaders.dtd b/l10n-ms/mail/chrome/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..3e089860ad
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/downloadheaders.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "Muat turun semua pengepala">
+<!ENTITY all.accesskey "M">
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "Muat turun">
+<!ENTITY download.accesskey "u">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "pengepala">
+<!ENTITY headers.accesskey "p">
+<!ENTITY mark.label "Tandakan pengepala yang lain sebagai sudah dibaca">
+<!ENTITY mark.accesskey "T">
diff --git a/l10n-ms/mail/chrome/messenger/editContactOverlay.dtd b/l10n-ms/mail/chrome/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..3d7c5da070
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/editContactOverlay.dtd
@@ -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/. -->
+
+<!ENTITY editContactPanelDeleteContact.label "Buang">
+<!ENTITY editContactPanelDeleteContact.accesskey "g">
+
+<!ENTITY editContactName.label "Nama:">
+<!ENTITY editContactName.accesskey "N">
+
+<!ENTITY editContactEmail.label "E-mel:">
+<!ENTITY editContactEmail.accesskey "E">
+
+<!ENTITY editContactAddressBook.label "Buku Alamat:">
+<!ENTITY editContactAddressBook.accesskey "A">
+
+<!ENTITY editContactPanelDone.label "Siap">
+<!ENTITY editContactPanelDone.accesskey "S">
+
+<!ENTITY contactMoveDisabledWarning.description "Anda tidak boleh ubah buku alamat kerana kenalan ada dalam senarai mel.">
diff --git a/l10n-ms/mail/chrome/messenger/editContactOverlay.properties b/l10n-ms/mail/chrome/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..b8c558cdc6
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/editContactOverlay.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/.
+
+editTitle=Edit Kenalan
+viewTitle=Papar Kenalan
+
+editDetailsLabel=Edit Butiran
+editDetailsAccessKey=t
+viewDetailsLabel=Papar Butiran
+viewDetailsAccessKey=t
+
+deleteContactTitle=Buang Kenalan
+deleteContactMessage=Adakah anda pasti mahu mengeluarkan Kenalan ini?
diff --git a/l10n-ms/mail/chrome/messenger/fieldMapImport.dtd b/l10n-ms/mail/chrome/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..cbdd95bafe
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/fieldMapImport.dtd
@@ -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/. -->
+
+<!ENTITY fieldMapImport.next.label "Berikut">
+<!ENTITY fieldMapImport.next.accesskey "B">
+<!ENTITY fieldMapImport.previous.label "Dahulu">
+<!ENTITY fieldMapImport.previous.accesskey "D">
+<!ENTITY fieldMapImport.text "Guna Pindah Atas dan Pindah Bawah untuk memadankan medan buku alamat yang terletak pada bahagian kiri dengan data yang mahu diimport pada bahagian kanan.">
+<!ENTITY fieldMapImport.up.label "Pindah Atas">
+<!ENTITY fieldMapImport.up.accesskey "A">
+<!ENTITY fieldMapImport.down.label "Pindah Bawah">
+<!ENTITY fieldMapImport.down.accesskey "B">
+<!ENTITY fieldMapImport.fieldListTitle "Medan Buku Alamat">
+<!ENTITY fieldMapImport.dataTitle "Data rekod untuk diimport">
+<!ENTITY fieldMapImport.skipFirstRecord.label "Rekod pertama mengandungi medan nama">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "R">
diff --git a/l10n-ms/mail/chrome/messenger/filter.properties b/l10n-ms/mail/chrome/messenger/filter.properties
new file mode 100644
index 0000000000..25e330cb72
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/filter.properties
@@ -0,0 +1,91 @@
+# 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/.
+
+mustSelectFolder=Anda perlu pilih folder sasaran.
+enterValidEmailAddress=Masukkan alamat e-mel yang sah untuk dikirim semula.
+pickTemplateToReplyWith=Pilih templat untuk membuat balasan.
+mustEnterName=Anda perlu memberikan nama kepada penapis ini.
+cannotHaveDuplicateFilterTitle=Duplikasi Nama Penapis
+cannotHaveDuplicateFilterMessage=Nama penapis yang anda masukkan telah wujud. Sila masukkan nama penapis yang berbeza.
+mustHaveFilterTypeTitle=Tiada acara penapis yang dipilih
+mustHaveFilterTypeMessage=Anda perlu pilih sekurang-kurangnya satu acara apabila penapis ini dilaksanakan. Jika anda tidak mahu penapis melaksanakan acara buat sementara waktu, buang tanda dalam dialog Penapis Mesej.
+deleteFilterConfirmation=Adakah anda pasti mahu menghapuskan penapis yang dipilih?
+matchAllFilterName=Padankan Semua Mesej
+filterListBackUpMsg=Penapis tidak berfungsi kerana fail msgFilterRules.dat, tidak boleh dibaca. Fail msgFilterRules.dat baru akan dicipta dan sandaran fail lama, yang dipanggil rulesbackup.dat, akan dicipta dalam direktori yang sama.
+customHeaderOverflow=Anda telah melebihi had 50 pengepala penyesuaian. Sila buang satu atau lebih pengepala dan cuba lagi.
+filterCustomHeaderOverflow=Penapis anda telah melebihi had 50 pengepala penyesuaian. Sila edit fail msgFilterRules.dat yang mengandungi penapis anda supaya mengurangkan penggunaan pengepala penyesuaian.
+invalidCustomHeader=Salah satu penapis menggunakan pengepala tersuai yang mengandungi aksara tidak sah, seperti ':', aksara tidak boleh-dicetak, aksara bukan ascii atau aksara ascii lapan-bit. Sila edit fail msgFilterRules.dat yang mengandungi penapis anda supaya menghapuskan aksara yang tidak sah dari pengepala tersuai anda.
+continueFilterExecution=Gagal melaksanakan tapisan %S. Adakah anda mahu terus melaksanakan tapisan?
+promptTitle=Penapisan Berlangsung
+promptMsg=Anda sedang dalam proses menapis mesej.\nAdakah anda mahu terus menggunakan penapis?
+stopButtonLabel=Berhenti
+continueButtonLabel=Teruskan
+dontWarnAboutDeleteCheckbox=Jangan tanya lagi
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=Salinan %S
+
+# LOCALIZATION NOTE(filterFAilureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=Tindakan Menapis Gagal: "%1$S" dengan kod ralat=%2$S semasa mencuba:
+
+searchTermsInvalidTitle=Terma Carian Tidah Sah
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=Penapis ini tidak dapat disimpan kerana istilah carian "%2$S %1$S" tidak sah dalam konteks semasa.
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=Apabila mesej sepadan dengan penapis ini, tindakan akan dijalankan mengikut susunan ini:\n\n
+filterActionOrderTitle=Susunan tindakan sebenar
+## LOCALIZATION NOTE(filterActionItem):
+# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
+filterActionItem=%1$S. %2$S %3$S\n
+
+## LOCALIZATION NOTE(filterCountVisibleOfTotal):
+# %1$S=number of matching filters, %2$S=total number of filters
+filterCountVisibleOfTotal=%1$S daripada %2$S
+## LOCALIZATION NOTE(filterCountItems):
+## Semicolon-separated list of singular and plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of items in the list.
+filterCountItems=#1 item
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=Mesej remeh yang dikesan daripada %1$S - %2$S pada %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=id mesej yang dipindahkan = %1$S ke %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=id mesej yang disalin = %1$S ke %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=Tapisan dilaksanakan oleh "%1$S" kepada mesej daripada %2$S - %3$S pada %4$S
+filterMissingCustomAction=Tiada Tindakan Tersuai
+filterAction2=prioriti yang sudah diubah
+filterAction3=dibuang
+filterAction4=ditandakan sebagai sudah dibaca
+filterAction5=thread dihapuskan
+filterAction6=thread diikuti
+filterAction7=berbintang
+filterAction8=ada tag
+filterAction9=dibalas
+filterAction10=dikirim semula
+filterAction11=perlaksanaan dihentikan
+filterAction12=dibuang daripada pelayan POP3
+filterAction13=tertinggal pada pelayan POP3
+filterAction14=skor mel remeh
+filterAction15=kandungan yang diambil daripada pelayan POP3
+filterAction16=disalin ke folder
+filterAction17=ada tag
+filterAction18=sub-thread yang diabaikan
+filterAction19=ditandakan sebagai belum dibaca
+# LOCALIZATION NOTE(filterAutoNameStr)
+# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
+# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
+# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc.
+filterAutoNameStr=%1$S %2$S: %3$S
diff --git a/l10n-ms/mail/chrome/messenger/folderProps.dtd b/l10n-ms/mail/chrome/messenger/folderProps.dtd
new file mode 100644
index 0000000000..9a3ad4724b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/folderProps.dtd
@@ -0,0 +1,66 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY folderProps.windowtitle.label "Sifat">
+
+<!ENTITY generalInfo.label "Maklumat Umum">
+<!ENTITY folderRebuildSummaryFileTip2.label "Bina semula Indeks Fail Ringkasan">
+<!ENTITY folderRebuildSummaryFile2.label "Pembaikan Folder">
+<!ENTITY folderRebuildSummaryFile2.accesskey "P">
+<!ENTITY folderRebuildSummaryFile.explanation "Kadang-kala folder fail indeks (.msf) menjadi rosak, dan mesej mungkin nampak seperti sudah hilang atau mesej yang sudah dibuang akan terus dipaparkan; oleh itu tindakan membaiki folder dapat mengatasi isu ini.">
+<!ENTITY folderIncludeInGlobalSearch.label "Sertakan mesej yang ada dalam folder ini dalam hasil Carian Global">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "G">
+
+<!ENTITY retention.label "Polisi Pengekalan">
+<!ENTITY retentionUseAccount.label "Guna tetapan akaun saya">
+<!ENTITY retentionUseAccount.accesskey "G">
+<!ENTITY daysOld.label "hari lepas">
+<!ENTITY message.label "mesej">
+<!ENTITY retentionCleanup.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal.">
+<!ENTITY retentionCleanupImap.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, kedua-dua salinan lokal dan mesej asal dalam pelayan jauh.">
+<!ENTITY retentionCleanupPop.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, termasuk mesej asal dalam pelayan jauh.">
+<!ENTITY retentionDeleteMsg.label "Buang mesej yang melebihi">
+<!ENTITY retentionDeleteMsg.accesskey "m">
+<!ENTITY retentionKeepAll.label "Jangan buang apa-apa mesej">
+<!ENTITY retentionKeepAll.accesskey "a">
+<!ENTITY retentionKeepRecent.label "Buang semua kecuali yang terkini">
+<!ENTITY retentionKeepRecent.accesskey "e">
+<!ENTITY retentionApplyToFlagged.label "Sentiasa simpan mesej bertanda bintang">
+<!ENTITY retentionApplyToFlagged.accesskey "b">
+
+<!ENTITY folderSynchronizationTab.label "Penyelarasan">
+<!ENTITY folderCheckForNewMessages2.label "Apabila mendapatkan mesej baru untuk akaun ini, sentiasa semak folder ini">
+<!ENTITY folderCheckForNewMessages2.accesskey "s">
+
+<!ENTITY offlineFolder.check.label "Pilih folder ini bagi kegunaan luar talian">
+<!ENTITY offlineFolder.check.accesskey "P">
+<!ENTITY offlineFolder.button.label "Muat turun Sekarang">
+<!ENTITY offlineFolder.button.accesskey "M">
+
+<!ENTITY selectofflineNewsgroup.check.label "Pilih kumpulan berita ini bagi kegunaan luar talian">
+<!ENTITY selectofflineNewsgroup.check.accesskey "l">
+<!ENTITY offlineNewsgroup.button.label "Muat turun Sekarang">
+<!ENTITY offlineNewsgroup.button.accesskey "M">
+
+<!ENTITY folderProps.name.label "Nama:">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.location.label "Lokasi:">
+<!ENTITY folderProps.location.accesskey "L">
+
+<!ENTITY folderSharingTab.label "Perkongsian">
+<!ENTITY privileges.button.label "Keistimewaan…">
+<!ENTITY privileges.button.accesskey "K">
+<!ENTITY permissionsDesc.label "Anda ada keizinan berikut:">
+<!ENTITY folderType.label "Jenis Folder:">
+
+<!ENTITY folderQuotaTab.label "Kuota">
+<!ENTITY folderQuotaUsage.label "Penggunaan:">
+<!ENTITY folderQuotaStatus.label "Status:">
+
+<!ENTITY numberOfMessages.label "Bilangan mesej:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "tidak diketahui">
+<!ENTITY sizeOnDisk.label "Saiz dalam cakera:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "tidak diketahui">
diff --git a/l10n-ms/mail/chrome/messenger/folderWidgets.properties b/l10n-ms/mail/chrome/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..5ab364a850
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/folderWidgets.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(globalInbox)
+# %S=name of the Local folders account
+globalInbox=Peti masuk Global (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S dalam %2$S
+chooseFolder=Pilih Folder…
+chooseAccount=Pilih Akaun…
+noFolders=Tiada folder tersedia
diff --git a/l10n-ms/mail/chrome/messenger/folderpane.dtd b/l10n-ms/mail/chrome/messenger/folderpane.dtd
new file mode 100644
index 0000000000..89d9e24b21
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/folderpane.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY nameColumn.label "Nama">
+<!ENTITY unreadColumn.label "Belum Dibaca">
+<!ENTITY totalColumn.label "Jumlah">
+<!ENTITY folderSizeColumn.label "Saiz">
diff --git a/l10n-ms/mail/chrome/messenger/gloda.properties b/l10n-ms/mail/chrome/messenger/gloda.properties
new file mode 100644
index 0000000000..66c722a35d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/gloda.properties
@@ -0,0 +1,161 @@
+# 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 (*.facetNameLabel): These are the labels used to label the facet
+# displays in the global search facet display mechanism. They should be
+# compact descriptions of the facet type (e.g. "Folder", and don't need to
+# refer to the objects being faceted (e.g. "Message" or "Mail").
+
+# LOCALIZATION NOTE (*.includeLabel): The label to use for the included group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.included.fallbackLabel".
+
+# LOCALIZATION NOTE (*.excludeLabel): The label to use for the excluded group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.excluded.fallbackLabel".
+
+# LOCALIZATION NOTE (*.remainderLabel): The label to use for the remaining items
+# that are neither part of the included group or the excluded group in the
+# facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.remainder.fallbackLabel".
+
+# LOCALIZATION NOTE (*.mustMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.cantMatchLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which match
+# a particular value. If not provided, we will fall back to
+# "glodaFacetView.facets.cantMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchLabel): The label to use for the popup menu
+# to indicate that the results should no longer be restricted relative to
+# this particular facet value. If not provided, we will fall back to
+# "glodaFacetView.facets.mayMatch.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchSomeLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have
+# _some_ value (e.g. at least one tag is set). If not provided, we will fall
+# back to "glodaFacetView.facets.mustMatchSome.fallbackLabel". #1, if present,
+# is replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mustMatchNoneLabel): The label to use for the popup menu
+# to indicate that the results should be restricted to messages which have _no_
+# value (e.g. no tags are set). If not provided, we will fall back to
+# "glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel". #1, if present, is
+# replaced by the value of the facet (name, folder, mailing list, etc.)
+
+# LOCALIZATION NOTE (*.mayMatchAnyLabel): The label to use for the popup menu
+# to indicate that the results should not be restricted to messages which have
+# any or no value (e.g. no requirements on any tags are set). If not provided,
+# we will fall back to "glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel".
+# #1, if present, is replaced by the value of the facet (name, folder, mailing
+# list, etc.)
+
+# LOCALIZATION NOTE (gloda.message.attr.account.*): Stores the account in which
+# a message's folder is located.
+gloda.message.attr.account.facetNameLabel=Akaun
+gloda.message.attr.account.mustMatchLabel=mesti dalam #1
+gloda.message.attr.account.cantMatchLabel=tidak boleh dalam #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=Folder
+gloda.message.attr.folder.mustMatchLabel=mesti dalam #1
+gloda.message.attr.folder.cantMatchLabel=tidak boleh dalam #1
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetNameLabel=Daripada Saya
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=Kepada Saya
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=Hubungan
+gloda.message.attr.involves.includeLabel=terlibat dalam:
+gloda.message.attr.involves.excludeLabel=tidak terlibat:
+gloda.message.attr.involves.remainderLabel=hubungan lain:
+gloda.message.attr.involves.mustMatchLabel=mesti melibatkan #1
+gloda.message.attr.involves.cantMatchLabel=tidak melibatkan #1
+
+# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message.
+# Thunderbird normally stores the date the message claims it was composed
+# according to the "Date" header. This is not the same as when the message
+# was sent or when it was eventually received by the user. In the future we
+# may change this to be one of the other dates, but not anytime soon.
+gloda.message.attr.date.facetNameLabel=Tarikh
+
+# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of
+# MIME types (ex: image/png, text/plain) of real attachments (not just part of
+# the message content but explicitly named attachments) on the message.
+# Although we hope to be able to provide localized human-readable explanations
+# of the MIME type (ex: "PowerPoint document"), I don't know if that is going
+# to happen.
+gloda.message.attr.attachmentTypes.facetNameLabel=Lampiran
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the e-mail address of
+# the mailing list and only be detected in messages received from the mailing
+# list. Extensions may contribute additional detected mailing-list-like
+# things.
+gloda.message.attr.mailing-list.facetNameLabel=Senarai Mel
+gloda.message.attr.mailing-list.mustMatchLabel=mesti dalam #1
+gloda.message.attr.mailing-list.cantMatchLabel=tidak boleh dalam #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=mesti ada dalam senarai mel
+gloda.message.attr.mailing-list.mustMatchNoneLabel=mesti tidak ada dalam senarai mel
+
+# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the
+# message. Notably, gmail's labels are not currently exposed via IMAP and we
+# do not do anything clever with gmail, so this is indepdendent of gmail
+# labels. This may change in the future, but it's a safe bet it's not
+# happening on Thunderbird's side prior to 3.0.
+gloda.message.attr.tag.facetNameLabel=Tag
+gloda.message.attr.tag.mustMatchLabel=mesti ada tag #1
+gloda.message.attr.tag.cantMatchLabel=tidak boleh tag #1
+gloda.message.attr.tag.mustMatchSomeLabel=mesti ada tag
+gloda.message.attr.tag.mustMatchNoneLabel=tidak boleh tag
+
+# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is
+# starred or not, as indicated by a pretty star icon. In the past, the icon
+# used to be a flag. The IMAP terminology continues to be "flagged".
+gloda.message.attr.star.facetNameLabel=Berbintang
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=Dibaca
+
+# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe
+# the user has ever replied to the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.repliedTo.facetNameLabel=Dibalas Kepada
+
+# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe
+# the user has ever forwarded the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.forwarded.facetNameLabel=Dikirim semula
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in mimeTypeCategories.js to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=Arkib
+gloda.mimetype.category.documents.label=Dokumen
+gloda.mimetype.category.images.label=Imej
+# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to
+# encompass both audio and video. This is because video and audio streams are
+# frequently stored in the same type of container and we cannot rely on the
+# sending e-mail client to have been clever enough to figure out what was
+# really in the file. So we group them together.
+gloda.mimetype.category.media.label=Media (Audio, Video)
+gloda.mimetype.category.pdf.label=Fail PDF
+# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category
+# for MIME types that we don't really know what it is.
+gloda.mimetype.category.other.label=Lain-lain
diff --git a/l10n-ms/mail/chrome/messenger/glodaComplete.properties b/l10n-ms/mail/chrome/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..5de981a9ae
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/glodaComplete.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/.
+
+# LOCALIZATION NOTE (glodaComplete.messagesTagged.label): The label used
+# in the autocomplete widget to refer to a query for all messages tagged
+# by a particular tag (replacing #1).
+glodaComplete.messagesTagged.label=Mesej ada tag: #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesMentioning.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a particular word (replacing #1).
+glodaComplete.messagesMentioning.label=Mesej mengandungi: #1
+
+# LOCALIZATION NOTE (glodaComplete.messagesWithMany.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a set of words, or a phrase containing multiple words (e.g. "red pepper")
+# We use the same words in en-US, but maybe that's not always true.
+glodaComplete.messagesMentioningMany.label=Mesej mengandungi: #1
diff --git a/l10n-ms/mail/chrome/messenger/glodaFacetView.dtd b/l10n-ms/mail/chrome/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..d0cca40a19
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/glodaFacetView.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (glodaFacetView.filters.label): Label at the top of the
+ faceting sidebar. Serves as a header both for the checkboxes under it as
+ well for labeled facets with multiple options. -->
+<!ENTITY glodaFacetView.filters.label "Tapis">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "Mencari&#8230;">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "Tiada mesej sepadan dengan carian anda">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "Lanjutan &#187;">
+
diff --git a/l10n-ms/mail/chrome/messenger/glodaFacetView.properties b/l10n-ms/mail/chrome/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..5cae57bbbf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/glodaFacetView.properties
@@ -0,0 +1,159 @@
+# 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 (glodaFacetView.tab.query.label):
+# The tab title to display for tabs that are based on a gloda (global database)
+# query or collection rather than a user search. At some point we might try
+# and explain what the query/collection is in automatic fashion, but not today.
+glodaFacetView.tab.query.label=Cari
+
+# LOCALIZATION NOTE (glodaFacetView.tab.search.label):
+# The tab title to display for tabs with a new gloda (global database)
+# user search (rather than a query or collection) without a search string.
+# After the search has been started, we just display the search string entered
+# by the user.
+glodaFacetView.tab.search.label=Cari
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.fulltext.label):
+# The label to display to describe when our base query was a fulltext search
+# across messages. The value is displayed following the label.
+glodaFacetView.constraints.query.fulltext.label=Mencari #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=dan
+glodaFacetView.constraints.query.fulltext.orJoinWord=atau
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.initial):
+# The label to display to describe when our base query is not a full-text
+# search. Additional labels are appended describing each constraint.
+glodaFacetView.constraints.query.initial=Mencari mesej
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.involves.label):
+# The label to display to describe when our base query was on messages
+# involving a given contact from the address book. The value is displayed
+# where the #1 is.
+glodaFacetView.constraints.query.involves.label=termasuk #1
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.contact.label):
+# The label to display to describe when our base query was on messages
+# tagged with a specific tag. The tag is displayed following the label.
+glodaFacetView.constraints.query.tagged.label=ada tag:
+
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mode.top.listAllLabel): The label to
+# use when we are only displaying the top entries for a facet. When the
+# label is clicked on, it results in us displaying all of the values for that
+# facet. The value "#1" (if present) is replaced with the total number of
+# values that will be displayed (rather than the number currently hidden).
+# This string supports pluralization. See
+# https://developer.mozilla.org/en/Localization_and_Plurals for details on
+# how this stuff works.
+glodaFacetView.facets.mode.top.listAllLabel=Senarai semua #1
+
+# LOCALIZATION NOTE (glodaFacetView.facets.included.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly included by the user if
+# there is no explicit attribute "includeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.includeLabel".)
+glodaFacetView.facets.included.fallbackLabel=termasuk mana-mana:
+# LOCALIZATION NOTE (glodaFacetView.facets.excluded.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly excluded by the user if
+# there is no explicit attribute "excludeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.excludeLabel".)
+glodaFacetView.facets.excluded.fallbackLabel=kecuali:
+# LOCALIZATION NOTE (glodaFacetView.facets.remainder.fallbackLabel): The label
+# to use for groups in a facet that are neither part of the included group or
+# the excluded group if there is no explicit attribute "remainderLabel"
+# defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.remainderLabel".)
+glodaFacetView.facets.remainder.fallbackLabel=lain-lain:
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mustMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by a particular value if there is no explicit
+# attribute "mustMatchLabel" defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.mustMatchLabel".)
+glodaFacetView.facets.mustMatchLabel.fallbackLabel=mesti sepadan #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=tidak boleh ada nilai
+
+# LOCALIZATION NOTE (glodaFacetView.facets.cantMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by the absence of a particular value if there is
+# no explicit attribute "cantMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.cantMatchLabel".)
+glodaFacetView.facets.cantMatchLabel.fallbackLabel=tidak sepadan #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=mesti ada nilai
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mayMatchLabel.fallbackLabel): The label
+# to use to undo the restriction of a facet by a particular value if there is
+# no explicit attribute "mayMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.mayMatchLabel".)
+glodaFacetView.facets.mayMatchLabel.fallbackLabel=buang kekangan
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=buang kekangan
+
+# LOCALIZATION NOTE (glodaFacetView.facets.noneLabel): The text to display when
+# a facet needs to indicate that an attribute omitted a value or was otherwise
+# empty.
+glodaFacetView.facets.noneLabel=Tiada
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=Apa Sahaja
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.fromLabel): Used in the
+# faceted search message display to indicate the author of a message.
+# An example usage is "from: Bob".
+glodaFacetView.result.message.fromLabel=daripada:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.toLabel): Used in the
+# faceted search message display to indicate the recipients of a message.
+# An example usage is "to: Bob, Chuck, Don".
+glodaFacetView.result.message.toLabel=kepada:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.noSubject): Used in the
+# faceted search message display to act as a click target for messages with
+# no subject.
+glodaFacetView.result.message.noSubject=(tiada subjek)
+
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel):
+# This label is displayed above the list of result messages; it tells the user
+# how many messages we are displaying in the list out of the total number of
+# messages in the active set (the set of messages remaining after the
+# application of the facet constraints.)
+# The goal of the various sub-parts here is to make a label along the lines of
+# "M of N". Because there are two numbers, this is split into two parts,
+# 'NMessages' for what in English is just the first number and 'ofN' for the
+# "of N" part. We then use 'grouping' to decide how to combine the two. This
+# was suggested by Rimas Kudelis.
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.NMessages):
+# The first part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the number of messages being shown in the result list.
+glodaFacetView.results.header.countLabel.NMessages=#1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.ofN):
+# The second part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the total number of messagse in the active set.
+glodaFacetView.results.header.countLabel.ofN=daripada #1
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.grouping):
+# Combines the pluralized
+# "glodaFacetView.results.header.countLabel.NMessages" string (as #1) with
+# the pluralized "glodaFacetView.results.header.countLabel.ofN" (as #2)
+# to make a single label.
+glodaFacetView.results.header.countLabel.grouping=#1 #2
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.recipientSeparator): This is
+# the string in between the names of recipients (see
+# glodaFacetView.results.message.andOthers for more information). The \u0020
+# character is a Unicode space character, which is needed as otherwise the
+# trailing whitespace is trimmed before it gets to the code.
+glodaFacetView.results.message.recipientSeparator=,\u0020
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.andOthers):
+# When a message has too many recipients, we only show the first few and then
+# display this label to express how many are not displayed. So if a message
+# has 5 recipients, we might only show the first 3, and then use this label
+# to indicate that there are 2 that are not displayed. This string can be
+# pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals
+# for details on how to do that. Note that in English, we use the "serial
+# comma", but other languages may not need a leading separator there.
+glodaFacetView.results.message.andOthers=, dan #1 lain-lain
+
diff --git a/l10n-ms/mail/chrome/messenger/imAccountWizard.dtd b/l10n-ms/mail/chrome/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..16b65d803d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/imAccountWizard.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Bestari Akaun Sembang">
+
+<!ENTITY accountProtocolTitle.label "Rangkaian sembang">
+<!ENTITY accountProtocolInfo.label "Sila pilih rangkaian akaun sembang anda.">
+<!ENTITY accountProtocolField.label "Rangkaian:">
+<!ENTITY accountProtocolGetMore.label "Lihat selanjutnya…">
+
+<!ENTITY accountUsernameTitle.label "Nama pengguna">
+<!ENTITY accountUsernameDuplicate.label "Akaun ini sudah dikonfigurasi!">
+
+<!ENTITY accountPasswordTitle.label "Kata laluan">
+<!ENTITY accountPasswordInfo.label "Sila masukkan kata laluan anda dalam kotak di bawah.">
+<!ENTITY accountPasswordField.label "Kata laluan:">
+<!ENTITY accountPasswordManager.label "Kata laluan yang dimasukkan si sini akan disimpan dalam Pengurus Kata laluan. Biarkan kotak ini kosong jika anda mahu masukkan kata laluan setiap kali akaun ini disambung.">
+
+<!ENTITY accountAdvancedTitle.label "Pilihan Lanjutan">
+<!ENTITY accountAdvancedInfo.label "Anda boleh langkau langkah ini, jika anda mahu.">
+<!ENTITY accountAdvanced.newMailNotification.label "Maklumkan Mel baru">
+<!ENTITY accountAliasGroupbox.caption "Alias Lokal">
+<!ENTITY accountAliasField.label "Alias:">
+<!ENTITY accountAliasInfo.label "Ini hanya akan dipaparkan dalam perbualan semasa anda bercakap, kenalan jauh tidak dapat melihatnya.">
+<!ENTITY accountProxySettings.caption "Tetapan Proksi">
+<!ENTITY accountProxySettings.change.label "Tukar…">
+<!ENTITY accountProxySettings.change.accessKey "T">
+
+<!ENTITY accountSummaryTitle.label "Ringkasan">
+<!ENTITY accountSummaryInfo.label "Ringkasan maklumat yang anda masukkan akan dipaparkan di bawah. Sila semak sebelum mencipta akaun.">
+<!ENTITY accountSummary.connectNow.label "Sambung akaun ini sekarang.">
diff --git a/l10n-ms/mail/chrome/messenger/imAccounts.properties b/l10n-ms/mail/chrome/messenger/imAccounts.properties
new file mode 100644
index 0000000000..583a0917c1
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/imAccounts.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/.
+
+# LOCALIZATION NOTE (protoOptions):
+# %S is replaced by the name of a protocol
+protoOptions=Pilihan %S
+accountUsername=Nama pengguna:
+# LOCALIZATION NOTE (accountColon):
+# This string is used to append a colon after the label of each
+# option. It's localizable so that the typography can be adapted.
+accountColon=%S:
+# LOCALIZATION NOTE (accountUsernameInfo):
+# %S is replaced by the name of a protocol
+accountUsernameInfo=Sila masukkan nama pengguna akaun %S anda.
+# LOCALIZATION NOTE (accountUsernameInfoWithDescription):
+# %1$S is a hint for the expected format of the username
+# %2$S is the name of a protocol
+accountUsernameInfoWithDescription=Sila masukkan nama pengguna (%1$S) akaun %2$S anda.
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=Ralat: %S
+# LOCALIZATION NOTE (account.connection.errorUnknownPrpl)
+# %S is the id (not very user friendly; hence the quotes) of the missing plugin.
+account.connection.errorUnknownPrpl=Tiada plugin protokol '%S'.
+account.connection.errorEnteringPasswordRequired=Perlu masukkan kata laluan untuk sambungan ke akaun ini.
+account.connection.errorCrashedAccount=Ada ranap semasa disambungkan ke akaun ini.
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=Sedang Menyambung: %S…
+account.connecting=Sedang menyambung…
+account.connectedForSeconds=Disambung selama beberapa saat.
+# LOCALIZATION NOTE (account.connectedFor{Double,Single},
+# account.reconnectIn{Double,Single}):
+# Each pair of %S is a number followed by a unit. The units are
+# already localized in a downloads.properties file of the toolkit.
+account.connectedForDouble=Disambung selama %1$S %2$S dan %3$S %4$S.
+account.connectedForSingle=Disambung selama lebih kurang %1$S %2$S.
+account.reconnectInDouble=Disambung semula dalam %1$S %2$S dan %3$S %4$S.
+account.reconnectInSingle=Disambung semula dalam %1$S %2$S.
+
+requestAuthorizeTitle=Permintaan keizinan
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=&Izinkan
+requestAuthorizeDeny=&Tolak
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S memasukkan anda dalam senarai rakan beliau, adakah anda mahu mengizinkan beliau melihat anda?
+
+accountsManager.notification.button.accessKey=S
+accountsManager.notification.button.label=Sambung Sekarang
+accountsManager.notification.userDisabled.label=Anda telah nyahaktifkan sambungan semula automatik.
+accountsManager.notification.safeMode.label=Tetapan Sambungan Automatik telah diabaikan kerana aplikasi sedang dilaksanakan dalam Mod Selamat.
+accountsManager.notification.startOffline.label=Tetapan Sambungan Automatik telah diabaikan kerana aplikasi dimulakan dalam Mod Luar talian.
+accountsManager.notification.crash.label=Pelaksanaan sambungan sebelum ini terhenti secara tidak dijangka. Sambungan Automatik telah dinyahaktifkan supaya anda boleh Edit Tetapan.
+# LOCALIZATION NOTE (accountsManager.notification.singleCrash.label): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of accounts that are suspected to have caused a crash.
+accountsManager.notification.singleCrash.label=Pelaksanaan sambungan ke #1 baru atau yang sedang diedit sebelum ini terhenti secara tidak dijangka. Sambungan tidak diteruskan supaya anda boleh Edit Tetapan.
+accountsManager.notification.other.label=Sambungan automatik telah dinyahaktifkan.
diff --git a/l10n-ms/mail/chrome/messenger/imapMsgs.properties b/l10n-ms/mail/chrome/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..5820f9e9e0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/imapMsgs.properties
@@ -0,0 +1,252 @@
+# 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 are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=Makluman untuk akaun %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=Membuka folder %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=Mencipta folder…
+
+# Status - deleting a folder
+# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being deleted.
+imapStatusDeletingMailbox=Menghapuskan folder %S…
+
+# Status - renaming mailbox
+# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being renamed.
+imapStatusRenamingMailbox=Menamakan semula folder %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=Mencari folder…
+
+# Status - subscribing to mailbox
+# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being subscribed to.
+imapStatusSubscribeToMailbox=Melanggan folder %S…
+
+# Status - unsubscribing from mailbox
+# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being unsubscribed from.
+imapStatusUnsubscribeMailbox=Membatalkan langganan folder %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=Mencari folder…
+
+# Status - closing a folder
+imapStatusCloseMailbox=Menutup folder…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=Memadatkan folder…
+
+# Status - logging out
+imapStatusLoggingOut=Sedang log keluar…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=Menyemak keupayaan pelayan mel…
+
+# Status - logging on
+imapStatusSendingLogin=Menghantar maklumat log masuk…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=Menghantar maklumat log masuk…
+
+imapDownloadingMessage=Memuat turun mesej…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=Mendapatkan folder ACL…
+
+imapGettingServerInfo=Mendapatkan Info Konfigurasi Pelayan…
+
+imapGettingMailboxInfo=Mendapatkan Info Konfigurasi Peti mel…
+
+imapEmptyMimePart=Bahagian kandungan ini akan dimuat turun atas permintaan.
+
+# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the header being downloaded should appear.
+# Place the word %2$S in your translation where the total number of headers to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…"
+imapReceivingMessageHeaders3=Memuat turun pengepala mesej %1$S daripada %2$S dalam %3$S…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the flag being downloaded should appear.
+# Place the word %2$S in your translation where the total number of flags to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Jim's Account: Downloading message flag 100 of 1000 in INBOX…"
+imapReceivingMessageFlags3=Memuat turun mesej bertanda %1$S daripada %2$S dalam %3$S…
+
+imapDeletingMessages=Menghapuskan mesej…
+
+imapDeletingMessage=Menghapuskan mesej…
+
+# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessages=Memindahkan mesej ke %S…
+
+# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessage=Memindahkan mesej ke %S…
+
+# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessages=Menyalin mesej ke %S…
+
+# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessage=Menyalin mesej ke %S…
+
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…"
+imapFolderReceivingMessageOf3=Memuat turun mesej %1$S daripada %2$S dalam %3$S…
+
+# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapDiscoveringMailbox=Folder ditemui: %S
+
+# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below.
+# Place the word %1$S in your translation where the username should appear.
+# Place the word %2$S in your translation where the servername should appear.
+imapEnterServerPasswordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=Pelayan mel %S bukan pelayan mel IMAP4.
+
+# This is intentionally left blank.
+imapDone=
+
+imapUnknownHostError=Gagal disambung ke pelayan %S.
+imapOAuth2Error=Gagal pengesahan semasa disambung ke pelayan %S.
+
+imapConnectionRefusedError=Tidak dapat disambung ke pelayan mel %S; sambungan ditolak.
+
+imapNetTimeoutError=Sambungan ke pelayan %S telah tamat tempoh.
+
+# Status - no messages to download
+imapNoNewMessages=Tiada mesej baru pada pelayan.
+
+imapDefaultAccountName=Mel untuk %S
+
+imapSpecialChar2=Aksara %S dikhaskan untuk pelayan imap ini. Sila pilih nama lain.
+
+imapPersonalSharedFolderTypeName=Folder Peribadi
+
+imapPublicFolderTypeName=Folder Umum
+
+imapOtherUsersFolderTypeName=Folder Pengguna Lain
+
+imapPersonalFolderTypeDescription=Ini adalah folder mel peribadi. Tidak dikongsi.
+
+imapPersonalSharedFolderTypeDescription=Ini adalah folder mel peribadi. Telah dikongsi.
+
+imapPublicFolderTypeDescription=Ini adalah folder umum.
+
+imapOtherUsersFolderTypeDescription=Ini adalah folder mel yang dikongsi oleh pengguna '%S'.
+
+imapAclFullRights=Kawalan Penuh
+
+imapAclLookupRight=Pencarian
+
+imapAclReadRight=Dibaca
+
+imapAclSeenRight=Tetapkan keadaan Sudah Dibaca/Belum Dibaca
+
+imapAclWriteRight=Tulis
+
+imapAclInsertRight=Sisip (Salinan Ke)
+
+imapAclPostRight=Post
+
+imapAclCreateRight=Cipta Sub-folder
+
+imapAclDeleteRight=Buang Mesej
+
+imapAclAdministerRight=Folder Pentadbir
+
+imapServerDoesntSupportAcl=Pelayan ini tidak menyokong perkongsian folder.
+
+imapAclExpungeRight=Hapus
+
+imapServerDisconnected= Sambungan pelayan %S terputus. Pelayan mungkin mengalami masalah atau ada masalah rangkaian.
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=Adakah anda mahu melanggan %1$S?
+
+imapServerDroppedConnection=Tidak dapat menyambung ke pelayan IMAP. Anda mungkin telah melebihi bilangan maksimum \
+sambungan ke pelayan ini. Jika demikian, gunakan dialog Tetapan Lanjutan Pelayan IMAP untuk \
+mengurangkan bilangan sambungan cache.
+
+imapQuotaStatusFolderNotOpen=Kuota maklumat ini tidak tersedia kerana folder tidak dibuka.
+
+imapQuotaStatusNotSupported=Pelayan ini tidak menyokong kuota.
+
+# Out of memory
+imapOutOfMemory=Aplikasi kehabisan ruang memori.
+
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
+# Place the word %3$S in your translation where the name of the destination folder should appear.
+# Place the word %1$S where the currently copying message should appear.
+# Place the word %2$S where the total number of messages should appear.
+imapCopyingMessageOf2=Menyalin mesej %1$S daripada %2$S ke dalam %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=Adakah anda pasti mahu menghapuskan folder '%S'?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=Penghapusan folder ini tidak boleh dibatalkan dan turut menghapuskan semua mesej serta sub-folder di dalamnya. Adakah anda pasti mahu menghapuskan folder '%S'?
+
+imapDeleteFolderDialogTitle=Buang Folder
+
+imapDeleteFolderButtonLabel=&Buang Folder
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=Pelayan IMAP %S tidak menyokong kata laluan yang dienkripkan. Jika anda baru sahaja menyediakan akaun ini, sila ubah kepada 'Kata laluan normal' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'. Jika sebelum ini boleh berfungsi, tapi sekarang tiba-tiba ada masalah, sila hubungi pentadbir atau penyedia e-mel anda.
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=Pelayan IMAP %S tidak mengizinkan kata laluan teks biasa. Sila ubah kepada 'Kata laluan Enkripsi' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=Pelayan IMAP %S tidak menyokong kata laluan yang dienkripkan. Jika anda baru sahaja menyediakan akaun ini, sila ubah kepada 'Kata laluan normal' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'. Jika sebelum ini boleh berfungsi, tapi sekarang tiba-tiba ada masalah, ini adalah senario biasa bagaimana pihak lain boleh mencuri kata laluan anda.
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=Pelayan IMAP %S tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan IMAP %S. Sila semak bahawa anda telah log masuk ke Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (imapServerCommandFailed):
+# Place the word %1$S in your translation where the name of the account name should appear.
+# Place the word %2$S in your translation where the server response should appear.
+imapServerCommandFailed=Arahan semasa tidak berjaya. Pelayan mel untuk akaun %1$S memberi respons: %2$S
+
+# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the name of the folder should appear.
+# Place the word %3$S in your translation where the server response should appear.
+imapFolderCommandFailed=Operasi semasa dalam '%2$S' tidak berjaya. Pelayan mel untuk akaun %1$S memberi respon: %3$S
+
+# LOCALIZATION NOTE (imapServerAlert):
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the alert from the server should appear.
+imapServerAlert=Makluman daripada akaun %1$S: %2$S
diff --git a/l10n-ms/mail/chrome/messenger/importDialog.dtd b/l10n-ms/mail/chrome/messenger/importDialog.dtd
new file mode 100644
index 0000000000..0181875252
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/importDialog.dtd
@@ -0,0 +1,56 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--
+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
+Netscape Communicator, Please translate using the brandname in respective
+languages for Netscape Communicator 4 releases.
+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
+"&brandShortName;" below.
+-->
+
+<!--
+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
+Netscape Communicator, Please translate using the brandname in respective
+languages for Netscape Communicator 4 releases.
+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
+"&brandShortName;" below.
+-->
+
+<!ENTITY importDialog.windowTitle "Import">
+<!ENTITY importAll.label "Import Semua">
+<!ENTITY importAll.accesskey "S">
+<!ENTITY importMail.label "Mel">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "Langganan Suapan">
+<!ENTITY importFeeds.accesskey "n">
+<!ENTITY importAddressbook.label "Buku Alamat">
+<!ENTITY importAddressbook.accesskey "A">
+<!ENTITY importSettings.label "Tetapan">
+<!ENTITY importSettings.accesskey "T">
+<!ENTITY importFilters.label "Tapis">
+<!ENTITY importFilters.accesskey "T">
+
+<!ENTITY importTitle.label "Bestari Import &brandShortName;">
+<!ENTITY importShortDesc.label "Import Mel, Buku Alamat, Tetapan dan Penapis daripada atur cara lain">
+
+<!ENTITY importDescription1.label "Bestari ini akan mengimport mesej mel, entri buku alamat, langganan suapam, keutamaan, dan/atau penapis daripada atur cara mel lain, serta format alamat buku biasa ke dalam &brandShortName;.">
+<!ENTITY importDescription2.label "Setelah diimport, anda akan dapat mengaksesnya dalam &brandShortName;.">
+
+<!ENTITY selectDescription.label "Sila pilih jenis fail yang mahu diimport:">
+<!ENTITY selectDescriptionB.label "Sila pilih akaun semasa atau cipta akaun baru:">
+<!ENTITY selectDescription.accesskey "S">
+<!ENTITY acctName.label "Nama:">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "Tidak menemui aplikasi atau data fail yang mahu diimport.">
+
+<!ENTITY back.label "&lt; Undur">
+<!ENTITY forward.label "Berikut &gt;">
+<!ENTITY finish.label "Selesai">
+<!ENTITY cancel.label "Batal">
+
+<!ENTITY select.label "atau pilih jenis bahan yang mahu diimport:">
+
+<!ENTITY title.label "Tajuk">
+<!ENTITY processing.label "Mengimport…">
diff --git a/l10n-ms/mail/chrome/messenger/importMsgs.properties b/l10n-ms/mail/chrome/messenger/importMsgs.properties
new file mode 100644
index 0000000000..6070d6840b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/importMsgs.properties
@@ -0,0 +1,307 @@
+# 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 are used by the import code to display status/error
+# and informational messages
+
+# The following are used by the import code to display status/error
+# and informational messages
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=Tidak menemui buku alamat yang mahu diimport.
+
+# Error: Address book import not intialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=Tidak dapat mengimport buku alamat: ralat ketika memulakan.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=Tidak dapat mengimport buku alamat: tidak boleh mencipta thread import.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=Ralat mengimport %S: tidak dapat mencipta buku alamat.
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=Tidak menemui peti mel yang mahu diimport
+
+# Error: Mailbox import not intialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=Tidak dapat mengimport peti mel: ralat ketika memulakan
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=Tidak dapat mengimport peti mel: tidak boleh mencipta thread import
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=Tidak dapat mengimport peti mel, tidak boleh mencipta objek proksi untuk peti mel destinasi
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=Ralat ketika mencipta peti mel destinasi, tidak dapat mencari peti mel %S
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=Ralat ketika mengimport peti mel %S, tidak boleh mencipta peti mel destinasi
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=Tidak dapat mencipta folder yang mahu diimport mel ke dalamnya
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=Nama Pertama
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=Nama Keluarga
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=Nama Paparan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=Nama gelaran
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=E-mel Utama
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=E-mel Sekunder
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=Telefon Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=Telefon Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=Nombor Faks
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=Nombor Kelui
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=Nombor Telefon Bimbit
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=Alamat Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=Alamat Rumah 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=Bandar Kediaman
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=Negeri Kediaman
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=Poskod Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=Negara
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=Alamat Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=Alamat Kerja 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=Bandar
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=Negeri
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=Poskod Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=Negara
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=Jawatan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=Jabatan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=Organisasi
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=Halaman Web 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=Halaman Web 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=Tahun Lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=Bulan Lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=Tarikh lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=Penyesuaian 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=Penyesuaian 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=Penyesuaian 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=Penyesuaian 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=Nota
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=Nama Skrin
+
+#Error strings
+ImportAlreadyInProgress=Operasi mengimport sedang dijalankan. Cuba lagi apabila proses mengimport sekarang sudah selesai.
+
+#Error strings for settings import
+ImportSettingsBadModule=Tidak dapat memuatkan modul tetapan
+ImportSettingsNotFound=Tidak dapat mencari tetapan. Semak untuk memastikan bahawa aplikasi sudah dipasang.
+ImportSettingsFailed=Ada ralat semasa mengimport tetapan. Beberapa, atau semua tetapan mungkin tidak diimport.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=Tetapan diimport daripada %S
+
+#Error string for mail import
+ImportMailBadModule=Tidak dapat memuatkan mel modul import
+ImportMailNotFound=Tidak dapat mencari mel untuk diimport. Semak untuk memastikan aplikasi mel telah dipasang dengan betul.
+ImportEmptyAddressBook=Tidak boleh mengimport buku alamat %S yang kosong.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=Ada ralat semasa mengimport mel daripada %S
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=Mel berjaya diimport daripada %S
+
+# Error string for address import
+ImportAddressBadModule=Tidak dapat memuatkan buku alamat modul import.
+ImportAddressNotFound=Tidak dapat mencari buku alamat untuk diimport. Semak untuk memastikan aplikasi atau format yang dipilih telah dipasang dengan betul.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=Ada ralat semasa mengimport alamat daripada %S.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=Alamat berjaya diimport daripada %S.
+
+# Error string for filters import
+ImportFiltersBadModule=Tidak dapat memuatkan penapis modul import.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=Ada ralat semasa mengimport penapis daripada %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=Penapis berjaya diimport daripada %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=Sebahagian penapis berjaya diimport daripada %S. Amaran di bawah:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=Menukarkan peti mel daripada %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=Menukarkan buku alamat daripada %S
+
+#Import file dialog strings
+ImportSelectSettings=Pilih fail tetapan
+ImportSelectMailDir=Pilih direktori mel
+ImportSelectAddrDir=Pilih direktori buku alamat
+ImportSelectAddrFile=Pilih fail buku alamat
+
+# Folder Names for imported Mail
+DefaultFolderName=Mel Diimport
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=Import %S
diff --git a/l10n-ms/mail/chrome/messenger/joinChat.dtd b/l10n-ms/mail/chrome/messenger/joinChat.dtd
new file mode 100644
index 0000000000..7882399d5f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/joinChat.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY joinChatWindow.title "Sertai sembang">
+<!ENTITY name.label "Bilik">
+<!ENTITY optional.label "(pilihan)">
+<!ENTITY account.label "Akaun">
+<!ENTITY autojoin.label "Auto-serta Bilik Sembang ini">
+<!ENTITY autojoin.accesskey "A">
diff --git a/l10n-ms/mail/chrome/messenger/junkLog.dtd b/l10n-ms/mail/chrome/messenger/junkLog.dtd
new file mode 100644
index 0000000000..2a3834b3a0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/junkLog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY adaptiveJunkLog.title "Penyesuaian Log Mel Remeh">
+<!ENTITY adaptiveJunkLogInfo.label "Log kawalan aktiviti penyesuaian mel remeh.">
+<!ENTITY clearLog.label "Buang Log">
+<!ENTITY clearLog.accesskey "B">
+<!ENTITY closeLog.label "Tutup">
+<!ENTITY closeLog.accesskey "t">
diff --git a/l10n-ms/mail/chrome/messenger/localMsgs.properties b/l10n-ms/mail/chrome/messenger/localMsgs.properties
new file mode 100644
index 0000000000..5f5ac6215b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/localMsgs.properties
@@ -0,0 +1,132 @@
+# 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 are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=Ralat dengan akaun %S
+
+# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S"
+# and "%2$S" below. Place the word %1$S where the user name should appear, and
+# %2$S where the host name should appear.
+pop3EnterPasswordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+# LOCALIZATION NOTE(pop3PreviouslyEnteredPasswordIsInvalidPrompt): Do not
+# translate the words "%1$S" and "%2$S" below. Place the word %1$S where the
+# user name should appear, and %2$S where the host name should appear.
+pop3PreviouslyEnteredPasswordIsInvalidPrompt=Masukkan kata laluan baru untuk %1$S dalam %2$S:
+
+# Status - Downloading message n of m
+# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines.
+# Place the word %1$S where the number of messages downloaded so far should appear.
+# Place the word %2$S where the total number of messages to receive should appear;
+receivingMessages=Memuat turun mesej %1$S daripada %2$S…
+
+# Status - connecting to host
+hostContact=Dapat menghubungi hos, menghantar maklumat log masuk…
+
+# Status - no messages to download
+noNewMessages=Tiada mesej baru.
+
+# Status - messages received after the download
+#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line.
+# %1$S will receive the number of messages received
+# %2$S will receive the total number of messages
+receivedMsgs=Menerima %1$S daripada %2$S mesej
+
+# Status - parsing folder
+#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line.
+# Place the word %S where the name of the mailbox should appear
+buildingSummary=Membina fail ringkasan untuk %S…
+
+# Status - parsing folder
+localStatusDocumentDone=Siap
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=Ada ralat dengan pelayan mel POP3.
+
+# Status - pop3 user name failed
+pop3UsernameFailure=Tidak berjaya menghantar nama pengguna.
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=Tidak berjaya menghantar kata laluan untuk %1$S.
+
+# Status - write error occurred
+pop3MessageWriteError=Tidak dapat menulis e-mel ke dalam peti mel. Pastikan sistem fail mengizinkan anda menulis, dan ada ruang cakera yang cukup untuk menyalin ke dalam peti mel.
+
+# Status - retr failure from the server
+pop3RetrFailure=Arahan RETR tidak berjaya. Ralat semasa mendapatkan mesej.
+
+# Status - password undefined
+pop3PasswordUndefined=Ralat mendapatkan kata laluan mel.
+
+# Status - username undefined
+pop3UsernameUndefined=Anda tidak memberikan nama pengguna untuk pelayan ini. Sila berikannya dalam menu penetapan akaun dan cuba lagi.
+
+# Status - list failure
+pop3ListFailure=Arahan LIST tidak berjaya. Ralat semasa mendapatkan ID dan saiz mesej.
+
+# Status - delete error
+pop3DeleFailure=Arahan DELE tidak berjaya. Ralat semasa menandakan mesej sebagai sudah dibuang.
+
+# Status - stat failed
+pop3StatFail=Arahan STAT tidak berjaya. Ralat semasa mendapatkan nombor dan saiz mesej.
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= Pelayan mel %S memberikan respons:
+
+copyingMessagesStatus=Menyalin %S daripada %S mesej ke %S
+
+movingMessagesStatus=Memindahkan %S daripada %S mesej ke %S
+
+# Status - pop3 server or folder busy
+# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
+# Place %S where the account name should appear.
+pop3ServerBusy=Akaun %S sedang diproses. Sila tunggu sehingga proses ini selesai mendapatkan mesej.
+
+pop3TmpDownloadError=Ada ralat semasa memuat turun mesej berikut: \nDaripada: %S\n Subjek: %S\n Mesej ini mungkin mengandungi virus atau ruang cakera tidak mencukupi. Abaikan mesej ini?
+
+# Status - the server doesn't support UIDL…
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "UIDL"
+pop3ServerDoesNotSupportUidlEtc=Pelayan mel POP3 (%S) tidak menyokong UIDL atau XLST XTND, yang diperlukan untuk melaksanakan pilihan ``Tinggalkan pada Pelayan'', ``Saiz Mesej Maksimum'' atau ``Ambil Pengepala Sahaja''. Untuk memuat turun mel, nyahaktifkan pilihan ini dalam Tetapan Pelayan dalam tetingkap Tetapan Akaun.
+
+# Status - the server doesn't support the top command
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "TOP"
+pop3ServerDoesNotSupportTopCommand=Pelayan mel POP3 (%S) tidak menyokong arahan TOP. Tanpa sokongan pelayan, kami tidak boleh melaksanakan keutamaan ``Saiz Mesej Maksimum'' atau ``Ambil Pengepala Sahaja''. Pilihan ini telah dinyahaktifkan, dan mesej akan dimuat turun tanpa mengira saiznya.
+
+nsErrorCouldNotConnectViaTls=Tidak dapat melaksanakan sambungan TLS ke pelayan POP3. Pelayan mungkin tergendala atau tidak dikonfigurasi dengan betul. Sila pastikan konfigurasi ini betul dengan Tetapan Pelayan untuk pelayan mel anda dalam tetingkap Tetapan Akaun, dan cuba lagi.
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=Adakah anda pasti mahu menghapuskan folder '%S'?
+
+pop3DeleteFolderDialogTitle=Buang Folder
+
+pop3DeleteFolderButtonLabel=&Buang Folder
+
+pop3AuthInternalError=Ralat keadaan dalaman semasa pengesahan pelayan POP3. Ini adalah ralat dalaman dan tidak dijangkakan di dalam aplikasi, sila laporkan sebagai pepijat.
+
+pop3AuthChangeEncryptToPlainNoSSL=Pelayan POP3 ini mungkin tidak menyokong kata laluan enkripsi. Jika anda baru sahaja menetapkan akaun, sila tukar ke 'Kata laluan, dihantar secara tidak selamat' sebagai 'Kaedah Pengesahan' dalam 'Tetapan Akaun | Tetapan Pelayan'. Jika tiada masalah ini sebelum ini dan tiba-tiba kali ini gagal, ini adalah senario lazim bagaimana seseorang boleh mencuri kata laluan anda.
+
+pop3AuthChangeEncryptToPlainSSL=Pelayan POP3 ini mungkin tidak menyokong kata laluan enkripsi. Jika anda baru sahaja menetapkan akaun, sila tukar ke 'Kata laluan Normal' sebagai 'Kaedah Pengesahan' dalam 'Tetapan Akaun | Tetapan Pelayan'. Jika tiada masalah ini sebelum ini dan tiba-tiba kali ini gagal, sila hubungi pentadbir atau penyedia e-mel anda.
+
+pop3AuthChangePlainToEncrypt=Pelayan POP3 ini tidak mengizinkan kata laluan teks biasa. Sila ubah kepada 'Kata laluan Enkripsi' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=Pelayan ini tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan POP. Sila semak bahawa anda telah log masuk ke Kerberos/GSSAPI.
diff --git a/l10n-ms/mail/chrome/messenger/mailEditorOverlay.dtd b/l10n-ms/mail/chrome/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..d86f758e3f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mailEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY sendPage.label "Hantar Halaman…">
+<!ENTITY sendPage.accesskey "l">
diff --git a/l10n-ms/mail/chrome/messenger/mailOverlay.dtd b/l10n-ms/mail/chrome/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..dad2846e5e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mailOverlay.dtd
@@ -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/. -->
+
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Mesej">
+<!ENTITY newMessageCmd.accesskey "j">
+
+<!ENTITY newContactCmd.label "Kenalan Buku Alamat…">
+<!ENTITY newContactCmd.accesskey "K">
diff --git a/l10n-ms/mail/chrome/messenger/mailViewList.dtd b/l10n-ms/mail/chrome/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..3a56c43cc2
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mailViewList.dtd
@@ -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 msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewListTitle.label "Penyesuaian Paparan Mesej">
+
diff --git a/l10n-ms/mail/chrome/messenger/mailViewSetup.dtd b/l10n-ms/mail/chrome/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..7af48d607a
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mailViewSetup.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewSetupTitle.label "Menetapkan Paparan Mesej">
+<!ENTITY mailViewHeading.label "Nama paparan mesej:">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "Apabila paparan ini dipilih, papar hanya mesej yang:">
+
diff --git a/l10n-ms/mail/chrome/messenger/mailviews.properties b/l10n-ms/mail/chrome/messenger/mailviews.properties
new file mode 100644
index 0000000000..c3c4babac0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mailviews.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/.
+
+#
+# Mail Views
+#
+
+mailViewPeopleIKnow=Yang Saya Kenal
+mailViewRecentMail=Mel Terkini
+mailViewLastFiveDays=5 hari lepas
+mailViewNotJunk=Bukan Mel Remeh
+mailViewHasAttachments=Ada Lampiran
diff --git a/l10n-ms/mail/chrome/messenger/markByDate.dtd b/l10n-ms/mail/chrome/messenger/markByDate.dtd
new file mode 100644
index 0000000000..91ed8fa4cf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/markByDate.dtd
@@ -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/. -->
+
+<!ENTITY messageMarkByDate.label "Tandakan Mesej sebagai sudah Dibaca mengikut Tarikh">
+<!ENTITY markByDateLower.label "Tandakan mesej sebagai dibaca daripada:">
+<!ENTITY markByDateLower.accesskey "d">
+<!ENTITY markByDateUpper.label "Hingga:">
+<!ENTITY markByDateUpper.accesskey "H">
diff --git a/l10n-ms/mail/chrome/messenger/messenger.dtd b/l10n-ms/mail/chrome/messenger/messenger.dtd
new file mode 100644
index 0000000000..b388043878
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messenger.dtd
@@ -0,0 +1,932 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY titledefault.label "&brandFullName;">
+<!ENTITY titleSeparator.label " - ">
+
+<!-- File Menu -->
+<!ENTITY newFolderCmd.label "Folder…">
+<!ENTITY newFolderCmd.accesskey "F">
+<!ENTITY closeTabCmd2.label "Tutup Tab">
+<!ENTITY closeTabCmd2.accesskey "T">
+<!ENTITY closeOtherTabsCmd2.label "Tutup Tab Lain">
+<!ENTITY closeOtherTabsCmd2.accesskey "i">
+<!ENTITY recentlyClosedTabsCmd.label "Tab Terkini Ditutup">
+<!ENTITY recentlyClosedTabsCmd.accesskey "T">
+
+<!ENTITY undoCloseTabCmd.commandkey "T">
+<!-- LOCALIZATION NOTE (moveToNewWindow.label):
+ Menu option to cause the current tab to be migrated to a new Thunderbird
+ window.
+ -->
+<!ENTITY moveToNewWindow.label "Pindah ke Tetingkap Baru">
+<!ENTITY moveToNewWindow.accesskey "T">
+<!ENTITY newVirtualFolderCmd.label "Carian Tersimpan…">
+<!ENTITY newVirtualFolderCmd.accesskey "C">
+<!ENTITY newCreateEmailAccountCmd.label "Dapatkan Akaun Mel Baru…">
+<!ENTITY newCreateEmailAccountCmd.accesskey "D">
+<!ENTITY newExistingEmailAccountCmd.label "Akaun Mel Sedia ada…">
+<!ENTITY newExistingEmailAccountCmd.accesskey "S">
+<!ENTITY newIMAccountCmd.label "Akaun Sembang…">
+<!ENTITY newIMAccountCmd.accesskey "S">
+<!ENTITY newFeedAccountCmd.label "Akaun Suapan…">
+<!ENTITY newFeedAccountCmd.accesskey "n">
+<!ENTITY newIMContactCmd.label "Kenalan Sembang…">
+<!ENTITY newIMContactCmd.accesskey "b">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Mesej">
+<!ENTITY newMessageCmd.accesskey "m">
+<!ENTITY newContactCmd.label "Kenalan Buku Alamat…">
+<!ENTITY newContactCmd.accesskey "K">
+<!ENTITY openMessageFileCmd.label "Buka Mesej Disimpan…">
+<!ENTITY openMessageFileCmd.accesskey "B">
+<!ENTITY saveAsMenu.label "Simpan Sebagai">
+<!ENTITY saveAsMenu.accesskey "S">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "Templat">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY getNewMsgForCmd.label "Dapatkan Mesej Baru untuk">
+<!ENTITY getNewMsgForCmd.accesskey "u">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "Semua Akaun">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "A">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "Akaun Semasa">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "S">
+<!ENTITY getNextNMsgCmd2.label "Dapatkan Mesej Berita Seterusnya">
+<!ENTITY getNextNMsgCmd2.accesskey "t">
+<!ENTITY sendUnsentCmd.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY sendUnsentCmd.accesskey "d">
+<!ENTITY subscribeCmd.label "Langgan…">
+<!ENTITY subscribeCmd.accesskey "g">
+<!ENTITY deleteFolder.label "Buang Folder">
+<!ENTITY deleteFolder.accesskey "e">
+<!ENTITY renameFolder.label "Namakan semula Folder…">
+<!ENTITY renameFolder.accesskey "N">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "Padatkan Folder">
+<!ENTITY compactFolders.accesskey "F">
+<!ENTITY emptyTrashCmd.label "Buang Sampah">
+<!ENTITY emptyTrashCmd.accesskey "g">
+<!ENTITY offlineMenu.label "Luar talian">
+<!ENTITY offlineMenu.accesskey "l">
+<!ENTITY offlineGoOfflineCmd.label "Kerja Luar Talian">
+<!ENTITY offlineGoOfflineCmd.accesskey "j">
+<!ENTITY synchronizeOfflineCmd.label "Muat turun/Sync Sekarang…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd2.label "Tetapan Luar talian">
+<!ENTITY settingsOfflineCmd2.accesskey "e">
+<!ENTITY downloadSelectedCmd.label "Dapatkan Mesej yang Dipilih">
+<!ENTITY downloadSelectedCmd.accesskey "l">
+<!ENTITY downloadStarredCmd.label "Cari Mesej Berbintang">
+<!ENTITY downloadStarredCmd.accesskey "a">
+<!ENTITY printCmd.label "Cetak…">
+<!ENTITY printCmd.accesskey "C">
+<!ENTITY printCmd.key "p">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "Buang Mesej">
+<!ENTITY deleteMsgCmd.accesskey "B">
+<!ENTITY undeleteMsgCmd.label "Batal buang Mesej">
+<!ENTITY undeleteMsgCmd.accesskey "b">
+<!ENTITY deleteMsgsCmd.label "Buang Mesej yang Dipilih">
+<!ENTITY deleteMsgsCmd.accesskey "B">
+<!ENTITY undeleteMsgsCmd.label "Batal buang Mesej yang Dipilih">
+<!ENTITY undeleteMsgsCmd.accesskey "b">
+<!ENTITY deleteFolderCmd.label "Buang Folder">
+<!ENTITY deleteFolderCmd.accesskey "B">
+<!ENTITY unsubscribeNewsgroupCmd.label "Batal langganan">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "l">
+<!ENTITY selectMenu.label "Pilih">
+<!ENTITY selectMenu.accesskey "P">
+<!ENTITY all.label "Semua">
+<!ENTITY all.accesskey "S">
+<!ENTITY selectThreadCmd.label "Thread">
+<!ENTITY selectThreadCmd.accesskey "T">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "Mesej Berbintang">
+<!ENTITY selectFlaggedCmd.accesskey "B">
+<!ENTITY menuFavoriteFolder.label "Folder Kegemaran">
+<!ENTITY menuFavoriteFolder.accesskey "r">
+<!ENTITY folderPropsCmd2.label "Sifat">
+<!ENTITY folderPropsFolderCmd2.label "Sifat Folder">
+<!ENTITY folderPropsNewsgroupCmd2.label "Sifat Kumpulan berita">
+<!ENTITY folderPropsCmd.accesskey "u">
+<!ENTITY undoDeleteMsgCmd.label "Batal Membuang Mesej">
+<!ENTITY redoDeleteMsgCmd.label "Ulang Buang Mesej">
+<!ENTITY undoMoveMsgCmd.label "Batal Memindahkan Mesej">
+<!ENTITY redoMoveMsgCmd.label "Ulang Pindah Mesej">
+<!ENTITY undoCopyMsgCmd.label "Batal Menyalin Mesej">
+<!ENTITY redoCopyMsgCmd.label "Ulang Salin Mesej">
+<!ENTITY undoMarkAllCmd.label "Batal Semua Tanda Sudah Dibaca">
+<!ENTITY redoMarkAllCmd.label "Ulang Tanda Semua Sudah Dibaca">
+<!ENTITY undoDefaultCmd.label "Batal">
+<!ENTITY undoDefaultCmd.accesskey "B">
+<!ENTITY redoDefaultCmd.label "Ulang">
+<!ENTITY redoDefaultCmd.accesskey "U">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "Bar Menu">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showMessengerToolbarCmd.label "Bar alatan Mel">
+<!ENTITY showMessengerToolbarCmd.accesskey "t">
+<!ENTITY customizeToolbar.label "Penyesuaian…">
+<!ENTITY customizeToolbar.accesskey "P">
+
+<!ENTITY messagePaneLayoutStyle.label "Susun atur">
+<!ENTITY messagePaneLayoutStyle.accesskey "S">
+<!ENTITY messagePaneClassic.label "Paparan Klasik">
+<!ENTITY messagePaneClassic.accesskey "K">
+<!ENTITY messagePaneWide.label "Paparan Melebar">
+<!ENTITY messagePaneWide.accesskey "M">
+<!ENTITY messagePaneVertical.label "Paparan Menegak">
+<!ENTITY messagePaneVertical.accesskey "P">
+<!ENTITY showFolderPaneCmd.label "Anak tetingkap Folder">
+<!ENTITY showFolderPaneCmd.accesskey "F">
+<!ENTITY showFolderPaneColsCmd.label "Lajur Anak tetingkap Folder">
+<!ENTITY showFolderPaneColsCmd.accesskey "A">
+<!ENTITY showMessageCmd.label "Anak tetingkap Mesej">
+<!ENTITY showMessageCmd.accesskey "M">
+
+<!ENTITY folderView.label "Folder">
+<!ENTITY folderView.accesskey "F">
+<!ENTITY unifiedFolders.label "Digabungkan">
+<!ENTITY unifiedFolders.accesskey "n">
+<!ENTITY allFolders.label "Semua">
+<!ENTITY allFolders.accesskey "S">
+<!ENTITY unreadFolders.label "Belum Dibaca">
+<!ENTITY unreadFolders.accesskey "B">
+<!ENTITY favoriteFolders.label "Kegemaran">
+<!ENTITY favoriteFolders.accesskey "K">
+<!ENTITY recentFolders.label "Terbaru">
+<!ENTITY recentFolders.accesskey "T">
+<!ENTITY compactVersion.label "Paparan Padat">
+<!ENTITY compactVersion.accesskey "P">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "Susun mengikut">
+<!ENTITY sortMenu.accesskey "S">
+<!ENTITY sortByDateCmd.label "Tarikh">
+<!ENTITY sortByDateCmd.accesskey "k">
+<!ENTITY sortByReceivedCmd.label "Diterima">
+<!ENTITY sortByReceivedCmd.accesskey "r">
+<!ENTITY sortByStarCmd.label "Bintang">
+<!ENTITY sortByStarCmd.accesskey "B">
+<!ENTITY sortByAttachmentsCmd.label "Lampiran">
+<!ENTITY sortByAttachmentsCmd.accesskey "m">
+<!ENTITY sortByPriorityCmd.label "Prioriti">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "Saiz">
+<!ENTITY sortBySizeCmd.accesskey "z">
+<!ENTITY sortByStatusCmd.label "Status">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "Tag">
+<!ENTITY sortByTagsCmd.accesskey "g">
+<!ENTITY sortByJunkStatusCmd.label "Status Mel remeh">
+<!ENTITY sortByJunkStatusCmd.accesskey "M">
+<!ENTITY sortBySubjectCmd.label "Subjek">
+<!ENTITY sortBySubjectCmd.accesskey "b">
+<!ENTITY sortByFromCmd.label "Daripada">
+<!ENTITY sortByFromCmd.accesskey "D">
+<!ENTITY sortByRecipientCmd.label "Penerima">
+<!ENTITY sortByRecipientCmd.accesskey "n">
+<!ENTITY sortByCorrespondentCmd.label "Koresponden">
+<!ENTITY sortByCorrespondentCmd.accesskey "n">
+<!ENTITY sortByUnreadCmd.label "Dibaca">
+<!ENTITY sortByUnreadCmd.accesskey "D">
+<!ENTITY sortByOrderReceivedCmd.label "Susunan Diterima">
+<!ENTITY sortByOrderReceivedCmd.accesskey "S">
+<!ENTITY sortAscending.label "Menaik">
+<!ENTITY sortAscending.accesskey "M">
+<!ENTITY sortDescending.label "Menurun">
+<!ENTITY sortDescending.accesskey "n">
+<!ENTITY sortThreaded.label "Thread">
+<!ENTITY sortThreaded.accesskey "T">
+<!ENTITY sortUnthreaded.label "Bukan-thread">
+<!ENTITY sortUnthreaded.accesskey "h">
+<!ENTITY groupBySort.label "Dikumpulkan Mengikut Susunan">
+<!ENTITY groupBySort.accesskey "D">
+<!ENTITY msgsMenu.label "Mesej">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "Thread">
+<!ENTITY threads.accesskey "e">
+<!ENTITY allMsgsCmd.label "Semua">
+<!ENTITY allMsgsCmd.accesskey "S">
+<!ENTITY expandAllThreadsCmd.label "Kembangkan Semua Thread">
+<!ENTITY expandAllThreadsCmd.accesskey "K">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "Runtuh Semua Thread">
+<!ENTITY collapseAllThreadsCmd.accesskey "R">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "Belum Dibaca">
+<!ENTITY unreadMsgsCmd.accesskey "B">
+<!ENTITY threadsWithUnreadCmd.label "Thread Belum Dibaca">
+<!ENTITY threadsWithUnreadCmd.accesskey "T">
+<!ENTITY watchedThreadsWithUnreadCmd.label "Ikuti Thread Belum Dibaca">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "I">
+<!ENTITY ignoredThreadsCmd.label "Thread Diabaikan">
+<!ENTITY ignoredThreadsCmd.accesskey "i">
+
+<!ENTITY headersMenu.label "Pengepala">
+<!ENTITY headersMenu.accesskey "P">
+<!ENTITY headersAllCmd.label "Semua">
+<!ENTITY headersAllCmd.accesskey "S">
+<!ENTITY headersNormalCmd.label "Normal">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "Kandungan Mesej Sebagai">
+<!ENTITY bodyMenu.accesskey "K">
+<!ENTITY bodyAllowHTML.label "HTML Asal">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "HTML Mudah">
+<!ENTITY bodySanitized.accesskey "M">
+<!ENTITY bodyAsPlaintext.label "Teks Biasa">
+<!ENTITY bodyAsPlaintext.accesskey "B">
+<!ENTITY bodyAllParts.label "Semua Bahagian Kandungan">
+<!ENTITY bodyAllParts.accesskey "S">
+
+<!ENTITY bodyMenuFeed.label "Kandungan Mesej Suapan Sebagai">
+<!ENTITY bodyMenuFeed.accesskey "K">
+<!ENTITY viewFeedWebPage.label "Halaman Web">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Ringkasan">
+<!ENTITY viewFeedSummary.accesskey "n">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Format Piawai">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "P">
+
+<!ENTITY viewAttachmentsInlineCmd.label "Papar Lampiran Sebaris">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "L">
+
+<!ENTITY pageSourceCmd.label "Sumber Mesej">
+<!ENTITY pageSourceCmd.accesskey "u">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "Cari">
+<!ENTITY findMenu.accesskey "C">
+<!ENTITY findCmd.label "Cari dalam Mesej Ini…">
+<!ENTITY findCmd.accesskey "C">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "Cari Lagi">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.key "g">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY searchMailCmd.label "Cari Mesej…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY searchAddressesCmd.label "Cari Alamat…">
+<!ENTITY searchAddressesCmd.accesskey "A">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "Teruskan">
+<!ENTITY goMenu.accesskey "T">
+<!ENTITY nextMenu.label "Berikut">
+<!ENTITY nextMenu.accesskey "B">
+<!ENTITY nextMsgCmd.label "Mesej">
+<!ENTITY nextMsgCmd.accesskey "M">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "Mesej Belum Dibaca">
+<!ENTITY nextUnreadMsgCmd.accesskey "B">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "Mesej Berbintang">
+<!ENTITY nextStarredMsgCmd.accesskey "B">
+<!ENTITY nextUnreadThread.label "Thread Belum Dibaca">
+<!ENTITY nextUnreadThread.accesskey "T">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "Dahulu">
+<!ENTITY prevMenu.accesskey "D">
+<!ENTITY prevMsgCmd.label "Mesej">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "Mesej Belum Dibaca">
+<!ENTITY prevUnreadMsgCmd.accesskey "B">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "Kirim semula">
+<!ENTITY goForwardCmd.accesskey "K">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY goBackCmd.label "Undur">
+<!ENTITY goBackCmd.accesskey "U">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "Sembang">
+<!ENTITY goChatCmd.accesskey "S">
+<!ENTITY prevStarredMsgCmd.label "Mesej Berbintang">
+<!ENTITY prevStarredMsgCmd.accesskey "B">
+<!ENTITY folderMenu.label "Folder">
+<!ENTITY folderMenu.accesskey "O">
+<!ENTITY goRecentlyClosedTabs.label "Tab Terkini Ditutup">
+<!ENTITY goRecentlyClosedTabs.accesskey "T">
+<!ENTITY startPageCmd.label "Halaman Permulaan Mel">
+<!ENTITY startPageCmd.accesskey "P">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "Mesej">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "Mesej Baru">
+<!ENTITY newMsgCmd.accesskey "B">
+<!ENTITY newNewMsgCmd.label "Mesej">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY archiveMsgCmd.label "Arkib">
+<!ENTITY archiveMsgCmd.accesskey "A">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "Batal Mesej">
+<!ENTITY cancelNewsMsgCmd.accesskey "B">
+<!ENTITY replyMsgCmd.label "Balas">
+<!ENTITY replyMsgCmd.accesskey "B">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "Balas kepada Pengirim Sahaja">
+<!ENTITY replySenderCmd.accesskey "B">
+<!ENTITY replyNewsgroupCmd2.label "Susulan kepada Kumpulan berita">
+<!ENTITY replyNewsgroupCmd2.accesskey "u">
+<!ENTITY replyToAllMsgCmd.label "Balas kepada Semua">
+<!ENTITY replyToAllMsgCmd.accesskey "l">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "Balas mengikut Senarai">
+<!ENTITY replyToListMsgCmd.accesskey "S">
+<!ENTITY replyToListMsgCmd.key "l">
+<!ENTITY forwardMsgCmd.label "Kirim semula">
+<!ENTITY forwardMsgCmd.accesskey "K">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "Kirim Semula Sebagai">
+<!ENTITY forwardAsMenu.accesskey "m">
+<!ENTITY forwardAsInline.label "Sebaris">
+<!ENTITY forwardAsInline.accesskey "S">
+<!ENTITY forwardAsAttachmentCmd.label "Lampiran">
+<!ENTITY forwardAsAttachmentCmd.accesskey "L">
+<!ENTITY editAsNewMsgCmd.label "Edit Sebagai Mesej Baru">
+<!ENTITY editAsNewMsgCmd.accesskey "E">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "Edit Mesej Draf">
+<!ENTITY editDraftMsgCmd.accesskey "D">
+<!ENTITY editTemplateMsgCmd.label "Edit Templat">
+<!ENTITY editTemplateMsgCmd.accesskey "T">
+<!ENTITY newMsgFromTemplateCmd.label "Mesej Baru daripada Templat">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "Cipta Penapis Daripada Mesej…">
+<!ENTITY createFilter.accesskey "a">
+<!ENTITY moveMsgToMenu.label "Pindah Ke">
+<!ENTITY moveMsgToMenu.accesskey "P">
+<!ENTITY moveCopyMsgRecentMenu.label "Terbaru">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "T">
+<!ENTITY copyMessageLocation.label "Salin Lokasi Mesej">
+<!ENTITY copyMessageLocation.accesskey "M">
+<!ENTITY copyMsgToMenu.label "Salin Ke">
+<!ENTITY copyMsgToMenu.accesskey "S">
+<!ENTITY moveToFolderAgain.label "Pindah Lagi">
+<!ENTITY moveToFolderAgain.accesskey "i">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "Abaikan Thread">
+<!ENTITY killThreadMenu.accesskey "A">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "Abaikan Sub-thread">
+<!ENTITY killSubthreadMenu.accesskey "S">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "Ikuti Thread">
+<!ENTITY watchThreadMenu.accesskey "I">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY tagMenu.label "Tag">
+<!ENTITY tagMenu.accesskey "g">
+<!ENTITY tagCmd0.key "0">
+<!ENTITY tagCmd1.key "1">
+<!ENTITY tagCmd2.key "2">
+<!ENTITY tagCmd3.key "3">
+<!ENTITY tagCmd4.key "4">
+<!ENTITY tagCmd5.key "5">
+<!ENTITY tagCmd6.key "6">
+<!ENTITY tagCmd7.key "7">
+<!ENTITY tagCmd8.key "8">
+<!ENTITY tagCmd9.key "9">
+<!ENTITY markMenu.label "Tandakan">
+<!ENTITY markMenu.accesskey "k">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "Sebagai sudah Dibaca">
+<!ENTITY markAsReadCmd.accesskey "D">
+<!ENTITY markAsUnreadCmd.label "Sebagai Belum Dibaca">
+<!ENTITY markAsUnreadCmd.accesskey "B">
+<!ENTITY markThreadAsReadCmd.label "Thread Sebagai sudah Dibaca">
+<!ENTITY markThreadAsReadCmd.accesskey "T">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "Sebagai sudah Dibaca mengikut Tarikh…">
+<!ENTITY markReadByDateCmd.accesskey "T">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "Semua sudah Dibaca">
+<!ENTITY markAllReadCmd.accesskey "S">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markStarredCmd.label "Tandakan Bintang">
+<!ENTITY markStarredCmd.accesskey "B">
+<!ENTITY markStarredCmd.key "S">
+<!ENTITY markAsJunkCmd.label "Sebagai Mel Remeh">
+<!ENTITY markAsJunkCmd.accesskey "R">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "Sebagai Bukan Mel Remeh">
+<!ENTITY markAsNotJunkCmd.accesskey "B">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "Laksanakan Kawalan Mel Remeh">
+<!ENTITY recalculateJunkScoreCmd.accesskey "K">
+<!ENTITY openMessageWindowCmd.label "Buka Mesej">
+<!ENTITY openMessageWindowCmd.accesskey "B">
+<!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openInConversationCmd.label "Buka dalam Perbualan">
+<!ENTITY openInConversationCmd.accesskey "b">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "Lampiran">
+<!ENTITY openAttachmentListCmd.accesskey "p">
+<!ENTITY openFeedMessage1.label "Apabila Membuka Mesej Suapan">
+<!ENTITY openFeedMessage1.accesskey "M">
+<!ENTITY openFeedWebPage.label "Buka sebagai Halaman Web">
+<!ENTITY openFeedWebPage.accesskey "W">
+<!ENTITY openFeedSummary.label "Buka sebagai Ringkasan">
+<!ENTITY openFeedSummary.accesskey "R">
+<!ENTITY openFeedWebPageInMP.label "Togol Halaman Web dan Ringkasan dalam Anak tetingkap Mesej">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "Tetingkap">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Alatan">
+<!ENTITY tasksMenu.accesskey "A">
+<!ENTITY messengerCmd.label "Mel &amp; Kumpulan berita">
+<!ENTITY messengerCmd.accesskey "K">
+<!ENTITY addressBookCmd.label "Buku Alamat">
+<!ENTITY addressBookCmd.accesskey "B">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY addonNoPrefs.label "Tiada tetapan Add-on ditemui.">
+<!ENTITY activitymanager.label "Pengurus Aktiviti">
+<!ENTITY activitymanager.accesskey "t">
+<!ENTITY imAccountsStatus.label "Status sembang">
+<!ENTITY imAccountsStatus.accesskey "S">
+<!ENTITY imStatus.available "Ada">
+<!ENTITY imStatus.unavailable "Tiada">
+<!ENTITY imStatus.offline "Luar talian">
+<!ENTITY imStatus.showAccounts "Papar Akaun…">
+<!ENTITY joinChatCmd.label "Sertai Sembang…">
+<!ENTITY joinChatCmd.accesskey "b">
+<!ENTITY savedFiles.label "Fail Disimpan">
+<!ENTITY savedFiles.accesskey "l">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "Tapis Mesej">
+<!ENTITY filtersCmd2.accesskey "T">
+<!ENTITY filtersApply.label "Laksanakan Penapis pada Folder">
+<!ENTITY filtersApply.accesskey "L">
+<!ENTITY filtersApplyToSelection.label "Laksanakan Penapis pada Mesej Dipilih">
+<!ENTITY filtersApplyToSelection.accesskey "p">
+<!ENTITY filtersApplyToMessage.label "Laksanakan Penapis pada Mesej">
+<!ENTITY filtersApplyToMessage.accesskey "j">
+<!ENTITY runJunkControls.label "Laksanakan Kawalan Mel Remeh dalam Folder">
+<!ENTITY runJunkControls.accesskey "K">
+<!ENTITY deleteJunk.label "Buang Mel yang Ditanda sebagai Mel remeh dalam Folder">
+<!ENTITY deleteJunk.accesskey "B">
+<!ENTITY importCmd.label "Import…">
+<!ENTITY importCmd.accesskey "m">
+<!ENTITY clearRecentHistory.label "Buang Sejarah Terkini…">
+<!ENTITY clearRecentHistory.accesskey "S">
+<!ENTITY accountManagerCmd2.label "Tetapan Akaun">
+<!ENTITY accountManagerCmd2.accesskey "T">
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+ Belongs to accountManagerCmd.label, which is placed under the Edit menu
+ on Unix systems
+ -->
+<!ENTITY accountManagerCmdUnix2.accesskey "A">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "Alatan Pembangun">
+<!ENTITY devtoolsMenu.accesskey "e">
+<!ENTITY devToolboxCmd.label "Kotak Alatan Pembangun">
+<!ENTITY devToolboxCmd.accesskey "K">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "Add-ons Nyahpepijat">
+<!ENTITY debugAddonsCmd.accesskey "A">
+<!ENTITY errorConsoleCmd.label "Konsol Ralat">
+<!ENTITY errorConsoleCmd.accesskey "R">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "Dapatkan Mesej">
+<!ENTITY newMsgButton.label "Tulis">
+<!ENTITY replyButton.label "Balas">
+<!ENTITY replyAllButton.label "Balas Semua">
+<!ENTITY replyListButton.label "Balas mengikut Senarai">
+<!ENTITY forwardButton.label "Kirim semula">
+<!ENTITY fileButton.label "Fail">
+<!ENTITY archiveButton.label "Arkib">
+<!ENTITY openConversationButton.label "Perbualan">
+<!ENTITY nextButton.label "Berikut">
+<!ENTITY nextButtonToolbarItem.label "Belum Dibaca Berikut">
+<!ENTITY nextMsgButton.label "Berikut">
+<!ENTITY previousButton.label "Dahulu">
+<!ENTITY previousButtonToolbarItem.label "Belum Dibaca Terdahulu">
+<!ENTITY previousMsgButton.label "Dahulu">
+<!ENTITY backButton1.label "Undur">
+<!ENTITY goForwardButton1.label "Kirim semula">
+<!ENTITY deleteItem.title "Buang">
+<!ENTITY markButton.label "Tandakan">
+<!ENTITY printButton.label "Cetak">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY throbberItem.title "Penunjuk Aktiviti">
+<!ENTITY junkItem.title "Mel Remeh">
+<!ENTITY addressBookButton.label "Buku Alamat">
+<!ENTITY chatButton.label "Sembang">
+<!ENTITY glodaSearch.title "Carian Global">
+<!ENTITY searchItem.title "Carian Pantas">
+<!ENTITY mailViewsToolbarItem.title "Paparan Mel">
+<!ENTITY folderLocationToolbarItem.title "Lokasi Folder">
+<!ENTITY tagButton.label "Tag">
+<!ENTITY compactButton.label "Padat">
+<!ENTITY appmenuButton.label "AppMenu">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "Carian mesej lanjutan">
+<!ENTITY getMsgButton.tooltip "Dapatkan mesej baru">
+<!ENTITY getAllNewMsgCmd.label "Dapatkan Semua Mesej Baru">
+<!ENTITY getAllNewMsgCmd.accesskey "D">
+<!ENTITY newMsgButton.tooltip "Cipta mesej baru">
+<!ENTITY replyButton.tooltip "Balas mesej">
+<!ENTITY replyAllButton.tooltip "Balas kepada pengirim dan semua penerima">
+<!ENTITY replyListButton.tooltip "Balas kepada kenalan dalam senarai mel">
+<!ENTITY forwardButton.tooltip "Kirim semula mesej yang dipilih">
+<!ENTITY forwardAsInline.tooltip "Kirim semula mesej yang dipilih sebagai teks sebaris">
+<!ENTITY forwardAsAttachment.tooltip "Kirim semula mesej yang dipilih sebagai lampiran">
+<!ENTITY fileButton.tooltip "Failkan mesej yang dipilih">
+<!ENTITY archiveButton.tooltip "Arkib mesej yang dipilih">
+<!ENTITY nextButton.tooltip "Pindah ke mesej belum dibaca seterusnya">
+<!ENTITY nextMsgButton.tooltip "Pergi ke mesej seterusnya">
+<!ENTITY previousButton.tooltip "Pindah ke mesej belum dibaca terdahulu">
+<!ENTITY previousMsgButton.tooltip "Pergi ke mesej terdahulu">
+<!ENTITY goForwardButton.tooltip "Langkau satu mesej">
+<!ENTITY goBackButton.tooltip "Undur satu mesej">
+<!ENTITY markButton.tooltip "Tandakan mesej">
+<!ENTITY printButton.tooltip "Cetak mesej ini">
+<!ENTITY stopButton.tooltip "Hentikan pemindahan semasa">
+<!ENTITY addressBookButton.tooltip "Pergi ke buku alamat">
+<!ENTITY chatButton.tooltip "Papar tab Sembang">
+<!ENTITY tagButton.tooltip "Tag mesej">
+<!ENTITY compactButton.tooltip "Buang mesej yang dihapuskan daripada folder yang dipilih">
+<!ENTITY appmenuButton1.tooltip "Papar Menu &brandShortName;">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "Kirim semula Sebaris">
+<!ENTITY buttonMenuForwardAsAttachment.label "Kirim semula sebagai Lampiran">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "Papar kandungan jauh mesej ini">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "P">
+<!ENTITY editRemoteContentSettings.label "Edit pilihan kandungan jauh…">
+<!ENTITY editRemoteContentSettings.accesskey "E">
+<!ENTITY editRemoteContentSettingsUnix.label "Edit keutamaan kandungan jauh…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "E">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "Abai amaran mesej ini">
+<!ENTITY phishingOptionIgnore.accesskey "n">
+<!ENTITY phishingOptionSettings.label "Edit pilihan mengesan penipuan…">
+<!ENTITY phishingOptionSettings.accesskey "d">
+<!ENTITY phishingOptionSettingsUnix.label "Edit keutamaan mengesan penipuan…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "d">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "Mesej Baru">
+<!ENTITY appmenuNewContactCmd.label "Kenalan Buku Alamat…">
+<!ENTITY appmenuEditMenu.label "Edit">
+<!ENTITY appmenuToolbarLayout.label "Susun atur Bar alatan…">
+<!ENTITY appmenuSelectThread.label "Pilih Thread">
+<!ENTITY appmenuSelectFlagged.label "Pilih Mesej Berbintang">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "Tag Baru…">
+<!ENTITY addNewTag.accesskey "B">
+<!ENTITY manageTags.label "Urus Tag…">
+<!ENTITY manageTags.accesskey "U">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "Nama">
+<!ENTITY folderUnreadColumn.label "Belum Dibaca">
+<!ENTITY folderTotalColumn.label "Jumlah">
+<!ENTITY folderSizeColumn.label "Saiz">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "Dapatkan Mesej">
+<!ENTITY folderContextGetMessages.accesskey "D">
+<!ENTITY folderContextMarkAllFoldersRead.label "Tandakan Folder Sudah Dibaca">
+<!ENTITY folderContextPauseAllUpdates.label "Jeda Semua Kemaskini">
+<!ENTITY folderContextPauseUpdates.label "Jeda Kemaskini">
+<!ENTITY folderContextPauseUpdates.accesskey "K">
+<!ENTITY folderContextOpenInNewWindow.label "Buka dalam Tetingkap Baru">
+<!ENTITY folderContextOpenInNewWindow.accesskey "B">
+<!ENTITY folderContextOpenNewTab.label "Buka dalam Tab Baru">
+<!ENTITY folderContextOpenNewTab.accesskey "T">
+<!ENTITY folderContextNew.label "Sub-folder Baru…">
+<!ENTITY folderContextNew.accesskey "B">
+<!ENTITY folderContextRename.label "Namakan semula">
+<!ENTITY folderContextRename.accesskey "N">
+<!ENTITY folderContextRemove.label "Buang">
+<!ENTITY folderContextRemove.accesskey "B">
+<!ENTITY folderContextCompact.label "Padat">
+<!ENTITY folderContextCompact.accesskey "P">
+<!ENTITY folderContextEmptyTrash.label "Buang Sampah">
+<!ENTITY folderContextEmptyTrash.accesskey "g">
+<!ENTITY folderContextEmptyJunk.label "Buang Mel Remeh">
+<!ENTITY folderContextEmptyJunk.accesskey "R">
+<!ENTITY folderContextSendUnsentMessages.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY folderContextSendUnsentMessages.accesskey "d">
+<!ENTITY folderContextUnsubscribe.label "Batal langganan">
+<!ENTITY folderContextUnsubscribe.accesskey "B">
+<!ENTITY folderContextMarkNewsgroupRead.label "Tandakan Kumpulan berita sudah Dibaca">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "k">
+<!ENTITY folderContextMarkMailFolderRead.label "Tandakan Folder sudah Dibaca">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "k">
+<!ENTITY folderContextSubscribe.label "Langgan…">
+<!ENTITY folderContextSubscribe.accesskey "g">
+<!ENTITY folderContextSearchForMessages.label "Cari Mesej…">
+<!ENTITY folderContextSearchForMessages.accesskey "C">
+<!ENTITY folderContextProperties2.label "Sifat">
+<!ENTITY folderContextProperties2.accesskey "S">
+<!ENTITY folderContextFavoriteFolder.label "Folder Kegemaran">
+<!ENTITY folderContextFavoriteFolder.accesskey "a">
+<!ENTITY folderContextSettings2.label "Tetapan">
+<!ENTITY folderContextSettings2.accesskey "e">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Nama atau E-mel yang mengandungi:">
+<!ENTITY SearchNameOrEmail.accesskey "N">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "Cari mesej…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "Subjek">
+<!ENTITY searchFromMenu.label "Daripada">
+<!ENTITY searchSubjectOrFromMenu.label "Subjek atau Daripada">
+<!ENTITY searchRecipient.label "Kepada atau Cc">
+<!ENTITY searchSubjectOrRecipientMenu.label "Subjek, Kepada atau Cc">
+<!ENTITY searchMessageBody.label "Seluruh Mesej">
+<!ENTITY saveAsVirtualFolderMenu.label "Simpan Carian sebagai Folder…">
+
+<!-- Thread Pane -->
+<!ENTITY threadColumn.label "Thread">
+<!ENTITY fromColumn.label "Daripada">
+<!ENTITY recipientColumn.label "Penerima">
+<!ENTITY correspondentColumn.label "Koresponden">
+<!ENTITY subjectColumn.label "Subjek">
+<!ENTITY dateColumn.label "Tarikh">
+<!ENTITY priorityColumn.label "Prioriti">
+<!ENTITY tagsColumn.label "Tag">
+<!ENTITY accountColumn.label "Akaun">
+<!ENTITY statusColumn.label "Status">
+<!ENTITY sizeColumn.label "Saiz">
+<!ENTITY junkStatusColumn.label "Status Mel remeh">
+<!ENTITY unreadColumn.label "Belum Dibaca">
+<!ENTITY totalColumn.label "Jumlah">
+<!ENTITY readColumn.label "Dibaca">
+<!ENTITY receivedColumn.label "Diterima">
+<!ENTITY starredColumn.label "Berbintang">
+<!ENTITY locationColumn.label "Lokasi">
+<!ENTITY idColumn.label "Susunan Diterima">
+<!ENTITY attachmentColumn.label "Lampiran">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "Pilih lajur paparan">
+<!ENTITY threadColumn2.tooltip "Papar thread mesej">
+<!ENTITY fromColumn2.tooltip "Susun mengikut daripada">
+<!ENTITY recipientColumn2.tooltip "Susun mengikut penerima">
+<!ENTITY correspondentColumn2.tooltip "Susun mengikut koresponden">
+<!ENTITY subjectColumn2.tooltip "Susun mengikut subjek">
+<!ENTITY dateColumn2.tooltip "Susun mengikut tarikh">
+<!ENTITY priorityColumn2.tooltip "Susun mengikut prioriti">
+<!ENTITY tagsColumn2.tooltip "Susun mengikut tag">
+<!ENTITY accountColumn2.tooltip "Susun mengikut akaun">
+<!ENTITY statusColumn2.tooltip "Susun mengikut status">
+<!ENTITY sizeColumn2.tooltip "Susun mengikut saiz">
+<!ENTITY junkStatusColumn2.tooltip "Susun mengikut status mel remeh">
+<!ENTITY unreadColumn2.tooltip "Bilangan mesej belum dibaca dalam thread">
+<!ENTITY totalColumn2.tooltip "Bilangan mesej dalam thread">
+<!ENTITY readColumn2.tooltip "Susun mengikut sudah dibaca">
+<!ENTITY receivedColumn2.tooltip "Susun mengikut tarikh diterima">
+<!ENTITY starredColumn2.tooltip "Susun mengikut bintang">
+<!ENTITY locationColumn2.tooltip "Susun mengikut lokasi">
+<!ENTITY idColumn2.tooltip "Susun mengikut susunan diterima">
+<!ENTITY attachmentColumn2.tooltip "Susun mengikut lampiran">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "Mesej Baru daripada Templat">
+<!ENTITY contextOpenNewWindow.label "Buka Mesej dalam Tetingkap Baru">
+<!ENTITY contextOpenNewWindow.accesskey "T">
+<!-- The contextOpenNewTab.accesskey ("T") potentially conflicts with
+ cutCmd.accessKey which is defined in textcontext.dtd from toolkit. Right
+ now, both menu items can't be visible at the same time, but should someone
+ enable copy/paste of message, this key would probably need to be changed. -->
+<!ENTITY contextOpenNewTab.label "Buka Mesej dalam Tab Baru">
+<!ENTITY contextOpenNewTab.accesskey "M">
+<!ENTITY contextOpenConversation.label "Buka Mesej dalam Perbualan">
+<!ENTITY contextOpenConversation.accesskey "n">
+<!ENTITY contextOpenContainingFolder.label "Buka Mesej dalam Folder Penyimpan">
+<!ENTITY contextOpenContainingFolder.accesskey "n">
+<!ENTITY contextEditMsgAsNew.label "Edit Sebagai Mesej Baru">
+<!ENTITY contextEditMsgAsNew.accesskey "E">
+<!ENTITY contextEditDraftMsg.label "Edit Mesej Draf">
+<!ENTITY contextEditTemplate.label "Edit Templat">
+<!ENTITY contextEditTemplate.accesskey "T">
+<!ENTITY contextArchive.label "Arkib">
+<!ENTITY contextArchive.accesskey "b">
+<!ENTITY contextReplySender.label "Balas kepada Pengirim Sahaja">
+<!ENTITY contextReplySender.accesskey "B">
+<!ENTITY contextReplyNewsgroup2.label "Susulan kepada Kumpulan berita">
+<!ENTITY contextReplyNewsgroup2.accesskey "u">
+<!ENTITY contextReplyAll.label "Balas kepada Semua">
+<!ENTITY contextReplyAll.accesskey "S">
+<!ENTITY contextReplyList.label "Balas mengikut Senarai">
+<!ENTITY contextReplyList.accesskey "S">
+<!ENTITY contextForward.label "Kirim semula">
+<!ENTITY contextForward.accesskey "K">
+<!ENTITY contextForwardAsMenu.label "Kirim Semula Sebagai">
+<!ENTITY contextForwardAsMenu.accesskey "i">
+<!ENTITY contextForwardAsInline.label "Sebaris">
+<!ENTITY contextForwardAsInline.accesskey "S">
+<!ENTITY contextForwardAsAttachmentItem.label "Lampiran">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "L">
+<!ENTITY contextMultiForwardAsAttachment.label "Kirim semula sebagai Lampiran">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "i">
+<!ENTITY contextMoveMsgMenu.label "Pindah Ke">
+<!ENTITY contextMoveMsgMenu.accesskey "P">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "Terbaru">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "T">
+<!ENTITY contextCopyMsgMenu.label "Salin Ke">
+<!ENTITY contextCopyMsgMenu.accesskey "S">
+<!ENTITY contextKillThreadMenu.label "Abaikan Thread">
+<!ENTITY contextKillSubthreadMenu.accesskey "b">
+<!ENTITY contextKillThreadMenu.accesskey "A">
+<!ENTITY contextKillSubthreadMenu.label "Abaikan Sub-thread">
+<!ENTITY contextWatchThreadMenu.label "Ikuti Thread">
+<!-- LOCALIZATION NOTE (contextWatchThreadMenu.accesskey):
+ In the en-US locale we ran out of access keys, so there is an empty access key for
+ Watch Thread. Localizers can pick a suitable key
+ -->
+<!ENTITY contextWatchThreadMenu.accesskey "">
+<!ENTITY contextSaveAs.label "Simpan Sebagai…">
+<!ENTITY contextSaveAs.accesskey "S">
+<!ENTITY contextPrint.label "Cetak…">
+<!ENTITY contextPrint.accesskey "C">
+<!ENTITY contextPrintPreview.label "Previu Cetakan">
+<!ENTITY contextPrintPreview.accesskey "v">
+
+<!-- Thread Pane Column Picker -->
+
+<!-- LOCALIZATION NOTE (columnPicker.applyTo.label):
+ This option in the thread pane column picker pops up a sub-menu containing
+ the "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" options. This item indicates
+ a desire to apply the currently displayed set of columns to some other
+ folder(s). The sub-menu items indicate whether we want to apply it to just
+ a folder or also its children.
+ -->
+<!ENTITY columnPicker.applyTo.label "Terap lajur ke…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolder.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolderAndChildren.label". It indicates a desire to
+ apply the currently display thread pane column settings to a single folder
+ that the user selects using the same widget as the move to/copy to
+ mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolder.label "Folder…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolder.label". It indicates a desire to
+ apply the currently display thread pane column settings to a folder and all
+ of its descendents. The user selects the folder using the same widget as the
+ move to/copy to mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolderAndChildren.label "Folder dan anak folder…">
+<!-- LOCALIZATION NOTE (columnPicker.thisFolder.label):
+ This is used in the folder selection widget for the
+ "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" menu options. Whenever
+ a folder has children, it results in a menu popup; the first menu item
+ in that popup is given this label to indicate that that folder should be
+ selected. For example, if folder "A" has two children, "B" and "C", then
+ when the user hovers over "A", a new popup menu will be displayed whose
+ items are "This folder", "B", and "C". This is the equivalent of the
+ "File here" option for the move to/copy to widget.
+ -->
+<!ENTITY columnPicker.thisFolder.label "Folder ini">
+
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "Main">
+<!ENTITY contextPlay.accesskey "M">
+<!ENTITY contextPause.label "Jeda">
+<!ENTITY contextPause.accesskey "J">
+<!ENTITY contextMute.label "Senyap">
+<!ENTITY contextMute.accesskey "S">
+<!ENTITY contextUnmute.label "Nyahsenyap">
+<!ENTITY contextUnmute.accesskey "h">
+
+<!-- Quick Search Bar -->
+<!-- LOCALIZATION NOTE (quickSearchCmd.key):
+ This is actually the key used for the global message search box; we have
+ not changed
+ -->
+<!ENTITY quickSearchCmd.key "k">
+<!-- LOCALIZATION NOTE (search.label.base1):
+ This is the base of the empty text for the global search box. We replace
+ #1 with the contents of the appropriate search.keyLabel.* value for the
+ platform.
+ The goal is to convey to the user that typing in the box will allow them
+ to search for messages globally and that there is a hotkey they can press
+ to get to the box faster. If the global indexer is disabled, the search
+ box will be collapsed and the user will never see this message.
+ -->
+<!ENTITY search.label.base1 "Cari #1">
+<!-- LOCALIZATION NOTE (search.keyLabel.nonmac):
+ The description of the key-binding to get into the global search box on
+ windows and linux (which use the control key). We use the key defined in
+ the quickSearchCmd.key entity defined above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.nonmac "&lt;Ctrl+K&gt;">
+<!-- LOCALIZATION NOTE (search.keyLabel.mac):
+ The description of the key-binding to get into the global search box on mac
+ systems. We use the key defined in the quickSearchCmd.key entity defined
+ above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.mac "&lt;&#x2318;K&gt;">
+
+<!-- Message Header Context Menu -->
+<!ENTITY AddToAddressBook.label "Tambah dalam Buku Alamat…">
+<!ENTITY AddToAddressBook.accesskey "B">
+<!ENTITY AddDirectlyToAddressBook.label "Tambah dalam Buku Alamat">
+<!ENTITY AddDirectlyToAddressBook.accesskey "B">
+<!ENTITY EditContact1.label "Edit Kenalan">
+<!ENTITY EditContact1.accesskey "E">
+<!ENTITY ViewContact.label "Papar Kenalan">
+<!ENTITY ViewContact.accesskey "P">
+<!ENTITY SubscribeToNewsgroup.label "Langgan Kumpulan berita">
+<!ENTITY SubscribeToNewsgroup.accesskey "K">
+<!ENTITY SendMessageTo.label "Karang Mesej Kepada">
+<!ENTITY SendMessageTo.accesskey "s">
+<!ENTITY CopyEmailAddress.label "Salin Alamat E-mel">
+<!ENTITY CopyEmailAddress.accesskey "S">
+<!ENTITY CopyNameAndEmailAddress.label "Salinan Nama dan Alamat E-mel">
+<!ENTITY CopyNameAndEmailAddress.accesskey "N">
+<!ENTITY CopyNewsgroupName.label "Salin Nama Kumpulan berita">
+<!ENTITY CopyNewsgroupName.accesskey "S">
+<!ENTITY CopyNewsgroupURL.label "Salin URL Kumpulan berita">
+<!ENTITY CopyNewsgroupURL.accesskey "U">
+<!ENTITY CreateFilterFrom.label "Cipta Penapisan Daripada…">
+<!ENTITY CreateFilterFrom.accesskey "D">
+<!ENTITY reportPhishingURL.label "Laporkan Penipuan E-mel">
+<!ENTITY reportPhishingURL.accesskey "o">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Tambah Kamus…">
+<!ENTITY spellAddDictionaries.accesskey "T">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "Simpan Pautan Sebagai…">
+<!ENTITY saveLinkAsCmd.accesskey "t">
+<!ENTITY saveImageAsCmd.label "Simpan Imej Sebagai…">
+<!ENTITY saveImageAsCmd.accesskey "p">
+<!ENTITY copyLinkCmd.label "Salin Lokasi Pautan">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyImageAllCmd.label "Salin Imej">
+<!ENTITY copyImageAllCmd.accesskey "I">
+<!ENTITY copyEmailCmd.label "Salin Alamat E-mel">
+<!ENTITY copyEmailCmd.accesskey "E">
+<!ENTITY stopCmd.label "Berhenti">
+<!ENTITY stopCmd.accesskey "B">
+<!ENTITY reloadCmd.label "Muat semula">
+<!ENTITY reloadCmd.accesskey "M">
+<!ENTITY openInBrowser.label "Buka dalam Pelayar">
+<!ENTITY openInBrowser.accesskey "B">
+<!ENTITY openLinkInBrowser.label "Buka Pautan dalam Pelayar">
+<!ENTITY openLinkInBrowser.accesskey "B">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Siap">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "Minimum">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "Bawa Semua ke Hadapan">
+<!ENTITY zoomWindow.label "Zum">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "Keutamaan">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "Perkhidmatan">
+<!ENTITY hideThisAppCmdMac.label "Sorok &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "H">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "Sorok yang Lain">
+<!ENTITY hideOtherAppsCmdMac.commandkey "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "Papar Semua">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "Pilihan Ikon Aplikasi…">
+<!ENTITY writeNewMessageDock.label "Tulis Mesej Baru">
+<!ENTITY openAddressBookDock.label "Buka Buku Alamat">
+
diff --git a/l10n-ms/mail/chrome/messenger/messenger.properties b/l10n-ms/mail/chrome/messenger/messenger.properties
new file mode 100644
index 0000000000..4582540765
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messenger.properties
@@ -0,0 +1,731 @@
+# 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 are used by the messenger application
+#
+
+# LOCALIZATION NOTE(statusMessage):
+# Do not translate the words %1$S and %2$S below. Place the word %1$S where the
+# account name should appear and %2$S where the status message should appear.
+# EXAMPLE: Jim's Account: Downloading messages...
+statusMessage=%1$S: %2$S
+
+removeAccount=Buang Akaun…
+newFolderMenuItem=Folder…
+newSubfolderMenuItem=Sub-folder…
+newFolder=Folder Baru…
+newSubfolder=Sub-folder Baru…
+markFolderRead=Tandakan Folder sebagai sudah Dibaca:Tandakan Folder sebagai sudah Dibaca
+markNewsgroupRead=Tandakan Kumpulan berita sebagai sudah Dibaca:Tandakan Kumpulan berita sebagai sudah Dibaca
+folderProperties=Sifat Folder
+newTag=Tag Baru…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=Dapatkan #1 Mesej Berita Seterusnya
+advanceNextPrompt=Langkau ke mesej belum dibaca seterusnya dalam %S?
+titleNewsPreHost=pada
+replyToSender=Balas kepada Pengirim
+reply=Balas
+EMLFiles=Fail Mel
+OpenEMLFiles=Buka Mesej
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=message.eml
+# LOCALIZATION NOTE(longMsgSubjectTruncator): A suffix string appended to the filename
+# (created from message subject) if it needed to be truncated due to length.
+longMsgSubjectTruncator=...
+SaveMailAs=Simpan Mesej Sebagai
+SaveAttachment=Simpan Lampiran
+SaveAllAttachments=Simpan Semua Lampiran
+DetachAttachment=Buang Lampiran
+DetachAllAttachments=Buang Semua Lampiran
+ChooseFolder=Pilih Folder
+MessageLoaded=Mesej sudah dimuatkan…
+PreviewTitle=%S - %S
+saveAttachmentFailed=Tidak dapat menyimpan lampiran. Sila semak nama fail dan cuba lagi.
+saveMessageFailed=Tidak dapat menyimpan mesej. Sila semak nama fail dan cuba lagi.
+fileExists=%S sudah wujud. Adakah anda mahu menggantikannya?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=Gagal membaca fail: %1$S kerana %2$S
+
+downloadingNewsgroups=Memuat turun Kumpulan berita untuk Penggunaan Luar talian
+downloadingMail=Memuat turun Mel untuk Penggunaan Luar talian
+sendingUnsent=Menghantar Mesej yang Tidak Dihantar
+
+folderExists=Folder dengan nama ini telah wujud. Sila pilih nama lain.
+# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name
+confirmDuplicateFolderRename=Sub-folder dengan nama '%1$S' telah wujud dalam folder '%2$S'. Adakah anda mahu pindahkan folder ini dengan menggunakan nama baru '%3$S'?
+folderCreationFailed=Folder tidak dapat dicipta kerana nama folder yang anda nyatakan mengandungi aksara yang tidak dikenali. Sila pilih nama lain dan cuba lagi.
+
+compactingFolder=Memadatkan folder %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=Selesai memadatkan (penjimatan %1$S).
+
+confirmFolderDeletionForFilter=Menghapuskan folder '%S' akan menyahaktifkan tapisan yang dikaitkan dengannya. Adakah ada pasti mahu menghapuskan folder ini?
+alertFilterChanged=Tapisan yang dikaitkan dengan folder ini akan dikemaskini.
+filterDisabled=Folder '%S' tidak ditemui, maka tapisan yang dikaitkan dengan folder ini akan dinyahaktifkan. Pastikan bahawa folder ini wujud dan menapis folder sasaran yang sah.
+filterFolderDeniedLocked=Mesej tidak dapat ditapis ke dalam folder '%S' kerana ada operasi lain yang sedang dilaksanakan.
+parsingFolderFailed=Tidak dapat membuka folder %S kerana sedang digunakan oleh operasi lain. Sila tunggu sehingga operasi ini selesai dan kemudian pilih folder ini sekali lagi.
+deletingMsgsFailed=Tidak dapat menghapuskan mesej dalam folder %S kerana sedang digunakan oleh operasi lain. Sila tunggu sehingga operasi ini selesai dan kemudian pilih folder ini sekali lagi.
+alertFilterCheckbox=Jangan beri amaran lagi.
+compactFolderDeniedLock=Folder '%S' tidak dapat dimampatkan kerana sedang melaksanakan operasi lain. Sila cuba lagi nanti.
+compactFolderWriteFailed=Folder '%S' tidak dapat dimampatkan kerana gagal menulis ke dalamnya. Pastikan bahawa ruang cakera mencukupi dan anda ada akses untuk menulis sistem fail dan kemudian cuba lagi.
+compactFolderInsufficientSpace=Beberapa folder (contoh,'%S') tidak dapat dimampatkan kerana ruang cakera tidak mencukupi. Sila buang beberapa fail dan cuba lagi.
+filterFolderHdrAddFailed=Mesej tidak dapat ditapis ke dalam folder '%S' kerana gagal memasukkan mesej berkenaan. Pastikan bahawa folder berkenaan dipaparkan dengan betul atau baikinya dalam sifat folder.
+filterFolderWriteFailed=Mesej tidak dapat ditapis ke dalam folder '%S' kerana gagal menulis dalam folder berkenaan. Pastikan bahawa ruang cakera mencukupi dan anda ada kebenaran menulis sistem fail, dan kemudian cuba lagi.
+copyMsgWriteFailed=Mesej tidak dapat dipindahkan atau disalin ke dalam folder '%S' kerana gagal ditulis dalam folder. Untuk mendapatkan ruang cakera, dalam menu Fail, pilih Buang Sampah, dan kemudian pilih Padatkan Folder, dan cuba lagi.
+cantMoveMsgWOBodyOffline=Semasa luar talian, anda tidak boleh pindah atau salin mesej yang belum dimuat turun. Dalam tetingkap Mel, buka menu Fail, pilih Luar talian, kemudian buang tanda Kerja Luar talian, dan cuba lagi.
+operationFailedFolderBusy=Operasi gagal kerana operasi lain sedang menggunakan folder. Sila tunggu sehingga operasi berkenaan selesai dan kemudian cuba lagi.
+folderRenameFailed=Folder tidak dapat dinamakan semula. Mungkin kerana sedang dihuraikan, atau nama baru itu bukan nama folder yang sah.
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S dalam %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=Ada ralat semasa meringkaskan Peti Masuk selepas menapis mesej ke dalam folder '%1$S'. Anda perlu tutup %2$S dan buang INBOX.msf.
+
+mailboxTooLarge=Folder %S sudah penuh dan tidak boleh terima mesej lagi. Untuk memberikan ruang, buang mel lama atau yang tidak dikehendaki dan mampatkan folder.
+outOfDiskSpace=Ruang cakera tidak cukup untuk memuat turun mesej baru. Cuba buang mel lama atau kosongkan folder Sampah, dan padatkan folder mel, dan kemudian cuba lagi.
+errorGettingDB=Tidak dapat membuka fail ringkasan %S. Mungkin kerana ada ralat cakera, atau laluan penuh terlalu panjang.
+defaultServerTag=(Piawai)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=Belum Dibaca
+messageHasFlag=Berbintang
+messageHasAttachment=Ada Lampiran
+messageJunk=Mel Remeh
+messageExpanded=Dikembangkan
+messageCollapsed=Diruntuhkan
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<tidak dinyatakan>
+smtpServer-ConnectionSecurityType-0=Tiada
+smtpServer-ConnectionSecurityType-1=STARTTLS, jika ada
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=Buang Pelayan
+smtpServers-confirmServerDeletion=Adakah anda pasti mahu membuang pelayan: \n %S?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=Tiada pengesahan
+authOld=Kata laluan, kaedah asal (tidak selamat)
+authPasswordCleartextInsecurely=Kata laluan, dihantar secara tidak selamat
+authPasswordCleartextViaSSL=Kata laluan normal
+authPasswordEncrypted=Kata laluan enkripsi
+authKerberos=Kerberos / GSSAPI
+authExternal=Sijil TLS
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=Apa sahaja kaedah yang selamat (sangat tidak disyorkan)
+authAny=Apa sahaja kaedah (tidak selamat)
+
+# OAuth2 window title
+# LOCALIZATION NOTE(oauth2WindowTitle):
+# %1$S is the username (or full email address) used for authentication.
+# %2$S is the hostname of the account being authenticated.
+oauth2WindowTitle=Masukkan wasikah %1$S dalam %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=Pelayan Berita (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=Pelayan Mel POP
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=Pelayan Mel IMAP
+serverType-none=Storan Mel Lokal
+
+sizeColumnTooltip2=Susun mengikut saiz
+sizeColumnHeader=Saiz
+linesColumnTooltip2=Susun mengikut baris
+linesColumnHeader=Baris
+
+# LOCALIZATION NOTE (getMsgButtonTooltip): Do not translate the word "%S" below.
+# Place the word "%S" in your translation where the name of the comma separated accounts should appear.
+getMsgButtonTooltip=Dapatkan mesej baru untuk %S
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=Memuatkan Mesej…
+
+# LOCALIZATION NOTE (autosyncProgress): Do not translate the word "%1$S" or "%2$S" below.
+# Place the word %1$S in your translation where the name of the comma separated folders should appear.
+# Place the word %2$S in your translation where the name of the comma separated accounts should appear.
+autosyncProgress=Menyelaraskan mesej dalam %1$S daripada %2$S…
+
+unreadMsgStatus=Belum Dibaca: %S
+selectedMsgStatus=Dipilih: %S
+totalMsgStatus=Jumlah: %S
+
+# localized folder names
+
+localFolders=Folder Lokal
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=Peti masuk
+trashFolderName=Sampah
+sentFolderName=Dihantar
+draftsFolderName=Draf
+templatesFolderName=Templat
+outboxFolderName=Peti keluar
+junkFolderName=Mel Remeh
+archivesFolderName=Arkib
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=Paling rendah
+priorityLow=Rendah
+priorityNormal=Normal
+priorityHigh=Tinggi
+priorityHighest=Paling tinggi
+
+#Group by date thread pane titles
+today=Hari ini
+yesterday=Semalam
+lastWeek=Minggu Lepas
+last7Days=7 Hari Lepas
+twoWeeksAgo=Dua Minggu Lepas
+last14Days=14 Hari Lepas
+older=Lebih lama
+futureDate=Akan datang
+
+#Grouped By Tags
+untaggedMessages=Mesej tanpa Tag
+
+# Grouped by status
+messagesWithNoStatus=Tiada Status
+
+#Grouped by priority
+noPriority=Tiada Prioriti
+
+#Grouped by has attachments
+noAttachments=Tiada Lampiran
+attachments=Lampiran
+
+#Grouped by starred
+notFlagged=Tidak Berbintang
+groupFlagged=Berbintang
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=Buang Semua Tag
+mailnews.labels.description.1=Penting
+mailnews.labels.description.2=Kerja
+mailnews.labels.description.3=Peribadi
+mailnews.labels.description.4=Perlu Buat
+mailnews.labels.description.5=Kemudian
+
+# Format definition tag menu texts.
+# This is necessary in order to get the accesskeys to be the on the first
+# character of the menu text instead of after the menu text.
+# If a key definition exists for the tag at index n, that key's key will be
+# taken as the accesskey, eg.
+# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/>
+# makes the third tag have the accesskey &tagCmd3.key;.
+# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be
+# replaced by the tag label.
+mailnews.tags.format=%1$S %2$S
+
+replied=Dibalas
+forwarded=Dikirim semula
+new=Baru
+read=Dibaca
+flagged=Berbintang
+
+# for junk status picker in search and mail views
+junk=Mel Remeh
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=Plugin
+junkScoreOriginFilter=Tapis
+junkScoreOriginWhitelist=Senarai putih
+junkScoreOriginUser=Pengguna
+junkScoreOriginImapFlag=Tanda IMAP
+
+# for the has attachment picker in search and mail views
+hasAttachments=Ada Lampiran
+
+# for the Tag picker in search and mail views.
+tag=Tag
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=false
+
+# valid format options are:
+# 1: yyyy/mm/dd
+# 2: yyyy/dd/mm
+# 3: mm/dd/yyyy
+# 4: mm/yyyy/dd
+# 5: dd/mm/yyyy
+# 6: dd/yyyy/mm
+#
+# 0: auto-detect the current locale format
+# a separator has to be either '/', '-', '.' and the year in Chistian year
+# otherwise mm/dd/yyyy (option 3) is used
+#
+mailnews.search_date_format=5
+# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero
+mailnews.search_date_separator=
+# leading zeros for day and month values, not used if mailnews.search_date_format is not zero
+mailnews.search_date_leading_zeros=true
+
+# offline msg
+nocachedbodybody2=Kandungan mesej ini tidak dimuat turun daripada \
+pelayan untuk kegunaan luar talian. Untuk membaca mesej ini, \
+anda mesti sambung semula rangkaian, pilih Luar talian dalam \
+menu Fail dan kemudian buang tanda Kerja Luar talian. \
+Pada masa akan datang, anda boleh pilih mesej atau folder untuk bacaan luar talian. \
+Untuk melakukannya, pilih Luar talian dalam menu fail dan pilih Muat turun/Sync Sekarang. \
+Anda boleh ubah keutamaan Ruang Cakera untuk menghalang memuat turun mesej \
+bersaiz besar.
+
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%1$S %2$S - %3$S
+mailAcctType=Mel
+newsAcctType=Berita
+feedsAcctType=Suapan
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>Perlu Atas Talian Untuk Memaparkan Mesej Ini</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=Sahkan membatalkan langganan
+confirmUnsubscribeText=Adakah anda pasti mahu membatalkan langganan %S?
+confirmUnsubscribeManyText=Adakah anda pasti mahu berhenti melanggan daripada kumpulan berita ini?
+restoreAllTabs=Pulih Semua Tab
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S menganggap mesej ini adalah Mel Remeh.
+junkBarButton=Bukan Mel Remeh
+junkBarButtonKey=N
+junkBarInfoButton=Ketahui Selanjutnya
+junkBarInfoButtonKey=K
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=Untuk melindungi privasi anda, %S telah menyekat kandungan jauh mesej ini.
+remoteContentPrefLabel=Pilihan
+remoteContentPrefAccesskey=P
+remoteContentPrefLabelUnix=Keutamaan
+remoteContentPrefAccesskeyUnix=K
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=Izinkan kandungan jauh dari %S
+# LOCALIZATION NOTE(remoteAllowAll): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 is the number of origins
+remoteAllowAll=Izinkan kandungan jauh dari #1 asal yang disenaraikan di atas
+
+phishingBarMessage=Mesej ini mungkin satu penipuan.
+phishingBarPrefLabel=Pilihan
+phishingBarPrefAccesskey=P
+phishingBarPrefLabelUnix=Keutamaan
+phishingBarPrefAccesskeyUnix=K
+
+mdnBarIgnoreButton=Abaikan Permintaan
+mdnBarIgnoreButtonKey=n
+mdnBarSendReqButton=Hantar Resit Pemberitahuan Serahan
+mdnBarSendReqButtonKey=H
+
+draftMessageMsg=Ini adalah mesej draf.
+draftMessageButton=Edit
+draftMessageButtonKey=E
+
+# msgHdrViewOverlay.js
+openLabel=Buka
+openLabelAccesskey=B
+saveLabel=Simpan Sebagai…
+saveLabelAccesskey=S
+detachLabel=Buang…
+detachLabelAccesskey=B
+deleteLabel=Buang
+deleteLabelAccesskey=B
+deleteAttachments=Lampiran berikut akan dihapuskan secara kekal daripada mesej ini:\n%S\nTindakan ini tidak boleh dibatalkan. Adakah anda mahu meneruskan?
+detachAttachments=Lampiran berikut telah berjaya disimpan dan sekarang akan dihapuskan secara kekal daripada mesej ini:\n%S\nTindakan ini tidak boleh dibatalkan. Adakah anda mahu meneruskan?
+deleteAttachmentFailure=Gagal menghapuskan lampiran yang dipilih.
+emptyAttachment=Lampiran ini nampak kosong.\nSila semak dengan pengirim.\nSelalunya firewall syarikat atau atur cara anti-virus akan memusnahkan lampiran.
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 lampiran
+
+# LOCALIZATION NOTE (attachmentCountSingle): This is the format for the
+# attachment header when a message has only one attachment. This is separate
+# from attachmentCount above, since attachmentCountSingle typically ends with a
+# colon.
+attachmentCountSingle=1 lampiran:
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=saiz tidak diketahui
+
+# LOCALIZATION NOTE (attachmentSizeAtLeast): The string to show for the total
+# size of all attachments when at least one (but not all) of the attachments'
+# sizes can't be detected. %1$S is the formatted size.
+attachmentSizeAtLeast=sekurang-kurangnya %1$S
+
+# This is the format for prepending accesskeys to the
+# each of the attachments in the file|attachments menu:
+# ie: 1 file.txt
+# 2 another file.txt
+attachmentDisplayNameFormat=%S %S
+
+# This is the heading for the attachment summary when printing an email
+attachmentsPrintHeader=Lampiran:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=Gagal disambung ke pelayan %S.
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=Tidak dapat disambung ke pelayan %S; sambungan ditolak.
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=Sambungan ke pelayan %S telah tamat tempoh.
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=Sambungan ke pelayan %S telah ditetapkan semula.
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=Sambungan ke pelayan %S telah terganggu.
+
+recipientSearchCriteria=Subjek atau Penerima yang mengandungi:
+fromSearchCriteria=Subjek atau Daripada yang mengandungi:
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=ada %1$S mesej baru
+biffNotification_messages=ada %1$S mesej baru
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S telah menerima %2$S mesej baru
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S telah menerima %2$S mesej baru
+
+# LOCALIZATION NOTE(newMailNotification_messagetitle): %1$S is subject of new message and %2$S is sender of new message.
+# This is UNIX only
+newMailNotification_messagetitle=%1$S daripada %2$S
+
+# LOCALIZATION NOTE(newMailAlert_message):
+# Semi-colon list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the name of the account, #2 is the number of new messages
+newMailAlert_message=#1 telah menerima #2 mesej baru
+
+quotaPercentUsed=%S%% penuh
+# for quota in main window (commandglue.js)
+percent=%S%%
+
+# for message views
+confirmViewDeleteTitle=Sahkan
+confirmViewDeleteMessage=Adakah anda pasti yang mahu menghapuskan paparan ini?
+
+# for virtual folders
+confirmSavedSearchTitle=Sahkan Membuang
+confirmSavedSearchDeleteMessage=Adakah anda pasti mahu menghapuskan carian yang disimpan ini?
+
+## @name ENTER_PASSWORD_PROMPT
+## @loc None
+# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below.
+# Place the word "%S" in your translation where the email address
+# or the username should appear
+passwordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=Kata laluan Pelayan Mel Diperlukan
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=Sahkan
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=Membuka #1 mesej mungkin jadi perlahan. Teruskan?;Membuka #1 mesej mungkin jadi perlahan. Teruskan?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=Sahkan
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=Membuka #1 mesej mungkin jadi perlahan. Teruskan?;Membuka #1 mesej mungkin jadi perlahan. Teruskan?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=Tag dengan nama ini sudah wujud.
+
+# title of the edit tag dialog
+editTagTitle=Edit Tag
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=Edit Sifat Carian yang Disimpan untuk %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=#1 folder yang dipilih;#1 folder yang dipilih
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=Anda mesti pilih sekurang-kurangnya satu folder untuk mencari folder carian yang disimpan.
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f bait
+kiloByteAbbreviation2=%.*f KB
+megaByteAbbreviation2=%.*f MB
+gigaByteAbbreviation2=%.*f GB
+
+## LOCALIZATION NOTE(folderWithAccount):
+## This is used to show folder name together with an account name.
+## %1$S = folder name
+## %2$S = account name
+folderWithAccount=%1$S - %2$S
+## LOCALIZATION NOTE(folderWithUnreadMsgs):
+## This is a concatenation of two strings to compose a folder label with unread messages.
+## %1$S = folder name
+## %2$S = count of unread messages
+folderWithUnreadMsgs=%1$S (%2$S)
+## LOCALIZATION NOTE(summarizedValue):
+## This string shows an indication that the value shown is actually a summary
+## accumulated from all subfolders.
+## %S = summarized value from all subfolders
+folderSummarizedSymbolValue=▾%S
+## LOCALIZATION NOTE(subfoldersExplanation):
+## This is a tooltip message shown on the values in the numeric folder pane columns.
+## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor
+## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor
+subfoldersExplanation=%1$S dalam folder ini, %2$S dalam sub-folder ini
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=Ralat membuka id-mesej
+errorOpenMessageForMessageIdMessage=Mesej untuk id-mesej %S tidak dijumpai
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=Amaran Penipuan E-mel
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S menganggap mesej ini adalah satu penipuan. Pautan dalam mesej ini cuba menyamar sebagai halaman web anda mahu layari. Adakah anda pasti mahu melayari %2$S?
+
+# Check for Updates
+# LOCALIZATION NOTE (updatesItem_*): these are alternative labels for Check for Update item in Help menu.
+# Which one is used depends on Update process state.
+updatesItem_default=Semak Kemaskini…
+updatesItem_defaultFallback=Semak Kemaskini…
+updatesItem_default.accesskey=S
+updatesItem_downloading=Memuat turun %S…
+updatesItem_downloadingFallback=Memuat turun Kemaskini…
+updatesItem_downloading.accesskey=M
+updatesItem_resume=Sambung Memuat turun %S…
+updatesItem_resumeFallback=Sambung Memuat turun Kemaskini…
+updatesItem_resume.accesskey=M
+updatesItem_pending=Laksanakan Kemaskini yang Dimuat turun Sekarang…
+updatesItem_pendingFallback=Laksanakan Kemaskini yang Dimuat turun Sekarang…
+updatesItem_pending.accesskey=D
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=Semua Folder
+folderPaneModeHeader_unread=Folder Belum Dibaca
+folderPaneModeHeader_favorite=Folder Kegemaran
+folderPaneModeHeader_recent=Folder Terbaru
+folderPaneModeHeader_smart=Folder Gabungan
+unifiedAccountName=Folder Gabungan
+
+# Copy / Move to Folder Again
+#LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey
+# should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI
+# moveToFolderAgainAccessKey should also be a letter that occurs before %1$S
+moveToFolderAgain=Pindah ke "%1$S" Lagi
+moveToFolderAgainAccessKey=k
+#LOCALIZATION NOTE %1$S is the name of the folder we will copy to
+# copyToFolderAgainAccessKey
+# should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI
+# copyToFolderAgainAccessKey should also be a letter that occurs before %1$S
+copyToFolderAgain=Salin ke "%1$S" Lagi
+copyToFolderAgainAccessKey=k
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S meminta untuk dimaklumkan apabila anda sudah membaca mesej ini.
+#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to
+mdnBarMessageAddressDiffers=%1$S meminta untuk dimaklumkan (daripada %2$S) apabila anda sudah membaca mesej ini.
+
+# mailCommands.js
+emptyJunkFolderTitle=Buang "%S"
+emptyJunkFolderMessage=Buang semua mesej dan sub-folder dalam folder Mel Remeh?
+emptyJunkDontAsk=Jangan tanya lagi.
+emptyTrashFolderTitle=Buang "%S"
+emptyTrashFolderMessage=Buang semua mesej dan sub-folder dalam folder Sampah?
+emptyTrashDontAsk=Jangan tanya lagi.
+
+# junkCommands.js
+junkAnalysisPercentComplete=Analisa Mel Remeh %S selesai
+processingJunkMessages=Memproses Mesej Remeh
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = Fail Tidak Ditemui
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = Fail %S tidak wujud.
+
+fileEmptyTitle = Fail Kosong
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = Fail %S kosong.
+
+# LOCALIZATION NOTE (headerMoreAddrs): semicolon separated list of plural
+# forms of the word "more" as used after the number of addresses
+# currently hidden while displaying a header such as "to", "cc", or "bcc"
+# in the message header box. English has two identical forms here, so it will
+# construct strings that look like (for example) "1 more" or "20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrs=#1 lagi
+
+# LOCALIZATION NOTE (headerMoreAddrsTooltip): semicolon separated list of
+# plural forms of the phrase ", and #1 more" as used in the tooltip text
+# of the more widget displayed in the header pane (see headerMoreAddrs).
+# English has two identical forms here, so it will construct strings that
+# look like (for example) ", and 1 more" or ", and 20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrsTooltip=, dan #1 lagi
+
+# LOCALIZATION NOTE (headertoFieldMe): first person prepositional object
+# pronoun used in the "to" header of the message header pane. This is also
+# used for the fallback case if a header-specific localization is not
+# available.
+headertoFieldMe=Saya
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=Saya
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=Saya
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=Saya
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=Saya
+
+expandAttachmentPaneTooltip=Papar anak tetingkap lampiran
+collapseAttachmentPaneTooltip=Sorok anak tetingkap lampiran
+
+# Shown when content tabs are being loaded.
+loadingTab=Memuatkan…
+
+confirmMsgDelete.title=Sahkan Membuang
+confirmMsgDelete.collapsed.desc=Ini akan menghapuskan mesej dalam thread yang diruntuhkan. Adakah anda pasti mahu meneruskan?
+confirmMsgDelete.deleteNoTrash.desc=Mesej akan dibuang dengan serta-merta tanpa membuat salinan dalam Sampah. Adakah anda mahu meneruskan?
+confirmMsgDelete.deleteFromTrash.desc=Mesej dalam Sampah akan dihapuskan secara kekal. Adakah anda pasti mahu meneruskan?
+confirmMsgDelete.dontAsk.label=Jangan tanya lagi.
+confirmMsgDelete.delete.label=Buang
+
+mailServerLoginFailedTitle=Gagal Log masuk
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=Gagal log masuk ke akaun "%S"
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=Gagal log masuk ke pelayan %1$S dengan nama pengguna %2$S.
+mailServerLoginFailedRetryButton=&Cuba lagi
+mailServerLoginFailedEnterNewPasswordButton=&Masukkan Kata laluan Baru
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.title):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the title of
+# the confirmation dialog used to verify they selected the correct folder. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.title=Terapkan Perubahan?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.message):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the text of
+# the confirmation dialog used to verify they selected the correct folder. The
+# string '%S' is replaced with the name of the folder the user selected in
+# order to help them confirm they picked what they thought they picked. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.message=Terapkan lajur folder semasa ke %S?
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.title):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# title of the confirmation dialog used to verify they selected the correct
+# folder. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.title=Terapkan Perubahan?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.message):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# text of the confirmation dialog used to verify they selected the correct
+# folder. The string '%S' is replaced with the name of the folder the user
+# selected in order to help them confirm they picked what they thought they
+# picked. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.message=Terapkan lajur folder semasa ke %S dan folder di dalamnya?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=Laman ini (%S) cuba memasang tema.
+lwthemeInstallRequest.allowButton=Izinkan
+lwthemeInstallRequest.allowButton.accesskey=a
+
+lwthemePostInstallNotification.message=Tema baru telah dipasang.
+lwthemePostInstallNotification.undoButton=Batal
+lwthemePostInstallNotification.undoButton.accesskey=B
+lwthemePostInstallNotification.manageButton=Urus Tema…
+lwthemePostInstallNotification.manageButton.accesskey=U
+
+# LOCALIZATION NOTE (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
+
+# 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 (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.
+
+learnMoreAboutIgnoreThread=Ketahui Selanjutnya…
+learnMoreAboutIgnoreThreadAccessKey = K
+undoIgnoreThread=Batal Abaikan Thread
+undoIgnoreThreadAccessKey=B
+undoIgnoreSubthread=Batal Abaikan Sub-thread
+undoIgnoreSubthreadAccessKey=B
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=Balasan untuk thread "#1" tidak akan dipaparkan.
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=Balasan untuk sub- thread "#1" tidak akan dipaparkan.
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=Balasan untuk thread yang dipilih tidak akan dipaparkan.;Balasan untuk #1 thread yang dipilih tidak akan dipaparkan.
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=Balasan untuk sub-thread yang dipilih tidak akan dipaparkan.;Balasan untuk #1 sub-thread yang dipilih tidak akan dipaparkan.
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=Fail %S
+
+# LOCALIZATION NOTE (openSearch.label): The label used in the autocomplete
+# widget to refer to a search on the web for a short string containing at most
+# 15 characters. %1$S is the search provider to use. %2$S is the string to
+# search for.
+openSearch.label=Carian %1$S untuk "%2$S"
+
+# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the
+# autocomplete widget to refer to a search on the web for a short string
+# containing more than 15 characters. %1$S is the search provider to use. %2$S
+# is the string to search for, truncated to 15 characters.
+openSearch.label.truncated=Carian %1$S untuk "%2$S…"
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses
+# after the Thunderbird version 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
+
+errorConsoleTitle = Konsol Ralat
+
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..6ff43cf8c2
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EdAdvancedEdit.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY WindowTitle.label "Editor Sifat Lanjutan">
+<!ENTITY AttName.label "Atribut: ">
+<!ENTITY AttValue.label "Nilai: ">
+<!ENTITY PropertyName.label "Sifat: ">
+<!ENTITY currentattributesfor.label "Atribut semasa untuk: ">
+<!ENTITY tree.attributeHeader.label "Atribut">
+<!ENTITY tree.propertyHeader.label "Sifat">
+<!ENTITY tree.valueHeader.label "Nilai">
+<!ENTITY tabHTML.label "Atribut HTML">
+<!ENTITY tabCSS.label "Gaya Dalam-susunan">
+<!ENTITY tabJSE.label "Acara JavaScript">
+
+<!ENTITY editAttribute.label "Klik pada item di atas untuk mengedit nilainya">
+<!ENTITY removeAttribute.label "Buang">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EdColorPicker.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..0f1c59e485
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EdColorPicker.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Warna">
+<!ENTITY lastPickedColor.label "Warna terakhir-dipilih">
+<!ENTITY lastPickedColor.accessKey "W">
+<!ENTITY chooseColor1.label "Pilih warna:">
+<!ENTITY chooseColor2.label "Masukkan string warna HTML">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(contoh: &quot;#0000ff&quot; atau &quot;blue&quot;):">
+<!ENTITY default.label "Piawai">
+<!ENTITY default.accessKey "P">
+<!ENTITY palette.label "Palet:">
+<!ENTITY standardPalette.label "Standard">
+<!ENTITY webPalette.label "Semua warna web">
+<!ENTITY background.label "Latar belakang untuk:">
+<!ENTITY background.accessKey "L">
+<!ENTITY table.label "Jadual">
+<!ENTITY table.accessKey "J">
+<!ENTITY cell.label "Sel">
+<!ENTITY cell.accessKey "S">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..ad508d994e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EdConvertToTable.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Tukar Jadi Jadual">
+<!ENTITY instructions1.label "Composer mencipta baris jadual baru untuk setiap perenggan dalam pilihan.">
+<!ENTITY instructions2.label "Pilih aksara yang digunakan untuk mengasingkan pilihan ke dalam lajur:">
+<!ENTITY commaRadio.label "Koma">
+<!ENTITY spaceRadio.label "Ruang">
+<!ENTITY otherRadio.label "Aksara Lain:">
+<!ENTITY deleteCharCheck.label "Buang pemisah aksara">
+<!ENTITY collapseSpaces.label "Abai ruang ekstra">
+<!ENTITY collapseSpaces.tooltip "Tukar ruang bersebelahan menjadi satu pemisah">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..850f797cd0
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EdDialogOverlay.dtd
@@ -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/. -->
+
+<!ENTITY AdvancedEditButton.label "Edit Lanjutan…">
+<!ENTITY AdvancedEditButton.accessKey "E">
+<!ENTITY AdvancedEditButton.tooltip "Tambah atau ubah atribut HTML, gaya atribut dan JavaScript">
+<!ENTITY chooseFileButton.label "Pilih Fail...">
+<!ENTITY chooseFileButton.accessKey "F">
+<!ENTITY chooseFileLinkButton.label "Pilih Fail...">
+<!ENTITY chooseFileLinkButton.accessKey "l">
+<!ENTITY makeUrlRelative.label "URL adalah relatif kepada lokasi halaman">
+<!ENTITY makeUrlRelative.accessKey "r">
+<!ENTITY makeUrlRelative.tooltip "Tukar antara URL relatif dengan muktamad. Anda perlu simpan halaman dahulu untuk menukarkan ini.">
+
+<!ENTITY LinkURLEditField2.label "Masukkan lokasi halaman web, fail lokal, atau pilih Nama Labuh atau Tajuk daripada medan menu konteks:">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..ae1f740d32
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EdNamedAnchorProperties.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Nama Labuh">
+<!ENTITY anchorNameEditField.label "Nama Labuh:">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "Masukkan nama unik untuk nama labuh ini (sasaran)">
+
+
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..209ee5c449
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorColorProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Warna dan Latar belakang Halaman">
+<!ENTITY pageColors.label "Warna Halaman">
+<!ENTITY defaultColorsRadio.label "Warna piawai pembaca (Jangan tetapkan warna dalam halaman)">
+<!ENTITY defaultColorsRadio.accessKey "J">
+<!ENTITY defaultColorsRadio.tooltip "Guna tetapan warna daripada pemapar pelayar (pembaca) sahaja">
+<!ENTITY customColorsRadio.label "Guna warna penyesuaian:">
+<!ENTITY customColorsRadio.accessKey "G">
+<!ENTITY customColorsRadio.tooltip "Warna berikut menterbalikkan tetapan pemapar pelayar">
+
+<!ENTITY normalText.label "Teks normal">
+<!ENTITY normalText.accessKey "T">
+<!ENTITY linkText.label "Teks pautan">
+<!ENTITY linkText.accessKey "T">
+<!ENTITY activeLinkText.label "Teks pautan aktif">
+<!ENTITY activeLinkText.accessKey "T">
+<!ENTITY visitedLinkText.label "Teks pautan dilayari">
+<!ENTITY visitedLinkText.accessKey "T">
+<!ENTITY background.label "Latar belakang:">
+<!ENTITY background.accessKey "L">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "Imej latar belakang:">
+<!ENTITY backgroundImage.accessKey "m">
+<!ENTITY backgroundImage.tooltip "Guna fail imej sebagai latar belakang halaman anda">
+<!ENTITY backgroundImage.shortenedDataURI "Ringkasan data URI (salinan URI penuh akan diletakkan pada klipbod)">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..217ac81804
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorHLineProperties.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Garis Mengufuk">
+
+<!ENTITY dimensionsBox.label "Dimensi">
+<!ENTITY heightEditField.label "Tinggi:">
+<!ENTITY heightEditField.accessKey "T">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY pixelsPopup.value "piksel">
+<!ENTITY alignmentBox.label "Jajaran">
+<!ENTITY leftRadio.label "Kiri">
+<!ENTITY leftRadio.accessKey "K">
+<!ENTITY centerRadio.label "Tengah">
+<!ENTITY centerRadio.accessKey "T">
+<!ENTITY rightRadio.label "Kanan">
+<!ENTITY rightRadio.accessKey "K">
+
+<!ENTITY threeDShading.label "Naung 3-D">
+<!ENTITY threeDShading.accessKey "N">
+<!ENTITY saveSettings.label "Guna sebagai Piawai">
+<!ENTITY saveSettings.accessKey "P">
+<!ENTITY saveSettings.tooltip "Simpan tetapan berikut untuk digunakan apabila menyisipkan garis mengufuk yang baru">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..b91c5da42b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorImageProperties.dtd
@@ -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/. -->
+
+<!-- These strings are for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Imej">
+
+<!ENTITY pixelsPopup.value "piksel">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "Lokasi Imej:">
+<!ENTITY locationEditField.accessKey "L">
+<!ENTITY locationEditField.tooltip "Taip nama fail atau lokasi imej">
+<!ENTITY locationEditField.shortenedDataURI "Ringkasan data URI (salinan URI penuh akan diletakkan pada klipbod)">
+<!ENTITY title.label "Panduan alatan:">
+<!ENTITY title.accessKey "P">
+<!ENTITY title.tooltip "Atribut 'tajuk' html yang dipaparkan sebagai panduan alatan">
+<!ENTITY altText.label "Teks alternatif:">
+<!ENTITY altText.accessKey "T">
+<!ENTITY altTextEditField.tooltip "Taip teks untuk dipaparkan bagi menggantikan imej">
+<!ENTITY noAltText.label "Jangan gunakan teks alternatif">
+<!ENTITY noAltText.accessKey "J">
+
+<!ENTITY previewBox.label "Previu Imej">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "Saiz Sebenar:">
+<!ENTITY actualSizeRadio.label "Saiz Sebenar">
+<!ENTITY actualSizeRadio.accessKey "S">
+<!ENTITY actualSizeRadio.tooltip "Kembali ke saiz imej sebenar">
+<!ENTITY customSizeRadio.label "Saiz Penyesuaian">
+<!ENTITY customSizeRadio.accessKey "S">
+<!ENTITY customSizeRadio.tooltip "Ubah saiz imej seperti yang dipaparkan dalam halaman">
+<!ENTITY heightEditField.label "Tinggi:">
+<!ENTITY heightEditField.accessKey "T">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY constrainCheckbox.label "Kekangan">
+<!ENTITY constrainCheckbox.accessKey "K">
+<!ENTITY constrainCheckbox.tooltip "Kekalkan nisbah aspek imej">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "Peta Imej">
+<!ENTITY removeImageMapButton.label "Buang">
+<!ENTITY removeImageMapButton.accessKey "B">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "Jajar Teks ke Imej">
+<!ENTITY bottomPopup.value "Pada bahagian bawah">
+<!ENTITY topPopup.value "Pada bahagian atas">
+<!ENTITY centerPopup.value "Pada bahagian tengah">
+<!ENTITY wrapRightPopup.value "Balut ke kanan">
+<!ENTITY wrapLeftPopup.value "Balut ke kiri">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "Ruangan">
+<!ENTITY leftRightEditField.label "Kiri dan Kanan:">
+<!ENTITY leftRightEditField.accessKey "K">
+<!ENTITY topBottomEditField.label "Atas dan Bawah:">
+<!ENTITY topBottomEditField.accessKey "A">
+<!ENTITY borderEditField.label "Sempadan Padat:">
+<!ENTITY borderEditField.accessKey "P">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "Papar sempadan di sekeliling imej yang dipautkan">
+<!ENTITY showImageLinkBorder.accessKey "P">
+<!ENTITY LinkAdvancedEditButton.label "Paut Edit Lanjutan…">
+<!ENTITY LinkAdvancedEditButton.accessKey "P">
+<!ENTITY LinkAdvancedEditButton.tooltip "Tambah atau ubah atribut HTML, gaya atribut dan JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "Borang">
+<!ENTITY imageLocationTab.label "Lokasi">
+<!ENTITY imageDimensionsTab.label "Dimensi">
+<!ENTITY imageAppearanceTab.label "Penampilan">
+<!ENTITY imageLinkTab.label "Pautan">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..f48670d701
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertChars.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Aksara">
+<!ENTITY category.label "Kategori">
+<!ENTITY letter.label "Huruf:">
+<!ENTITY letter.accessKey "H">
+<!ENTITY character.label "Aksara:">
+<!ENTITY character.accessKey "A">
+<!ENTITY accentUpper.label "Aksen Huruf besar">
+<!ENTITY accentLower.label "Aksen Huruf kecil">
+<!ENTITY otherUpper.label "Huruf besar Lain">
+<!ENTITY otherLower.label "Huruf kecil Lain">
+<!ENTITY commonSymbols.label "Simbol Biasa">
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY closeButton.label "Tutup">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..26fc4dc89a
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Matematik">
+
+<!ENTITY sourceEditField.label "Masukkan kod sumber LaTeX:">
+
+<!ENTITY options.label "Pilihan">
+<!ENTITY optionInline.label "Mod sebaris">
+<!ENTITY optionInline.accesskey "M">
+<!ENTITY optionDisplay.label "Mod paparan">
+<!ENTITY optionDisplay.accesskey "p">
+<!ENTITY optionLTR.label "Arah kiri ke kanan">
+<!ENTITY optionLTR.accesskey "A">
+<!ENTITY optionRTL.label "Arah kanan ke kiri">
+<!ENTITY optionRTL.accesskey "k">
+
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY insertButton.accesskey "S">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..18d527ecee
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertSource.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip HTML">
+<!ENTITY sourceEditField.label "Masukkan tag dan teks HTML:">
+<!ENTITY example.label "Contoh: ">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "Selamat Datang!">
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY insertButton.accesskey "S">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..e4becd3ced
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTOC.dtd
@@ -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/. -->
+
+<!ENTITY Window.title "Jadual Kandungan">
+<!ENTITY buildToc.label "Bina jadual kandungan daripada:">
+<!ENTITY tag.label "Tag:">
+<!ENTITY class.label "Kelas:">
+<!ENTITY header1.label "Tahap 1">
+<!ENTITY header2.label "Tahap 2">
+<!ENTITY header3.label "Tahap 3">
+<!ENTITY header4.label "Tahap 4">
+<!ENTITY header5.label "Tahap 5">
+<!ENTITY header6.label "Tahap 6">
+<!ENTITY makeReadOnly.label "Jadikan jadual kandungan baca-sahaja">
+<!ENTITY orderedList.label "Nombor semua entri dalam jadual kandungan">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..2bc62b2b21
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorInsertTable.dtd
@@ -0,0 +1,18 @@
+<!-- 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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Jadual">
+
+<!ENTITY size.label "Saiz">
+<!ENTITY numRowsEditField.label "Baris:">
+<!ENTITY numRowsEditField.accessKey "B">
+<!ENTITY numColumnsEditField.label "Lajur:">
+<!ENTITY numColumnsEditField.accessKey "L">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY borderEditField.label "Sempadan:">
+<!ENTITY borderEditField.accessKey "S">
+<!ENTITY borderEditField.tooltip "Taip satu nombor untuk sempadan jadual, atau taip (0) jika tiada sempadan">
+<!ENTITY pixels.label "piksel">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..4d64938f2d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorLinkProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Sifat Pautan">
+<!ENTITY LinkURLBox.label "Lokasi Pautan">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorListProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..3f5c1294d6
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorListProperties.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Senarai">
+
+<!ENTITY ListType.label "Jenis Senarai">
+<!ENTITY bulletStyle.label "Gaya Bulet:">
+<!ENTITY startingNumber.label "Mula pada:">
+<!ENTITY startingNumber.accessKey "M">
+<!ENTITY none.value "Tiada">
+<!ENTITY bulletList.value "Senarai (Bukan-nombor) Bulet">
+<!ENTITY numberList.value "Senarai Bernombor">
+<!ENTITY definitionList.value "Senarai Takrif">
+<!ENTITY changeEntireListRadio.label "Tukar keseluruhan senarai">
+<!ENTITY changeEntireListRadio.accessKey "T">
+<!ENTITY changeSelectedRadio.label "Tukar hanya item dipilih">
+<!ENTITY changeSelectedRadio.accessKey "I">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..8ec7c27774
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorPersonalDictionary.dtd
@@ -0,0 +1,18 @@
+<!-- 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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Kamus Peribadi">
+
+<!ENTITY wordEditField.label "Perkataan baru:">
+<!ENTITY wordEditField.accessKey "P">
+<!ENTITY AddButton.label "Tambah">
+<!ENTITY AddButton.accessKey "T">
+<!ENTITY DictionaryList.label "Perkataan dalam kamus:">
+<!ENTITY DictionaryList.accessKey "P">
+<!ENTITY RemoveButton.label "Buang">
+<!ENTITY RemoveButton.accessKey "g">
+
+<!ENTITY CloseButton.label "Tutup">
+<!ENTITY CloseButton.accessKey "T">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorReplace.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..21627da89f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorReplace.dtd
@@ -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/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!-- extracted from EdReplace.xhtml -->
+
+<!ENTITY replaceDialog.title "Cari dan Ganti">
+<!ENTITY findField.label "Cari teks:">
+<!ENTITY findField.accesskey "r">
+<!ENTITY replaceField.label "Ganti dengan:">
+<!ENTITY replaceField.accesskey "t">
+<!ENTITY caseSensitiveCheckbox.label "Padanan huruf tepat">
+<!ENTITY caseSensitiveCheckbox.accesskey "P">
+<!ENTITY wrapCheckbox.label "Balut keliling">
+<!ENTITY wrapCheckbox.accesskey "B">
+<!ENTITY backwardsCheckbox.label "Carian mengundur">
+<!ENTITY backwardsCheckbox.accesskey "m">
+<!ENTITY findNextButton.label "Cari Berikut">
+<!ENTITY findNextButton.accesskey "C">
+<!ENTITY replaceButton.label "Ganti">
+<!ENTITY replaceButton.accesskey "G">
+<!ENTITY replaceAndFindButton.label "Ganti dan Cari">
+<!ENTITY replaceAndFindButton.accesskey "d">
+<!ENTITY replaceAllButton.label "Ganti Semua">
+<!ENTITY replaceAllButton.accesskey "S">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY closeButton.accesskey "T">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..d898443744
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorSpellCheck.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Semak Ejaan">
+
+<!ENTITY misspelledWord.label "Perkataan tersalah eja:">
+<!ENTITY wordEditField.label "Ganti dengan:">
+<!ENTITY wordEditField.accessKey "d">
+<!ENTITY checkwordButton.label "Semak Perkataan">
+<!ENTITY checkwordButton.accessKey "k">
+<!ENTITY suggestions.label "Cadangan:">
+<!ENTITY suggestions.accessKey "g">
+<!ENTITY ignoreButton.label "Abai">
+<!ENTITY ignoreButton.accessKey "A">
+<!ENTITY ignoreAllButton.label "Abai Semua">
+<!ENTITY ignoreAllButton.accessKey "m">
+<!ENTITY replaceButton.label "Ganti">
+<!ENTITY replaceButton.accessKey "G">
+<!ENTITY replaceAllButton.label "Ganti Semua">
+<!ENTITY replaceAllButton.accessKey "S">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY stopButton.accessKey "h">
+<!ENTITY userDictionary.label "Kamus Peribadi:">
+<!ENTITY moreDictionaries.label "Muat turun lebih banyak kamus…">
+<!ENTITY addToUserDictionaryButton.label "Tambah Perkataan">
+<!ENTITY addToUserDictionaryButton.accessKey "b">
+<!ENTITY editUserDictionaryButton.label "Edit…">
+<!ENTITY editUserDictionaryButton.accessKey "E">
+<!ENTITY recheckButton2.label "Semak semula Teks">
+<!ENTITY recheckButton2.accessKey "T">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY closeButton.accessKey "T">
+<!ENTITY sendButton.label "Hantar">
+<!ENTITY sendButton.accessKey "H">
+<!ENTITY languagePopup.label "Bahasa:">
+<!ENTITY languagePopup.accessKey "B">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..c98de3938e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/EditorTableProperties.dtd
@@ -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/. -->
+
+<!ENTITY tableWindow.title "Sifat Jadual">
+<!ENTITY applyButton.label "Terap">
+<!ENTITY applyButton.accesskey "T">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY tableTab.label "Jadual">
+<!ENTITY cellTab.label "Sel">
+<!ENTITY tableRows.label "Baris:">
+<!ENTITY tableRows.accessKey "B">
+<!ENTITY tableColumns.label "Lajur:">
+<!ENTITY tableColumns.accessKey "L">
+<!ENTITY tableHeight.label "Tinggi:">
+<!ENTITY tableHeight.accessKey "T">
+<!ENTITY tableWidth.label "Lebar:">
+<!ENTITY tableWidth.accessKey "L">
+<!ENTITY tableBorderSpacing.label "Sempadan dan Ruangan">
+<!ENTITY tableBorderWidth.label "Sempadan:">
+<!ENTITY tableBorderWidth.accessKey "S">
+<!ENTITY tableSpacing.label "Ruangan:">
+<!ENTITY tableSpacing.accessKey "R">
+<!ENTITY tablePadding.label "Penebal:">
+<!ENTITY tablePadding.accessKey "P">
+<!ENTITY tablePxBetwCells.label "piksel antara sel">
+<!ENTITY tablePxBetwBrdrCellContent.label "piksel antara sempadan sel dengan kandungan">
+<!ENTITY tableAlignment.label "Jajaran Jadual:">
+<!ENTITY tableAlignment.accessKey "J">
+<!ENTITY tableCaption.label "Petikan:">
+<!ENTITY tableCaption.accessKey "P">
+<!ENTITY tableCaptionAbove.label "Atas Jadual">
+<!ENTITY tableCaptionBelow.label "Bawah Jadual">
+<!ENTITY tableCaptionLeft.label "Kiri Jadual">
+<!ENTITY tableCaptionRight.label "Kanan jadual">
+<!ENTITY tableCaptionNone.label "Tiada">
+<!ENTITY tableInheritColor.label "(Biarkan warna halaman telus)">
+
+<!ENTITY cellSelection.label "Pemilihan">
+<!ENTITY cellSelectCell.label "Sel">
+<!ENTITY cellSelectRow.label "Baris">
+<!ENTITY cellSelectColumn.label "Lajur">
+<!ENTITY cellSelectNext.label "Berikut">
+<!ENTITY cellSelectNext.accessKey "B">
+<!ENTITY cellSelectPrevious.label "Dahulu">
+<!ENTITY cellSelectPrevious.accessKey "D">
+<!ENTITY applyBeforeChange.label "Perubahan semasa akan diterapkan sebelum menukar pilihan.">
+<!ENTITY cellContentAlignment.label "Jajaran Kandungan">
+<!ENTITY cellHorizontal.label "Mengufuk:">
+<!ENTITY cellHorizontal.accessKey "M">
+<!ENTITY cellVertical.label "Menegak:">
+<!ENTITY cellVertical.accessKey "M">
+<!ENTITY cellStyle.label "Gaya Sel:">
+<!ENTITY cellStyle.accessKey "S">
+<!ENTITY cellNormal.label "Normal">
+<!ENTITY cellHeader.label "Pengepala">
+<!ENTITY cellTextWrap.label "Balutan Teks:">
+<!ENTITY cellTextWrap.accessKey "T">
+<!ENTITY cellWrap.label "Balut">
+<!ENTITY cellNoWrap.label "Jangan balut">
+<!ENTITY cellAlignTop.label "Atas">
+<!ENTITY cellAlignMiddle.label "Tengah">
+<!ENTITY cellAlignBottom.label "Bawah">
+<!ENTITY cellAlignJustify.label "Imbang">
+<!ENTITY cellInheritColor.label "(Biarkan warna halaman telus)">
+<!ENTITY cellUseCheckboxHelp.label "Guna kotak semakan untuk menentukan sifat yang diterapkan dalam semua sel yang dipilih">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "Saiz">
+<!ENTITY pixels.label "piksel">
+<!ENTITY backgroundColor.label "Warna Latar belakang:">
+<!ENTITY backgroundColor.accessKey "L">
+<!ENTITY AlignLeft.label "Kiri">
+<!ENTITY AlignCenter.label "Tengah">
+<!ENTITY AlignRight.label "Kanan">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/composeMsgs.properties b/l10n-ms/mail/chrome/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..4437dd9b75
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,436 @@
+# 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 are used by the compose back end
+#
+## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile):
+## %S will be replaced with the name of file that could not be opened
+unableToOpenFile=Tidak dapat membuka fail %S.
+unableToOpenTmpFile=Tidak dapat membuka fail sementara %S. Semak tetapan 'Direktori Sementara' anda.
+unableToSaveTemplate=Tidak dapat menyimpan mesej anda sebagai templat.
+unableToSaveDraft=Tidak dapat menyimpan mesej anda sebagai draf.
+couldntOpenFccFolder=Tidak dapat membuka folder Mel Dihantar. Sila sahkan bahawa tetapan akaun anda adalah betul.
+noSender=Tiada pengirim yang dinyatakan. Sila masukkan alamat e-mel anda dalam tetapan akaun.
+noRecipients=Tiada penerima yang dinyatakan. Sila masukkan penerima atau kumpulan berita dalam ruang alamat.
+errorWritingFile=Ralat semasa menulis fail sementara.
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: %s. Sila pastikan bahawa alamat e-mel anda adalah betul dalam tetapan akaun dan cuba lagi.
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=Ada ralat semasa pelayan Keluar (SMTP) menghantar mel. Pelayan memberikan respons: %s.
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: %s. Sila semak mesej dan cuba lagi.
+postFailed=Mesej tidak dapat disiarkan kerana gagal disambung ke pelayan berita. Pelayan mungkin tidak bersedia atau menolak sambungan, Sila pastikan bahawa tetapan pelayan berita adalah betul dan cuba lagi.
+errorQueuedDeliveryFailed=Ada ralat semasa menghantar mesej yang tidak dihantar.
+sendFailed=Gagal menghantar mesej.
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=Gagal kerana ralat %X tidak dijangka. Tiada penjelasan tersedia.
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=Konfigurasi berkaitan dengan %S mesti diperbetulkan.
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=Ada ralat semasa menghantar mel: Ralat pelayan keluar (SMTP). Pelayan memberikan respons: %s.
+unableToSendLater=Maaf, kami tidak dapat menyimpan mesej anda yang mahu dihantar kemudian.
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=Ada ralat komunikasi: %d. Sila cuba lagi.
+dontShowAlert=INI ADALAH HANYA RUANG LETAK. ANDA TIDAK AKAN DAPAT LIHAT STRING INI.
+
+couldNotGetUsersMailAddress2=Ada ralat semasa menghantar mel: alamat pengirim (Daripada:) tidak sah. Sila pastikan bahawa alamat e-mel ini adalah betul dan cuba lagi.
+couldNotGetSendersIdentity=Ada ralat semasa menghantar mel: identiti pengirim tidak sah. Sila semak konfigurasi identiti dan cuba lagi.
+
+mimeMpartAttachmentError=Ralat lampiran.
+failedCopyOperation=Mesej telah berjaya dihantar, tapi tidak dapat membuat salinan ke dalam folder Dihantar.
+nntpNoCrossPosting=Anda hanya boleh hantar satu mesej kepada satu pelayan berita pada satu masa.
+msgCancelling=Membatalkan…
+sendFailedButNntpOk=Mesej anda telah disiarkan ke dalam kumpulan berita tapi tidak dihantar kepada penerima lain.
+errorReadingFile=Ralat membaca fail.
+followupToSenderMessage=Pengarang mesej ini telah meminta supaya respons hanya dihantarkan kepada beliau. Jika anda juga mahu membalas ke kumpulan berita, tambah satu baris dalam ruang alamat, pilih Kumpulan berita dalam senarai penerima dan masukkan nama kumpulan berita tersebut.
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=Ada ralat semasa melampirkan %S. Sila pastikan bahawa anda boleh mengakses fail berkenaan.
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=Ada ralat semasa menghantar mel: Pelayan mel menghantar kata aluan yang tidak betul: %s.
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: \n%1$S.\n Sila semak penerima mesej "%2$S" dan cuba lagi.
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=Ada ralat semasa menghantar mel: Tidak dapat menyediakan sambungan yang selamat dengan pelayan Keluar (SMTP) %S menggunakan STARTTLS kerana tidak mempamerkan ciri berkenaan. Nyahaktifkan STARTTLS daripada pelayan berkenaan atau hubungi penyedia perkhidmatan anda.
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=Ada ralat semasa menghantar mel: Tidak dapat mencari kata laluan untuk %S. Mesej tidak dihantar.
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=Saiz mesej yang anda cuba hantar melebihi had saiz sementara pelayan. Mesej tidak dihantar; cuba kurangkan saiz mesej atau tunggu beberapa ketika dan cuba lagi. Pelayan memberikan respon: %s.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=Saiz mesej yang anda cuba hantar melebihi had saiz global (%d bait) pelayan. Mesej tidak dihantar; cuba kurangkan saiz mesej dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=Saiz mesej yang anda cuba hantar melebihi had saiz global pelayan. Mesej tidak dihantar; kurangkan saiz mesej dan cuba lagi. Pelayan memberikan respons: %s.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=Ada ralat semasa menghantar mel: Pelayan Keluar (SMTP) %S tidak diketahui. Pelayan mungkin tersilap konfigurasi. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=Mesej tidak dapat dihantar kerana gagal disambungkan dengan pelayan Keluar (SMTP) %S. Pelayan mungkin tidak bersedia atau menolak sambungan SMTP. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=Mesej tidak dapat dihantar kerana hilang sambungan dengan pelayan Keluar (SMTP) %S semasa sedang dilaksanakan. Cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=Mesej tidak dapat dihantar kerana sambungan dengan pelayan Keluar (SMTP) %S telah tamat tempoh. Cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=Mesej tidak dapat dihantar menggunakan pelayan Keluar (SMTP) %S atas sebab yang tidak diketahui. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=Pelayan keluar (SMTP) %S mungkin tidak kata laluan enkrip. Jika anda baru sahaja menetapkan akaun, cuba ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan, dihantar secara tidak selamat'. Jika sebelum ini tiada masalah tapi tiba-tiba sahaja gagal, anda mungkin terdedah kepada pencurian kata laluan.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=Pelayan keluar (SMTP) %S mungkin tidak kata laluan enkrip. Jika anda baru sahaja menetapkan akaun, cuba ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan Normal'.
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=Pelayan keluar (SMTP) %S tidak mengizinkan kata laluan teks jelas. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan enkripsi'.
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=Tidak dapat mengesahkan pelayan Keluar (SMTP) %S. Sila semak kata laluan dan pastikan 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)'.
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan Keluar (SMTP) %S. Sila pastikan bahawa anda telah log masuk ke Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=Pelayan Keluar (SMTP) %S tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Pelayan Keluar (SMTP)'.
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=Simpan Mesej
+
+## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n.
+## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder).
+## Translate "Write" to match the translation of item "windowTitleWrite" below.
+saveDlogMessages3=Simpan mesej ini ke dalam folder draf (%1$S) dan tutup tetingkap Karang?
+discardButtonLabel=&Buang perubahan
+
+## generics string
+defaultSubject=(tiada subjek)
+chooseFileToAttach=Lampirkan Fail
+genericFailureExplanation=Sila sahkan bahawa tetapan akaun anda adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=penerima tidak didedahkan
+
+# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud
+# provider to save the file to.
+chooseFileToAttachViaCloud=Lampirkan Fail via %1$S
+
+## Window titles
+# LOCALIZATION NOTE (windowTitleWrite):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Write: Re: Invitation - Thunderbird
+windowTitleWrite=Tulis: %1$S - %2$S
+# LOCALIZATION NOTE (windowTitlePrintPreview):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Print Preview: Re: Invitation - Thunderbird
+windowTitlePrintPreview=Previu Cetakan: %1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=Masukkan alamat Daripada yang disesuaikan, bukan %S
+customizeFromAddressTitle=Sesuaikan Alamat Daripada
+customizeFromAddressWarning=Jika disokong oleh penyedia e-mel, Sesuaikan Alamat Daripada membolehkan anda membuat perubahan kecil kepada Alamat Daripada tanpa perlu mencipta identiti baru dalam Tetapan Akaun. Sebagai contoh, jika alamat Daripada anda ialah John Doe <john@example.com>, anda mungkin mahu menukarkannya kepada <john+doe@example.com> atau John <john@example.com>.
+customizeFromAddressIgnore=Jangan maklumkan lagi
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=Peringatan Subjek
+subjectEmptyMessage=Mesej anda tiada subjek.
+sendWithEmptySubjectButton=&Hantar Tanpa Subjek
+cancelSendingButton=&Batalkan Penghantaran
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=Tidak Menyokong Kumpulan berita
+recipientDlogMessage=Akaun ini hanya menyokong penerima e-mel. Meneruskan akan mengabaikan kumpulan berita.
+
+## Strings used by the alert that tells the user that an e-mail address is invalid.
+addressInvalidTitle=Alamat Penerima Tidak sah
+addressInvalid=%1$S bukan alamat e-mel kerana tidak dalam bentuk user@host. Anda mesti membetulkannya sebelum menghantar e-mel.
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=Sila nyatakan lokasi lampiran
+attachPageDlogMessage=Halaman Web (URL):
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=Mesej Lampiran
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=Bahagian Mesej Lampiran
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=Lampirkan Fail
+attachmentBucketClearSelectionTooltip=Buang Pemilihan
+attachmentBucketHeaderShowTooltip=Papar anak tetingkap lampiran
+attachmentBucketHeaderMinimizeTooltip=Minima anak tetingkap lampiran
+attachmentBucketHeaderRestoreTooltip=Pulih anak tetingkap lampiran
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=Karangan Mesej
+initErrorDlgMessage=Ada ralat semasa mencipta tetingkap mengarang mesej. Sila cuba lagi.
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=Lampiran Fail
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=Fail %1$S tidak wujud, maka tidak boleh dilampirkan dengan mesej.
+
+## String used if a file to serve as message body does not exist or cannot be loaded when passed
+## as a command line argument
+errorFileMessageTitle=Fail Mesej
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=Fail %1$S tidak wujud dan tidak boleh digunakan sebagai kandungan mesej.
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=Fail %1$S tidak boleh dimuatkan sebagai kandungan mesej.
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=Simpan Mesej
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=Mesej anda telah disimpan dalam folder %1$S dalam %2$S.
+CheckMsg=Jangan papar kotak dialog ini lagi.
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=Menghantar Mesej
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=%1$S sedang dalam proses menghantar mesej.\nAdakah anda mahu tunggu sehingga mesej selesai dihantar sebelum keluar, atau keluar sekarang?
+quitComposeWindowQuitButtonLabel2=&Keluar
+quitComposeWindowWaitButtonLabel2=&Tunggu
+quitComposeWindowSaveTitle=Menyimpan Mesej
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=%1$S sedang dalam proses menyimpan mesej.\nAdakah anda mahu tunggu sehingga mesej selesai disimpan sebelum keluar, atau keluar sekarang?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=Hantar Mesej
+sendMessageCheckLabel=Adakah anda sudah bersedia untuk menghantar mesej ini?
+sendMessageCheckSendButtonLabel=Hantar
+assemblingMessageDone=Mengumpulkan mesej...Selesai
+assemblingMessage=Mengumpulkan mesej…
+smtpDeliveringMail=Menghantar mel…
+smtpMailSent=Mel berjaya dihantar
+assemblingMailInformation=Mengumpulkan maklumat mel…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=Melampirkan %S…
+creatingMailMessage=Mencipta mesej mel…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=Menyalin mesej ke dalam folder %S…
+copyMessageComplete=Selesai menyalin.
+copyMessageFailed=Gagal menyalin.
+filterMessageComplete=Selesai menapis.
+filterMessageFailed=Gagal menapis.
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=Amaran! Anda akan menghantar mesej bersaiz %S. Adakah anda pasti mahu melakukannya?
+sendingMessage=Menghantar mesej…
+sendMessageErrorTitle=Ralat Menghantar Mesej
+postingMessage=Menyiarkan mesej…
+sendLaterErrorTitle=Ralat Menghantar Kemudian
+saveDraftErrorTitle=Ralat Menyimpan Draf
+saveTemplateErrorTitle=Ralat Menyimpan Templat
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=Ada masalah memasukkan fail %.200S ke dalam mesej. Adakah anda mahu terus menyimpan mesej tanpa fail ini?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=Ada masalah memasukkan fail %.200S ke dalam mesej. Adakah anda mahu terus menghantar mesej tanpa fail ini?
+returnToComposeWindowQuestion=Adakah anda mahu kembali ke tetingkap mengarang mesej?
+
+## reply header in composeMsg
+## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of the person replying to)
+mailnews.reply_header_authorwrotesingle=#1 membalas:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=Pada #2 #3, #1 membalas:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 membalas pada #2 #3:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- Mesej Asal --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- Mesej Dikirim Semula --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=Namakan semula Lampiran
+renameAttachmentMessage=Nama lampiran baru:
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+## words that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=.doc,.pdf,.xls,.ppt,.rtf,.pps,lampiran,lampirkan,dilampirkan,melampirkan,disertakan,CV,resume,surat pengiring
+
+remindLaterButton=Ingatkan Saya Nanti
+remindLaterButton.accesskey=N
+disableAttachmentReminderButton=Nyahaktifkan peringatan lampiran untuk mesej semasa
+attachmentReminderTitle=Peringatan Lampiran
+attachmentReminderMsg=Adakah anda sudah sertakan lampiran?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=Menemui #1 kata kunci lampiran:
+attachmentReminderOptionsMsg=Peringatan lampiran boleh diubah dalam keutamaan anda
+attachmentReminderYesIForgot=Oh ya, sudah!
+attachmentReminderFalseAlarm=Belum, Hantar Sekarang
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=Ketahui Selanjutnya…
+learnMore.accesskey=n
+
+# LOCALIZATION NOTE (bigFileDescription): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of big attached files
+bigFileDescription=Saiz fail ini besar. Lebih baik gunakan Filelink.
+bigFileShare.label=Pautan
+bigFileShare.accesskey=t
+bigFileAttach.label=Abai
+bigFileAttach.accesskey=i
+bigFileChooseAccount.title=Pilih Akaun
+bigFileChooseAccount.text=Pilih akaun awan untuk memuat naik lampiran ke
+bigFileHideNotification.title=Jangan Muat naik Fail Saya
+bigFileHideNotification.text=Anda tidak akan dimaklumkan jika melampirkan lebih banyak fail bersaiz besar kepada mesej ini.
+bigFileHideNotification.check=Jangan maklumkan lagi.
+
+# LOCALIZATION NOTE(cloudFileUploadingTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment is being
+# uploaded to.
+cloudFileUploadingTooltip=Memuat naik ke %S…
+
+# LOCALIZATION NOTE(cloudFileUploadedTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment was uploaded
+# to.
+cloudFileUploadedTooltip=Dimuat naik ke %S
+cloudFileUploadingNotification=Fail anda sedang dihubungkan. Fail akan muncul dalam kandungan mesej apabila selesai.;Fail anda sedang dihubungkan. Fail akan muncul dalam kandungan mesej apabila selesai.
+cloudFileUploadingCancel.label=Batal
+cloudFileUploadingCancel.accesskey=l
+cloudFilePrivacyNotification=Hubungan selesai. Sila ambil perhatian bahawa lampiran yang dihubungkan ini boleh diakses oleh sesiapa yang boleh melihat atau meneka pautan tersebut.
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=Masukkan kata laluan anda untuk %S:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the
+## words %1$S and %2$S. Place the word %1$S where the host name should appear,
+## and %2$S where the user name should appear.
+smtpEnterPasswordPromptWithUsername=Masukkan kata laluan untuk %2$S dalam %1$S:
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=Buang Lampiran
+
+## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved sent messages (typically the "Sent" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+## Translate "Write" to match the translation of item "windowTitleWrite" above.
+promptToSaveSentLocally2=Mesej anda telah dihantar tetapi tiada salinan di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan mesej secara lokal ke %3$S/%1$S-%2$S.
+errorFilteringMsg=Mesej anda telah dihantar dan disimpan, tapi ada ralat semasa menapis mesej tersebut.
+errorCloudFileAuth.title=Ralat Pengesahan
+
+## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved draft messages (typically the "Drafts" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveDraftLocally2=Draf mesej anda tidak disimpan di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan mesej secara lokal ke %3$S/%1$S-%2$S.
+buttonLabelRetry2=&Cuba lagi
+
+## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved templates (typically the "Templates" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveTemplateLocally2=Templat anda tidak salin di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan templat secara lokal ke %3$S/%1$S-%2$S.
+
+## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal
+## save fails (e.g., to Sent) and save to Local Folders also fails. This could
+## occur if network is down and filesystem problems are present such as disk
+## full, permission issues or hardware failure.
+saveToLocalFoldersFailed=Tidak dapat menyimpan mesej ke dalam folder lokal. Mungkin kerana tidak cukup ruang storan fail.
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=Tidak dapat mengesahkan %1$S.
+errorCloudFileUpload.title=Ralat muat naik
+
+## LOCALIZATION NOTE(errorCloudFileUpload.message):
+## %1$S is the name of the online storage service against which the uploading failed.
+## %2$S is the name of the file that failed to upload.
+errorCloudFileUpload.message=Tidak dapat memuat naik %2$S ke %1$S.
+errorCloudFileQuota.title=Ralat Kuota
+
+## LOCALIZATION NOTE(errorCloudFileQuota.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to exceeding the storage limit.
+errorCloudFileQuota.message=Memuat naik %2$S ke %1$S akan melebihi kuota ruang anda.
+
+errorCloudFileLimit.title=Ralat Saiz Fail
+
+## LOCALIZATION NOTE(errorCloudFileLimit.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to size restrictions.
+errorCloudFileLimit.message=%2$S melebihi saiz maksimum %1$S.
+errorCloudFileOther.title=Ralat Tidak Diketahui
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=Ada ralat tidak diketahui berlaku semasa berkomunikasi dengan %1$S.
+errorCloudFileDeletion.title=Ralat Penghapusan
+
+## LOCALIZATION NOTE(errorCloudFileDeletion.message):
+## %1$S is the name of the online storage service that the file is to be deleted from.
+## %2$S is the name of the file that failed to be deleted.
+errorCloudFileDeletion.message=Ada masalah menghapuskan %2$S daripada %1$S.
+errorCloudFileUpgrade.label=Naik taraf
+
+## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink
+## upload notification bar to allow the user to dismiss the notification permanently.
+stopShowingUploadingNotification.accesskey=J
+stopShowingUploadingNotification.label=Jangan papar lagi
+replaceButton.label=Ganti…
+replaceButton.accesskey=t
+replaceButton.tooltip=Papar dialog Cari dan Ganti
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Buang sekatan %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S telah menyekat fail daripada dimuatkan ke dalam mesej ini. Dengan membuang sekatan, fail ini akan dimuatkan ke dalam mesej anda.
+
+blockedContentPrefLabel=Pilihan
+blockedContentPrefAccesskey=P
+
+blockedContentPrefLabelUnix=Keutamaan
+blockedContentPrefAccesskeyUnix=K
+
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/editor.properties b/l10n-ms/mail/chrome/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..97da2868ca
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/editor.properties
@@ -0,0 +1,208 @@
+# 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: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=Tidak
+Save=Simpan
+More=Selanjutnya
+Less=Kurang
+MoreProperties=Lanjutan Sifat
+FewerProperties=Sedikit Sifat
+PropertiesAccessKey=S
+None=Tiada
+none=tiada
+OpenHTMLFile=Buka Fail HTML
+OpenTextFile=Buka Fail Teks
+SelectImageFile=Pilih Fail Imej
+SaveDocument=Simpan Halaman
+SaveDocumentAs=Simpan Halaman Sebagai
+SaveTextAs=Simpan Teks Sebagai
+EditMode=Mod Edit
+Preview=Previu
+Publish=Terbitkan
+PublishPage=Halaman Penerbitan
+DontPublish=Jangan Terbitkan
+SavePassword=Guna Pengurus Kata laluan untuk menyimpan kata laluan ini
+CorrectSpelling=(betulkan ejaan)
+NoSuggestedWords=(tiada perkataan cadangan)
+NoMisspelledWord=Tiada perkataan tersalah eja
+CheckSpellingDone=Selesai menyemak ejaan.
+CheckSpelling=Semak Ejaan
+InputError=Ralat
+Alert=Amaran
+CantEditFramesetMsg=Composer tidak boleh mengedit set bingkai HTML atau halaman dengan bingkai susunan. Untuk set bingkai, cuba edit halaman setiap bingkai secara berasingan. Untuk halaman dengan iframes, simpan salinan halaman dan buang tag <iframe> tag.
+CantEditMimeTypeMsg=Halaman jenis ini tidak boleh diedit.
+CantEditDocumentMsg=Halaman ini tidak boleh diedit atas alasan yang tidak diketahui.
+BeforeClosing=sebelum menutup
+BeforePreview=sebelum memaparkan dalam pelayar
+BeforeValidate=sebelum mengesahkan dokumen
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=Simpan perubahan ke "%title%" %reason%?
+PublishPrompt=Simpan perubahan ke "%title%" %reason%?
+SaveFileFailed=Gagal menyimpan fail!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=%file% tidak ditemui.
+SubdirDoesNotExist=Sub-direktori "%dir%" tidak wujud dalam laman ini atau nama fail "%file%" sudah digunakan dalam sub-direktori lain.
+FilenameIsSubdir=Nama fail "%fail%" sudah digunakan oleh sub-direktori lain.
+ServerNotAvailable=Pelayan tidak disediakan. Semak sambungan anda dan cuba lagi nanti.
+Offline=Anda kini di luar talian. Klik ikon pada bahagian bucu kanan bawah tetingkap untuk masuk atas talian.
+DiskFull=Ruang cakera tidak cukup untuk menyimpan fail "%file%."
+NameTooLong=Nama fail atau sub-direktori terlalu panjang.
+AccessDenied=Anda tidak ada izin untuk menerbitkan ke lokasi ini.
+UnknownPublishError=Ada ralat penerbitan yang tidak diketahui.
+PublishFailed=Gagal menerbitkan.
+PublishCompleted=Selesai menerbitkan.
+AllFilesPublished=Semua fail diterbitkan
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% daripada %total% fail gagal diterbitkan.
+# End-Publishing error strings
+Prompt=Gesa
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=Masukkan nama pengguna dan kata laluan untuk pelayan FTP dalam %host%
+RevertCaption=Balikan Ke Terakhir Disimpan
+Revert=Balikan
+SendPageReason=sebelum menghantar halaman ini
+Send=Hantar
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=Penerbitan: %title%
+PublishToSite=Penerbitan ke Laman: %title%
+AbandonChanges=Abai perubahan yang tidak disimpan ke "%title%" dan muatkan semula halaman?
+DocumentTitle=Tajuk Halaman
+NeedDocTitle=Sila masukkan tajuk untuk halaman semasa.
+DocTitleHelp=Tajuk ini adalah untuk pengenalan halaman dalam tetingkap dan tandabuku.
+CancelPublishTitle=Batal penerbitan?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=Membatalkan penerbitan yang sedang diproses boleh menyebabkan fail tidak dipindahkan. Adakah anda mahu teruskan atau batalkan?
+CancelPublishContinue=Teruskan
+MissingImageError=Sila masukkan atau pilih imej jenis gif, jpg, atau png.
+EmptyHREFError=Sila pilih lokasi untuk mencipta pautan baru.
+LinkText=Teks Pautan
+LinkImage=Imej Pautan
+MixedSelection=[Pilihan campuran]
+Mixed=(campuran)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (tidak dipasang)
+EnterLinkText=Masukkan teks pautan untuk dipaparkan:
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=Sila masukkan teks untuk pautan ini.
+EditTextWarning=Ini akan menggantikan kandungan yang sedia ada.
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=Nombor yang dimasukkan (%n %) berada di luar julat yang dibenarkan.
+ValidateNumberMsg=Sila masukkan satu nombor antara %min% dengan %max%.
+MissingAnchorNameError=Sila masukkan satu nama untuk labuh ini.
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError="%name" telah wujud dalam halaman ini. Sila masukkan nama yang berlainan.
+BulletStyle=Gaya Bulet
+SolidCircle=Bulatan padat
+OpenCircle=Bulatan terbuka
+SolidSquare=Segi empat padat
+NumberStyle=Gaya Nombor
+Automatic=Automatik
+Style_1=1, 2, 3…
+Style_I=I, II, III…
+Style_i=i, ii, iii…
+Style_A=A, B, C…
+Style_a=a, b, c…
+Pixels=piksel
+Percent=peratus
+PercentOfCell=% sel
+PercentOfWindow=% tetingkap
+PercentOfTable=% jadual
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=%S tiada tajuk
+untitledDefaultFilename=tiada tajuk
+ShowToolbar=Papar Bar alatan
+HideToolbar=Sorok Bar alatan
+ImapError=Tidak dapat memuatkan imej
+ImapCheck=\nSila pilih lokasi baru (URL) dan cuba lagi.
+SaveToUseRelativeUrl=URLs relatif hanya boleh digunakan dalam halaman yang sudah disimpan
+NoNamedAnchorsOrHeadings=(Tiada nama labuh atau tajuk dalam halaman ini)
+TextColor=Warna Teks
+HighlightColor=Warna Serlahan
+PageColor=Warna Latar belakang Halaman
+BlockColor=Warna Latar belakang Blok
+TableColor=Warna Latar belakang Jadual
+CellColor=Warna Latar belakang Sel
+TableOrCellColor=Warna Jadual atau Sel
+LinkColor=Warna Teks Pautan
+ActiveLinkColor=Warna Pautan Aktif
+VisitedLinkColor=Warna Pautan Dilayari
+NoColorError=Klik pada warna atau masukkan string warna HTML yang sah
+Table=Jadual
+TableCell=Sel Jadual
+NestedTable=Jadual Kurungan
+HLine=Garis Mengufuk
+Link=Pautan
+Image=Imej
+ImageAndLink=Imej dan Pautan
+NamedAnchor=Nama Labuh
+List=Senarai
+ListItem=Senarai item
+Form=Borang
+InputTag=Medan Borang
+InputImage=Imej Borang
+TextArea=Ruang Teks
+Select=Senarai Pilihan
+Button=Butang
+Label=Label
+FieldSet=Set Medan
+Tag=Tag
+MissingSiteNameError=Sila masukkan nama untuk laman penerbitan ini.
+MissingPublishUrlError=Sila masukkan lokasi untuk penerbitan halaman ini.
+MissingPublishFilename=Sila masukkan nama fail untuk halaman semasa.
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError="%name" telah wujud. Sila masukkan nama laman yang berlainan.
+AdvancedProperties=Sifat Lanjutan…
+AdvancedEditForCellMsg=Edit Lanjutan tidak tersedia apabila berbilang sel dipilih
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=Sifat %obj%…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=f
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=Gabung Sel Dipilih
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=Gabung dengan Sel sebelah Kanan
+JoinCellAccesskey=g
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Del
+Delete=Buang
+DeleteCells=Buang Sel
+DeleteTableTitle=Buang Baris atau Lajur
+DeleteTableMsg=Mengurangkan bilangan baris atau lajur akan menghapuskan sel jadual dan kandungannya. Anda pasti mahu melakukan ini?
+Clear=Buang
+#Mouse actions
+Click=Klik
+Drag=Seret
+Unknown=Tidak diketahui
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=k
+RemoveTextStyles=Buang Semua Gaya Teks
+StopTextStyles=Hentikan Gaya Teks
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=Buang Pautan
+StopLinks=Hentikan Pautan
+#
+NoFormAction=Anda disyorkan memasukkan tindakan dalam borang ini. Borang yang disiarkan-sendiri adalah teknik terkini yang mungkin tidak dapat berfungsi sepenuhnya dalam semua pelayar.
+NoAltText=Jika imej ada kaitan dengan kandungan dokumen, anda perlu berikan teks alternatif yang akan dipaparkan dalam pelayar teks-sahaja, dan dalam pelayar lain apabila imej atau memuatkan imej dinyahdayakan.
+#
+Malformed=Sumber ini tidak dapat dikembalikan semula ke dalam dokumen kerana bukan XHTML yang sah.
+NoLinksToCheck=Tiada elemen dalam pautan yang boleh disemak
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/editorOverlay.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..e7969a1e12
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/editorOverlay.dtd
@@ -0,0 +1,303 @@
+<!-- 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/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "Tampal Tanpa Format">
+<!ENTITY pasteNoFormatting.accesskey "n">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "Tampal Sebagai Petikan">
+<!ENTITY pasteAsQuotationCmd.accesskey "P">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "Sisip">
+<!ENTITY insertMenu.accesskey "S">
+<!ENTITY insertLinkCmd2.label "Pautan…">
+<!ENTITY insertLinkCmd2.accesskey "P">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "Nama Labuh…">
+<!ENTITY insertAnchorCmd.accesskey "L">
+<!ENTITY insertImageCmd.label "Imej…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "Garis Mengufuk">
+<!ENTITY insertHLineCmd.accesskey "f">
+<!ENTITY insertTableCmd.label "Jadual…">
+<!ENTITY insertTableCmd.accesskey "J">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "Math…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "Aksara dan Simbol…">
+<!ENTITY insertCharsCmd.accesskey "A">
+<!ENTITY insertBreakAllCmd.label "Pecah Bawah Imej">
+<!ENTITY insertBreakAllCmd.accesskey "c">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "Cipta Pautan…">
+<!ENTITY createLinkCmd.accesskey "n">
+<!ENTITY editLinkCmd.label "Edit Pautan dalam Composer Baru">
+<!ENTITY editLinkCmd.accesskey "i">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "Pilih fon">
+<!ENTITY fontfaceMenu.label "Fon">
+<!ENTITY fontfaceMenu.accesskey "F">
+<!ENTITY fontVarWidth.label "Lebar Variabel">
+<!ENTITY fontVarWidth.accesskey "V">
+<!ENTITY fontFixedWidth.label "Lebar Tetap">
+<!ENTITY fontFixedWidth.accesskey "p">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "l">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.tooltip "Pilih saiz fon">
+<!ENTITY decreaseFontSize.label "Lebih kecil">
+<!ENTITY decreaseFontSize.accesskey "l">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "Lebih besar">
+<!ENTITY increaseFontSize.accesskey "r">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "Saiz">
+<!ENTITY fontSizeMenu.accesskey "z">
+<!ENTITY size-tinyCmd.label "Sangat kecil">
+<!ENTITY size-tinyCmd.accesskey "S">
+<!ENTITY size-smallCmd.label "Kecil">
+<!ENTITY size-smallCmd.accesskey "K">
+<!ENTITY size-mediumCmd.label "Sederhana">
+<!ENTITY size-mediumCmd.accesskey "S">
+<!ENTITY size-largeCmd.label "Besar">
+<!ENTITY size-largeCmd.accesskey "B">
+<!ENTITY size-extraLargeCmd.label "Ekstra Besar">
+<!ENTITY size-extraLargeCmd.accesskey "r">
+<!ENTITY size-hugeCmd.label "Sangat besar">
+<!ENTITY size-hugeCmd.accesskey "S">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "Gaya Teks">
+<!ENTITY fontStyleMenu.accesskey "G">
+<!ENTITY styleBoldCmd.label "Tebal">
+<!ENTITY styleBoldCmd.accesskey "T">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "Italik">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "Garis bawah">
+<!ENTITY styleUnderlineCmd.accesskey "G">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "Tampak tembus">
+<!ENTITY styleStrikeThruCmd.accesskey "k">
+<!ENTITY styleSuperscriptCmd.label "Superskrip">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "Subskrip">
+<!ENTITY styleSubscriptCmd.accesskey "S">
+<!ENTITY styleNonbreakingCmd.label "Tersusun">
+<!ENTITY styleNonbreakingCmd.accesskey "N">
+<!ENTITY styleEm.label "Penekanan">
+<!ENTITY styleEm.accesskey "P">
+<!ENTITY styleStrong.label "Penekan Lebih kuat">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "Petikan">
+<!ENTITY styleCite.accesskey "P">
+<!ENTITY styleAbbr.label "Singkatan">
+<!ENTITY styleAbbr.accesskey "S">
+<!ENTITY styleAcronym.label "Akronim">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "Kod">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "Output Sampel">
+<!ENTITY styleSamp.accesskey "m">
+<!ENTITY styleVar.label "Variabel">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "Warna Teks…">
+<!ENTITY formatFontColor.accesskey "W">
+<!ENTITY tableOrCellColor.label "Warna Latar belakang Jadual atau Sel…">
+<!ENTITY tableOrCellColor.accesskey "L">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "Buang Nama Labuh">
+<!ENTITY formatRemoveNamedAnchors.accesskey "B">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "Perenggan">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "Perenggan">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "Tajuk 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "Tajuk 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "Tajuk 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "Tajuk 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "Tajuk 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "Tajuk 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "Alamat">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "Praformat">
+<!ENTITY paragraphPreformatCmd.accesskey "f">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "Senarai">
+<!ENTITY formatlistMenu.accesskey "S">
+<!ENTITY noneCmd.label "Tiada">
+<!ENTITY noneCmd.accesskey "T">
+<!ENTITY listBulletCmd.label "Bulet">
+<!ENTITY listBulletCmd.accesskey "B">
+<!ENTITY listNumberedCmd.label "Nombor">
+<!ENTITY listNumberedCmd.accesskey "m">
+<!ENTITY listTermCmd.label "Terma">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "Takrif">
+<!ENTITY listDefinitionCmd.accesskey "T">
+<!ENTITY listPropsCmd.label "Sifat Senarai…">
+<!ENTITY listPropsCmd.accesskey "S">
+
+<!ENTITY ParagraphSelect.tooltip "Pilih format perenggan">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "Teks Isi">
+<!ENTITY bodyTextCmd.accesskey "T">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "Jajar">
+<!ENTITY alignMenu.accesskey "J">
+<!ENTITY alignLeft.label "Kiri">
+<!ENTITY alignLeft.accesskey "K">
+<!ENTITY alignLeft.tooltip "Jajar Kiri">
+<!ENTITY alignCenter.label "Tengah">
+<!ENTITY alignCenter.accesskey "T">
+<!ENTITY alignCenter.tooltip "Jajar Tengah">
+<!ENTITY alignRight.label "Kanan">
+<!ENTITY alignRight.accesskey "K">
+<!ENTITY alignRight.tooltip "Jajar Kanan">
+<!ENTITY alignJustify.label "Imbang">
+<!ENTITY alignJustify.accesskey "I">
+<!ENTITY alignJustify.tooltip "Imbang Jajaran">
+
+<!ENTITY increaseIndent.label "Tambah Inden">
+<!ENTITY increaseIndent.accesskey "I">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "Kurangkan Inden">
+<!ENTITY decreaseIndent.accesskey "K">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "Warna dan Latar belakang Halaman…">
+<!ENTITY colorsAndBackground.accesskey "b">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "Jadual">
+<!ENTITY tableMenu.accesskey "d">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "Pilih">
+<!ENTITY tableSelectMenu.accesskey "P">
+
+<!ENTITY tableSelectMenu2.label "Pilih Jadual">
+<!ENTITY tableSelectMenu2.accesskey "P">
+<!ENTITY tableInsertMenu2.label "Sisip Jadual">
+<!ENTITY tableInsertMenu2.accesskey "S">
+<!ENTITY tableDeleteMenu2.label "Buang Jadual">
+<!ENTITY tableDeleteMenu2.accesskey "B">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "Sisip">
+<!ENTITY tableInsertMenu.accesskey "S">
+<!ENTITY tableTable.label "Jadual">
+<!ENTITY tableTable.accesskey "J">
+<!ENTITY tableRow.label "Baris">
+<!ENTITY tableRows.label "Baris">
+<!ENTITY tableRow.accesskey "B">
+<!ENTITY tableRowAbove.label "Baris Atas">
+<!ENTITY tableRowAbove.accesskey "B">
+<!ENTITY tableRowBelow.label "Baris Bawah">
+<!ENTITY tableRowBelow.accesskey "B">
+<!ENTITY tableColumn.label "Lajur">
+<!ENTITY tableColumns.label "Lajur">
+<!ENTITY tableColumn.accesskey "j">
+<!ENTITY tableColumnBefore.label "Lajur Sebelum">
+<!ENTITY tableColumnBefore.accesskey "j">
+<!ENTITY tableColumnAfter.label "Lajur Selepas">
+<!ENTITY tableColumnAfter.accesskey "S">
+<!ENTITY tableCell.label "Sel">
+<!ENTITY tableCells.label "Sel">
+<!ENTITY tableCell.accesskey "S">
+<!ENTITY tableCellContents.label "Kandungan Sel">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "Semua Sel">
+<!ENTITY tableAllCells.accesskey "S">
+<!ENTITY tableCellBefore.label "Sel Sebelum">
+<!ENTITY tableCellBefore.accesskey "S">
+<!ENTITY tableCellAfter.label "Sel Selepas">
+<!ENTITY tableCellAfter.accesskey "p">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "Buang">
+<!ENTITY tableDeleteMenu.accesskey "B">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "j">
+<!ENTITY tableJoinCells.accesskey "j">
+<!ENTITY tableSplitCell.label "Pisah Sel">
+<!ENTITY tableSplitCell.accesskey "S">
+<!ENTITY convertToTable.label "Cipta Jadual daripada Pilihan">
+<!ENTITY convertToTable.accesskey "t">
+<!ENTITY tableProperties.label "Sifat Jadual…">
+<!ENTITY tableProperties.accesskey "f">
+
+<!ENTITY imageToolbarCmd.label "Imej">
+<!ENTITY imageToolbarCmd.tooltip "Sisip imej baru atau edit sifat imej dipilih">
+<!ENTITY hruleToolbarCmd.label "H.Line">
+<!ENTITY hruleToolbarCmd.tooltip "Sisip garis mengufuk atau edit sifat garis dipilih">
+<!ENTITY tableToolbarCmd.label "Jadual">
+<!ENTITY tableToolbarCmd.tooltip "Sisip jadual baru atau edit sifat jadual dipilih">
+<!ENTITY linkToolbarCmd.label "Pautan">
+<!ENTITY linkToolbarCmd.tooltip "Sisip pautan baru atau edit sifat pautan dipilih">
+<!ENTITY anchorToolbarCmd.label "Labuh">
+<!ENTITY anchorToolbarCmd.tooltip "Sisip nama labuh baru atau edit sifat labuh dipilih">
+<!ENTITY TextColorButton.tooltip "Pilih warna teks">
+<!ENTITY BackgroundColorButton.tooltip "Pilih warna latar belakang">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Tetapkan saiz fon">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Saiz fon lebih kecil">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "Saiz fon lebih besar">
+<!ENTITY boldToolbarCmd.tooltip "Tebal">
+<!ENTITY italicToolbarCmd.tooltip "Italik">
+<!ENTITY underlineToolbarCmd.tooltip "Garis bawah">
+<!ENTITY bulletListToolbarCmd.tooltip "Guna atau buang senarai bulet">
+<!ENTITY numberListToolbarCmd.tooltip "Guna atau buang senarai nombor">
+<!ENTITY outdentToolbarCmd.tooltip "Teks luar inden (alih kiri)">
+<!ENTITY indentToolbarCmd.tooltip "Teks inden (alih kanan)">
+<!ENTITY AlignPopupButton.tooltip "Pilih jajaran teks">
+<!ENTITY InsertPopupButton.tooltip "Sisip Pautan, Labuh, Imej, Garisan Mengufuk atau Jadual">
+<!ENTITY alignLeftButton.tooltip "Jajar teks sepanjang jidar kiri">
+<!ENTITY alignCenterButton.tooltip "Jajar teks di tengah">
+<!ENTITY alignRightButton.tooltip "Jajar teks sepanjang jidar kanan">
+<!ENTITY alignJustifyButton.tooltip "Jajar teks sepanjang jidar kiri dan kanan">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "Sisip">
+<!ENTITY insertTOC.accesskey "i">
+<!ENTITY updateTOC.label "Kemaskini">
+<!ENTITY updateTOC.accesskey "k">
+<!ENTITY removeTOC.label "Buang">
+<!ENTITY removeTOC.accesskey "g">
+<!ENTITY tocMenu.label "Jadual Kandungan…">
+<!ENTITY tocMenu.accesskey "d">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..baa239bc8c
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY attachImageSource.label "Lampirkan imej ini ke dalam mesej">
+<!ENTITY attachImageSource.accesskey "i">
+
+<!ENTITY attachLinkSource.label "Lampirkan sumber pautan ini ke dalam mesej">
+<!ENTITY attachLinkSource.accesskey "i">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/messengercompose.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..71b17dbbf9
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/messengercompose.dtd
@@ -0,0 +1,298 @@
+<!-- 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 messengercompose.dtd Main UI for message composition -->
+<!ENTITY msgComposeWindow.title "Tulis: (tiada subjek)">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "Fail">
+<!ENTITY fileMenu.accesskey "l">
+<!ENTITY newMenu.label "Baru">
+<!ENTITY newMenu.accesskey "B">
+<!ENTITY newMessage.label "Mesej">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newContact.label "Kenalan Buku Alamat…">
+<!ENTITY newContact.accesskey "K">
+<!ENTITY attachMenu.label "Lampir">
+<!ENTITY attachMenu.accesskey "r">
+<!ENTITY attachCloudCmd.label "Filelink">
+<!ENTITY attachCloudCmd.accesskey "i">
+<!ENTITY attachPageCmd.label "Halaman Web…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!ENTITY remindLater.label "Ingatkan Saya Nanti">
+<!ENTITY remindLater.accesskey "N">
+<!ENTITY closeCmd.label "Tutup">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "t">
+<!ENTITY saveCmd.label "Simpan">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "p">
+<!ENTITY saveAsCmd.label "Simpan Sebagai">
+<!ENTITY saveAsCmd.accesskey "S">
+<!ENTITY saveAsFileCmd.label "Fail…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "Draf">
+<!ENTITY saveAsDraftCmd.accesskey "D">
+<!ENTITY saveAsTemplateCmd.label "Templat">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY sendNowCmd.label "Hantar Sekarang">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "r">
+<!ENTITY sendLaterCmd.label "Hantar Kemudian">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "K">
+<!ENTITY printCmd.label "Cetak…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "C">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "d">
+<!ENTITY undoCmd.label "Batal">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "l">
+<!ENTITY redoCmd.label "Ulang">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "l">
+<!ENTITY cutCmd.key "X">
+<!ENTITY copyCmd.key "C">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteNoFormattingCmd.key "V">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY editRewrapCmd.accesskey "a">
+<!ENTITY deleteCmd.label "Buang">
+<!ENTITY deleteCmd.accesskey "g">
+<!ENTITY editRewrapCmd.label "Balut semula">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "Namakan semula Lampiran…">
+<!ENTITY renameAttachmentCmd.accesskey "e">
+<!ENTITY reorderAttachmentsCmd.label "Susun semula Lampiran…">
+<!ENTITY reorderAttachmentsCmd.accesskey "s">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY selectAllCmd.accesskey "a">
+<!ENTITY findBarCmd.label "Cari…">
+<!ENTITY findBarCmd.accesskey "C">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "Cari dan Ganti…">
+<!ENTITY findReplaceCmd.accesskey "t">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "Cari Lagi">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "Cari Dahulu">
+<!ENTITY findPrevCmd.accesskey "d">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "Susun semula Lampiran">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "Pindah bersama">
+
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.Sort.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.Sort.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.Sort.AZ.label "Susun: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "Susun: Z - A">
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.SortSelection.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.SortSelection.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.AZ.label "Susun Pilihan: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "Susun Pilihan: Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "Papar">
+<!ENTITY viewMenu.accesskey "p">
+<!ENTITY viewToolbarsMenuNew.label "Bar alatan">
+<!ENTITY viewToolbarsMenuNew.accesskey "B">
+<!ENTITY menubarCmd.label "Bar Menu">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showCompositionToolbarCmd.label "Bar alatan Karangan">
+<!ENTITY showCompositionToolbarCmd.accesskey "t">
+<!ENTITY showFormattingBarCmd.label "Bar Pemformatan">
+<!ENTITY showFormattingBarCmd.accesskey "P">
+<!ENTITY showTaskbarCmd.label "Bar Status">
+<!ENTITY showTaskbarCmd.accesskey "S">
+<!ENTITY customizeToolbar.label "Penyesuaian…">
+<!ENTITY customizeToolbar.accesskey "P">
+
+<!ENTITY addressSidebar.label "Bar sisi Kenalan">
+<!ENTITY addressSidebar.accesskey "s">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "Format">
+<!ENTITY formatMenu.accesskey "o">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "Pilihan">
+<!ENTITY optionsMenu.accesskey "l">
+<!ENTITY checkSpellingCmd2.label "Semak Ejaan…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "j">
+<!ENTITY enableInlineSpellChecker.label "Semak ejaan Semasa Menaip">
+<!ENTITY enableInlineSpellChecker.accesskey "S">
+<!ENTITY quoteCmd.label "Mesej Petikan">
+<!ENTITY quoteCmd.accesskey "P">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "Lampir Kad Peribadi (vCard)">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY returnReceiptMenu.label "Resit Pemberitahu Serahan">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "Notifikasi Status Penghantaran">
+<!ENTITY dsnMenu.accesskey "N">
+<!ENTITY priorityMenu.label "Prioriti">
+<!ENTITY priorityMenu.accesskey "i">
+<!ENTITY priorityButton.title "Prioriti">
+<!ENTITY priorityButton.tooltiptext "Tukar prioriti mesej">
+<!ENTITY priorityButton.label "Prioriti:">
+<!ENTITY lowestPriorityCmd.label "Paling rendah">
+<!ENTITY lowestPriorityCmd.accesskey "r">
+<!ENTITY lowPriorityCmd.label "Rendah">
+<!ENTITY lowPriorityCmd.accesskey "d">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY normalPriorityCmd.accesskey "m">
+<!ENTITY highPriorityCmd.label "Tinggi">
+<!ENTITY highPriorityCmd.accesskey "i">
+<!ENTITY highestPriorityCmd.label "Paling tinggi">
+<!ENTITY highestPriorityCmd.accesskey "T">
+<!ENTITY fileCarbonCopyCmd.label "Hantar satu Salinan Kepada">
+<!ENTITY fileCarbonCopyCmd.accesskey "r">
+<!ENTITY fileHereMenu.label "Failkan Di sini">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Alatan">
+<!ENTITY tasksMenu.accesskey "A">
+<!ENTITY messengerCmd.label "Mel &amp; Kumpulan berita">
+<!ENTITY messengerCmd.accesskey "m">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "Buku Alamat">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "Tetapan Akaun">
+<!ENTITY accountManagerCmd2.accesskey "T">
+<!ENTITY accountManagerCmdUnix2.accesskey "T">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "Minimum">
+<!ENTITY bringAllToFront.label "Bawa Semua ke Hadapan">
+<!ENTITY zoomWindow.label "Zum">
+<!ENTITY windowMenu.label "Tetingkap">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "Hantar">
+<!ENTITY quoteButton.label "Petikan">
+<!ENTITY addressButton.label "Kenalan">
+<!ENTITY spellingButton.label "Ejaan">
+<!ENTITY saveButton.label "Simpan">
+<!ENTITY printButton.label "Cetak">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "Hantar mesej ini sekarang">
+<!ENTITY sendlaterButton.tooltip "Hantar mesej ini kemudian">
+<!ENTITY quoteButton.tooltip "Petik mesej terdahulu">
+<!ENTITY addressButton.tooltip "Pilih penerima dalam Buku Alamat">
+<!ENTITY spellingButton.tooltip "Semak ejaan pilihan atau seluruh mesej">
+<!ENTITY saveButton.tooltip "Simpan mesej ini">
+<!ENTITY cutButton.tooltip "Potong">
+<!ENTITY copyButton.tooltip "Salin">
+<!ENTITY pasteButton.tooltip "Tampal">
+<!ENTITY printButton.tooltip "Cetak mesej ini">
+
+<!-- Headers -->
+<!-- Headers -->
+<!ENTITY fromAddr.accesskey "r">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachmentBucketCloseButton.tooltip "Sorok anak tetingkap lampiran">
+
+<!-- Format Toolbar, imported from editorAppShell.xul -->
+<!ENTITY SmileButton.tooltip "Sisip wajah senyuman">
+<!ENTITY smiley1Cmd.label "Senyum">
+<!ENTITY smiley2Cmd.label "Berkerut">
+<!ENTITY smiley3Cmd.label "Kenyit">
+<!ENTITY smiley4Cmd.label "Jelir lidah">
+<!ENTITY smiley5Cmd.label "Ketawa">
+<!ENTITY smiley6Cmd.label "Sipu">
+<!ENTITY smiley7Cmd.label "Tak pasti">
+<!ENTITY smiley8Cmd.label "Terkejut">
+<!ENTITY smiley9Cmd.label "Cium">
+<!ENTITY smiley10Cmd.label "Jerit">
+<!ENTITY smiley11Cmd.label "Selamba">
+<!ENTITY smiley12Cmd.label "Mulut-berwang">
+<!ENTITY smiley13Cmd.label "Kaki-dalam-Mulut">
+<!ENTITY smiley14Cmd.label "Polos">
+<!ENTITY smiley15Cmd.label "Menangis">
+<!ENTITY smiley16Cmd.label "Bibir-Terkatup">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "Tiada Cadangan Ditemui">
+<!ENTITY spellCheckIgnoreWord.label "Abaikan Perkataan">
+<!ENTITY spellCheckIgnoreWord.accesskey "A">
+<!ENTITY spellCheckAddToDictionary.label "Tambah dalam Kamus">
+<!ENTITY spellCheckAddToDictionary.accesskey "m">
+<!ENTITY undo.label "Batal">
+<!ENTITY undo.accesskey "B">
+<!ENTITY cut.label "Potong">
+<!ENTITY cut.accesskey "t">
+<!ENTITY copy.label "Salin">
+<!ENTITY copy.accesskey "S">
+<!ENTITY paste.label "Tampal">
+<!ENTITY paste.accesskey "T">
+<!ENTITY pasteQuote.label "Tampal Sebagai Petikan">
+<!ENTITY pasteQuote.accesskey "P">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "Buka">
+<!ENTITY openAttachment.accesskey "B">
+<!ENTITY delete.label "Buang">
+<!ENTITY delete.accesskey "B">
+<!ENTITY removeAttachment.label "Buang Lampiran">
+<!ENTITY removeAttachment.accesskey "L">
+<!ENTITY renameAttachment.label "Namakan semula…">
+<!ENTITY renameAttachment.accesskey "S">
+<!ENTITY reorderAttachments.label "Susun semula Lampiran…">
+<!ENTITY reorderAttachments.accesskey "s">
+<!ENTITY removeAllAttachments.label "Buang Semua Lampiran">
+<!ENTITY removeAllAttachments.accesskey "g">
+<!ENTITY selectAll.label "Pilih Semua">
+<!ENTITY selectAll.accesskey "S">
+<!ENTITY attachCloud.label "Filelink…">
+<!ENTITY attachCloud.accesskey "i">
+<!ENTITY convertCloud.label "Tukar ke…">
+<!ENTITY convertCloud.accesskey "T">
+<!ENTITY cancelUpload.label "Batal Muat naik">
+<!ENTITY cancelUpload.accesskey "n">
+<!ENTITY convertRegularAttachment.label "Lampiran Lazim">
+<!ENTITY convertRegularAttachment.accesskey "L">
+<!ENTITY attachPage.label "Lampir Halaman Web…">
+<!ENTITY attachPage.accesskey "W">
+
+<!-- Attachment Pane Header Bar Context Menu -->
+<!-- LOCALIZATION NOTE (initiallyShowAttachmentPane.label):
+ Should use the same wording as startExpandedCmd.label
+ in msgHdrViewOverlay.dtd. -->
+<!ENTITY initiallyShowAttachmentPane.label "Papar Anak Tetingkap Lampiran Permulaan">
+<!ENTITY initiallyShowAttachmentPane.accesskey "P">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Tambah Kamus…">
+<!ENTITY spellAddDictionaries.accesskey "T">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "Kenalan">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "Sesuaikan Daripada Alamat…">
+<!ENTITY customizeFromAddress.accesskey "A">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "Kandungan mesej">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "Bahasa semakan ejaan">
+<!ENTITY encodingStatusPanel.tooltip "Pengekodan teks">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.dtd b/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..ec9967733a
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.dtd
@@ -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 sendProgress.dtd Main UI for Send Message Progress Dialog -->
+<!ENTITY sendDialog.title "Memproses Mesej">
+<!ENTITY status.label "Status:">
+<!ENTITY progress.label "Kemajuan:">
diff --git a/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.properties b/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..6d78e7616d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/messengercompose/sendProgress.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (titleSendMsgSubject):
+# %S will be replaced by the message subject.
+titleSendMsgSubject=Menghantar Mesej - %S
+titleSendMsg=Menghantar Mesej
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=Menyimpan Mesej - %S
+titleSaveMsg=Menyimpan Mesej
+
+# LOCALIZATION NOTE (percentMsg):
+# This string is used to format the text to the right of the progress meter.
+# %S will be replaced by the percentage of the file that has been saved.
+# %% will be replaced a single % sign.
+percentMsg=%S%%
+
+messageSent=Mesej anda telah dihantar.
+messageSaved=Mesej anda telah disimpan.
diff --git a/l10n-ms/mail/chrome/messenger/migration/migration.dtd b/l10n-ms/mail/chrome/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..edea52e884
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/migration/migration.dtd
@@ -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/. -->
+
+
+<!ENTITY migrationWizard.title "Bestari Import">
+
+<!ENTITY importFromWin.label "Import Pilihan, Tetapan Akaun, Buku Alamat, Tapis dan data lain daripada:">
+<!ENTITY importFromNonWin.label "Import Keutamaan, Tetapan Akaun, Buku Alamat, Tapis dan data lain daripada:">
+<!ENTITY importSourceNotFound.label "Tidak menemui data dalam aplikasi yang mahu diimport.">
+
+<!ENTITY importFromNothing.label "Jangan import apa-apa">
+<!ENTITY importFromNothing.accesskey "J">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 atau yang lebih baru">
+<!ENTITY importFromSeamonkey3.accesskey "S">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "Import Tetapan dan Folder Mel">
+<!ENTITY importItems.title "Item untuk Diimport">
+<!ENTITY importItems.label "Pilih item yang mahu diimport:">
+
+<!ENTITY migrating.title "Mengimport…">
+<!ENTITY migrating.label "Item berikut sedang diimport…">
+
+<!ENTITY selectProfile.title "Pilih Profil">
+<!ENTITY selectProfile.label "Profil berikut tersedia untuk diimport dari:">
+
+<!ENTITY done.title "Selesai Mengimport">
+<!ENTITY done.label "Item berikut telah berjaya diimport:">
diff --git a/l10n-ms/mail/chrome/messenger/migration/migration.properties b/l10n-ms/mail/chrome/messenger/migration/migration.properties
new file mode 100644
index 0000000000..33285efd05
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/migration/migration.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/.
+
+profileName_format=%S %S
+
+# Import Sources
+1_seamonkey=Keutamaan
+
+2_seamonkey=Tetapan Akaun
+2_outlook=Tetapan Akaun
+
+4_seamonkey=Buku Alamat
+4_outlook=Buku Alamat
+
+8_seamonkey=Latihan Mel Remeh
+
+16_seamonkey=Kata laluan Disimpan
+
+32_seamonkey=Data Lain
+
+64_seamonkey=Folder Kumpulan berita
+
+128_seamonkey=Folder Mel
+128_outlook=Folder Mel
diff --git a/l10n-ms/mail/chrome/messenger/mime.properties b/l10n-ms/mail/chrome/messenger/mime.properties
new file mode 100644
index 0000000000..620667cb01
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mime.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime to emit header display in HTML
+#
+
+# Mail subject
+## @name MIME_MHTML_SUBJECT
+## @loc None
+1000=Subjek
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=Komen-Dihantar semula
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=Tarikh-Dihantar semula
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Pengirim-Dihantar semula
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=Daripada-Dihantar semula
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=Kepada-Dihantar semula
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=CC-Dihantar semula
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=Tarikh
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Pengirim
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=Daripada
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=Balas-Kepada
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=Organisasi
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=Kepada
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=CC
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=Kumpulan berita
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=Susulan-Kepada
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=Rujukan
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=ID-Mesej
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=BCC
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=Pautan ke Dokumen
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>Info Dokumen:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=Lampiran
+
+# default attachment name
+## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
+## @loc
+# LOCALIZATION NOTE (1040): Do not translate "%s" below.
+# Place the %s where you wish the part number of the attachment to appear
+1040=Bahagian %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- Mesej Asal --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=Diringkaskan!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=Mesej ini melebihi Saiz Mesej Maksimum yang ditetapkan dalam Tetapan Akaun, jadi kami hanya memuat turun beberapa baris pertama daripada pelayan mel.
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=Tidak Dimuat turun
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Hanya pengepala mesej ini dimuat turun daripada pelayan mel.
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=Muat turun bahagian lain mesej ini.
diff --git a/l10n-ms/mail/chrome/messenger/mimeheader.properties b/l10n-ms/mail/chrome/messenger/mimeheader.properties
new file mode 100644
index 0000000000..1327c94201
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/mimeheader.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime for header display in XML & HTML
+#
+TO=Kepada
+BCC=BCC
+CC=CC
+DATE=Tarikh
+DISTRIBUTION=Pengedaran
+FCC=FCC
+FOLLOWUP-TO=Susulan-Kepada
+FROM=Daripada
+STATUS=Status
+LINES=Baris
+MESSAGE-ID=ID-Mesej
+MIME-VERSION=Versi-MIME
+NEWSGROUPS=Kumpulan berita
+ORGANIZATION=Organisasi
+REFERENCES=Rujukan
+REPLY-TO=Balas-Kepada
+RESENT-COMMENTS=Komen-Dihantar semula
+RESENT-DATE=Tarikh-Dihantar semula
+RESENT-FROM=Daripada-Dihantar semula
+RESENT-MESSAGE-ID=ID-Mesej-Dihantar semula
+RESENT-SENDER=Pengirim-Dihantar semula
+RESENT-TO=Kepada-Dihantar semula
+RESENT-CC=CC-Dihantar semula
+SENDER=Pengirim
+SUBJECT=Subjek
+APPROVED-BY=Diluluskan-Oleh
+USER-AGENT=Ejen-Pengguna
+FILENAME=Nama fail
diff --git a/l10n-ms/mail/chrome/messenger/msgAccountCentral.dtd b/l10n-ms/mail/chrome/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..f8c0c732fc
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/msgAccountCentral.dtd
@@ -0,0 +1,26 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY emailSectionHdr.label "E-mel">
+<!ENTITY readMsgsLink.label "Mesej yang dibaca">
+<!ENTITY composeMsgLink.label "Tulis mesej baru">
+
+<!ENTITY newsSectionHdr.label "Kumpulan berita">
+<!ENTITY subscribeNewsLink.label "Urus langganan kumpulan berita">
+
+<!ENTITY feedsSectionHdr.label "Suapan">
+<!ENTITY subscribeFeeds.label "Urus langganan">
+
+<!ENTITY chat.label "Sembang">
+
+<!ENTITY accountsSectionHdr.label "Akaun">
+<!ENTITY subscribeImapFolders.label "Urus langganan folder">
+<!ENTITY settingsLink.label "Papar tetapan untuk akaun ini">
+<!ENTITY setupNewAcct.label "Menetapkan akaun:">
+
+<!ENTITY advFeaturesSectionHdr.label "Ciri Lanjutan">
+<!ENTITY searchMsgsLink.label "Cari mesej">
+<!ENTITY filtersLink.label "Urus tapisan mesej">
+<!ENTITY junkSettings.label "Tetapan mel remeh">
+<!ENTITY offlineLink.label "Tetapan luar talian">
diff --git a/l10n-ms/mail/chrome/messenger/msgHdrViewOverlay.dtd b/l10n-ms/mail/chrome/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..0fb75eb373
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/msgHdrViewOverlay.dtd
@@ -0,0 +1,109 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY toField4.label "Kepada">
+<!ENTITY fromField4.label "Daripada">
+<!ENTITY senderField4.label "Pengirim">
+<!ENTITY author.label "Pengarang">
+<!ENTITY organizationField4.label "Organisasi">
+<!ENTITY replyToField4.label "Balas kepada">
+
+<!ENTITY subjectField4.label "Subjek">
+<!ENTITY ccField4.label "Cc">
+<!ENTITY bccField4.label "Bcc">
+<!ENTITY newsgroupsField4.label "Kumpulan berita">
+<!ENTITY followupToField4.label "Susulan kepada">
+<!ENTITY tagsHdr4.label "Tag">
+<!ENTITY dateField4.label "Tarikh">
+<!ENTITY userAgentField4.label "Ejen pengguna">
+<!ENTITY referencesField4.label "Rujukan">
+<!ENTITY messageIdField4.label "ID Mesej">
+<!ENTITY inReplyToField4.label "Balasan kepada">
+<!ENTITY originalWebsite4.label "Laman web">
+
+<!ENTITY hdrArchiveButton1.label "Arkib">
+<!ENTITY hdrArchiveButton1.tooltip "Arkib mesej ini">
+<!ENTITY hdrSmartReplyButton1.label "Balasan Bijak">
+<!ENTITY hdrReplyButton1.label "Balas">
+<!ENTITY hdrReplyButton2.tooltip "Balas kepada pengirim mesej ini">
+<!ENTITY hdrReplyAllButton1.label "Balas Semua">
+<!ENTITY hdrReplyAllButton1.tooltip "Balas kepada pengirim dan semua penerima">
+<!ENTITY hdrReplyListButton1.label "Senarai Balasan">
+<!ENTITY hdrReplyListButton1.tooltip "Balas kepada kenalan dalam senarai mel">
+<!ENTITY hdrFollowupButton1.label "Susulan">
+<!ENTITY hdrFollowupButton1.tooltip "Siar susulan kepada kumpulan berita ini">
+<!ENTITY hdrForwardButton1.label "Kirim semula">
+<!ENTITY hdrForwardButton1.tooltip "Kirim semula mesej ini">
+<!ENTITY hdrJunkButton1.label "Mel Remeh">
+<!ENTITY hdrJunkButton1.tooltip "Tandakan mesej ini sebagai remeh">
+<!ENTITY hdrTrashButton1.label "Buang">
+<!ENTITY hdrTrashButton1.tooltip "Buang mesej ini">
+
+<!ENTITY hdrViewToolbarShowFull.label "Papar Ikon dan Teks">
+<!ENTITY hdrViewToolbarShowFull.accesskey "a">
+<!ENTITY hdrViewToolbarShowIcons.label "Papar Ikon Sahaja">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "I">
+<!ENTITY hdrViewToolbarShowText.label "Papar Teks Sahaja">
+<!ENTITY hdrViewToolbarShowText.accesskey "T">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "Sentiasa Papar Balasan kepada Pengirim">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "B">
+
+<!ENTITY otherActionsButton2.label "Selanjutnya">
+<!ENTITY otherActionsButton.tooltip "Tindakan selanjutnya">
+<!ENTITY otherActionsOpenConversation1.label "Buka dalam Perbualan">
+<!ENTITY otherActionsOpenConversation1.accesskey "B">
+<!ENTITY otherActionsOpenInNewWindow1.label "Buka dalam Tetingkap Baru">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "T">
+<!ENTITY otherActionsOpenInNewTab1.label "Buka dalam Tab Baru">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "T">
+<!ENTITY markAsReadMenuItem1.label "Tandakan sebagai Dibaca">
+<!ENTITY markAsReadMenuItem1.accesskey "D">
+<!ENTITY markAsUnreadMenuItem1.label "Tandakan sebagai Belum Dibaca">
+<!ENTITY markAsUnreadMenuItem1.accesskey "d">
+<!ENTITY saveAsMenuItem1.label "Simpan sebagai…">
+<!ENTITY saveAsMenuItem1.accesskey "S">
+<!ENTITY viewSourceMenuItem1.label "Papar Sumber">
+<!ENTITY viewSourceMenuItem1.accesskey "P">
+<!ENTITY otherActionsPrint1.label "Cetak…">
+<!ENTITY otherActionsPrint1.accesskey "C">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "Papar Anak Tetingkap Lampiran Permulaan">
+<!ENTITY startExpandedCmd.accesskey "P">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "Buka">
+<!ENTITY openAttachmentCmd.accesskey "B">
+<!ENTITY saveAsAttachmentCmd.label "Simpan Sebagai…">
+<!ENTITY saveAsAttachmentCmd.accesskey "S">
+<!ENTITY detachAttachmentCmd.label "Buang…">
+<!ENTITY detachAttachmentCmd.accesskey "B">
+<!ENTITY deleteAttachmentCmd.label "Buang">
+<!ENTITY deleteAttachmentCmd.accesskey "g">
+<!ENTITY openAllAttachmentsCmd.label "Buka Semua…">
+<!ENTITY openAllAttachmentsCmd.accesskey "B">
+<!ENTITY saveAllAttachmentsCmd.label "Simpan Semua…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "S">
+<!ENTITY detachAllAttachmentsCmd.label "Buang Semua…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "B">
+<!ENTITY deleteAllAttachmentsCmd.label "Buang Semua…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "e">
+
+<!ENTITY openAttachment.tooltip "Buka fail lampiran">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "Simpan">
+<!ENTITY saveAttachmentButton1.tooltip "Simpan fail lampiran">
+<!ENTITY saveAllAttachmentsButton1.label "Simpan Semua">
+<!ENTITY saveAllAttachmentsButton1.tooltip "Simpan semua fail lampiran">
+
+<!ENTITY copyLinkCmd.label "Salin Lokasi Pautan">
+<!ENTITY copyLinkCmd.accesskey "S">
+
+<!ENTITY CopyMessageId.label "Salin ID-Mesej">
+<!ENTITY CopyMessageId.accesskey "S">
+<!ENTITY OpenMessageForMsgId.label "Buka Mesej Untuk ID">
+<!ENTITY OpenMessageForMsgId.accesskey "B">
+<!ENTITY OpenBrowserWithMsgId.label "Buka Pelayar Dengan ID-Mesej">
+<!ENTITY OpenBrowserWithMsgId.accesskey "B">
diff --git a/l10n-ms/mail/chrome/messenger/msgSynchronize.dtd b/l10n-ms/mail/chrome/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..6684dc25b9
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/msgSynchronize.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOffline.xul-->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul-->
+
+<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml-->
+
+<!ENTITY MsgSynchronize.label "Muat turun dan Sync Mesej">
+<!ENTITY MsgSelect.label "Item untuk Penggunaan Luar talian">
+<!ENTITY MsgSyncDesc.label "Jika anda sudah pilih folder mel atau kumpulan berita untuk penggunaan luar talian, anda boleh memuat turun dan/atau selaraskan sekarang. Jika belum, gunakan butang &quot;Pilih&quot; untuk memilih folder mel dan kumpulan berita untuk penggunaan luar talian.">
+<!ENTITY MsgSyncDirections.label "Muat turun dan/atau selaraskan yang berikut:">
+<!ENTITY syncTypeMail.label "Mesej mel">
+<!ENTITY syncTypeMail.accesskey "M">
+<!ENTITY syncTypeNews.label "Mesej kumpulan berita">
+<!ENTITY syncTypeNews.accesskey "M">
+<!ENTITY sendMessage.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY sendMessage.accesskey "H">
+<!ENTITY workOffline.label "Kerja luar talian selepas muat turun dan/atau sync selesai">
+<!ENTITY workOffline.accesskey "K">
+<!ENTITY selectButton.label "Pilih…">
+<!ENTITY selectButton.accesskey "P">
+<!ENTITY MsgSelectDesc.label "Pilih folder mel dan kumpulan berita untuk penggunaan luar talian.">
+<!ENTITY MsgSelectInd.label "Muat turun">
+<!ENTITY MsgSelectItems.label "Folder dan Kumpulan berita">
diff --git a/l10n-ms/mail/chrome/messenger/msgViewPickerOverlay.dtd b/l10n-ms/mail/chrome/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..920d82d97c
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/msgViewPickerOverlay.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY viewPicker.label "Papar:">
+<!ENTITY viewPicker.accesskey "p">
+<!ENTITY viewAll.label "Semua">
+<!ENTITY viewAll.accesskey "S">
+<!ENTITY viewUnread.label "Belum Dibaca">
+<!ENTITY viewUnread.accesskey "B">
+<!ENTITY viewNotDeleted.label "Tidak Dibuang">
+<!ENTITY viewNotDeleted.accesskey "D">
+<!ENTITY viewTags.label "Tag">
+<!ENTITY viewTags.accesskey "T">
+<!ENTITY viewCustomViews.label "Paparan Penyesuaian">
+<!ENTITY viewCustomViews.accesskey "P">
+<!ENTITY viewVirtualFolder.label "Simpan Paparan sebagai Folder…">
+<!ENTITY viewVirtualFolder.accesskey "S">
+<!ENTITY viewCustomizeView.label "Penyesuaian…">
+<!ENTITY viewCustomizeView.accesskey "P">
diff --git a/l10n-ms/mail/chrome/messenger/msgmdn.properties b/l10n-ms/mail/chrome/messenger/msgmdn.properties
new file mode 100644
index 0000000000..2762a9da3e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/msgmdn.properties
@@ -0,0 +1,18 @@
+# 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/.
+## Msg Mdn Report strings
+MsgMdnDisplayed=Nota: Resit Pemberitahu Serahan ini hanya memperakui bahawa mesej telah dipaparkan dalam komputer penerima. Tiada jaminan bahawa penerima telah membaca atau memahami kandungan mesej.
+MsgMdnDispatched=Mesej ini samada telah dicetak, difaks, atau dikirim semula tanpa dipaparkan kepada penerima. Tiada jaminan bahawa penerima akan membaca mesej ini kemudian.
+MsgMdnProcessed=Mesej ini telah diproses oleh klien mel penerima tanpa dipaparkan. Tiada jaminan bahawa mesej ini akan dibaca kemudian.
+MsgMdnDeleted=Mesej telah dihapuskan. Penerima mungkin sudah atau belum melihatnya. Mereka mungkin membatalkan menghapuskan mesej dan membacanya kemudian.
+MsgMdnDenied=Penerima mesej tidak mahu menghantar resit pemberitahu serahan kepada anda.
+MsgMdnFailed=Ada kegagalan. Resit pemberitahu serahan yang sepatutnya tidak boleh dijana atau dihantar kepada anda.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=Ini adalah Resit Pemberitahu Serahan untuk mel yang anda hantar kepada %S.
+MdnDisplayedReceipt=Resit Pemberitahu Serahan (dipaparkan)
+MdnDispatchedReceipt=Resit Pemberitahu Serahan (dihantar)
+MdnProcessedReceipt=Resit Pemberitahu Serahan (diproses)
+MdnDeletedReceipt=Resit Pemberitahu Serahan (dibuang)
+MdnDeniedReceipt=Resit Pemberitahu Serahan (ditolak)
+MdnFailedReceipt=Resit Pemberitahu Serahan (gagal)
diff --git a/l10n-ms/mail/chrome/messenger/multimessageview.dtd b/l10n-ms/mail/chrome/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..72ac185903
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/multimessageview.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Ringkasan Mesej">
+<!ENTITY selectedmessages.label "Mesej yang Dipilih">
+<!ENTITY archiveButton.label "Arkib">
+<!ENTITY deleteButton.label "Buang">
diff --git a/l10n-ms/mail/chrome/messenger/multimessageview.properties b/l10n-ms/mail/chrome/messenger/multimessageview.properties
new file mode 100644
index 0000000000..798449bd6e
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/multimessageview.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/.
+
+# LOCALIZATION NOTE (numConversations): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations.
+numConversations=#1 perbualan
+
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=#1+ perbualan
+
+# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of messages in a thread. #1 is the number of messages.
+numMessages=#1 mesej
+
+# LOCALIZATION NOTE (numUnread): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of unread messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of unread messages.
+numUnread=, #1 belum dibaca
+
+# LOCALIZATION NOTE (numIgnored): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages.
+numIgnored=, #1 diabaikan
+
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=, #1 + diabaikan
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(tiada subjek)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=Mesej berikut menggunakan ruang #1.
+
+# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total
+# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use
+# this when we didn't actually scan the entire list of selected messages, so
+# this is a *minimum* size.
+messagesTotalSizeMoreThan=Mesej berikut menggunakan ruang melebihi #1.
+
+# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not
+# all of the selected messages were summarized. #1 is the total number of
+# messages selected and #2 is the number of messages actually shown.
+maxCountExceeded= (Nota: #1 mesej yang dipilih, #2 akan dipaparkan dahulu)
+
diff --git a/l10n-ms/mail/chrome/messenger/newFolderDialog.dtd b/l10n-ms/mail/chrome/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..bfc29770e2
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/newFolderDialog.dtd
@@ -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/. -->
+
+<!-- Labels -->
+<!ENTITY newFolderDialog.title "Folder Baru">
+<!ENTITY name.label "Nama:">
+<!ENTITY name.accesskey "m">
+<!ENTITY description.label "Cipta sebagai sub-folder kepada:">
+<!ENTITY description.accesskey "k">
+<!ENTITY folderRestriction1.label "Pelayan ini menghadkan dua jenis folder khas.">
+<!ENTITY folderRestriction2.label "Izinkan folder baru untuk mengandungkan:">
+<!ENTITY foldersOnly.label "Folder Sahaja">
+<!ENTITY messagesOnly.label "Mesej Sahaja">
+<!ENTITY accept.label "Cipta Folder">
+<!ENTITY accept.accesskey "p">
diff --git a/l10n-ms/mail/chrome/messenger/news.properties b/l10n-ms/mail/chrome/messenger/news.properties
new file mode 100644
index 0000000000..aa3f2bc0bb
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/news.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=Muat turun Pengepala
+downloadHeadersInfoText=Ada %S pengepala mesej baru untuk dimuat turun bagi kumpulan berita ini.
+cancelDisallowed=Mesej ini bukan milik anda. Anda hanya boleh batalkan post sendiri, bukan yang disiarkan oleh orang lain.
+cancelConfirm=Adakah anda pasti mahu membatalkan mesej ini?
+messageCancelled=Mesej dibatalkan.
+enterUserPassTitle=Nama Pengguna Pelayan Berita dan Kata laluan Diperlukan
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=Sila masukkan nama pengguna dan kata laluan untuk %S:
+# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set
+# the password for; %2$S is the server from which the newsgroup is accessed
+enterUserPassGroup=Sila masukkan nama pengguna dan kata laluan untuk %1$S dalam %2$S:
+okButtonText=Muat turun
+
+noNewMessages=Tiada mesej baru pada pelayan.
+# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current
+# header being downloaded, %2$S is the number of headers to be downloaded, and
+# %3$S is the newsgroup whose headers are being downloaded.
+newNewsgroupHeaders=Memuat turun %1$S daripada %2$S pengepala untuk %3$S
+# LOCALIZATION NOTE (newNewsgroupFilteringHeaders): %1$S is the name of the MIME
+# header being filtered on, %2$S is the number of the current header being
+# downloaded, %3$S is the number of headers to be downloaded, and %4$S is the
+# newsgroup whose headers are being downloaded.
+newNewsgroupFilteringHeaders=Mendapatkan pengepala untuk menapis: %1$S (%2$S/%3$S) dalam %4$S
+downloadingArticles=Memuat turun artikel %S-%S
+bytesReceived=Muat turun kumpulan berita: %S diterima (%SKB dibaca dalam %S/saat)
+downloadingArticlesForOffline=Memuat turun artikel %S-%S dalam %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=Kumpulan berita %1$S mungkin tidak wujud dalam hos %2$S. Adakah anda mahu membatalkan langganan?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=Adakah anda mahu melanggan %1$S?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=Ada ralat (NNTP) Berita:
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=Ada ralat Berita. Pengimbasan semua kumpulan berita tidak lengkap. Cuba Papar Semua Kumpulan berita sekali lagi
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=Ada ralat pengesahan. Cuba masukkan nama dan/atau kata laluan anda sekali lagi.
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=Ada ralat komunikasi. Cuba sambung semula. Ralat TCP:
diff --git a/l10n-ms/mail/chrome/messenger/newsError.dtd b/l10n-ms/mail/chrome/messenger/newsError.dtd
new file mode 100644
index 0000000000..e38e7ab4e8
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/newsError.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page.
+ Not generally visible. -->
+<!ENTITY newsError.title "Masalah Memuatkan Artikel">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "Artikel tidak ditemui">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "Pelayan kumpulan berita tidak dapat mencari artikel.">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "Pelayan kumpulan berita memberikan respons:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "Mungkin artikel sudah lapuk?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "Cuba cari artikel:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "Buang Semua Artikel Lapuk">
diff --git a/l10n-ms/mail/chrome/messenger/offline.properties b/l10n-ms/mail/chrome/messenger/offline.properties
new file mode 100644
index 0000000000..e0d5fd15e3
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/offline.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Messages Prompt
+downloadMessagesWindowTitle1=Muat turun Mesej
+downloadMessagesLabel1=Adakah anda mahu memuat turun mesej untuk penggunaan luar talian?
+downloadMessagesCheckboxLabel1=Tanya sebelum saya ke luar talian
+downloadMessagesNow2=&Muat turun Sekarang
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=Mesej Tidak Dihantar
+sendMessagesLabel2=Adakah anda mahu hantar mesej yang belum dihantar sekarang?
+sendMessagesCheckboxLabel1=Tanya sebelum saya ke atas talian
+sendMessagesNow2=&Hantar Sekarang
+
+processMessagesLater2=&Nanti
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=Dapatkan Mesej
+getMessagesOfflineLabel1=Anda di luar talian buat masa ini. Adakah anda mahu ke atas talian untuk mendapatkan mesej baru?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=Mesej Tidak Dihantar
+sendMessagesOfflineLabel1=Anda di luar talian buat masa ini. Adakah anda mahu ke atas talian untuk menghantar mesej yang belum dihantar?
+
+offlineTooltip=Anda sedang berada di luar talian.
+onlineTooltip=Anda sedang berada di atas talian.
diff --git a/l10n-ms/mail/chrome/messenger/offlineStartup.properties b/l10n-ms/mail/chrome/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..ea30089c9b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/offlineStartup.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/.
+
+title=Kerja Atas Talian
+desc=Adakah anda mahu ke atas talian sekarang?\n\n(Jika anda pilih untuk bekerja luar talian, dan mahu ke atas talian nanti - pilih 'Luar talian' dalam menu 'Fail', dan buang tanda pada 'Kerja Luar talian'.)
+workOnline=Kerja Atas Talian
+workOffline=Kerja Luar Talian
diff --git a/l10n-ms/mail/chrome/messenger/outlookImportMsgs.properties b/l10n-ms/mail/chrome/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..74cc4b7d0f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/outlookImportMsgs.properties
@@ -0,0 +1,82 @@
+# 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 are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the Outlook import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OUTLOOKIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook
+
+# Description of import module
+## @name OUTLOOKIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook"
+2010=Mel, buku alamat dan tetapan Outlook
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=Peti masuk %S, mengimport %d mesej
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Parameter rosak tidak boleh mengimport peti masuk.
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=Ralat mengimport peti mel %S, tidak semua mesej dapat diimport daripada peti mel ini.
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Buku alamat Outlook
+
+# Description
+## @name OUTLOOKIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2006=Buku alamat %S yang diimport
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=Parameter rosak tidak boleh mengimport buku alamat.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Ralat mengakses fail buku alamat %S.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
diff --git a/l10n-ms/mail/chrome/messenger/preferences/applicationManager.properties b/l10n-ms/mail/chrome/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..108315445f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/preferences/applicationManager.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/.
+
+# LOCALIZATION NOTE
+# in descriptionApplications, %S will be replaced by one of the 3 following strings
+descriptionApplications=Aplikasi berikut boleh digunakan untuk mengendalikan %S.
+
+handleProtocol=Pautan %S
+handleFile=Kandungan %S
+
+descriptionWebApp=Aplikasi web ini dihoskan di:
+descriptionLocalApp=Aplikasi ini berada di:
diff --git a/l10n-ms/mail/chrome/messenger/preferences/applications.properties b/l10n-ms/mail/chrome/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..d30e51c2e2
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/preferences/applications.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 (dialog_removeAccount):
+# %S will be replaced with the user-defined name of a storage account.
+dialog_removeAccount=Adakah anda pasti mahu menghapuskan akaun "%S"?
+
diff --git a/l10n-ms/mail/chrome/messenger/preferences/messagestyle.properties b/l10n-ms/mail/chrome/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..a0ea3eedca
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/preferences/messagestyle.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/.
+
+# Content of preview conversation for chat message styles
+default=Piawai
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=Hai! :-)
+message2=Apa khabar?
+message3=Saya sedang mencuba Thunderbird! ;-)
diff --git a/l10n-ms/mail/chrome/messenger/preferences/preferences.properties b/l10n-ms/mail/chrome/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..14e4289d1d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/preferences/preferences.properties
@@ -0,0 +1,96 @@
+# 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/.
+
+#### Junk
+confirmResetJunkTrainingTitle=Sahkan
+confirmResetJunkTrainingText=Adakah anda pasti mahu mengeset semula data latihan tapisan yang boleh diubah?
+
+#### Downloads
+desktopFolderName=Desktop
+myDownloadsFolderName=Muat turun Saya
+chooseAttachmentsFolderTitle=Pilih Folder
+
+#### 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…
+alwaysAsk=Sentiasa tanya
+delete=Buang Tindakan
+confirmDeleteTitle=Buang Tindakan
+confirmDeleteText=Adakah anda pasti mahu menghapuskan tindakan ini?
+
+# LOCALIZATION NOTE (typeDescriptionWithDetails):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = details (see below, for example "(application/pdf: .pdf, .pdfx)")
+typeDescriptionWithDetails=%1$S %2$S
+
+# LOCALIZATION NOTE (typeDetailsWithTypeOrExt):
+# %1$S = type or extensions (for example "application/pdf", or ".pdf, .pdfx")
+typeDetailsWithTypeOrExt=(%1$S)
+
+# LOCALIZATION NOTE (typeDetailsWithTypeAndExt):
+# %1$S = type (for example "application/pdf")
+# %2$S = extensions (for example ".pdf, .pdfx")
+typeDetailsWithTypeAndExt=(%1$S: %2$S)
+
+#### Sound Notifications
+soundFilePickerTitle=Pilih Bunyian
+
+#### Remote content
+imagepermissionstext=Anda boleh tentukan laman web yang diizinkan untuk memuatkan imej dan kandungan jauh lain. Anda juga boleh izinkan semua kandungan jauh berdasarkan kepada alamat e-mel pengirim. Taipkan alamat laman atau e-mel yang anda mahu urus dan kemudian klik Sekat atau Izinkan.
+imagepermissionstitle=Pengecualian - Kandungan Jauh
+
+#### Cookies
+cookiepermissionstitle=Pengecualian - Kuki
+cookiepermissionstext=Anda boleh tentukan laman web yang sentiasa atau tidak dizinkan menggunakan kuki. Taip alamat laman yang anda mahu urus dan kemudian klik Sekat, Izinkan Sesi Ini, atau Izinkan.
+
+#### Cookie Viewer
+hostColon=Hos:
+domainColon=Domain:
+forSecureOnly=Sambungan dienkripsi sahaja
+forAnyConnection=Sebarang jenis sambungan
+expireAtEndOfSession=Pada akhir sesi
+
+noCookieSelected=<tiada kuki dipilih>
+cookiesAll=Kuki berikut disimpan dalam komputer anda:
+cookiesFiltered=Kuki berikut sepadan dengan carian anda:
+# LOCALIZATION NOTE (removeSelectedCookies):
+# Semicolon-separated list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# If you need to display the number of selected elements in your language,
+# you can use #1 in your localization as a placeholder for the number.
+# For example this is the English string with numbers:
+# removeSelectedCookies=Remove #1 Selected;Remove #1 Selected
+removeSelectedCookies=Buang Yang Dipilih
+defaultUserContextLabel=Tiada
+
+####Preferences::Advanced::Network
+#LOCALIZATION NOTE: The next string is for the disk usage of the cache.
+# e.g., "Your cache is currently using 200 MB"
+# %1$S = size
+# %2$S = unit (MB, KB, etc.)
+actualDiskCacheSize=Cache kini menggunakan %1$S %2$S daripada ruang cakera
+actualDiskCacheSizeCalculated=Mengira saiz cache…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=Piawai (%S)
+labelDefaultFontUnnamed=Piawai
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=Lokaliti aplikasi: %S
+appLocale.accesskey=p
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=Lokaliti tetapan wilayah: %S
+rsLocale.accesskey=y
+
diff --git a/l10n-ms/mail/chrome/messenger/prefs.properties b/l10n-ms/mail/chrome/messenger/prefs.properties
new file mode 100644
index 0000000000..c6cce2d57d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/prefs.properties
@@ -0,0 +1,90 @@
+# 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 are used by the Account Wizard
+#
+enterValidEmail=Sila masukkan alamat e-mel yang sah.
+accountNameExists=Akaun dengan nama ini sudah wujud. Sila masukkan nama akaun yang lain.
+accountNameEmpty=Nama akaun tidak boleh kosong.
+modifiedAccountExists=Akaun dengan nama pengguna dan nama pelayan ini sudah wujud. Sila masukkan nama pengguna dan/atau nama pelayan yang lain.
+userNameChanged=Nama Pengguna Anda sudah dikemaskini. Anda juga perlu kemaskini Alamat E-mel dan/atau Nama Pengguna yang dikaitkan dengan akaun ini.
+serverNameChanged=Tetapan nama pelayan telah diubah, Pastikan folder yang digunakan oleh penapis wujud dalam pelayan baru.
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=Tetapan akaun Mel remeh "%1$S" mungkin ada masalah. Adakah anda mahu semak semula sebelum menyimpan Tetapan Akaun?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S perlu dimulakan semula sekarang supaya perubahan diterapkan kepada tetapan direktori Lokal.
+localDirectoryRestart=Mula semula
+userNameEmpty=Nama pengguna tidak boleh kosong.
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=Laluan Direktori Lokal "%1$S" tidak sah. Silih pilih direktori yang lain.
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=Laluan Direktori Lokal "%1$S" tidak sesuai untuk storan mesej. Silih pilih direktori yang lain.
+# if the user chooses to cancel the wizard when no accounts are there throw a message
+# LOCALIZATION NOTE (cancelWizard)
+# do not localize "\n\n"
+cancelWizard=Adakah anda pasti mahu keluar daripada Bestari Akaun?\n\nJika anda keluar, apa-apa maklumat yang anda masukkan akan hilang dan akaun tidak dicipta.
+accountWizard=Bestari Akaun
+WizardExit=Keluar
+WizardContinue=Batal
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=Sila masukkan nama pelayan yang sah.
+failedRemoveAccount=Gagal menghapuskan akaun ini.
+#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
+accountName=%1$S - %2$S
+
+# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
+confirmDeferAccountWarning=Jika anda simpan akaun mel baru ini dalam Peti Masuk akaun yang lain, anda tidak lagi akan dapat mengakses e-mel yang sudah dimuat turun untuk akaun ini. Jika anda ada mel dalam akaun ini, sila salin dahulu ke dalam akaun lain.\n\nJika anda ada penapis yang menapis mel ke dalam akaun ini, anda perlu nyahaktifkan atau tukar folder destinasi. Jika ada folder khas dalam akaun ini (Dihantar, Draf, Templat, Arkib, Mel Remeh), anda perlu pindahkan ke dalam akaun lain.\n\nAdakah anda masih mahu simpan e-mel akaun ini dalam akaun lain?
+confirmDeferAccountTitle=Tangguhkan Akaun?
+
+directoryAlreadyUsedByOtherAccount=Direktori yang ditentukan dalam tetapan Direktori Lokal sudah digunakan oleh akaun "%S". Sila pilih direktori yang lain.
+directoryParentUsedByOtherAccount=Direktori induk yang ditentukan dalam tetapan Direktori Lokal sudah digunakan oleh akaun "%S". Sila pilih direktori yang lain.
+directoryChildUsedByOtherAccount=Sub-direktori untuk direktori yang dinyatakan dalam tetapan Direktori Lokal telah digunakan oleh akaun "%S". Silih pilih direktori yang lain.
+#Provide default example values for sample email address
+exampleEmailUserName=pengguna
+exampleEmailDomain=example.net
+emailFieldText=Alamat E-mel:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=Masukkan alamat e-mel anda. Ini adalah alamat yang akan digunakan oleh pengirim untuk menghantar e-mel kepada anda (sebagai contohnya, "%1$S@%2$S").
+#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
+customizedEmailText=Masukkan %1$S %2$S (sebagai contoh, jika alamat e-mel %1$S ialah "%3$S", %2$S anda ialah "%4$S").
+
+# account manager stuff
+prefPanel-server=Tetapan Pelayan
+prefPanel-copies=Salinan & Folder
+prefPanel-synchronization=Penyelarasan & Storan
+prefPanel-diskspace=Ruang Cakera
+prefPanel-addressing=Karangan & Alamat
+prefPanel-junk=Tetapan Mel Remeh
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=Pelayan Keluar (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=Identiti untuk %1$S
+
+identityDialogTitleAdd=Identiti Baru
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Edit %S
+
+identity-edit-req=Anda mesti tentukan alamat e-mel yang sah untuk identiti ini.
+identity-edit-req-title=Ralat Mencipta Identiti
+
+## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
+# and should be put on a new line. The new line is produced with the "\n" string.
+identity-delete-confirm=Adakah anda pasti mahu menghapuskan identiti\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=Menghapuskan identiti %S
+identity-delete-confirm-button=Buang
+
+choosefile=Pilih fail
+
+forAccount=Untuk akaun "%S"
+
+removeFromServerTitle=Sahkan supaya mesej dihapuskan secara kekal dan automatik
+removeFromServer=Tetapan ini akan menghapuskan mesej lama secara kekal daripada pelayan jauh DAN storan lokal anda. Adakah anda pasti mahu meneruskan?
+
+confirmSyncChangesTitle=Sahkan perubahan penyelarasan
+confirmSyncChanges=Tetapan Penyelarasan Mesej telah diubah.\n\n Adakah anda mahu menyimpannya?
+confirmSyncChangesDiscard=Buang
+
diff --git a/l10n-ms/mail/chrome/messenger/quickFilterBar.dtd b/l10n-ms/mail/chrome/messenger/quickFilterBar.dtd
new file mode 100644
index 0000000000..9117504cfe
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/quickFilterBar.dtd
@@ -0,0 +1,269 @@
+<!-- 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 (quickFilterBar.toggleBarVisibility.menu.label):
+ The label to display for the "View... Toolbars..." menu item that controls
+ whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.menu.label
+ "Bar Tapisan Pantas">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.menu.accesskey):
+ The access key for the "View... Toolbars..." menu item label that controls
+ whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.menu.accesskey
+ "P">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.appmenu.label):
+ The label to display for the "App Menu... Preferences..." menu item that
+ controls whether the quick filter bar is visible.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.appmenu.label
+ "Bar Tapisan Pantas">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.toggleBarVisibility.button.tooltip):
+ The tooltip to display when hovering over the button on the tab bar that
+ toggles the visibility of the quick filter bar.
+ -->
+<!ENTITY quickFilterBar.toggleBarVisibility.button.tooltip
+ "Togol bar tapisan pantas">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.sticky.tooltip):
+ The tooltip to display when the user hovers over the sticky button
+ (currently displayed as a push-pin). When active, the sticky button
+ causes the current filter settings to be retained when the user changes
+ folders or opens new tabs. (When inactive, only the state of the text
+ filters are propagated between folder changes and when opening new tabs.)
+ -->
+<!ENTITY quickFilterBar.sticky.tooltip
+ "Teruskan menapis apabila bertukar folder">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.unread.label):
+ The label for the filter button that causes us to filter results to only
+ include unread messages.
+ -->
+<!ENTITY quickFilterBar.unread.label
+ "Belum Dibaca">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.unread.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include unread messages.
+ -->
+<!ENTITY quickFilterBar.unread.tooltip
+ "Papar mesej yang belum dibaca sahaja">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.starred.label):
+ The label for the filter button that causes us to filter results to only
+ include messages that have been starred/flagged.
+ -->
+<!ENTITY quickFilterBar.starred.label
+ "Berbintang">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.starred.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages that have been starred/flagged.
+ -->
+<!ENTITY quickFilterBar.starred.tooltip
+ "Papar mesej berbintang sahaja">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.inaddrbook.label):
+ The label for the filter button that causes us to filter results to only
+ include messages from contacts in one of the user's non-remote address
+ books.
+ -->
+<!ENTITY quickFilterBar.inaddrbook.label
+ "Kenalan">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.inaddrbook.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages from contacts in one of the user's non-remote address
+ books.
+ -->
+<!ENTITY quickFilterBar.inaddrbook.tooltip
+ "Papar mesej daripada kenalan dalam buku alamat sahaja">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.tags.label):
+ The label for the filter button that causes us to filter results to only
+ include messages with at least one tag on them.
+ -->
+<!ENTITY quickFilterBar.tags.label
+ "Tag">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.tags.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages with at least one tag on them.
+ -->
+<!ENTITY quickFilterBar.tags.tooltip
+ "Papar mesej yang ada tag sahaja">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.attachment.label):
+ The label for the filter button that causes us to filter results to only
+ include messages with attachments.
+ -->
+<!ENTITY quickFilterBar.attachment.label
+ "Lampiran">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.attachment.tooltip):
+ The tooltip for the filter button that causes us to filter results to only
+ include messages with attachments.
+ -->
+<!ENTITY quickFilterBar.attachment.tooltip
+ "Papar mesej yang ada lampiran sahaja">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.some.formatString):
+ This is used to populate the results box; it either displays the
+ number of messages found using this string, that there are no messages
+ (using quickFilterBar.resultsLabel.none), or the box is hidden.
+ This is a pluralizable string used to express the number of messages in
+ the results. We replace the '#1' with the number of messages, otherwise
+ see the following URL For more information:
+ https://developer.mozilla.org/En/Localization_and_Plurals
+ -->
+<!ENTITY quickFilterBar.resultsLabel.some.formatString
+ "#1 mesej">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.none):
+ The contents of the results box when there is a filter active but there
+ are no messages matching the filter.
+ -->
+<!ENTITY quickFilterBar.resultsLabel.none
+ "Tiada keputusan">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.resultsLabel.minWidth):
+ The minimum width, in pixels, of the results label. Please size this
+ so that a 3 or 4 digit number of messages in the results can be displayed
+ without growing the size of the box. You can tell this has been
+ accomplished if adding a filter constraint that changes the displayed
+ string to your "no results" string does not result in any changes to the
+ size of the text box to the label's right. (If your string for
+ "no results" is longer than the "#### messages" case, then size for that.
+ -->
+<!ENTITY quickFilterBar.resultsLabel.minWidth
+ "100">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.base1):
+ This is the base of the empty text for the text search box. We replace
+ #1 with the contents of the appropriate
+ quickFilterBar.textbox.emptyText.keyLabel.* value for the platform.
+ The goal is to convey to the user that typing in the box will filter
+ the messages and that there is a hotkey they can press to get to the
+ box faster.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.base1
+ "Tapis mesej berikut #1">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.show.key2):
+ This is the key used to show the quick filter bar. -->
+<!ENTITY quickFilterBar.show.key2
+ "k">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.keyLabel.nonmac):
+ The description of the key-binding to get into the box on windows and
+ linux (which use the control key). This should match the value of
+ quickFilterBar.show.key above.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.keyLabel2.nonmac
+ "&lt;Ctrl+Shift+K&gt;">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.emptyText.keyLabel.mac):
+ The description of the key-binding to get into the box on mac systems.
+ This should match the value of quickFilterBar.show.key above.
+ -->
+<!ENTITY quickFilterBar.textbox.emptyText.keyLabel2.mac
+ "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanMode.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanMode.tooltip "Mod menapis tag">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAny.label):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAny.label "Salah satu">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAny.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAny.tooltip "Sekurang-kurangnya sepadan dengan satu kriteria tag yang dipilih">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAll.label):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAll.label "Semua">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.booleanModeAll.tooltip):
+ Tooltip of the Any of / All of tagging mode selector.
+ -->
+<!ENTITY quickFilterBar.booleanModeAll.tooltip "Mesti sepadan dengan semua kriteria tag yang dipilih">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.idealWidth):
+ The number of pixels for the ideal width of the quick filter box textbox.
+ Choose this value so that the emptyText fits nicely with a little bit of
+ extra whitespace.
+ -->
+<!ENTITY quickFilterBar.textbox.idealWidth
+ "320">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textbox.minWidth):
+ The minimum width of the quick filter textbox in pixels. This is the size
+ which we should refuse to flex below. When we hit this size, the buttons
+ with labels will have their labels collapsed.
+ -->
+<!ENTITY quickFilterBar.textbox.minWidth
+ "280">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.explanation.label):
+ This label explains what the sender/recipients/subject/body buttons do.
+ This string should ideally be kept short because the label and the text
+ filter buttons share their bar (that appears when there is text in the text
+ filter box) with the list of tags when the tag filter is active, and the
+ tag sub-bar wants as much space as possible. (Overflow is handled by an
+ arrow scroll box.)
+ -->
+<!ENTITY quickFilterBar.textFilter.explanation.label
+ "Tapis mesej mengikut:">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.sender.label):
+ The button label that toggles whether the text filter searches the message
+ sender for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.sender.label
+ "Pengirim">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.recipients.label):
+ The button label that toggles whether the text filter searches the message
+ recipients (to, cc) for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.recipients.label
+ "Penerima">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.subject.label):
+ The button label that toggles whether the text filter searches the message
+ subject for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.subject.label
+ "Subjek">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.textFilter.body.label):
+ The button label that toggles whether the text filter searches the message
+ body for the string.
+ -->
+<!ENTITY quickFilterBar.textFilter.body.label
+ "Kandungan">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.glodaUpsell.continueSearch):
+ The first line of the panel popup that tells the user we found no matches
+ but we can convert to a global search for them.
+ -->
+<!ENTITY quickFilterBar.glodaUpsell.continueSearch
+ "Teruskan mencari dalam semua folder">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.glodaUpsell.pressEnterAndCurrent):
+ The second line of the panel popup that tells the user we found no matches.
+ This line will have #1 replaced with what the user has typed so far.
+ -->
+<!ENTITY quickFilterBar.glodaUpsell.pressEnterAndCurrent
+ "Tekan 'Enter' sekali lagi untuk teruskan mencari: #1">
diff --git a/l10n-ms/mail/chrome/messenger/removeAccount.dtd b/l10n-ms/mail/chrome/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..59460abbf8
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/removeAccount.dtd
@@ -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/. -->
+
+<!ENTITY dialogTitle "Buang Akaun dan Data">
+<!ENTITY removeButton.label "Buang">
+<!ENTITY removeButton.accesskey "B">
+<!ENTITY removeAccount.label "Buang maklumat akaun">
+<!ENTITY removeAccount.accesskey "a">
+<!ENTITY removeAccount.desc "Buang hanya akaun yang diketahui &brandShortName;. Tidak memberikan kesan kepada akaun dalam pelayan.">
+<!ENTITY removeData.label "Buang data mesej">
+<!ENTITY removeData.accesskey "d">
+<!ENTITY removeDataChat.label "Buang data perbualan">
+<!ENTITY removeDataChat.accesskey "d">
+<!ENTITY removeDataLocalAccount.desc "Buang semua mesej, folder dan tapisan yang dikaitkan dengan akaun ini dari dalam cakera lokal. Ini tidak memberikan kesan kepada mesej yang masih disimpan di dalam pelayan. Jangan pilih pilihan ini jika anda mahu arkib data lokal tersebut atau gunakannya semula dalam &brandShortName;.">
+<!ENTITY removeDataServerAccount.desc "Buang semua mesej, folder dan tapisan yang dikaitkan dengan akaun ini dari dalam cakera lokal. Mesej dan folder anda masih disimpan di dalam pelayan.">
+<!ENTITY removeDataChatAccount.desc "Buang semua log perbualan yang disimpan oleh akaun ini dalam cakera lokal.">
+<!ENTITY showData.label "Papar lokasi data">
+<!ENTITY showData.accesskey "P">
+<!ENTITY progressPending "Menghapuskan data yang dipilih…">
+<!ENTITY progressSuccess "Berjaya menghapuskan.">
+<!ENTITY progressFailure "Gagal menghapuskan.">
diff --git a/l10n-ms/mail/chrome/messenger/removeAccount.properties b/l10n-ms/mail/chrome/messenger/removeAccount.properties
new file mode 100644
index 0000000000..9139e279de
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/removeAccount.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/.
+
+removeQuestion=Adakah anda pasti mahu menghapuskan akaun "%S"?
diff --git a/l10n-ms/mail/chrome/messenger/renameFolderDialog.dtd b/l10n-ms/mail/chrome/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..abb626a54b
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/renameFolderDialog.dtd
@@ -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/. -->
+
+<!ENTITY renameFolderDialog.title "Namakan semula Folder">
+<!ENTITY rename.label "Masukkan nama baru untuk folder anda:">
+<!ENTITY rename.accesskey "M">
+<!ENTITY accept.label "Namakan semula">
+<!ENTITY accept.accesskey "N">
diff --git a/l10n-ms/mail/chrome/messenger/sanitize.dtd b/l10n-ms/mail/chrome/messenger/sanitize.dtd
new file mode 100644
index 0000000000..6a02f90f47
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/sanitize.dtd
@@ -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/. -->
+
+<!ENTITY sanitizeDialog2.title "Buang Sejarah Terkini">
+
+<!-- XXX rearrange entities to match physical layout when l10n isn't an issue -->
+<!-- LOCALIZATION NOTE (clearTimeDuration.*): "Time range to clear" dropdown.
+ See UI mockup at bug 480169 -->
+<!ENTITY clearTimeDuration.label "Julat masa untuk menghapuskan: ">
+<!ENTITY clearTimeDuration.accesskey "J">
+<!ENTITY clearTimeDuration.lastHour "Satu Jam Lepas">
+<!ENTITY clearTimeDuration.last2Hours "Dua Jam Lepas">
+<!ENTITY clearTimeDuration.last4Hours "Empat Jam Lepas">
+<!ENTITY clearTimeDuration.today "Hari ini">
+<!ENTITY clearTimeDuration.everything "Semua">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+
+<!ENTITY itemHistory.label "Sejarah Pelayaran">
+<!ENTITY itemHistory.accesskey "P">
+<!ENTITY itemCookies.label "Kuki">
+<!ENTITY itemCookies.accesskey "K">
+<!ENTITY itemCache.label "Cache">
+<!ENTITY itemCache.accesskey "A">
+
+<!-- LOCALIZATION NOTE (sanitizeEverythingUndoWarning): Second warning paragraph
+ that appears when "Time range to clear" is set to "Everything". See UI
+ mockup at bug 480169 -->
+<!ENTITY sanitizeEverythingUndoWarning "Tindakan ini tidak boleh dibatalkan.">
+
+<!ENTITY dialog.width "28em">
diff --git a/l10n-ms/mail/chrome/messenger/search-attributes.properties b/l10n-ms/mail/chrome/messenger/search-attributes.properties
new file mode 100644
index 0000000000..cefee542f1
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/search-attributes.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 http://mozilla.org/MPL/2.0/.
+
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=Subjek
+From=Daripada
+Body=Kandungan
+Date=Tarikh
+Priority=Prioriti
+Status=Status
+To=Kepada
+Cc=Cc
+ToOrCc=Kepada atau Cc
+AgeInDays=Tempoh Dalam Hari
+SizeKB=Saiz (KB)
+Tags=Tag
+# for AB and LDAP
+AnyName=Apa-apa Nama
+DisplayName=Nama Paparan
+Nickname=Nama gelaran
+ScreenName=Nama Skrin
+Email=E-mel
+AdditionalEmail=E-mel Tambahan
+AnyNumber=Apa-apa Nombor
+WorkPhone=Telefon Kerja
+HomePhone=Telefon Rumah
+Fax=Faks
+Pager=Kelui
+Mobile=Mudah alih
+City=Bandar
+Street=Jalan
+Title=Jawatan
+Organization=Organisasi
+Department=Jabatan
+# more mailnews
+FromToCcOrBcc=Daripada, Kepada, Cc atau Bcc
+JunkScoreOrigin=Asal Skor Mel remeh
+JunkPercent=Peratus Mel remeh
+AttachmentStatus=Status Lampiran
+JunkStatus=Status Mel remeh
+Label=Label
+Customize=Penyesuaian…
+MissingCustomTerm=Terma Penyesuaian yang Hilang
diff --git a/l10n-ms/mail/chrome/messenger/search-operators.properties b/l10n-ms/mail/chrome/messenger/search-operators.properties
new file mode 100644
index 0000000000..451cadb8de
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/search-operators.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/.
+
+0=mengandungi
+1=tidak mengandungi
+2=adalah
+3=bukan
+4=adalah kosong
+
+5=adalah sebelum
+6=adalah selepas
+
+7=adalah lebih tinggi daripada
+8=adalah lebih rendah daripada
+
+9=bermula dengan
+10=berakhir dengan
+
+11=seperti
+12=LdapDwim
+
+13=adalah lebih besar daripada
+14=adalah kurang daripada
+
+15=NameCompletion
+16=ada dalam buku alamat saya
+17=tiada dalam buku alamat saya
+18=tidak kosong
+19=sepadan
+20=tidak sepadan
diff --git a/l10n-ms/mail/chrome/messenger/search.properties b/l10n-ms/mail/chrome/messenger/search.properties
new file mode 100644
index 0000000000..184c4c102d
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/search.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/.
+
+# these are the fields that get inserted in the search line
+# for "and" searches, this looks like:
+#
+# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4
+#
+# for example, in english this looks like:
+# and the [Sender ] [doesn't contain] [John]
+#
+# TODO: need to special-case the first line (filterindex==0)
+
+# filter stuff
+
+searchingMessage=Mencari…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=#1 padanan ditemui
+noMatchesFound=Tiada padanan ditemui
+labelForStopButton=Berhenti
+labelForSearchButton=Cari
+labelForStopButton.accesskey=B
+labelForSearchButton.accesskey=C
+
+moreButtonTooltipText=Tambah peraturan baru
+lessButtonTooltipText=Buang peraturan ini
diff --git a/l10n-ms/mail/chrome/messenger/searchTermOverlay.dtd b/l10n-ms/mail/chrome/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..dcc3f5eb66
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/searchTermOverlay.dtd
@@ -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/. -->
+
+<!ENTITY matchAll.label "Sepadan semua yang berikut">
+<!ENTITY matchAll.accesskey "p">
+<!ENTITY matchAny.label "Sepadan mana-mana yang berikut">
+<!ENTITY matchAny.accesskey "b">
+<!ENTITY matchAllMsgs.label "Sepadan semua mesej">
+<!ENTITY matchAllMsgs.accesskey "m">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the search widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!ENTITY searchTermListAttributesFlexValue "1">
+<!ENTITY searchTermListOperatorsFlexValue "1">
+<!ENTITY searchTermListValueFlexValue "3">
diff --git a/l10n-ms/mail/chrome/messenger/shutdownWindow.properties b/l10n-ms/mail/chrome/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..43e98a4346
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/shutdownWindow.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/.
+
+
+# These strings are loaded and represented by the XUL dialog.
+shutdownDialogTitle=Tetingkap Kemajuan Penutupan
+taskProgress=Memproses %1$S daripada %2$S Tugasan
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/l10n-ms/mail/chrome/messenger/smime.properties b/l10n-ms/mail/chrome/messenger/smime.properties
new file mode 100644
index 0000000000..1ce087502f
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/smime.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/.
+
+#
+# The following are used by the smime content type handler
+#
+
+## @name NS_MSG_UNABLE_TO_OPEN_FILE
+## LOCALIZATION NOTE: the text can contain HTML tags.
+1000=Ini adalah mesej <B>ENKRIPSI</B> atau <B>DITANDATANGANI</B>.<br> Aplikasi Mel ini tidak menyokong mel enkripsi atau ditandatangani.
+
+
diff --git a/l10n-ms/mail/chrome/messenger/smtpEditOverlay.dtd b/l10n-ms/mail/chrome/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..ad663af8e4
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/smtpEditOverlay.dtd
@@ -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/. -->
+
+<!ENTITY settings.caption "Tetapan">
+<!ENTITY security.caption "Keselamatan dan Pengesahan">
+<!ENTITY serverName.label "Nama Pelayan:">
+<!ENTITY serverName.accesskey "P">
+<!ENTITY serverDescription.label "Keterangan:">
+<!ENTITY serverDescription.accesskey "K">
+<!ENTITY serverPort.label "Port:">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "Nama Pengguna:">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "Keselamatan sambungan:">
+<!ENTITY connectionSecurity.accesskey "n">
+<!ENTITY connectionSecurityType-0.label "Tiada">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, jika ada">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "Pelayan SMTP">
+<!ENTITY serverPortDefault.label "Piawai:">
+<!ENTITY authMethod.label "Kaedah pengesahan:">
+<!ENTITY authMethod.accesskey "d">
diff --git a/l10n-ms/mail/chrome/messenger/subscribe.dtd b/l10n-ms/mail/chrome/messenger/subscribe.dtd
new file mode 100644
index 0000000000..5fe8d5f506
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/subscribe.dtd
@@ -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/. -->
+
+<!ENTITY subscribeDialog.title "Langgan">
+<!ENTITY subscribeButton.label "Langgan">
+<!ENTITY subscribeButton.accesskey "L">
+<!ENTITY unsubscribeButton.label "Batal langganan">
+<!ENTITY unsubscribeButton.accesskey "B">
+<!ENTITY newGroupsTab.label "Kumpulan Baru">
+<!ENTITY newGroupsTab.accesskey "B">
+<!ENTITY refreshButton.label "Muat semula">
+<!ENTITY refreshButton.accesskey "M">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY stopButton.accesskey "B">
+<!ENTITY server.label "Akaun:">
+<!ENTITY server.accesskey "A">
+<!ENTITY subscribedHeader.label "Langgan">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "Papar item yang mengandungi:">
+<!ENTITY namefield.accesskey "P">
diff --git a/l10n-ms/mail/chrome/messenger/subscribe.properties b/l10n-ms/mail/chrome/messenger/subscribe.properties
new file mode 100644
index 0000000000..a3d71819b4
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/subscribe.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/.
+
+subscribeLabel-nntp=Pilih kumpulan berita untuk dilanggan:
+subscribeLabel-imap=Pilih folder untuk dilanggan:
+currentListTab-nntp.label=Senarai Kumpulan Semasa
+currentListTab-nntp.accesskey=S
+currentListTab-imap.label=Senarai Folder
+currentListTab-imap.accesskey=F
+pleaseWaitString=Sila tunggu…
+offlineState=Anda di luar talian. Item tidak dapat diambil daripada pelayan.
+errorPopulating=Ralat mengambil item daripada pelayan.
diff --git a/l10n-ms/mail/chrome/messenger/tabmail.dtd b/l10n-ms/mail/chrome/messenger/tabmail.dtd
new file mode 100644
index 0000000000..039196d304
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/tabmail.dtd
@@ -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/. -->
+
+<!ENTITY closeTab.label "Tutup Tab">
+<!ENTITY listAllTabs.label "Senarai semua tab">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "Laman">
diff --git a/l10n-ms/mail/chrome/messenger/taskbar.properties b/l10n-ms/mail/chrome/messenger/taskbar.properties
new file mode 100644
index 0000000000..75d0eeb0eb
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/taskbar.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/.
+
+taskbar.tasks.composeMessage.label=Tulis mesej baru
+taskbar.tasks.composeMessage.description=Tulis mesej baru.
+taskbar.tasks.openAddressBook.label=Buka buku alamat
+taskbar.tasks.openAddressBook.description=Buka buku alamat anda.
diff --git a/l10n-ms/mail/chrome/messenger/telemetry.properties b/l10n-ms/mail/chrome/messenger/telemetry.properties
new file mode 100644
index 0000000000..913ba77f26
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/telemetry.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/.
+
+# Telemetry prompt
+# LOCALIZATION NOTE (telemetryText): %1$S will be replaced by brandFullName,
+# and %2$S by the value of the toolkit.telemetry.server_owner preference.
+telemetryText = Adakah anda mahu bantu meningkatkan %1$S yang secara automatik akan melaporkan penggunaan memori, prestasi dan tahap responsif kepada %2$S?
+telemetryLinkLabel = Ketahui Selanjutnya
+telemetryYesButtonLabel = Ya
+telemetryYesButtonAccessKey = Y
+telemetryNoButtonLabel = Tidak
+telemetryNoButtonAccessKey = T
diff --git a/l10n-ms/mail/chrome/messenger/templateUtils.properties b/l10n-ms/mail/chrome/messenger/templateUtils.properties
new file mode 100644
index 0000000000..de271c9e26
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/templateUtils.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 yesterday: used in various places where we compute
+# a "friendly" date, e.g. displaying that a message was from yesterday.
+yesterday=semalam
diff --git a/l10n-ms/mail/chrome/messenger/textImportMsgs.properties b/l10n-ms/mail/chrome/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..442449f8cf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/textImportMsgs.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the text import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=Fail teks (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=Import buku alamat daripada fail teks, termasuk: LDIF (.ldif, .ldi), tab-delimited (.tab, .txt) atau format dipisahkan-tanda koma (.csv).
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=Teks Buku Alamat
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=Buku alamat %S yang diimport
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=Parameter rosak tidak boleh mengimport buku alamat.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=Ralat mengakses fail buku alamat %S.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
diff --git a/l10n-ms/mail/chrome/messenger/vCardImportMsgs.properties b/l10n-ms/mail/chrome/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..28be77c808
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/vCardImportMsgs.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the vCard import code to display status, error, and
+# informational messages
+#
+
+vCardImportName=Fail vCard (.vcf)
+
+vCardImportDescription=Import buku alamat daripada format vCard
+
+vCardImportAddressName=Buku Alamat vCard
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=Buku alamat %S yang diimport
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=Ralat mengakses fail buku alamat %S.
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
diff --git a/l10n-ms/mail/chrome/messenger/viewLog.dtd b/l10n-ms/mail/chrome/messenger/viewLog.dtd
new file mode 100644
index 0000000000..b057782fcf
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/viewLog.dtd
@@ -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/. -->
+
+<!ENTITY viewLog.title "Tapis Log">
+<!ENTITY viewLogInfo.text "Log Tapisan mendokumenkan tapisan yang telah dilaksanakan dalam akaun ini. Tandakan dalam kotak semakan di bawah untuk mengaktifkan log.">
+<!ENTITY clearLog.label "Buang Log">
+<!ENTITY clearLog.accesskey "B">
+<!ENTITY enableLog.label "Aktifkan Log Tapisan">
+<!ENTITY enableLog.accesskey "A">
+<!ENTITY closeLog.label "Tutup">
+<!ENTITY closeLog.accesskey "t">
diff --git a/l10n-ms/mail/chrome/messenger/viewSource.dtd b/l10n-ms/mail/chrome/messenger/viewSource.dtd
new file mode 100644
index 0000000000..e5ac55e6b6
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/viewSource.dtd
@@ -0,0 +1,84 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/viewSource.xul -->
+
+<!-- extracted from content/viewSource.xhtml -->
+
+<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.title "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifierseparator " - ">
+<!ENTITY mainWindow.preface "Sumber daripada: ">
+
+<!ENTITY fileMenu.label "Fail">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "Simpan Halaman Sebagai…">
+<!ENTITY savePageCmd.accesskey "S">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY printCmd.label "Cetak…">
+<!ENTITY printCmd.accesskey "C">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "Tutup">
+<!ENTITY closeCmd.accesskey "T">
+<!ENTITY closeCmd.commandkey "W">
+
+<!-- LOCALIZATION NOTE :
+textEnlarge.commandkey3, textReduce.commandkey2 and
+textReset.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY textEnlarge.commandkey "+">
+<!ENTITY textEnlarge.commandkey2 "=">
+<!ENTITY textEnlarge.commandkey3 "">
+<!ENTITY textReduce.commandkey "-">
+<!ENTITY textReduce.commandkey2 "">
+<!ENTITY textReset.commandkey "0">
+<!ENTITY textReset.commandkey2 "">
+
+<!ENTITY goToLineCmd.label "Pergi ke Baris…">
+<!ENTITY goToLineCmd.accesskey "P">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "Papar">
+<!ENTITY viewMenu.accesskey "P">
+<!ENTITY reloadCmd.label "Muat semula">
+<!ENTITY reloadCmd.accesskey "M">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "Balut Baris Panjang">
+<!ENTITY menu_wrapLongLines.accesskey "B">
+<!ENTITY menu_highlightSyntax.label "Serlahan Sintaks">
+<!ENTITY menu_highlightSyntax.accesskey "S">
+<!ENTITY menu_textSize.label "Saiz Teks">
+<!ENTITY menu_textSize.accesskey "T">
+<!ENTITY menu_textEnlarge.label "Tingkatkan">
+<!ENTITY menu_textEnlarge.accesskey "T">
+<!ENTITY menu_textReduce.label "Kurangkan">
+<!ENTITY menu_textReduce.accesskey "K">
+<!ENTITY menu_textReset.label "Normal">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "Cari dalam Halaman Ini…">
+<!ENTITY findOnCmd.accesskey "C">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "Cari Lagi">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "Undur">
+<!ENTITY backCmd.accesskey "U">
+<!ENTITY forwardCmd.label "Seterusnya">
+<!ENTITY forwardCmd.accesskey "S">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "Salin Lokasi Pautan">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyEmailCmd.label "Salin Alamat E-mel">
+<!ENTITY copyEmailCmd.accesskey "E">
diff --git a/l10n-ms/mail/chrome/messenger/viewSource.properties b/l10n-ms/mail/chrome/messenger/viewSource.properties
new file mode 100644
index 0000000000..d0b5f17d53
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/viewSource.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/.
+
+goToLineTitle = Pergi ke baris
+goToLineText = Masukkan nombor baris
+invalidInputTitle = Input tidak sah
+invalidInputText = Nombor baris dimasukkan tidak sah.
+outOfRangeTitle = Baris tidak ditemui
+outOfRangeText = Baris ditentukan tidak ditemui.
+viewSelectionSourceTitle = Pemilihan Sumber DOM
+viewMathMLSourceTitle = Sumber DOM MathML
+
+context_goToLine_label = Pergi ke Baris…
+context_goToLine_accesskey = B
+context_wrapLongLines_label = Balut Baris Panjang
+context_highlightSyntax_label = Serlahan Sintaks
diff --git a/l10n-ms/mail/chrome/messenger/viewZoomOverlay.dtd b/l10n-ms/mail/chrome/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..f7268cebad
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/viewZoomOverlay.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY fullZoomEnlargeCmd.label "Zum Masuk">
+<!ENTITY fullZoomEnlargeCmd.accesskey "M">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "Zum Keluar">
+<!ENTITY fullZoomReduceCmd.accesskey "K">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "Set semula">
+<!ENTITY fullZoomResetCmd.accesskey "S">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "Zum Teks Sahaja">
+<!ENTITY fullZoomToggleCmd.accesskey "T">
+<!ENTITY fullZoom.label "Zum">
+<!ENTITY fullZoom.accesskey "Z">
diff --git a/l10n-ms/mail/chrome/messenger/virtualFolderListDialog.dtd b/l10n-ms/mail/chrome/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..f31129aeda
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/virtualFolderListDialog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderListTitle.title "Pilih Folder">
+<!ENTITY virtualFolderDesc.label "Pilih folder yang mahu dicari:">
+
+
+<!ENTITY folderName.label "Nama folder">
+<!ENTITY folderSearch.label "Cari">
diff --git a/l10n-ms/mail/chrome/messenger/virtualFolderProperties.dtd b/l10n-ms/mail/chrome/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..54dcfb0bd5
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/virtualFolderProperties.dtd
@@ -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/. -->
+
+<!ENTITY virtualFolderProperties.title "Folder Carian Disimpan Baru">
+<!ENTITY name.label "Nama:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "Cipta sebagai sub-folder kepada:">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "Tetapkan kriteria yang digunakan untuk folder carian disimpan ini: ">
+
+<!ENTITY folderSelectionCaption.label "Pilih folder yang mahu dicari: ">
+<!ENTITY chooseFoldersButton.label "Pilih…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "Carian Atas Talian (Memberikan hasil carian IMAP dan folder Berita yang sentiasa terkini, tapi menambah tempoh yang diambil untuk membuka folder)">
+<!ENTITY searchOnline.accesskey "C">
+<!ENTITY newFolderButton.label "Cipta">
+<!ENTITY newFolderButton.accesskey "p">
+<!ENTITY editFolderButton.label "Kemaskini">
+<!ENTITY editFolderButton.accesskey "K">
diff --git a/l10n-ms/mail/chrome/messenger/wmImportMsgs.properties b/l10n-ms/mail/chrome/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..da27ba2231
--- /dev/null
+++ b/l10n-ms/mail/chrome/messenger/wmImportMsgs.properties
@@ -0,0 +1,76 @@
+# 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 are used by the windows live mail import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name WMIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Windows Live Mail
+
+# Description of import module
+## @name WMIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail"
+2001=Tetapan Windows Live Mail
+
+# Success message
+## @name WMIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d"
+## The variable %1$S will contain the name of the Mailbox
+## The variable %2$d will contain the number of messages
+2002=Peti masuk %1$S, mengimport %2$d mesej
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Parameter rosak tidak boleh mengimport peti masuk.
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=Ralat mengakses fail peti mel %S.
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=Ralat mengimport peti mel %S, tidak semua mesej dapat diimport daripada peti mel ini.
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Buku Alamat Windows Live Mail
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Buku alamat Windows Live Mail (buku alamat windows)
+
+# Description
+## @name WMIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Buku alamat %S yang diimport
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=Parameter rosak tidak boleh mengimport buku alamat.
diff --git a/l10n-ms/mail/chrome/mozldap/ldap.properties b/l10n-ms/mail/chrome/mozldap/ldap.properties
new file mode 100644
index 0000000000..f66cce2ea4
--- /dev/null
+++ b/l10n-ms/mail/chrome/mozldap/ldap.properties
@@ -0,0 +1,272 @@
+#
+# 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 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 two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=Kata laluan Pelayan LDAP Diperlukan
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=Sila masukkan kata laluan anda untuk %1$S.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=Ralat operasi
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=Ralat protokol
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=Melebihi had masa
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=Melebihi had saiz
+
+## @name COMPARE_FALSE
+## @loc none
+5=Compare false
+
+## @name COMPARE_TRUE
+## @loc none
+6=Compare true
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=Kaedah pengesahan tidak disokong
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=Perlu pengesahan rapi
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=Sebahagian hasil dan rujukan diterima
+
+## @name REFERRAL
+## @loc none
+10=Rujukan diterima
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=Melebihi had pentadbiran
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=Sambungan penting tidak tersedia
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=Kerahsiaan diperlukan
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=Ikatan SASL sedang dilaksanakan
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=Tiada atribut sebegini
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=Jenis atribut tidak ditakrif
+
+## @name INAPPROPRIATE MATCHIN
+## @loc none
+18=Padanan tidak sesuai
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=Kesalahan kekangan
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=Jenis atau nilai wujud
+
+## @name INVALID_SYNTAX
+## @loc none
+21=Sintaks tidak sah
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=Tiada objek sebegini
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=Masalah alias
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=Sintaks DN tidak sah
+
+## @name IS_LEAF
+## @loc none
+35=Objek adalah dedaun
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=Masalah membuang rujukan alias
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=Pengesahan tidak sesuai
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=Wasikah tidak sah
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=Akses tidak mencukupi
+
+## @name BUSY
+## @loc none
+51=Pelayan LDAP sedang sibuk
+
+## @name UNAVAILABLE
+## @loc none
+52=Pelayan LDAP tidak tersedia
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=Pelayan LDAP tidak mahu melaksana
+
+## @name LOOP_DETECT
+## @loc none
+54=Gelung dikesan
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=Susun mengikut kehilangan Kawalan
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=Hasil carian melebihi julat yang ditentukan oleh ofset
+
+## @name NAMING_VIOLATION
+## @loc none
+64=Kesalahan menamakan
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=Kesalahan kelas objek
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=Operasi tidak diizinkan dalam bukan-dedaun
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=Operasi tidak diizinkan dalam RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=Sudah wujud
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=Tidak dapat mengubah kelas objek
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=Hasil terlalu besar
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=Memberi kesan kepada berbilang pelayan
+
+## @name OTHER
+## @loc none
+80=Ralat tidak diketahui
+
+## @name SERVER_DOWN
+## @loc none
+81=Tidak dapat menghubungi pelayan LDAP
+
+## @name LOCAL_ERROR
+## @loc none
+82=Ralat lokal
+
+## @name ENCODING_ERROR
+## @loc none
+83=Ralat pengekodan
+
+## @name DECODING_ERROR
+## @loc none
+84=Ralat menyahkod
+
+## @name TIMEOUT
+## @loc none
+85=Pelayan LDAP tamat tempoh
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=Kaedah pengesahan tidak diketahui
+
+## @name FILTER_ERROR
+## @loc none
+87=Tapisan carian tidak sah
+
+## @name USER_CANCELLED
+## @loc none
+88=Operasi dibatalkan pengguna
+
+## @name PARAM_ERROR
+## @loc none
+89=Parameter rosak untuk rutin LDAP
+
+## @name NO_MEMORY
+## @loc none
+90=Kehabisan memori
+
+## @name CONNECT_ERROR
+## @loc none
+91=Tidak dapat menyambung ke pelayan LDAP
+
+## @name NOT_SUPPORTED
+## @loc none
+92=Tidak disokong versi protokol LDAP ini
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=Kawalan LDAP yang diminta tidak ditemui
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=Tiada hasil yang dikembalikan
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=Lebih banyak hasil akan dikembalikan
+
+## @name CLIENT_LOOP
+## @loc none
+96=Klien mengesan gelung
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=Melebihi had hop rujukan
diff --git a/l10n-ms/mail/chrome/overrides/netError.dtd b/l10n-ms/mail/chrome/overrides/netError.dtd
new file mode 100644
index 0000000000..d3b579f2a9
--- /dev/null
+++ b/l10n-ms/mail/chrome/overrides/netError.dtd
@@ -0,0 +1,200 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Masalah memuatkan halaman">
+<!ENTITY retry.label "Cuba Lagi">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Tidak dapat menyambung">
+<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
+
+<!ENTITY deniedPortAccess.title "Alamat ini dihadkan">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "Pelayan tidak ditemui">
+<!ENTITY dnsNotFound.longDesc "
+<ul>
+ <li>Semak kesilapan menaip alamat seperti
+ <strong>ww</strong>.example.com, bukannya
+ <strong>www</strong>.example.com</li>
+ <li>Jika anda tidak dapat memuatkan sebarang halaman, Semak sambungan rangkaian
+ komputer.</li>
+ <li>Jika komputer atau rangkaian dilindungi firewall atau proksi, pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.</li>
+</ul>
+">
+
+<!ENTITY fileNotFound.title "Fail tidak ditemui">
+<!ENTITY fileNotFound.longDesc "
+<ul>
+ <li>Semak ralat huruf besar nama fail atau ralat menaip lain.</li>
+ <li>Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.</li>
+</ul>
+">
+
+<!ENTITY fileAccessDenied.title "Akses kepada fail ditolak">
+<!ENTITY fileAccessDenied.longDesc "
+<ul>
+ <li>Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.</li>
+</ul>
+">
+
+<!ENTITY generic.title "Maaf.">
+<!ENTITY generic.longDesc "
+<p>&brandShortName; tidak dapat memuatkan halaman ini atas beberapa sebab.</p>
+">
+
+<!ENTITY malformedURI.title "Alamat tidak sah">
+<!ENTITY malformedURI.longDesc "
+<ul>
+ <li>Alamat Web yang lazim ditulis seperti
+ <strong>http://www.example.com/</strong></li>
+ <li>Pastikan anda menggunakan sempang ke hadapan (iaitu
+ <strong>/</strong>).</li>
+</ul>
+">
+
+<!ENTITY netInterrupt.title "Sambungan terganggu">
+<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
+
+<!ENTITY notCached.title "Dokumen Luput">
+<!ENTITY notCached.longDesc "<p>Dokumen yang diminta tidak tersedia dalam cache.</p><ul><li>Sebagai langkah keselamatan, &brandShortName; tidak secara automatik meminta semula dokumen sensitif.</li><li>Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.</li></ul>">
+
+<!ENTITY netOffline.title "Mod luar talian">
+<!ENTITY netOffline.longDesc2 "
+<ul>
+ <li>Tekan &quot;Cuba Lagi&quot; untuk bertukar ke mod atas talian dan memuatkan halaman.</li>
+</ul>
+">
+
+<!ENTITY contentEncodingError.title "Ralat pengekodan kandungan">
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY unsafeContentType.title "Jenis fail tidak selamat">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "Sambungan diset semula">
+<!ENTITY netReset.longDesc "&sharedLongDesc;">
+
+<!ENTITY netTimeout.title "Sambungan telah tamat tempoh">
+<!ENTITY netTimeout.longDesc "&sharedLongDesc;">
+
+<!ENTITY unknownProtocolFound.title "Alamat tidak difahami">
+<!ENTITY unknownProtocolFound.longDesc "
+<ul>
+ <li>Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.</li>
+</ul>
+">
+
+<!ENTITY proxyConnectFailure.title "Pelayan proksi menolak sambungan">
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan itu betul.</li>
+ <li>Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi
+ berfungsi.</li>
+</ul>
+">
+
+<!ENTITY proxyResolveFailure.title "Tidak dapat menemui pelayan proksi">
+<!ENTITY proxyResolveFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan adalah betul.</li>
+ <li>Pastikan komputer anda ada sambungan rangkaian yang berfungsi.</li>
+ <li>Jika komputer atau rangkaian dilindungi firewall atau proksi, pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.</li>
+</ul>
+">
+
+<!ENTITY redirectLoop.title "Halaman tidak diarahkan semula dengan betul">
+<!ENTITY redirectLoop.longDesc "
+<ul>
+ <li>Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima
+ kuki.</li>
+</ul>
+">
+
+<!ENTITY unknownSocketType.title "Respon tidak dijangka daripada pelayan">
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+ <li>Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi
+ yang dipasang.</li>
+ <li>Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.</li>
+</ul>
+">
+
+<!ENTITY nssFailure2.title "Gagal disambung dengan selamat">
+<!ENTITY nssFailure2.longDesc2 "
+<ul>
+ <li>Halaman yang anda mahu lihat tidak dipaparkan kerana kesahihan data yang diterima tidak boleh disahkan.</li>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY nssBadCert.title "Gagal disambung dengan selamat">
+<!ENTITY nssBadCert.longDesc2 "
+<ul>
+ <li>Ini mungkin masalah konfigurasi pelayan, atau mungkin
+seseorang cuba menyamar sebagai pelayan.</li>
+ <li>Jika sebelum ini anda boleh menyambung ke pelayar, ralat ini mungkin
+sementara dan anda boleh cuba lagi nanti.</li>
+</ul>
+">
+
+<!ENTITY sharedLongDesc "
+<ul>
+ <li>Laman ini mungkin tidak bersedia atau terlalu sibuk. Cuba lagi dalam beberapa
+ ketika.</li>
+ <li>Jika anda tidak dapat memuatkan sebarang halaman, semak sambungan rangkaian
+ komputer.</li>
+ <li>Jika komputer atau rangkaian anda dilindungi firewall atau proksi, pastikan
+ bahawa &brandShortName; diberi izin mengakses Web.</li>
+</ul>
+">
+
+<!ENTITY cspBlocked.title "Disekat oleh Polisi Keselamatan Kandungan">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; menghalang halaman ini daripada dimuatkan kerana ada kandungan yang tidak dibenarkan oleh polisi keselamatan.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Ralat Kandungan Rosak">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+<!ENTITY securityOverride.linkText "Atau anda boleh tambah pengecualian…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Keluarkan saya dari sini!">
+<!ENTITY securityOverride.exceptionButtonLabel "Tambah Pengecualian…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <button> tags. It uses strings already defined above. The
+button is included here (instead of netError.xhtml) because it exposes
+functionality specific to thunderbird. -->
+
+<!ENTITY securityOverride.warningContent "
+<p>Anda sepatutnya tidak menambah pengecualian jika anda menggunakan sambungan internet yang memang anda tidak percayai atau jika anda tidak biasa melihat amaran untuk pelayan ini.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+<!ENTITY remoteXUL.title "XUL jauh">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul></p>">
+
+<!ENTITY inadequateSecurityError.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> menggunakan teknologi keselamatan yang usang dan terdedah kepada serangan. Penyerang dengan mudah boleh mendedahkan maklumat yang anda fikir selamat. Pentadbir laman web perlu membaiki pelayan terlebih dahulu sebelum anda boleh melawat laman ini.</p><p>Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "Halaman Disekat">
+
+<!ENTITY networkProtocolError.title "Ralat Protokol Rangkaian">
+<!ENTITY networkProtocolError.longDesc "<p>Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
diff --git a/l10n-ms/mail/defines.inc b/l10n-ms/mail/defines.inc
new file mode 100644
index 0000000000..72ee22520d
--- /dev/null
+++ b/l10n-ms/mail/defines.inc
@@ -0,0 +1,9 @@
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-ms/mail/installer/custom.properties b/l10n-ms/mail/installer/custom.properties
new file mode 100644
index 0000000000..d6500a935b
--- /dev/null
+++ b/l10n-ms/mail/installer/custom.properties
@@ -0,0 +1,77 @@
+# 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 ialah aplikasi e-mel yang dilengkapi dengan ciri penuh. $BrandShortName menyokong protokol mel IMAP dan POP, serta mel format HTML. Ciri kawalan mel remeh yang dibina di dalamnya, keupayaan RSS, carian pantas, menyemak ejaan semasa anda menaip, peti masuk global dan tapisan mesej yang maju, menjadikan $BrandShortName dilengkapi dengan ciri moden.
+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.
+SURVEY_TEXT=&Maklumkan kami pendapat anda berkenaan $BrandShortName
+LAUNCH_TEXT=&Lancarkan $BrandFullName 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=Melaksanakan pembersihan…
+
+# _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
+
diff --git a/l10n-ms/mail/installer/mui.properties b/l10n-ms/mail/installer/mui.properties
new file mode 100644
index 0000000000..b0579a9793
--- /dev/null
+++ b/l10n-ms/mail/installer/mui.properties
@@ -0,0 +1,60 @@
+# 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/l10n-ms/mail/installer/override.properties b/l10n-ms/mail/installer/override.properties
new file mode 100644
index 0000000000..80c7d88d91
--- /dev/null
+++ b/l10n-ms/mail/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 string enclose the strin with an additional double quote
+# (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/l10n-ms/mail/messenger/aboutRights.ftl b/l10n-ms/mail/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..01380cda28
--- /dev/null
+++ b/l10n-ms/mail/messenger/aboutRights.ftl
@@ -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/.
+
+rights-title = Perihal Hak Anda
+rights-intro = { -brand-full-name } adalah perisian percuma dan sumber terbuka, dibina oleh komuniti yang terdiri daripada ribuan penyumbang dari seluruh dunia. Ada beberapa perkara yang anda perlu tahu:
+rights-intro-point-1 = { -brand-short-name } disediakan untuk anda di bawah terma <a data-l10n-name="mozilla-public-license-link">Lesen Awam Mozilla</a>. Ini bermakna anda boleh guna, salin dan edarkan { -brand-short-name } kepada pihak lain. Anda juga dialu-alukan untuk mengubahsuai kod sumber { -brand-short-name } untuk memenuhi keperluan anda. Lesen Umum Mozilla juga memberikan anda hak untuk mengedarkan versi yang diubah suai.
+rights-intro-point-3 = Beberapa ciri dalam { -brand-short-name }, seperti Crash Reporter akan memberikan anda pilihan untuk memberikan maklum balas kepada { -vendor-short-name }. Dengan memilih untuk memberikan maklum balas, anda akan memberikan { -vendor-short-name } kebenaran untuk menggunakan maklum balas tersebut untuk menambahbaik produknya, untuk memaparkan maklum balas tersebut di laman web, dan untuk menyebarkan maklum balas tersebut.
+rights-intro-point-4 = Bagaimana kami menggunakan maklumat peribadi dan maklum balas yang dihantar kepada { -vendor-short-name } melalui { -brand-short-name } adalah seperti yang diterangkan di dalam <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } Polisi Privasi</a>.
+rights-intro-point-5 = Beberapa { -brand-short-name } ciri-ciri menggunakan perkhidmatan-perkhidmatan maklumat berlandaskan web, walaubagaimana, kami tidak boleh menjamin bahawa ciri-ciri tersebut 100%; tepat atau tiada ralat. Maklumat lanjut, termasuk maklumat mengenai bagaimana untuk mematikan ciri-ciri yang menggunakan perkhidmatan-perkhidmatan ini, boleh didapati dalamnya <a data-l10n-name="mozilla-service-terms-link">terma perkhidmatan</a>.
+rights-intro-point-5-unbranded = Sekiranya produk ini merangkumi perkhidmatan web, sebarang terma perkhidmatan yang diguna pakai untuk perkhidmatan ini perlu dihubungkan ke <a data-l10n-name="mozilla-website-services-link">Servis Laman Web</a> bahagian.
+rights-intro-point-6 = Untuk main semula sesetengah jenis kandungan video, { -brand-short-name } memuat turun sesetengah modul dekripsi kandungan daripada pihak ketiga.
+rights-webservices-header = { -brand-full-name } Servis Informasi berdasarkan Web
+rights-locationawarebrowsing = <strong>Pelayaran Sedar Lokasi: </strong>adalah satu ciri pilihan. Tiada maklumat lokasi yang akan dihantar tanpa keizinan anda. Jika anda mahu menyahaktifkan ciri ini secara keseluruhan, ikuti arahan berikut:
+rights-locationawarebrowsing-term-1 = Di bar URL, taip <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Taip geo.enabled
+rights-locationawarebrowsing-term-3 = Klik-dua kali pada keutamaan geo.enabled
+rights-locationawarebrowsing-term-4 = Location-Aware Browsing kini dinyahdayakan
+rights-webservices-unbranded = Gambaran keseluruhan perkhidmatan laman web yang mengandungi produk, berserta arahan untuk menyahdayakannya, jika ada, perlu disertakan di sini.
+rights-webservices-term-unbranded = Apa jua terma perkhidmatan yang diguna pakai bagi produk ini mestilah disenaraikan di sini.
+rights-webservices-term-1 = { -vendor-short-name } serta semua penyumbang, pemberi lesen dan rakan kongsi berusaha untuk menyediakan perkhidmatan yang paling tepat dan terkini.  Walau bagaimanapun, kami tidak dapat menjamin bahawa maklumat ini komprehensif dan bebas daripada ralat. Sebagai contoh, Safe Browsing Service mungkin tidak dapat mengenal pasti beberapa laman berisiko dan mungkin mengenal pasti beberapa laman selamat semasa ralat dan Location Aware Service mengenal pasti semua lokasi yang dikembalikan oleh pembekal perkhidmatan kami hanyalah anggaran sahaja dan kami atau pembekal perkhidmatan kami tidak menjamin ketepatan lokasi yang disediakan.
+rights-webservices-term-2 = { -vendor-short-name } boleh memberhentikan atau mengubah Perkhidmatan mengikut budi bicara.
+rights-webservices-term-3 = Anda dialu-alukan menggunakan Perkhidmatan ini berserta versi iringan { -brand-short-name }, dan { -vendor-short-name } memberikan anda hak berbuat sedemikian.  { -vendor-short-name } dan pemegang lesennya mempunyai semua hak terhadap Perkhidmatan tersebut.  Terma ini tidak bertujuan untuk menghadkan sebarang hak yang diberikan di bawah lesen sumber terbuka { -brand-short-name } dan versi kod sumber yang ada kaitan dengan { -brand-short-name }.
+rights-webservices-term-4 = <strong>Perkhidmatan ini disediakan "mengikut" { -vendor-short-name }, penyumbang, pemberi lesen, dan pengedar, menafikan semua jaminan, sama ada yang dinyatakan atau yang tersirat, termasuk tanpa batasan, jaminan bahawa Perkhidmatan yang boleh diperdagangkan dan sesuai untuk tujuan anda yang tertentu. Anda menanggung risiko secara menyeluruh untuk memilih Perkhidmatan untuk apa jua tujuan anda dan kepada kualiti dan prestasi Perkhidmatan. Sesetengah bidang kuasa tidak membenarkan pengecualian atau batasan jaminan yang tersirat, jadi penafian ini tidak mungkin dikenakan kepada anda.</strong>
+rights-webservices-term-5 = <strong>Kecuali dikehendaki oleh undang-undang, { -vendor-short-name }, para penyumbang, pemberi lesen dan para pengedar tidak bertanggungjawab ke atas mana-mana kerugian sampingan, khusus, tidak sengaja, berbangkit, punitif atau teladan yang terhasil daripada atau cara yang dikaitkan dengan penggunaan { -brand-short-name } dan Perkhidmatan ini. Liabiliti kolektif di bawah terma ini tidak akan melebihi $500 (lima ratus dolar). Sesetengah bidang kuasa tidak membenarkan pengecualian atau had kerugian tertentu, jadi pengecualian ini dan had mungkin tidak dikenakan kepada anda.</strong>
+rights-webservices-term-6 = { -vendor-short-name } mungkin mengemaskini terma ini jika diperlukan daripada masa ke semasa. Terma ini tidak boleh diubah atau dibatalkan tanpa persetujuan bertulis { -vendor-short-name }.
+rights-webservices-term-7 = Terma ini ditadbir oleh undang-undang negeri California, Amerika Syarikat, tidak termasuk konflik peruntukan undang-undang. Jika mana-mana bahagian terma ini diputuskan sebagai tidak sah atau tidak boleh dikuatkuasakan, bahagian yang tinggal akan terus berkuat kuasa dan berkesan sepenuhnya. Sekiranya berlaku percanggahan antara terma versi terjemahan ini dengan versi Bahasa Inggeris, versi Bahasa Inggeris akan diguna pakai.
diff --git a/l10n-ms/mail/messenger/preferences/application-manager.ftl b/l10n-ms/mail/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..bdcc8f9d78
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/application-manager.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/.
+
+app-manager-window-dialog =
+ .title = Butiran Aplikasi
+ .style = width: 30em; min-height: 20em;
+
+remove-app-button =
+ .label = Buang
+ .accesskey = B
diff --git a/l10n-ms/mail/messenger/preferences/attachment-reminder.ftl b/l10n-ms/mail/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..cbc85be7a7
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/attachment-reminder.ftl
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+attachment-reminder-window =
+ .title = Kata kunci Peringatan Lampiran
+
+attachment-reminder-label = { -brand-short-name } akan memaklumkan anda apabila lampiran hilang ketika anda hendak menghantar e-mel yang mengandungi salah satu kata kunci ini.
+
+keyword-new-button =
+ .label = Baru…
+ .accesskey = B
+
+keyword-edit-button =
+ .label = Edit…
+ .accesskey = E
+
+keyword-remove-button =
+ .label = Buang
+ .accesskey = B
+
+new-keyword-title = Kata Kunci Baru
+new-keyword-label = Kata kunci:
+
+edit-keyword-title = Edit Kata kunci
+edit-keyword-label = Kata kunci:
diff --git a/l10n-ms/mail/messenger/preferences/colors.ftl b/l10n-ms/mail/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..6f31cea93e
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/colors.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/.
+
+colors-dialog-window =
+ .title = Warna
+ .style =
+ { PLATFORM() ->
+ [macos] width: 41em !important
+ *[other] width: 38em !important
+ }
+
+colors-dialog-legend = Teks dan Latar Belakang
+
+text-color-label =
+ .value = Teks:
+ .accesskey = T
+
+background-color-label =
+ .value = Latar belakang:
+ .accesskey = L
+
+use-system-colors =
+ .label = Guna warna sistem
+ .accesskey = s
+
+colors-link-legend = Warna Pautan
+
+link-color-label =
+ .value = Pautan Belum Dilawati:
+ .accesskey = P
+
+visited-link-color-label =
+ .value = Pautan Dilawati:
+ .accesskey = D
+
+underline-link-checkbox =
+ .label = Garis bawah pautan
+ .accesskey = G
+
+override-color-label =
+ .value = Gantikan warna yang telah ditetapkan oleh kandungan dengan pilihan saya di atas:
+ .accesskey = G
+
+override-color-always =
+ .label = Sentiasa
+
+override-color-auto =
+ .label = Hanya dengan tema Kontras Tinggi
+
+override-color-never =
+ .label = Jangan sesekali
diff --git a/l10n-ms/mail/messenger/preferences/connection.ftl b/l10n-ms/mail/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..3ce655e971
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/connection.ftl
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+connection-dialog-window =
+ .title = Tetapan Sambungan
+ .style =
+ { PLATFORM() ->
+ [macos] width: 44em !important
+ *[other] width: 49em !important
+ }
+
+connection-proxy-legend = Tetapkan Proksi untuk Mengakses Internet
+
+proxy-type-no =
+ .label = Tiada proksi
+ .accesskey = i
+
+proxy-type-wpad =
+ .label = Auto-kesan tetapan proksi untuk rangkaian ini
+ .accesskey = r
+
+proxy-type-system =
+ .label = Guna tetapan proksi sistem
+ .accesskey = s
+
+proxy-type-manual =
+ .label = Konfigurasi proksi manual:
+ .accesskey = m
+
+proxy-http-label =
+ .value = Proksi HTTP:
+ .accesskey = s
+
+http-port-label =
+ .value = Port:
+ .accesskey = p
+
+ssl-port-label =
+ .value = Port:
+ .accesskey = o
+
+proxy-socks-label =
+ .value = Hos SOCKS:
+ .accesskey = o
+
+socks-port-label =
+ .value = Port:
+ .accesskey = t
+
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = k
+
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+
+proxy-type-auto =
+ .label = URL konfigurasi proksi automatik:
+ .accesskey = K
+
+proxy-reload-label =
+ .label = Muat semula
+ .accesskey = l
+
+no-proxy-label =
+ .value = Tiada Proksi untuk:
+ .accesskey = n
+
+no-proxy-example = Contoh: .mozilla.org, .net.nz, 192.168.1.0/24
+
+proxy-password-prompt =
+ .label = Jangan paparkan pengesahan jika kata laluan telah disimpan
+ .accesskey = i
+ .tooltiptext = Pilihan ini mengesahkan secara senyap apabila anda ada menyimpan kelayakan bagi pihak proksi. Tapi anda akan dimaklumkan jika pengesahan gagal.
+
+proxy-remote-dns =
+ .label = Proksi DNS apabila menggunakan SOCKS v5
+ .accesskey = a
+
+proxy-enable-doh =
+ .label = Dayakan DNS mengatasi HTTPS
+ .accesskey = y
diff --git a/l10n-ms/mail/messenger/preferences/cookies.ftl b/l10n-ms/mail/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..98d7931b65
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/cookies.ftl
@@ -0,0 +1,55 @@
+# 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/.
+
+cookies-window-dialog =
+ .title = Kuki
+ .style = width: 36em;
+
+window-close-key =
+ .key = w
+
+window-focus-search-key =
+ .key = f
+
+window-focus-search-alt-key =
+ .key = k
+
+filter-search-label =
+ .value = Cari:
+ .accesskey = C
+
+cookies-on-system-label = Kuki berikut disimpan dalam komputer anda:
+
+treecol-site-header =
+ .label = Laman
+
+treecol-name-header =
+ .label = Nama Kuki
+
+props-name-label =
+ .value = Nama:
+props-value-label =
+ .value = Kandungan:
+props-domain-label =
+ .value = Hos:
+props-path-label =
+ .value = Laluan:
+props-secure-label =
+ .value = Hantar Untuk:
+props-expires-label =
+ .value = Luput:
+props-container-label =
+ .value = Penyimpan:
+
+remove-cookie-button =
+ .label = Buang kuki
+ .accesskey = B
+
+remove-all-cookies-button =
+ .label = Buang Semua Kuki
+ .accesskey = S
+
+cookie-close-button =
+ .label = Tutup
+ .accesskey = T
diff --git a/l10n-ms/mail/messenger/preferences/dock-options.ftl b/l10n-ms/mail/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..68199ac92c
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/dock-options.ftl
@@ -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/.
+
+dock-options-window-dialog =
+ .title = Pilihan ikon aplikasi
+ .style = width: 35em;
+
+bounce-system-dock-icon =
+ .label = Animasi ikon aplikasi apabila ada mesej baru
+ .accesskey = i
+
+dock-icon-legend = Kelompok ikon aplikasi
+
+dock-icon-show-label =
+ .value = Ikon aplikasi kelompok dengan:
+
+count-unread-messages-radio =
+ .label = Bilangan mesej yang belum dibaca
+ .accesskey = u
+
+count-new-messages-radio =
+ .label = Bilangan mesej baru
+ .accesskey = n
+
diff --git a/l10n-ms/mail/messenger/preferences/fonts.ftl b/l10n-ms/mail/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..1c289ed9d6
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/fonts.ftl
@@ -0,0 +1,147 @@
+# 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-close =
+ .key = w
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Piawai ({ $name })
+fonts-label-default-unnamed =
+ .label = Piawai
+
+fonts-encoding-dialog-title =
+ .title = Fon & Pengekodan
+
+fonts-language-legend =
+ .value = Fon untuk:
+ .accesskey = t
+
+fonts-proportional-label =
+ .value = Berkadaran:
+ .accesskey = B
+
+## Languages
+
+# Note: Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+font-language-group-latin =
+ .label = Latin
+font-language-group-japanese =
+ .label = Japanese
+font-language-group-trad-chinese =
+ .label = Traditional Chinese (Taiwan)
+font-language-group-simpl-chinese =
+ .label = Simplified Chinese
+font-language-group-trad-chinese-hk =
+ .label = Traditional Chinese (Hong Kong)
+font-language-group-korean =
+ .label = Korean
+font-language-group-cyrillic =
+ .label = Cyrillic
+font-language-group-el =
+ .label = Greek
+font-language-group-other =
+ .label = Sistem Penulisan Lain
+font-language-group-thai =
+ .label = Thai
+font-language-group-hebrew =
+ .label = Hebrew
+font-language-group-arabic =
+ .label = Arabic
+font-language-group-devanagari =
+ .label = Devanagari
+font-language-group-tamil =
+ .label = Tamil
+font-language-group-armenian =
+ .label = Armenian
+font-language-group-bengali =
+ .label = Bengali
+font-language-group-canadian =
+ .label = Unified Canadian Syllabary
+font-language-group-ethiopic =
+ .label = Ethiopic
+font-language-group-georgian =
+ .label = Georgian
+font-language-group-gujarati =
+ .label = Gujarati
+font-language-group-gurmukhi =
+ .label = Gurmukhi
+font-language-group-khmer =
+ .label = Khmer
+font-language-group-malayalam =
+ .label = Malayalam
+font-language-group-math =
+ .label = Mathematics
+font-language-group-odia =
+ .label = Odia
+font-language-group-telugu =
+ .label = Telugu
+font-language-group-kannada =
+ .label = Kannada
+font-language-group-sinhala =
+ .label = Sinhala
+font-language-group-tibetan =
+ .label = Tibetan
+
+## Default font type
+
+default-font-serif =
+ .label = Serif
+
+default-font-sans-serif =
+ .label = Sans Serif
+
+font-size-monospace-label =
+ .value = Saiz:
+ .accesskey = i
+
+font-serif-label =
+ .value = Serif:
+ .accesskey = S
+
+font-sans-serif-label =
+ .value = Sans-serif:
+ .accesskey = n
+
+font-monospace-label =
+ .value = Monospace:
+ .accesskey = M
+
+font-min-size-label =
+ .value = Saiz fon minimum:
+ .accesskey = z
+
+min-size-none =
+ .label = Tiada
+
+## Fonts in message
+
+font-control-legend = Kawalan Fon
+
+use-document-fonts-checkbox =
+ .label = Izinkan mesej menggunakan fon lain
+ .accesskey = o
+
+use-fixed-width-plain-checkbox =
+ .label = Guna fon lebar tetap untuk mesej teks biasa
+ .accesskey = t
+
+## Language settings
+
+text-encoding-legend = Pengekodan Teks
+
+text-encoding-description = Tetapkan pengekodan teks piawai untuk menghantar dan menerima mel
+
+font-outgoing-email-label =
+ .value = Mel Keluar:
+ .accesskey = u
+
+font-incoming-email-label =
+ .value = Mel Masuk:
+ .accesskey = M
+
+default-font-reply-checkbox =
+ .label = Jika boleh, guna pengekodan teks piawai apabila membalas
+ .accesskey = h
diff --git a/l10n-ms/mail/messenger/preferences/languages.ftl b/l10n-ms/mail/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..4d8ed7258f
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/languages.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/.
+
+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
+
+messenger-languages-window =
+ .title = Tetapan Bahasa { -brand-short-name }
+ .style = width: 40em
+
+messenger-languages-description = { -brand-short-name } akan memaparkan bahasa yang pertama sebagai piawai dan akan memaparkan bahasa alternatif jika ada, mengikut susunan paparan.
+
diff --git a/l10n-ms/mail/messenger/preferences/new-tag.ftl b/l10n-ms/mail/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..412a1f9d6a
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/new-tag.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/.
+
+tag-dialog-window =
+ .title = Tag Baru
+
+tag-name-label =
+ .value = Nama Tag:
+ .accesskey = T
+
diff --git a/l10n-ms/mail/messenger/preferences/notifications.ftl b/l10n-ms/mail/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..ceacddcfad
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/notifications.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+notifications-dialog-window =
+ .title = Sesuaikan Makluman Mel Baru
+
+customize-alert-description = Pilih medan yang dipaparkan dalam notifikasi makluman:
+
+preview-text-checkbox =
+ .label = Teks Previu Mesej
+ .accesskey = M
+
+subject-checkbox =
+ .label = Subjek
+ .accesskey = S
+
+sender-checkbox =
+ .label = Pengirim
+ .accesskey = e
+
+## Note: open-time-label-before is displayed first, then there's a field where
+## the user can enter a number, and open-time-label-after is displayed at the end
+## of the line. The translations of the open-time-label-before and open-time-label-after
+## parts don't have to mean the exact same thing as in English; please try instead
+## to translate the whole sentence.
+
+open-time-label-before =
+ .value = Papar Makluman Mel Baru selama
+ .accesskey = B
+
+open-time-label-after =
+ .value = saat
diff --git a/l10n-ms/mail/messenger/preferences/offline.ftl b/l10n-ms/mail/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..0ad62599ca
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/offline.ftl
@@ -0,0 +1,54 @@
+# 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/.
+
+offline-dialog-window =
+ .title = Tetapan Luar talian
+
+autodetect-online-label =
+ .label = Ikuti keadaan atas talian yang dikesan secara automatik
+ .accesskey = d
+
+status-radio-remember =
+ .label = Ingati keadaan atas talian terdahulu
+ .accesskey = I
+
+status-radio-ask =
+ .label = Tanya untuk keadaan atas talian
+ .accesskey = k
+
+status-radio-always-online =
+ .label = Atas talian
+ .accesskey = l
+
+status-radio-always-offline =
+ .label = Luar talian
+ .accesskey = r
+
+going-online-label = Hantar mesej yang tidak dihantar apabila atas talian?
+
+going-online-auto =
+ .label = Ya
+ .accesskey = Y
+
+going-online-not =
+ .label = Tidak
+ .accesskey = T
+
+going-online-ask =
+ .label = Tanya saya
+ .accesskey = s
+
+going-offline-label = Muat turun mesej untuk kegunaan luar talian apabila ke luar talian?
+
+going-offline-auto =
+ .label = Ya
+ .accesskey = a
+
+going-offline-not =
+ .label = Tidak
+ .accesskey = k
+
+going-offline-ask =
+ .label = Tanya saya
+ .accesskey = y
diff --git a/l10n-ms/mail/messenger/preferences/permissions.ftl b/l10n-ms/mail/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..5d53fa7026
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/permissions.ftl
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+permissions-reminder-window =
+ .title = Pengecualian
+ .style = width: 45em;
+
+website-address-label =
+ .value = Alamat laman web:
+ .accesskey = l
+
+block-button =
+ .label = Sekat
+ .accesskey = S
+
+allow-session-button =
+ .label = Izinkan untuk Sesi
+ .accesskey = n
+
+allow-button =
+ .label = Izinkan
+ .accesskey = I
+
+treehead-sitename-label =
+ .label = Laman
+
+treehead-status-label =
+ .label = Status
+
+remove-site-button =
+ .label = Buang Laman
+ .accesskey = B
+
+remove-all-site-button =
+ .label = Buang Semua Laman
+ .accesskey = e
+
+cancel-button =
+ .label = Batal
+ .accesskey = B
+
+save-button =
+ .label = Simpan Perubahan
+ .accesskey = S
+
+permission-can-label = Izinkan
+permission-can-access-first-party-label = Izinkan pihak pertama sahaja
+permission-can-session-label = Izinkan untuk Sesi
+permission-cannot-label = Sekat
+
+invalid-uri-message = Sila masukkan nama hos yang sah
+invalid-uri-title = Nama Hos Tidak Sah
diff --git a/l10n-ms/mail/messenger/preferences/preferences.ftl b/l10n-ms/mail/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..edb7119112
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/preferences.ftl
@@ -0,0 +1,684 @@
+# 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/.
+
+
+close-button =
+ .aria-label = Tutup
+
+pane-compose-title = Karangan
+category-compose =
+ .tooltiptext = Karangan
+
+pane-chat-title = Sembang
+category-chat =
+ .tooltiptext = Sembang
+
+pane-calendar-title = Kalendar
+category-calendar =
+ .tooltiptext = Kalendar
+
+choose-messenger-language-description = Pilih bahasa yang digunakan untuk memaparkan menu, mesej dan notifikasi { -brand-short-name }.
+manage-messenger-languages-button =
+ .label = Tetapkan Alternatif...
+ .accesskey = T
+confirm-messenger-language-change-description = Mula semula { -brand-short-name } untuk melaksanakan perubahan ini
+confirm-messenger-language-change-button = Terap dan Mula semula
+
+## OS Authentication dialog
+
+
+## General Tab
+
+focus-search-shortcut =
+ .key = f
+focus-search-shortcut-alt =
+ .key = k
+
+general-legend = Halaman Permulaan { -brand-short-name }
+
+start-page-label =
+ .label = Apabila { -brand-short-name } dilancarkan, papar Halaman Permulaan dalam ruang mesej
+ .accesskey = A
+
+location-label =
+ .value = Lokasi:
+ .accesskey = o
+restore-default-label =
+ .label = Pulih Piawai
+ .accesskey = P
+
+default-search-engine = Enjin Carian Piawai
+
+new-message-arrival = Apabila ada mesej baru:
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Mainkan fail bunyian berikut:
+ *[other] Mainkan bunyian
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] n
+ *[other] n
+ }
+mail-play-button =
+ .label = Main
+ .accesskey = M
+
+change-dock-icon = Tukar keutamaan ikon aplikasi
+app-icon-options =
+ .label = Pilihan Ikon Aplikasi…
+ .accesskey = n
+
+animated-alert-label =
+ .label = Papar makluman
+ .accesskey = P
+customize-alert-label =
+ .label = Penyesuaian…
+ .accesskey = P
+
+mail-custom-sound-label =
+ .label = Gunakan fail bunyian berikut
+ .accesskey = G
+mail-browse-sound-button =
+ .label = Cari…
+ .accesskey = C
+
+enable-gloda-search-label =
+ .label = Aktifkan Carian Global dan Pengindeks
+ .accesskey = A
+
+datetime-formatting-legend = Format Tarikh dan Masa
+language-selector-legend = Bahasa
+
+allow-hw-accel =
+ .label = Guna pecutan perkakasan, jika tersedia
+ .accesskey = p
+
+store-type-label =
+ .value = Jenis Storan Mesej untuk akaun baru:
+ .accesskey = J
+
+mbox-store-label =
+ .label = Fail setiap folder (mbox)
+maildir-store-label =
+ .label = Fail setiap mesej (maildir)
+
+scrolling-legend = Skrol
+autoscroll-label =
+ .label = Guna auto-skrol
+ .accesskey = G
+smooth-scrolling-label =
+ .label = Guna skrol lancar
+ .accesskey = c
+
+system-integration-legend = Integrasi Sistem
+always-check-default =
+ .label = Sentiasa semak samada { -brand-short-name } adalah klien mel piawai pada permulaan
+ .accesskey = S
+check-default-button =
+ .label = Semak Sekarang…
+ .accesskey = S
+
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Windows Search
+ *[other] { "" }
+ }
+
+search-integration-label =
+ .label = Izinkan { search-engine-name } mencari mesej
+ .accesskey = S
+
+config-editor-button =
+ .label = Editor Konfigurasi…
+ .accesskey = E
+
+return-receipts-description = Tentukan cara { -brand-short-name } mengendalikan resit pemberitahu serahan
+return-receipts-button =
+ .label = Resit Pemberitahu Serahan…
+ .accesskey = R
+
+update-app-legend = Kemaskini { -brand-short-name }
+
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = Versi { $version }
+
+automatic-updates-label =
+ .label = Pasang kemaskini secara automatik (digalakkan: meningkatkan keselamatan)
+ .accesskey = P
+check-updates-label =
+ .label = Semak sebarang kemaskini, tetapi biarkan saya pilih untuk memasangnya
+ .accesskey = S
+
+update-history-button =
+ .label = Papar Sejarah Kemaskini
+ .accesskey = s
+
+use-service =
+ .label = Gunakan servis latar belakang bagi pemasangan versi terkini
+ .accesskey = b
+
+networking-legend = Sambungan
+proxy-config-description = Tentukan cara { -brand-short-name } menyambung ke Internet
+
+network-settings-button =
+ .label = Tetapan…
+ .accesskey = T
+
+offline-legend = Luar talian
+offline-settings = Konfigurasi tetapan luar talian
+
+offline-settings-button =
+ .label = Luar talian…
+ .accesskey = L
+
+diskspace-legend = Ruang Cakera
+offline-compact-folder =
+ .label = Padatkan semua folder apabila dapat menjimatkan
+ .accesskey = a
+
+compact-folder-size =
+ .value = MB secara keseluruhan
+
+## Note: The entities use-cache-before and use-cache-after appear on a single
+## line in preferences as follows:
+## use-cache-before [ textbox for cache size in MB ] use-cache-after
+
+use-cache-before =
+ .value = Guna sehingga
+ .accesskey = G
+
+use-cache-after = MB ruang untuk cache
+
+##
+
+smart-cache-label =
+ .label = Terbalikkan pengurusan cache automatik
+ .accesskey = b
+
+clear-cache-button =
+ .label = Buang Sekarang
+ .accesskey = B
+
+fonts-legend = Fon & Warna
+
+default-font-label =
+ .value = Fon piawai:
+ .accesskey = F
+
+default-size-label =
+ .value = Saiz:
+ .accesskey = S
+
+font-options-button =
+ .label = Lanjutan…
+ .accesskey = L
+
+color-options-button =
+ .label = Warna…
+ .accesskey = W
+
+display-width-legend = Mesej Teks Biasa
+
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = Papar ikon emotif sebagai grafik
+ .accesskey = e
+
+display-text-label = Apabila memaparkan petikan mesej teks biasa:
+
+style-label =
+ .value = Gaya:
+ .accesskey = y
+
+regular-style-item =
+ .label = Biasa
+bold-style-item =
+ .label = Tebal
+italic-style-item =
+ .label = Italik
+bold-italic-style-item =
+ .label = Italik Tebal
+
+size-label =
+ .value = Saiz:
+ .accesskey = z
+
+regular-size-item =
+ .label = Biasa
+bigger-size-item =
+ .label = Lebih besar
+smaller-size-item =
+ .label = Lebih kecil
+
+quoted-text-color =
+ .label = Warna:
+ .accesskey = n
+
+save-to-label =
+ .label = Simpan fail ke
+ .accesskey = S
+
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Pilih…
+ *[other] Cari…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] P
+ *[other] C
+ }
+
+always-ask-label =
+ .label = Sentiasa tanya saya lokasi untuk simpan fail
+ .accesskey = S
+
+
+display-tags-text = Tag boleh digunakan untuk mengelaskan dan mengutamakan mesej.
+
+new-tag-button =
+ .label = Baru…
+ .accesskey = B
+
+edit-tag-button =
+ .label = Edit…
+ .accesskey = E
+
+delete-tag-button =
+ .label = Buang
+ .accesskey = B
+
+auto-mark-as-read =
+ .label = Tandakan mesej secara automatik sebagai sudah dibaca
+ .accesskey = T
+
+mark-read-no-delay =
+ .label = Serta-merta apabila dipaparkan
+ .accesskey = r
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = Selepas dipaparkan selama
+ .accesskey = d
+
+seconds-label = saat
+
+##
+
+open-msg-label =
+ .value = Buka mesej dalam:
+
+open-msg-tab =
+ .label = Tab baru
+ .accesskey = b
+
+open-msg-window =
+ .label = Tetingkap mesej baru
+ .accesskey = n
+
+open-msg-ex-window =
+ .label = Tetingkap mesej sedia ada
+ .accesskey = e
+
+close-move-delete =
+ .label = Tutup tetingkap/tab mesej apabila dipindahkan atau dibuang
+ .accesskey = T
+
+condensed-addresses-label =
+ .label = Papar nama paparan kenalan dalam buku alamat sahaja
+ .accesskey = P
+
+## Compose Tab
+
+forward-label =
+ .value = Mesej kirim semula:
+ .accesskey = K
+
+inline-label =
+ .label = Sebaris
+
+as-attachment-label =
+ .label = Sebagai Lampiran
+
+extension-label =
+ .label = tambah ekstensi pada nama fail
+ .accesskey = e
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = Auto Simpan setiap
+ .accesskey = A
+
+auto-save-end = minit
+
+##
+
+warn-on-send-accel-key =
+ .label = Sahkan dahulu sebelum menghantar mesej apabila menggunakan pintasan papan kekunci
+ .accesskey = S
+
+spellcheck-label =
+ .label = Semak ejaan sebelum hantar
+ .accesskey = S
+
+spellcheck-inline-label =
+ .label = Aktifkan menyemak ejaan semasa menaip
+ .accesskey = A
+
+language-popup-label =
+ .value = Bahasa:
+ .accesskey = B
+
+download-dictionaries-link = Muat turun Kamus Lain
+
+font-label =
+ .value = Fon:
+ .accesskey = n
+
+font-size-label =
+ .value = Saiz:
+ .accesskey = z
+
+default-colors-label =
+ .label = Guna warna piawai pembaca
+ .accesskey = b
+
+font-color-label =
+ .value = Warna Teks:
+ .accesskey = T
+
+bg-color-label =
+ .value = Warna Latar belakang:
+ .accesskey = L
+
+restore-html-label =
+ .label = Pulih Piawai
+ .accesskey = P
+
+default-format-label =
+ .label = Guna format Perenggan secara piawai, bukan Teks Kandungan
+ .accesskey = P
+
+autocomplete-description = Apabila mengalamatkan mesej, cari entri yang sepadan dalam:
+
+ab-label =
+ .label = Buku Alamat Lokal
+ .accesskey = L
+
+directories-label =
+ .label = Pelayan Direktori:
+ .accesskey = D
+
+directories-none-label =
+ .none = Tiada
+
+edit-directories-label =
+ .label = Edit Direktori…
+ .accesskey = E
+
+email-picker-label =
+ .label = Tambah secara automatik alamat e-mel keluar ke:
+ .accesskey = T
+
+default-directory-label =
+ .value = Direktori permulaan piawai dalam tetingkap buku alamat:
+ .accesskey = D
+
+default-last-label =
+ .none = Direktori terkini digunakan
+
+attachment-label =
+ .label = Semak lampiran yang hilang
+ .accesskey = m
+
+attachment-options-label =
+ .label = Kata kunci…
+ .accesskey = K
+
+enable-cloud-share =
+ .label = Tawar berkongsi fail yang melebihi
+cloud-share-size =
+ .value = MB
+
+add-cloud-account =
+ .label = Tambah…
+ .accesskey = T
+ .defaultlabel = Tambah…
+
+remove-cloud-account =
+ .label = Buang
+ .accesskey = B
+
+cloud-account-description = Tambah perkhidmatan storan Filelink yang baru
+
+
+## Privacy Tab
+
+mail-content = Kandungan Mel
+
+remote-content-label =
+ .label = Izinkan kandungan jauh dalam mesej
+ .accesskey = m
+
+exceptions-button =
+ .label = Pengecualian…
+ .accesskey = P
+
+remote-content-info =
+ .value = Ketahui lebih lanjut perihal isu privasi kandungan jauh
+
+web-content = Kandungan Web
+
+history-label =
+ .label = Ingat laman web dan pautan yang saya telah layari
+ .accesskey = I
+
+cookies-label =
+ .label = Terima kuki dari laman
+ .accesskey = T
+
+third-party-label =
+ .value = Terima kuki pihak ketiga:
+ .accesskey = k
+
+third-party-always =
+ .label = Sentiasa
+third-party-never =
+ .label = Jangan sesekali
+third-party-visited =
+ .label = Daripada yang dilawati
+
+keep-label =
+ .value = Kekalkan sehingga:
+ .accesskey = K
+
+keep-expire =
+ .label = luput
+keep-close =
+ .label = Saya tutup { -brand-short-name }
+keep-ask =
+ .label = sentiasa tanya saya
+
+cookies-button =
+ .label = Papar Kuki…
+ .accesskey = P
+
+passwords-description = { -brand-short-name } boleh mengingati kata laluan untuk semua akaun anda.
+
+passwords-button =
+ .label = Kata laluan Tersimpan…
+ .accesskey = K
+
+
+junk-description = Tetapkan tetapan mel remeh piawai. Tetapan Akaun-khusus mel remeh boleh dibuat dalam Tetapan Akaun.
+
+junk-label =
+ .label = Apabila saya tandakan mesej sebagai remeh:
+ .accesskey = A
+
+junk-move-label =
+ .label = Pindahkan ke dalam folder akaun "Mel Remeh"
+ .accesskey = o
+
+junk-delete-label =
+ .label = Buang
+ .accesskey = B
+
+junk-read-label =
+ .label = Mesej yang ditandakan Remeh sebagai telah dibaca
+ .accesskey = M
+
+junk-log-label =
+ .label = Aktifkan log tapisan mel remeh boleh diubah
+ .accesskey = A
+
+junk-log-button =
+ .label = Papar log
+ .accesskey = P
+
+reset-junk-button =
+ .label = Mengeset semula Data Latihan
+ .accesskey = M
+
+phishing-description = { -brand-short-name } boleh menganalisa mesej yang disyaki penipuan e-mel dengan teknik lazim yang digunakan untuk memperdayakan anda.
+
+phishing-label =
+ .label = Maklumkan saya jika mesej yang sedang dibaca disyaki sebagai penipuan e-mel
+ .accesskey = M
+
+antivirus-description = { -brand-short-name } memudahkan perisian anti-virus menganalisa mesej mel masuk untuk mengimbas virus sebelum disimpan di dalam komputer.
+
+antivirus-label =
+ .label = Izinkan klien anti-virus untuk kuarantin mesej masuk individu
+ .accesskey = I
+
+certificate-description = Apabila pelayan meminta sijil peribadi saya:
+
+certificate-auto =
+ .label = Pilih satu secara automatik
+ .accesskey = P
+
+certificate-ask =
+ .label = Sentiasa tanya saya
+ .accesskey = S
+
+ocsp-label =
+ .label = Minta penggerak balas pelayan OCSP untuk mengesahkan kesahihan sijil semasa
+ .accesskey = M
+
+## Chat Tab
+
+startup-label =
+ .value = Apabila { -brand-short-name } bermula:
+ .accesskey = b
+
+offline-label =
+ .label = Kekalkan Akaun Sembang di luar talian
+
+auto-connect-label =
+ .label = Sambung akaun sembang secara automatik
+
+## Note: idle-label is displayed first, then there's a field where the user
+## can enter a number, and itemTime is displayed at the end of the line.
+## The translations of the idle-label and idle-time-label parts don't have
+## to mean the exact same thing as in English; please try instead to
+## translate the whole sentence.
+
+idle-label =
+ .label = Maklumkan kenalan bahawa saya melahu selepas
+ .accesskey = M
+
+idle-time-label = minit tanpa aktiviti
+
+##
+
+away-message-label =
+ .label = dan tetapkan status ke Tiada dengan mesej:
+ .accesskey = T
+
+send-typing-label =
+ .label = Hantar notifikasi menaip dalam perbualan
+ .accesskey = t
+
+notification-label = Apabila tiba mesej yang ditujukan kepada anda:
+
+show-notification-label =
+ .label = Papar notifikasi:
+ .accesskey = s
+
+notification-all =
+ .label = dengan nama pengirim dan previu mesej
+notification-name =
+ .label = dengan nama pengirim sahaja
+notification-empty =
+ .label = tanpa sebarang info
+
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Animasi ikon dok
+ *[other] Pancar item bar tugasan
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] o
+ *[other] P
+ }
+
+chat-play-sound-label =
+ .label = Mainkan bunyian
+ .accesskey = i
+
+chat-play-button =
+ .label = Main
+ .accesskey = M
+
+chat-system-sound-label =
+ .label = Bunyian sistem piawai untuk mel baru
+ .accesskey = B
+
+chat-custom-sound-label =
+ .label = Gunakan fail bunyian berikut
+ .accesskey = G
+
+chat-browse-sound-button =
+ .label = Cari…
+ .accesskey = C
+
+theme-label =
+ .value = Tema:
+ .accesskey = T
+
+style-bubbles =
+ .label = Buih
+style-dark =
+ .label = Gelap
+style-paper =
+ .label = Helaian Kertas
+style-simple =
+ .label = Ringkas
+
+preview-label = Previu:
+no-preview-label = Tiada previu tersedia
+no-preview-description = Tema ini tidak sah atau tidak tersedia masa ini (add-on dinyahdayakan, mod selamat, …).
+
+chat-variant-label =
+ .value = Varian:
+ .accesskey = V
+
+## Preferences UI Search Results
+
+## Settings UI Search Results
+
diff --git a/l10n-ms/mail/messenger/preferences/receipts.ftl b/l10n-ms/mail/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..1eb20d479f
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/receipts.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/.
+
+receipts-dialog-window =
+ .title = Resit Pemberitahu Serahan
+
+receipt-arrive-label = Apabila resit pemberitahuan serahan diterima:
+
+receipt-request-label = Apabila saya diminta menyerahkan resit pemberitahu serahan:
+
+receipt-send-never-label =
+ .label = Jangan sesekali hantar
+
+receipt-send-always-label =
+ .label = Sentiasa hantar
+
+receipt-send-ask-label =
+ .label = Tanya saya
+
diff --git a/l10n-ms/mail/messenger/preferences/system-integration.ftl b/l10n-ms/mail/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..17b9ce01f6
--- /dev/null
+++ b/l10n-ms/mail/messenger/preferences/system-integration.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+system-integration-title =
+ .title = Integrasi Sistem
+
+system-integration-dialog =
+ .buttonlabelaccept = Tetapkan sebagai Piawai
+ .buttonlabelcancel = Langkau Integrasi
+ .buttonlabelcancel2 = Batal
+
+default-client-intro = Guna { -brand-short-name } sebagai klien piawai untuk:
+
+unset-default-tooltip = Tidak boleh membuang tetapan { -brand-short-name } sebagai klien piawai dari dalam { -brand-short-name }. Untuk menetapkan aplikasi lain sebagai piawai, anda perlu buat dari dalam dialog 'Tetapkan sebagai piawai'.
+
+checkbox-email-label =
+ .label = E-mel
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = Kumpulan berita
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = Suapan
+ .tooltiptext = { unset-default-tooltip }
+
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+system-search-engine-name =
+ { PLATFORM() ->
+ [macos] Spotlight
+ [windows] Windows Search
+ *[other] { "" }
+ }
+
+system-search-integration-label =
+ .label = Izinkan { system-search-engine-name } mencari mesej
+ .accesskey = I
+
+check-on-startup-label =
+ .label = Sentiasa semak apabila memulakan { -brand-short-name }
+ .accesskey = S
diff --git a/l10n-ms/mail/updater/updater.ini b/l10n-ms/mail/updater/updater.ini
new file mode 100644
index 0000000000..4891276b51
--- /dev/null
+++ b/l10n-ms/mail/updater/updater.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+TitleText=Kemaskini %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% sedang memasang kemaskini dan akan mula semula sebentar lagi…
diff --git a/l10n-ms/mobile/android/chrome/browser.properties b/l10n-ms/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..0db7289b80
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/browser.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/.
+
+# Popup Blocker
+
+# In Extension.jsm
+
+# 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.add.label=Tambah
+webextPerms.cancel.label=Batal
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+webextPerms.updateText=%S telah dikemaskini. Anda perlu berikan izin yang baru sebelum versi yang dikemaskini ini boleh dipasang. Pilih “Batal” untuk kekalkan versi add-on semasa.
+
+webextPerms.updateAccept.label=Kemaskini
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replaced with the localized name of the extension requesting new
+# permissions.
+webextPerms.optionalPermsHeader=%S perlukan izin tambahan.
+webextPerms.optionalPermsListIntro=Aplikasi ini mahu:
+webextPerms.optionalPermsAllow.label=Izinkan
+webextPerms.optionalPermsDeny.label=Tolak
+
+webextPerms.description.bookmarks=Baca dan ubah tandabuku
+webextPerms.description.browserSettings=Baca dan ubah tetapan pelayar
+webextPerms.description.browsingData=Buang sejarah pelayaran terkini, kuki dan data berkaitan
+webextPerms.description.clipboardRead=Dapatkan data dari klipbod
+webextPerms.description.clipboardWrite=Input data ke klipbod
+webextPerms.description.devtools=Lanjutan alatan pembangun untuk mengakses data dalam tab terbuka
+webextPerms.description.downloads=Muat turun fail, dan baca serta ubah sejarah muat turun pelayar
+webextPerms.description.downloads.open=Buka fail yang dimuat turun ke dalam komputer anda
+webextPerms.description.find=Baca teks dalam semua tab terbuka
+webextPerms.description.geolocation=Akses lokasi anda
+webextPerms.description.history=Akses sejarah pelayaran
+webextPerms.description.management=Pantau penggunaan ekstensi dan uruskan tema
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=Pertukaran mesej dengan atur cara selain %S
+webextPerms.description.notifications=Papar notifikasi kepada anda
+webextPerms.description.privacy=Baca dan ubah tetapan privasi
+webextPerms.description.proxy=Kawal tetapan proksi pelayar
+webextPerms.description.sessions=Akses tab terkini ditutup
+webextPerms.description.tabs=Akses tab pelayar
+webextPerms.description.topSites=Akses sejarah pelayaran
+webextPerms.description.webNavigation=Akses aktiviti pelayar semasa navigasi
+
+webextPerms.hostDescription.allUrls=Akses semua data anda dalam laman web
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=Akses data laman anda dalam domain %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=Akses data anda dalam #1 domain lain
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=Akses data anda untuk %S
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=Akses data anda dalam #1 laman lain
+
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # Web Console API
+stacktrace.anonymousFunction=<anonymous>
+stacktrace.outputMessage=tindanan surih daripada %S, fungsi %S, baris %S.
+timer.start=%S: pemasa telah bermula
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$Sms
+
+# Site settings dialog
+
+# In ContextualIdentityService.jsm
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Peribadi
+userContextWork.label = Kerja
+userContextBanking.label = Perbankan
+userContextShopping.label = Beli-belah
+
diff --git a/l10n-ms/mobile/android/chrome/config.dtd b/l10n-ms/mobile/android/chrome/config.dtd
new file mode 100644
index 0000000000..51a5adac7a
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/config.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!ENTITY toolbar.searchPlaceholder "Cari">
+
+<!ENTITY newPref.namePlaceholder "Nama">
+
+<!ENTITY newPref.valueBoolean "Boolean">
+<!ENTITY newPref.valueString "String">
+<!ENTITY newPref.valueInteger "Integer">
+
+<!ENTITY newPref.stringPlaceholder "Masukkan string">
+<!ENTITY newPref.numberPlaceholder "Masukkan nombor">
+
+<!ENTITY newPref.toggleButton "Togol">
+<!ENTITY newPref.cancelButton "Batal">
+
+<!ENTITY contextMenu.copyPrefName "Salin Nama">
+<!ENTITY contextMenu.copyPrefValue "Salin Nilai">
diff --git a/l10n-ms/mobile/android/chrome/config.properties b/l10n-ms/mobile/android/chrome/config.properties
new file mode 100644
index 0000000000..e10d7d070e
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/config.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+newPref.createButton=Cipta
+newPref.changeButton=Ubah
+
+pref.toggleButton=Togol
+pref.resetButton=Set semula
diff --git a/l10n-ms/mobile/android/chrome/passwordmgr.properties b/l10n-ms/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..b902d288af
--- /dev/null
+++ b/l10n-ms/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# String will be replaced by brandShortName.
+saveLogin=Adakah anda mahu %S mengingati log masuk ini?
+rememberButton=Ingat
+neverButton=Jangan sesekali
+
+# String is the login's hostname
+updatePassword=Kemaskini kata laluan tersimpan untuk %S?
+updatePasswordNoUser=Kemaskini kata laluan tersimpan untuk log masuk ini?
+updateButton=Kemaskini
+dontUpdateButton=Jangan kemaskini
+
+# Copy of the toolkit's passwordmgr.properties
+userSelectText2=Pilih log masuk untuk dikemaskini:
+passwordChangeTitle=Sahkan Menukar Kata laluan
+
+# Strings used by PromptService.js
+username=Nama pengguna
+password=Kata laluan
diff --git a/l10n-ms/mobile/android/defines.inc b/l10n-ms/mobile/android/defines.inc
new file mode 100644
index 0000000000..53f7a404d7
--- /dev/null
+++ b/l10n-ms/mobile/android/defines.inc
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+
+# variable definition and use the format specified.
+
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-ms/mobile/android/mobile/android/aboutConfig.ftl b/l10n-ms/mobile/android/mobile/android/aboutConfig.ftl
new file mode 100644
index 0000000000..13ce9dc2fe
--- /dev/null
+++ b/l10n-ms/mobile/android/mobile/android/aboutConfig.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/.
+
+config-toolbar-search =
+ .placeholder = Cari
+config-new-pref-name =
+ .placeholder = Nama
+config-new-pref-value-boolean = Boolean
+config-new-pref-value-string = String
+config-new-pref-value-integer = Integer
+config-new-pref-string =
+ .placeholder = Masukkan string
+config-new-pref-number =
+ .placeholder = Masukkan nombor
+config-new-pref-cancel-button = Batal
+config-new-pref-create-button = Cipta
+config-new-pref-change-button = Ubah
+config-pref-toggle-button = Togol
+config-pref-reset-button = Set semula
+config-context-menu-copy-pref-name =
+ .label = Salin Nama
+config-context-menu-copy-pref-value =
+ .label = Salin Nilai
diff --git a/l10n-ms/mobile/chrome/region.properties b/l10n-ms/mobile/chrome/region.properties
new file mode 100644
index 0000000000..c8c2a20c01
--- /dev/null
+++ b/l10n-ms/mobile/chrome/region.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=2
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# This is the default set of web based feed handlers shown in the reader
+# selection UI
+browser.contentHandlers.types.0.title=My Yahoo!
+browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
+
diff --git a/l10n-ms/mobile/overrides/appstrings.properties b/l10n-ms/mobile/overrides/appstrings.properties
new file mode 100644
index 0000000000..60a862b357
--- /dev/null
+++ b/l10n-ms/mobile/overrides/appstrings.properties
@@ -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/.
+
+# BEFORE EDITING THIS FILE, PLEASE NOTE:
+# These strings are only here to support shipping Fennec ESR.
+# They are unused in GeckoView, so please don't make any changes.
+
+malformedURI2=URL tidak sah dan tidak boleh dimuatkan.
+fileNotFound=Firefox tidak menemui fail di %S.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=Firefox tidak dapat menemui pelayan di %S.
+unknownProtocolFound=Firefox tidak tahu cara untuk membuka alamat ini, kerana satu daripada protokol berikut (%S) tidak dikaitkan dengan mana-mana atur cara atau tidak dibenarkan dalam konteks ini.
+connectionFailure=Firefox tidak dapat mewujudkan sambungan ke pelayan di %S.
+netInterrupt=Sambungan ke %S terganggu semasa halaman sedang dimuatkan.
+netTimeout=Pelayan di %S mengambil masa yang terlalu lama untuk memberi respon.
+redirectLoop=Firefox mengesan pelayan sedang mengarahkan semula permintaan untuk alamat ini dengan cara yang sesekali tidak akan lengkap.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don't translate "%S"
+confirmRepostPrompt=Untuk memaparkan halaman ini, %S mesti menghantar maklumat yang akan mengulang semua tindakan (seperti carian atau pengesahan pesanan) yang dilaksanakan sebelum ini.
+resendButton.label=Hantar Semula
+unknownSocketType=Firefox tidak tahu cara berkomunikasi dengan pelayan.
+netReset=Sambungan dengan pelayan telah ditetapkan semula semasa halaman dimuatkan.
+notCached=Dokumen ini sudah tiada.
+netOffline=Firefox kini dalam mod luar talian dan tidak boleh melayari Web.
+isprinting=Dokumen tidak boleh diubah ketika Mencetak atau dalam Previu Cetak.
+deniedPortAccess=Alamat ini menggunakan port rangkaian yang kebiasaannya digunakan untuk kegunaan selain pelayaran Web. Firefox telah membatalkan permohonan ini untuk menjaga keselamatan anda.
+proxyResolveFailure=Firefox dikonfigurasi menggunakan pelayan proksi yang tidak dapat ditemui.
+proxyConnectFailure=Firefox dikonfigurasi untuk menggunakan pelayan proksi yang menolak sambungan.
+contentEncodingError=Halaman yang anda cuba lihat tidak boleh dipaparkan kerana cara pemampatan yang digunakan tidak sah atau tidak disokong.
+unsafeContentType=Halaman yang anda cuba lihat tidak dapat dipaparkan kerana mengandungi fail yang berkemungkinan tidak selamat untuk dibuka. Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+malwareBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+harmfulBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+deceptiveBlocked=Halaman web %S telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.
+unwantedBlocked=Laman %S telah dilaporkan menyediakan perisian yang tidak diingini dan telah disekat berdasarkan kepada keutamaan anda.
+cspBlocked=Halaman ini mengandungi polisi keselamatan kandungan yang mencegah laman dimuatkan sebegini.
+corruptedContentErrorv2=Laman ini %S telah mengalami pencabulan protokol rangkaian yang tidak boleh dibaiki.
+sslv3Used=Firefox tidak dapat menjamin keselamatan data anda dalam %S kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+weakCryptoUsed=Pemilik %S telah mengkofigurasi laman web mereka dengan tidak betul. Untuk meliindungi maklumat anda daripada dicuri, Firefox tidak membuat sambungan dengan laman web ini.
+inadequateSecurityError=Laman web cuba menggunakan tahap keselamatan yang tidak sesuai.
+networkProtocolError=Firefox mengalami pelanggaran protokol rangkaian yang tidak dapat diperbaiki.
diff --git a/l10n-ms/mobile/overrides/netError.dtd b/l10n-ms/mobile/overrides/netError.dtd
new file mode 100644
index 0000000000..7cc0fa28b4
--- /dev/null
+++ b/l10n-ms/mobile/overrides/netError.dtd
@@ -0,0 +1,203 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
+%brandDTD;
+
+<!ENTITY loadError.label "Masalah memuatkan halaman">
+<!ENTITY retry.label "Cuba Lagi">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Tidak dapat menyambung">
+<!ENTITY connectionFailure.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY deniedPortAccess.title "Alamat ini dihadkan">
+<!ENTITY deniedPortAccess.longDesc "">
+
+<!ENTITY dnsNotFound.title "Pelayan tidak ditemui">
+<!-- LOCALIZATION NOTE (dnsNotFound.longDesc4) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside tags should be localized. Do not change the ids. -->
+<!ENTITY dnsNotFound.longDesc4 "<ul>
+ <li>Semak alamat untuk kesalahan ejaan seperti
+ <strong>ww</strong>.example.com atau
+ <strong>www</strong>.example.com</li>
+ <div id='searchbox'>
+ <input id='searchtext' type='search'></input>
+ <button id='searchbutton'>Search</button>
+ </div>
+ <li>Jika anda gagal memuatkan mana-mana halaman, semak data peranti atau sambungan Wi-Fi.
+ <button id='wifi'>Dayakan Wi-Fi</button>
+ </li> </ul>">
+
+<!ENTITY fileNotFound.title "Fail tidak ditemui">
+<!ENTITY fileNotFound.longDesc "
+<ul>
+ <li>Semak ralat huruf besar nama fail atau ralat menaip lain.</li>
+ <li>Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.</li>
+</ul>
+">
+
+<!ENTITY fileAccessDenied.title "Akses kepada fail ditolak">
+<!ENTITY fileAccessDenied.longDesc "
+<ul>
+ <li>Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.</li>
+</ul>
+">
+
+<!ENTITY generic.title "Maaf.">
+<!ENTITY generic.longDesc "
+<p>&brandShortName; tidak dapat memuat halaman ini atas beberapa alasan.</p>
+">
+
+<!ENTITY malformedURI.title "Alamat ini tidak sah">
+<!-- LOCALIZATION NOTE (malformedURI.longDesc2) This string contains markup including widgets for searching
+ or enabling wifi connections. The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY malformedURI.longDesc2 "
+<ul>
+ <li>Alamat Web biasanya ditulis seperti
+ <strong>http://www.example.com/</strong></li>
+ <div id='searchbox'>
+ <input id='searchtext' type='search'></input>
+ <button id='searchbutton'>Search</button>
+ </div>
+ <li>Pastikan anda menggunakan garis miring (contoh
+ <strong>/</strong>).</li>
+</ul>
+">
+
+<!ENTITY netInterrupt.title "Sambungan terganggu">
+<!ENTITY netInterrupt.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY notCached.title "Dokumen Luput">
+<!ENTITY notCached.longDesc "<p>Dokumen yang diminta tidak ada dalam cache &brandShortName;.</p><ul><li>Sebagai langkah keselamatan, &brandShortName; tidak akan meminta semula dokumen yang sensitif secara automatik.</li><li>Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.</li></ul>">
+
+<!ENTITY netOffline.title "Mod luar talian">
+
+<!ENTITY contentEncodingError.title "Ralat Pengekodan Kandungan">
+<!ENTITY contentEncodingError.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY unsafeContentType.title "Jenis Fail Tidak Selamat">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "Sambungan diset semula">
+<!ENTITY netReset.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY netTimeout.title "Sambungan telah tamat tempoh">
+<!ENTITY netTimeout.longDesc2 "&sharedLongDesc3;">
+
+<!ENTITY unknownProtocolFound.title "Alamat tidak difahami">
+<!ENTITY unknownProtocolFound.longDesc "
+<ul>
+ <li>Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.</li>
+</ul>
+">
+
+<!ENTITY proxyConnectFailure.title "Pelayan proksi menolak sambungan">
+<!ENTITY proxyConnectFailure.longDesc "
+<ul>
+ <li>Semak tetapan proksi untuk memastikan tetapan itu betul.</li>
+ <li>Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi
+ berfungsi.</li>
+</ul>
+">
+
+<!ENTITY proxyResolveFailure.title "Tidak dapat menemui pelayan proksi">
+<!-- LOCALIZATION NOTE (proxyResolveFailure.longDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY proxyResolveFailure.longDesc3 "<ul> <li>Periksa tetapan proksi untuk memastikan yang ianya adalah betul.</li> <li>Periksa juga yang peranti anda mempunyai sambungan data atau Wi-Fi. <button id='wifi'>Dayakan Wi-Fi</button> </li> </ul>">
+
+<!ENTITY redirectLoop.title "Halaman tidak diarahkan semula dengan betul">
+<!ENTITY redirectLoop.longDesc "
+<ul>
+ <li>Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima
+ kuki.</li>
+</ul>
+">
+
+<!ENTITY unknownSocketType.title "Respon tidak dijangka daripada pelayan">
+<!ENTITY unknownSocketType.longDesc "
+<ul>
+ <li>Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi
+ yang dipasang.</li>
+ <li>Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.</li>
+</ul>
+">
+
+<!ENTITY nssFailure2.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssFailure2.longDesc2 "
+<ul>
+ <li>Halaman yang anda mahu lihat tidak dapat dipaparkan kerana autentisiti data yang diterima tidak dapat disahkan.</li>
+ <li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li>
+</ul>
+">
+
+<!ENTITY nssBadCert.title "Gagal Disambung Dengan Selamat">
+<!ENTITY nssBadCert.longDesc2 "
+<ul>
+ <li>Ini mungkin masalah konfigurasi pelayan, atau mungkin
+seseorang cuba menyamar sebagai pelayan.</li>
+ <li>Jika anda pernah berjaya membuat sambungan ke pelayan ini, ralat ini mungkin
+sementara, dan anda boleh cuba lagi nanti.</li>
+</ul>
+">
+
+<!-- LOCALIZATION NOTE (sharedLongDesc3) This string contains markup including widgets for enabling wifi connections.
+ The text inside the tags should be localized. Do not touch the ids. -->
+<!ENTITY sharedLongDesc3 "
+<ul>
+ <li>Laman ini mungkin tidak bersedia atau terlalu sibuk. cuba lagi kemudian.</li>
+ <li>Jika anda gagal memuatkan mana-mana halaman, semak data telefon atau sambungan Wi-Fi.
+ <button id='wifi'>Enable Wi-Fi</button>
+ </li>
+</ul>
+">
+
+<!ENTITY cspBlocked.title "Disekat oleh Polisi Keselamatan Kandungan">
+<!ENTITY cspBlocked.longDesc "<p>&brandShortName; menghalang halaman ini daripada dimuatkan kerana ada kandungan yang tidak dibenarkan oleh polisi keselamatan.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Ralat Kandungan Rosak">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
+
+<!ENTITY securityOverride.linkText "Atau anda boleh tambah pengecualian…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Keluarkan saya dari sini!">
+<!ENTITY securityOverride.exceptionButtonLabel "Tambah Pengecualian…">
+
+<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
+contents of the <xul:button> tags. The only language content is the label= field,
+which uses strings already defined above. The button is included here (instead of
+netError.xhtml) because it exposes functionality specific to firefox. -->
+
+<!ENTITY securityOverride.warningContent "
+<p>Anda sepatutnya tidak menambah pengecualian jika anda menggunakan sambungan internet yang memang anda tidak percayai atau jika anda tidak biasa melihat amaran untuk pelayan ini.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+<!ENTITY sslv3Used.title "Tidak dapat Disambung dengan Selamat">
+<!-- LOCALIZATION NOTE (sslv3Used.longDesc) - Do not translate
+ "SSL_ERROR_UNSUPPORTED_VERSION". -->
+<!ENTITY sslv3Used.longDesc "Info lanjutan: SSL_ERROR_UNSUPPORTED_VERSION">
+
+<!ENTITY weakCryptoUsed.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (weakCryptoUsed.longDesc) - Do not translate
+ "SSL_ERROR_NO_CYPHER_OVERLAP". -->
+<!ENTITY weakCryptoUsed.longDesc "Info Lanjutan: SSL_ERROR_NO_CYPHER_OVERLAP">
+
+<!ENTITY inadequateSecurityError.title "Sambungan internet anda tidak selamat">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> menggunakan teknologi keselamatan yang usang dan terdedah kepada serangan. Penyerang dengan mudah boleh mendedahkan maklumat yang anda fikir selamat. Pentadbir laman web perlu membaiki pelayan terlebih dahulu sebelum anda boleh melawat laman ini.</p><p>Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY networkProtocolError.title "Ralat Protokol Rangkaian">
+<!ENTITY networkProtocolError.longDesc "<p>Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.</p><ul><li>Sila hubungi pemilik laman web untuk memaklumkan masalah ini.</li></ul>">
diff --git a/l10n-ms/netwerk/necko.properties b/l10n-ms/netwerk/necko.properties
new file mode 100644
index 0000000000..3579ddfc7b
--- /dev/null
+++ b/l10n-ms/netwerk/necko.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/.
+
+#ResolvingHost=Looking up
+#ConnectedTo=Connected to
+#ConnectingTo=Connecting to
+#SendingRequestTo=Sending request to
+#TransferringDataFrom=Transferring data from
+
+3=Mencari %1$S…
+4=Disambung ke %1$S…
+5=Menghantar permohonan ke %1$S…
+6=Memindahkan data daripada %1$S…
+7=Menyambung ke %1$S…
+8=Baca %1$S
+9=Ditulis %1$S
+10=Menunggu %1$S…
+11=Mencari %1$S…
+12=Melaksanakan jabat tangan TLS ke %1$S…
+13=Jabat tangan TLS siap untuk %1$S…
+
+RepostFormData=Laman ini sedang diarah ke lokasi baru. Adakah anda ingin hantar semula bentuk data yang anda taip ke lokasi yang baru?
+
+# Directory listing strings
+DirTitle=Indeks %1$S
+DirGoUp=Naik sehingga paras teratas direktori
+ShowHidden=Papar objek tersorok
+DirColName=Nama
+DirColSize=Saiz
+DirColMTime=Terakhir Diubah
+DirFileLabel=Fail:
+
+SuperfluousAuth=Anda akan log ke dalam laman "%1$S" dengan nama pengguna "%2$S", tetapi laman web tidak memerlukan pengesahan. Ini mungkin cubaan untuk mengelirukan anda.\n\nAdakah "%1$S" laman yang anda ingin lawati?
+AutomaticAuth=Anda bakal log masuk ke laman "%1$S" dengan nama pengguna "%2$S".
+
+TrackerUriBlocked=Sumber “%1$S” disekat kerana sekatan kandungan didayakan.
+UnsafeUriBlocked=The resource at “%1$S” was blocked by Safe Browsing.
+
+CookieBlockedByPermission=Permintaan untuk mengakses kuki atau storan ke “%1$S” telah disekat kerana penyesuaian keizinan kuki.
+CookieBlockedTracker=Permintaan untuk mengakses kuki atau storan ke “%1$S” telah disekat kerana diminta oleh penjejak dan sekatan kandungan didayakan.
+CookieBlockedAll=Permintaan untuk mengakses kuki atau storan ke “%1$S” telah disekat kerana kami menyekat semua permintaan mengakses storan.
+CookieBlockedForeign=Permintaan untuk mengakses kuki atau storan ke “%1$S” telah disekat kerana kami menyekat semua permintaan mengakses storan pihak ketiga dan sekatan kandungan didayakan.
+
diff --git a/l10n-ms/security/manager/chrome/pipnss/nsserrors.properties b/l10n-ms/security/manager/chrome/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..6de29d3ebb
--- /dev/null
+++ b/l10n-ms/security/manager/chrome/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# 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/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=Tidak dapat berkomunikasi secara selamat. Rakan tidak menyokong enkripsi gred tinggi.
+SSL_ERROR_US_ONLY_SERVER=Tidak dapat berkomunikasi secara selamat. Rakan memerlukan enkripsi gred tinggi yang tidak disokong.
+SSL_ERROR_NO_CYPHER_OVERLAP=Tidak dapat komunikasi yang selamat dengan rakan: tiada enkripsi algoritma yang sama.
+SSL_ERROR_NO_CERTIFICATE=Tidak dapat mencari sijil tertentu atau kunci keperluan untuk pengesahihan.
+SSL_ERROR_BAD_CERTIFICATE=Tidak dapat komunikasi yang selamat dengan rakan: sijil rakan telah ditolak.
+SSL_ERROR_BAD_CLIENT=Pelayan mengesan data rosak daripada klien.
+SSL_ERROR_BAD_SERVER=Klien mengesan data rosak daripada pelayan.
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Jenis sijil tidak disokong.
+SSL_ERROR_UNSUPPORTED_VERSION=Rakan menggunakan versi protokol sekuriti yang tidak disokong.
+SSL_ERROR_WRONG_CERTIFICATE=Pengesahan klien gagal: kekunci persendirian dalam pangkalan data utama tidak sepadan dengan kekunci umum dalam pangkalan data sijil.
+SSL_ERROR_BAD_CERT_DOMAIN=Tidak dapat komunikasi yang selamat dengan rakan: nama domain yang diminta tidak sepadan dengan sijil pelayan.
+SSL_ERROR_POST_WARNING=Ralat kod SSL yang tidak diketahui.
+SSL_ERROR_SSL2_DISABLED=Rakan hanya menyokong SSL versi 2, yang dinyahdayakan secara lokal.
+SSL_ERROR_BAD_MAC_READ=SSL menerima satu rekod dengan Message Authentication Code yang tidak betul.
+SSL_ERROR_BAD_MAC_ALERT=Rakan SSL melaporkan Kod Pengesahan Mesej yang tidak betul.
+SSL_ERROR_BAD_CERT_ALERT=Rakan SSL tidak dapat mengesahkan sijil anda.
+SSL_ERROR_REVOKED_CERT_ALERT=Rakan SSL menolak sijil anda sebagai ditarik balik.
+SSL_ERROR_EXPIRED_CERT_ALERT=Rakan SSL menolak sijil anda kerana sudah luput.
+SSL_ERROR_SSL_DISABLED=Tidak boleh disambung: SSL dinyahdayakan.
+SSL_ERROR_FORTEZZA_PQG=Tidak dapat menyambung: Rakan SSL berada dalam domain FORTEZZA yang lain.
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=Satu cip SSL yang tidak diketahui telah diminta.
+SSL_ERROR_NO_CIPHERS_SUPPORTED=Tiada sifer yang sesuai dan didayakan dalam atur cara ini.
+SSL_ERROR_BAD_BLOCK_PADDING=SSL menerima rakaman dengan rekod yang tidak berkualiti.
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL telah menerima satu rekod yang telah melebihi kepanjangan maximum yang dibenarkan.
+SSL_ERROR_TX_RECORD_TOO_LONG=rekod SSL yang cuba dihantar melebihi panjang yang dibenarkan.
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL menerima mesej jabat tangan Hello Request yang cacat.
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL menerima mesej jabat tangan Client Hello yang cacat.
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL menerima mesej jabat tangan Server Hello yang cacat.
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL menerima satu kecacatan mesej jabat tangan Sijil.
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL menerima mesej jabat tangan Server Key Exchange yang cacat.
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL menerima mesej jabat tangan Certificate Request yang cacat.
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL menerima mesej jabat tangan Server Hello Done yang cacat.
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL menerima satu kecacatan mesej jabat tangan Pengesahan Sijil.
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL menerima kecacatan mesej jabat tangan Client Key Exchange.
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL menerima mesej jabat tangan Finished yang cacat.
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL menerima satu rekod tukar bentuk Change Cipher Spec.
+SSL_ERROR_RX_MALFORMED_ALERT=SSL menerima kecacatan rekod amaran.
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL menerima rekod Jabat tangan yang cacat.
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL menerima rekod canggaan Application Data.
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL menerima mesej jabat tangan Hello Request yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL menerima mesej jabat tangan Client Hello yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL menerima mesej jabat tangan Server Hello yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL menerima mesej jabat tangan Certificate yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL menerima mesej jabat tangan Server Key Exchange yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL menerima mesej jabat tangan Certificate Request yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL menerima mesej jabat tangan Server Hello Done yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL menerima mesej jabat tangan Certificate Verify yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL menerima mesej jabat tangan Client Key Exchange yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL menerima mesej jabat tangan Finished yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL menerima satu rekod Change Cipher Spec yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL menerima satu rekod Alert yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL menerima rekod Jabat tangan yang tidak dijangka.
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL menerima rekod Data Aplikasi yang tidak dijangka.
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL menerima satu rekod dengan jenis kandungan yang tidak diketahui.
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL menerima mesej getaran dengan jenis mesej yang tidak diketahui.
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL menerima rakaman peringatan dengan peringatan yang tidak diketahui.
+SSL_ERROR_CLOSE_NOTIFY_ALERT=Rakan SSL telah menutup sambungan ini.
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=Rakan SSL tidak menjangkakan mesej jabat tangan yang diterima.
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=Rakan SSL tidak berjaya menyahmampatkan rekod SSL yang diterima.
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=Rakan SSL tidak dapat merundingkan set parameter sekuriti yang boleh diterima.
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=Rakan SSL menolak mesej jabat tangan untuk kandungan yang tidak boleh diterima.
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=Rakan SSL tidak menyokong jenis sijil yang telah diterima.
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=Rakan SSL ada beberapa isu yang tidak dinyatakan dengan sijil yang diterima.
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL mengalami kegagalan menjanakan nombor secara rawak.
+SSL_ERROR_SIGN_HASHES_FAILURE=tidak mampu menanda data secara digital untuk mengesahkan sijil.
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL tidak dapat mengekstrak kunci awam daripada sijil rakan.
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Kegagalan yang tidak diketahui semasa memproses jabat tangan Server Key Exchange SSL.
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Kegagalan yang tidak ditentukan apabila memproses jabat tangan Client Key Exchange SSL.
+SSL_ERROR_ENCRYPTION_FAILURE=Algoritma enkripsi data pukal gagal dalam suit sifer yang dipilih.
+SSL_ERROR_DECRYPTION_FAILURE=Algoritma penyahsulitan data pukal gagal di ruang penyahsulitan terpilih.
+SSL_ERROR_SOCKET_WRITE_FAILURE=Percubaan untuk menulis data enkripsi pada soket asas gagal.
+SSL_ERROR_MD5_DIGEST_FAILURE=Fungsi diges MD5 gagal.
+SSL_ERROR_SHA_DIGEST_FAILURE=Fungsi diges SHA-1 gagal.
+SSL_ERROR_MAC_COMPUTATION_FAILURE=Pengiraan MAC gagal.
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=Gagal untuk mencipta konteks Kekunci Simmetrik.
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=Kegagalan untuk membuka kunci Symmetric dalam mesej Client Key Exchange.
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=Pelayan SSL mencuba untuk menggunakan kunci tempatan grad domestik dengan ekspot sifer yang sesuai.
+SSL_ERROR_IV_PARAM_FAILURE=Kod PKCS11 gagal untuk menterjemah IV kepada param.
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=gagal untuk memastikan pemilihan chiper suite.
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=Klien gagal menghasilkan kunci sesi untuk sesi SSL.
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=Pelayan tidak mempunyai kekunci untuk melakukan pertukaran kekunci algoritma tersebut.
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=Token PKCS#11 telah dimasukkan atau dialih keluar semasa operasi sedang berjalan.
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=Tiada token PKCS#11 dapat ditemui untuk melaksanakan operasi yang diperlukan.
+SSL_ERROR_NO_COMPRESSION_OVERLAP=Tidak dapat komunikasi yang selamat dengan rakan: tiada mampatan algorithma yang biasa.
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Tidak berjaya memulakan satu lagi jabat tangan SSL sehingga jabat tangan semasa selesai.
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Menerima nilai cincang jabat tangan yang salah daripada rakan.
+SSL_ERROR_CERT_KEA_MISMATCH=Sijil yang diberi tidak boleh digunakan bersama algoritma pertukaran kekunci yang dipilih.
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=Tiada penguasa sijil yang dipercayai untuk pengesahan pengguna SSL.
+SSL_ERROR_SESSION_NOT_FOUND=ID sesi klien SSL tidak ditemui dalam cache sesi pelayan.
+SSL_ERROR_DECRYPTION_FAILED_ALERT=Rakan tidak dapat menyahsulitkan rekod SSL yang diterima.
+SSL_ERROR_RECORD_OVERFLOW_ALERT=Rakan menerima rekod SSL yang lebih panjang daripada yang dibenarkan.
+SSL_ERROR_UNKNOWN_CA_ALERT=Rakan tidak mengiktiraf dan mempercayai CA yang mengeluarkan sijil anda.
+SSL_ERROR_ACCESS_DENIED_ALERT=Rakan menerima sijil yang sah, tapi dinafikan akses.
+SSL_ERROR_DECODE_ERROR_ALERT=Rakan tidak dapat menyahkod mesej jabat tangan SSL.
+SSL_ERROR_DECRYPT_ERROR_ALERT=Rakan melaporkan kegagalan mengesahkan tandatangan atau pertukaran kekunci.
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=Rakan melaporkan perundingan yang tidak mematuhi peraturan eksport.
+SSL_ERROR_PROTOCOL_VERSION_ALERT=Rakan melaporkan versi protokol yang tidak serasi atau tidak disokong.
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=Server memerlukan sifer yang lebih selamat daripada yang disokong oleh klien.
+SSL_ERROR_INTERNAL_ERROR_ALERT=Rakan melaporkan ada berlaku ralat dalaman.
+SSL_ERROR_USER_CANCELED_ALERT=Rakan pengguna membatalkan jabat tangan.
+SSL_ERROR_NO_RENEGOTIATION_ALERT=Rakan tidak membenarkan rundingan semula parameter sekuriti SSL.
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=Pelayan cache SSL tidak dikonfigurasi dan tidak dinyahdayakan untuk soket ini.
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=Rakan SSL tidak menyokong ekstensi hello TLS yang diminta.
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=Rakan SSL tidak berjaya mendapatkan sijil daripada URL yang diberikan.
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=Rakan SSL tiada sijil pengesahan untuk nama DNS yang diminta.
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=Rakan SSL tidak dapat respons OCSP untuk sijilnya.
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=Rakan SSL melaporkan nilai cincang sijil yang buruk.
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL menerima mesej jabat tangan New Session Ticket yang tidak dijangka.
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL menerima mesej jabat tangan New Session Ticket yang cacat.
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL menerima satu rekod mampat yang tidak boleh dimampat.
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=Perundingan adalah dilarang bagi soket SSL.
+SSL_ERROR_UNSAFE_NEGOTIATION=Rakan cuba jabat tangan gaya lama (berpotensi rentan).
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL telah menerima rekod yang tidak dijangka dan tidak tersusun.
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=SSL menerima kekunci sementara Diffie-Hellman yang lemah dalam mesej jabat tangan Server Key Exchange.
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL menerima data ekstensi NPN yang tidak sah.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=Ciri-ciri SSL tidak disokong untuk sambungan SSL 2.0.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=Ciri-ciri SSL tidak diterima oleh pelayan.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=Ciri-ciri SSL tidak diterima oleh klien.
+SSL_ERROR_INVALID_VERSION_RANGE=Julat versi SSL tidak sah.
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=Rakan SSL memilih suit sifer yang tidak dibenarkan untuk versi protokol yang dipilih.
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL menerima mesej jabat tangan Hello Verify Request yang cacat.
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL menerima mesej persetujuan Hello Verify Request yang tidak dijangka.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=Ciri SSL tidak disokong versi protokol.
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL menerima mesej jabat tangan Certificate Status yang tidak dijangka.
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=Algoritma cincang yang tidak disokong telah digunakan oleh rakan TLS.
+SSL_ERROR_DIGEST_FAILURE=Fungsi diges gagal.
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Algoritma tandatangan yang tidak betul dinyatakan dalam elemen tandatangan-digital.
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=Ektensi rundingan protokol seterusnya didayakan, tetapi callback telah dibuang sebelum digunakan.
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=Pelayan tidak menyokong protokol klien yang mengiklan ektensi dalam ALPN.
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=Pelayan menolak jabat tangan kerana klien menurunkan gred TLS menjadi versi lebih rendah daripada yang disokong oleh pelayan.
+SSL_ERROR_WEAK_SERVER_CERT_KEY=Sijil pelayan mengandungi kunci umum yang terlalu lemah.
+SSL_ERROR_RX_SHORT_DTLS_READ=Tidak cukup ruang dalam penimbal untuk rekod DTLS.
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=Tiada konfigurasi untuk algoritma tandatangan TLS yang tidak disokong.
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=Rakan menggunakan kombinasi tandatangan dan algoritma cincang yang tidak disokong.
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=Rakan cuba menyambung semula tanpa ekstensi extended_master_secret yang betul.
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=Rakan cuba untuk menyambung semula dengan ekstensi extended_master_secret yang tidak dijangka.
+SEC_ERROR_IO=Kesalahan I/O berlaku semasa pengesahan keselamatan.
+SEC_ERROR_LIBRARY_FAILURE=Kegagalan Sekuriti Perpustakaan.
+SEC_ERROR_BAD_DATA=Sekuriti Perpustakaan: menerima data yang buruk.
+SEC_ERROR_OUTPUT_LEN=perpustakaan keselamatan : kesilapan data.
+SEC_ERROR_INPUT_LEN=pustaka keselamatan pernah mengalami ralat panjang input.
+SEC_ERROR_INVALID_ARGS=perpustakaan keselamatan : arahan tidak sah
+SEC_ERROR_INVALID_ALGORITHM=Perpustakaan Keselamatan : Algoritma tidak sah
+SEC_ERROR_INVALID_AVA=Sekuriti Perpustakaan: AVA yang tidak sah.
+SEC_ERROR_INVALID_TIME=Format waktu tidak sah.
+SEC_ERROR_BAD_DER=perpustakaan keselamatan: mesej DER-encoded tidak dapat format dengan tertib.
+SEC_ERROR_BAD_SIGNATURE=Sijil rakan ada tandatangan tidak sah.
+SEC_ERROR_EXPIRED_CERTIFICATE=Sijil Rakan telah luput.
+SEC_ERROR_REVOKED_CERTIFICATE=Sijil Rakan telah dimansuhkan.
+SEC_ERROR_UNKNOWN_ISSUER=Pengeluar Sijil Rakan tidak diiktiraf.
+SEC_ERROR_BAD_KEY=Kekunci umum rakan tidak sah.
+SEC_ERROR_BAD_PASSWORD=Kata laluan keselamatan yang dimasukkan adalah salah.
+SEC_ERROR_RETRY_PASSWORD=Kata laluan baru yang dimasukkan tidak betul. Sila cuba lagi.
+SEC_ERROR_NO_NODELOCK=pustaka sekuriti: tiada kuncinod.
+SEC_ERROR_BAD_DATABASE=putaka sekuriti: pengkalan data yang tidak elok.
+SEC_ERROR_NO_MEMORY=pustaka sekuriti: peruntukan memori gagal.
+SEC_ERROR_UNTRUSTED_ISSUER=Pengeluar sijil rakan telah ditanda sebagai tidak dapat dipercayai oleh pengguna.
+SEC_ERROR_UNTRUSTED_CERT=Sijil rakan telah ditanda sebagai tidak boleh dipercayai oleh pengguna.
+SEC_ERROR_DUPLICATE_CERT=Sijil telahpun wujud di dalam pangkalan data anda.
+SEC_ERROR_DUPLICATE_CERT_NAME=Nama sijil pengesahan yang telah dimuat turun mempunyai kembar di dalam pangkalan data anda.
+SEC_ERROR_ADDING_CERT=Ralat menambah sijil ke pangkalan data.
+SEC_ERROR_FILING_KEY=Ralat isi semula kunci bagi sijil ini.
+SEC_ERROR_NO_KEY=Kunci peribadi untuk sijil ini tidak dapat ditemui di dalam pengkalan data kunci
+SEC_ERROR_CERT_VALID=Sijil ini adalah sah.
+SEC_ERROR_CERT_NOT_VALID=Sijil ini adalah tidak sah.
+SEC_ERROR_CERT_NO_RESPONSE=Sijil Perpustakaan : tiada maklum balas
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=Sijil kepunyaan pengeluar sijil telah luput. Sila semak masa dan tarikh sistem anda.
+SEC_ERROR_CRL_EXPIRED=CRL bagi penerbit sijil telah luput. Mengemaskinikan atau memeriksa tarikh sistem dan masa anda.
+SEC_ERROR_CRL_BAD_SIGNATURE=CRL bagi penerbit sijil mempunyai tandatangan yang tidak sah.
+SEC_ERROR_CRL_INVALID=CRL baru mempunyai format yang tidak sah.
+SEC_ERROR_EXTENSION_VALUE_INVALID=Nilai ekstensi sijil tidak sah.
+SEC_ERROR_EXTENSION_NOT_FOUND=Ekstensi sijil tidak ditemui.
+SEC_ERROR_CA_CERT_INVALID=Pengeluar sijil adalah tidak sah.
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=Kekangan sebahagian sijil adalah tidak sah.
+SEC_ERROR_CERT_USAGES_INVALID=Ruang penggunaan sijil tidak sah.
+SEC_INTERNAL_ONLY=**Modul dalaman SAHAJA**
+SEC_ERROR_INVALID_KEY=Kekunci tidak menyokong operasi yang diminta.
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=Sijil mengandungi ekstensi kritikal yang tidak diketahui.
+SEC_ERROR_OLD_CRL=CRL yang baru adalah bukan baru banding dengan yang terkini.
+SEC_ERROR_NO_EMAIL_CERT=Tidak dienkripsi atau ditandatangani: anda belum lagi ada sijil e-mel.
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=Tidak dienkripsi: anda tidak ada sijil untuk setiap penerima.
+SEC_ERROR_NOT_A_RECIPIENT=Tidak dapat didekripsi: anda bukan seorang penerima, atau sijil yang sepadan dan kunci peribadi tidak ditemui.
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=Tidak dapat dinyahenkripsi: kunci algoritma enkripsi tidak sepadan dengan sijil anda.
+SEC_ERROR_PKCS7_BAD_SIGNATURE=Tandatangan penentusahan telah gagal: tidak ada penandatangan , didapati terlalu banyak penandatangan, atau tidak sempurna atau data tercemar.
+SEC_ERROR_UNSUPPORTED_KEYALG=Kekunci algoritma tidak disokong atau tidak diketahui.
+SEC_ERROR_DECRYPTION_DISALLOWED=Tidak dapat dinyahenkripsi: dienkripsi menggunakan algoritma atau saiz kunci yang tidak dibenarkan.
+XP_SEC_FORTEZZA_BAD_CARD=Kad Fortezza telah dimulakan dengan betul. Sila alih keluar dan pulangkan semula kepada pengeluar.
+XP_SEC_FORTEZZA_NO_CARD=Tiada kad Fortezza ditemui
+XP_SEC_FORTEZZA_NONE_SELECTED=Tiada kad Fortezza dipilih
+XP_SEC_FORTEZZA_MORE_INFO=Sila pilih satu personaliti untuk mendapatkan maklumat yang lebih lanjut
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Personaliti tidak ditemui
+XP_SEC_FORTEZZA_NO_MORE_INFO=Tiada maklumat lanjut tentang personaliti ini
+XP_SEC_FORTEZZA_BAD_PIN=Pin Tidak Sah
+XP_SEC_FORTEZZA_PERSON_ERROR=Tidak dapat memulakan personaliti Fortezza.
+SEC_ERROR_NO_KRL=Tiada sijil KRL untuk laman ini yang ditemui.
+SEC_ERROR_KRL_EXPIRED=KRL bagi sijil laman ini telah luput.
+SEC_ERROR_KRL_BAD_SIGNATURE=KRL bagi sijil laman ini mendapati satu tandatangan yang tidak sah.
+SEC_ERROR_REVOKED_KEY=Kunci bagi sijil laman ini telah ditarik balik.
+SEC_ERROR_KRL_INVALID=KRL baru mempunyai format yang tidak sah.
+SEC_ERROR_NEED_RANDOM=Perpustakaan Keselamatan : memerlukan data secara rawak
+SEC_ERROR_NO_MODULE=Perpustakaan Keselamatan : Tiada Modul Keselamatan mempunyai operasi permintaan
+SEC_ERROR_NO_TOKEN=Kad sekuriti atau token yang tidak wujud, memerlukan perberian awal, atau perlu dialih.
+SEC_ERROR_READ_ONLY=Perpustakaan keselamtan: hanya membaca database.
+SEC_ERROR_NO_SLOT_SELECTED=Tiada slot atau token telah dipilih.
+SEC_ERROR_CERT_NICKNAME_COLLISION=Suatu sijil dengan nama panggilan yang sama telahpun wujud.
+SEC_ERROR_KEY_NICKNAME_COLLISION=Suatu kunci dengan nama panggilan yang sama telahpun wujud.
+SEC_ERROR_SAFE_NOT_CREATED=ralat apabila mencipta objek simpanan
+SEC_ERROR_BAGGAGE_NOT_CREATED=ralat semasa mencipta objek bagasi.
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=Tidak dapat mengalih keluar prinsipal
+XP_JAVA_DELETE_PRIVILEGE_ERROR=Tidak dapat menghapuskan keistimewaan
+XP_JAVA_CERT_NOT_EXISTS_ERROR=Prinsipal ini tidak mempunyai sijil
+SEC_ERROR_BAD_EXPORT_ALGORITHM=Algoritma yang dikehendaki adalah tidak dibenarkan.
+SEC_ERROR_EXPORTING_CERTIFICATES=Ralat ketika cuba untuk mengeksport sijil-sijil.
+SEC_ERROR_IMPORTING_CERTIFICATES=Ralat ketika cuba mengimport sijil-sijil.
+SEC_ERROR_PKCS12_DECODING_PFX=Tidak dapat mengimport. Ralat penyahkodan. Fail tidak sah.
+SEC_ERROR_PKCS12_INVALID_MAC=Tidak dapat mengimport. MAC tidak sah. Kata laluan salah atau fail rosak.
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=Tidak dapat mengimport. Algoritma MAC tidak disokong.
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Tidak dapat mengimport. Hanya menyokong integriti kata laluan dan mod privasi.
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=Tidak dapat mengimport. Struktur fail sudah rosak.
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=Tidak dapat mengimport. Algoritma enkripsi tidak disokong.
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=Tidak dapat mengimport. Versi fail tidak disokong.
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Tidak dapat mengimport. Kata laluan privasi tidak betul.
+SEC_ERROR_PKCS12_CERT_COLLISION=Tidak dapat mengimport. Nama gelaran yang sama sudah ada dalam pangkalan data.
+SEC_ERROR_USER_CANCELLED=Pengguna klik butang batal.
+SEC_ERROR_PKCS12_DUPLICATE_DATA=Tidak diimport kerana telah wujud dalam pangkalan data.
+SEC_ERROR_MESSAGE_SEND_ABORTED=Mesej tidak dihantar.
+SEC_ERROR_INADEQUATE_KEY_USAGE=Kunci pensijilan tidak mencukupi untuk percubaan operasi.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Jenis sijil tidak diluluskan bagi aplikasi.
+SEC_ERROR_CERT_ADDR_MISMATCH=Alamat menandatangani sijil tidak sama dengan alamat pengepala mesej.
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=Tidak dapat mengimport. Ralat mencuba mengimport kunci peribadi.
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=Tidak dapat mengimport. Ralat mencuba mengimport rantai sijil.
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=Tidak dapat mengeksport. Tidak dapat mencari sijil atau kunci dengan menggunakan nama samaran.
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=Tidak dapat mengeksport. Kunci peribadi tidak boleh dicari dan dieksport.
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=Tidak dapat mengeksport. Tidak dapat menulis fail yang dieksport.
+SEC_ERROR_PKCS12_UNABLE_TO_READ=Tidak dapat mengimport. Tidak dapat membaca fail yang di import.
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=Tidak dapat mengeksport. Pangkalan data utama rosak atau telah dihapuskan.
+SEC_ERROR_KEYGEN_FAIL=Tidak dapat menjana pasangan kekunci awam/swasta.
+SEC_ERROR_INVALID_PASSWORD=Kata laluan yang dimasukkan tidak sah. Sila pilih yang lain.
+SEC_ERROR_RETRY_OLD_PASSWORD=Kata laluan lama yang dimasukkan tidak betul. Sila cuba lagi.
+SEC_ERROR_BAD_NICKNAME=nama timangan dalam sijil sudah digunakan.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=Rantaian rakan FORTEZZA tiada Sijil bukan-FORTEZZA.
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Satu kunci sensitif tidak boleh dialih pada slot yang diperlukan.
+SEC_ERROR_JS_INVALID_MODULE_NAME=Nama modul tidak sah.
+SEC_ERROR_JS_INVALID_DLL=Modul haluan/nama fail tidak sah
+SEC_ERROR_JS_ADD_MOD_FAILURE=Tidak dapat menambah modul
+SEC_ERROR_JS_DEL_MOD_FAILURE=Tidak dapat menghapuskan modul
+SEC_ERROR_OLD_KRL=KRL yang baru adalah tidak lama banding dengan yang terkini.
+SEC_ERROR_CKL_CONFLICT=CKL baru mempunyai pengeluar berbeza daripada CKL semasa. Hapus CKL semasa.
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=Lembaga Persijilan untuk sijil ini tidak membenarkan sijil dengan nama yang sama dibekalkan.
+SEC_ERROR_KRL_NOT_YET_VALID=Senarai pembatalan bagi sijil ini belum lagi disahkan.
+SEC_ERROR_CRL_NOT_YET_VALID=Senarai sijil pembatalan bagi sijil ini belum sah.
+SEC_ERROR_UNKNOWN_CERT=Sijil yang diminta tidak dapat ditemui.
+SEC_ERROR_UNKNOWN_SIGNER=Sijil penandatangan tidak dapat ditemui.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=Lokasi bagi pelayar status sijil mempunyai format yang tidak sah.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=Respond OCSP tidak dapat nyakod dengan lengkap; ia merupakan jenis yang tidak diketahui.
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=Pelayar OCSP mengembalikan data HTTP yang tidak dapat dijangkai/tidak sah.
+SEC_ERROR_OCSP_MALFORMED_REQUEST=Pelayar OCSP mendapatkan permintaan untuk mencemarkan atau pembentukan yang tidak sempurna.
+SEC_ERROR_OCSP_SERVER_ERROR=Pelayar OCSP mengalami satu ralat pendalaman.
+SEC_ERROR_OCSP_TRY_SERVER_LATER=Pelaya OCSP memberi cadangan cuba kemudian.
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=Pelayar OCSP memerlukan satu tandatangan pada permohonan ini.
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=Pelayar OCSP telah menolak permohonan ini sebagai atur cara tanpa izin.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=Pelayar OCSP mengembalikan satu status yang tidak diiktiraf.
+SEC_ERROR_OCSP_UNKNOWN_CERT=Tiada status pada pelayan OCSP untuk sijil tersebut.
+SEC_ERROR_OCSP_NOT_ENABLED=Anda mesti dayakan OCSP sebelum melakukan operasi ini.
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Anda mesti tetapkan OCSP sebagai penggerak balas piawai sebelum melaksanakan operasi ini.
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=Balas dari pelayar OCSP telah cemar atau pembentukan yang tidak wajar.
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=Penandatangan bagi balas OCSP tidak mempunyai kuasa untuk memberi status bagi sijil ini.
+SEC_ERROR_OCSP_FUTURE_RESPONSE=Balas OCSP masih belum sah (mempunyai satu tarikh pada masa yang akan datang).
+SEC_ERROR_OCSP_OLD_RESPONSE=OCSP mengandungi informasi yang lama.
+SEC_ERROR_DIGEST_NOT_FOUND=CMS atau PKCS #7 Digest tidak dapat ditemui dalam mesej yang ditandatangani.
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=Mesej jenis CMS atau PKCS #7 adalah tidak disokong.
+SEC_ERROR_MODULE_STUCK=Modul PKCS #11 tidak dapat dialih keluar kerana sedang digunakan.
+SEC_ERROR_BAD_TEMPLATE=Tidak dapat mengekod data ASN.1. Templat tertentu tidak sah.
+SEC_ERROR_CRL_NOT_FOUND=Tiada padanan CRL yang ditemui.
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Anda sedang mencuba mengimport satu cert dengan satu penerbit/serial yang sama sebagai cert yang telah wujud, tetapi ia bukan cert yang sama.
+SEC_ERROR_BUSY=NSS tidak boleh ditutup. Objek masih lagi sedang digunakan.
+SEC_ERROR_EXTRA_INPUT=Mesej DER-encoded mempunyai banyak data yang tidak berguna.
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Lengkung eliptik tidak disokong.
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Bentuk titik lengkung eliptik tidak disokong.
+SEC_ERROR_UNRECOGNIZED_OID=Objek yang tidak dikenalpasti.
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Sijil penandatangan OCSP yang tidak sah dalam respond OCSP.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=Sijil telah ditarik balik dalam senarai sijil penarik balik pengisu.
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Pemaklum balas OCSP melaporkan sijil telah ditarik balik.
+SEC_ERROR_CRL_INVALID_VERSION=Senarai sijil penarik balik pengisu mempunyai nombor versi yang tidak diketahui.
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Senarai Penarik balik Sijil Pengeluar V1 ada ekstensi kritikal.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Senarai Penarik balik Sijil Pengeluar V2 ada ekstensi kritikal tidak diketahui.
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=Jenis objek dinyatakan tidak dapat dikenal pasti.
+SEC_ERROR_INCOMPATIBLE_PKCS11=Pemacu PKCS #11 melanggar spesifikasi dalam cara yang tidak sesuai.
+SEC_ERROR_NO_EVENT=Tiada slot acara baru pada masa ini.
+SEC_ERROR_CRL_ALREADY_EXISTS=CRL telah wujud.
+SEC_ERROR_NOT_INITIALIZED=NSS adalah tidak dapat dimulakan.
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=Operasi gagal kerana token PKCS#11 tidak menglog masuk.
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Pemaklum balas OCSP mengkonfigurasi bahawa sijil adalah tidak sah.
+SEC_ERROR_OCSP_BAD_SIGNATURE=Pemaklum balas OCSP mempunyai satu tandatangan yang tidak sah.
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=Pencarian pengesahsahihan cert adalah melebihi had gelintaran
+SEC_ERROR_INVALID_POLICY_MAPPING=Pemetaan polici mempunyai mana-mana polici
+SEC_ERROR_POLICY_VALIDATION_FAILED=Rantai Cert telah menggagalkan had polici
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Jenis lokasi tidak diketahui dalam ekstensi sijil AIA
+SEC_ERROR_BAD_HTTP_RESPONSE=Pelayar menerima maklum balas HTTP yang buruk
+SEC_ERROR_BAD_LDAP_RESPONSE=Pelayar menerima maklum balas LDAP yang teruk
+SEC_ERROR_FAILED_TO_ENCODE_DATA=Gagal untuk mengekod data dengan pengekod ASN1
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Akses maklumat lokasi lapuk dalam ekstensi sijil
+SEC_ERROR_LIBPKIX_INTERNAL=Ralat pendalaman Libpkix berlaku semasa pengesahsahihan cert.
+SEC_ERROR_PKCS11_GENERAL_ERROR=Satu PKCS #11 modul mengembalikan CKR_GENERAL_ERROR, menunjukkan sebuah ralat yang tidak dapat dipulihkan telah berlaku.
+SEC_ERROR_PKCS11_FUNCTION_FAILED=Modul PKCS #11 dikembali CKR_FUNCTION_FAILED, menunjukkan bahawa fungsi yang diminta tidak dapat dilakukan. Mencuba operasi yang sama sekali lagi mungkin akan berjaya.
+SEC_ERROR_PKCS11_DEVICE_ERROR=Satu PKCS #11 modul mengembalikan CKR_DEVICE_ERROR, menunjukkan satu masalah telah berlaku dengan token atau slot.
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=Kaedah akses maklumat yang tidak diketahui dalam ekstensi sijil.
+SEC_ERROR_CRL_IMPORT_FAILED=Ralat ketika cuba mengimport satu CRL.
+SEC_ERROR_EXPIRED_PASSWORD=Kata laluan tamat tempoh.
+SEC_ERROR_LOCKED_PASSWORD=Kata laluan dikunci.
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=Kesilapan PKCS #11 tidak dikenali.
+SEC_ERROR_BAD_CRL_DP_URL=URL sah atau tidak disokong nama pusat dalam pembahagian CRL.
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=Sijil ditandatangan menggunakan algoritma yang dilumpuhkan kerana tidak selamat.
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=Pelayan menggunakan kep pinning (HPKP) tetapi tiada rantai sijil yang boleh dipercayai dapat dibina sepadan dengan pinset. Pelanggaran key pinning tidak dapat dibatalkan.
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=Pelayan menggunakan sijil dengan ektensi kekangan asas lalu mengenalpastinya sebagai autoriti sijil. Untuk sijil yang dikeluarkan dengan betul, hal ini tidak seharusnya berlaku.
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=Pelayan menyerahkan sijil dengan saiz kunci yang terlalu kecil untuk mewujudkan sambungan yang selamat.
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=Sijil X.509 versi 1 yang bukannya trust anchor telah digunakan untuk mengeluarkan sijil pelayan. Sijil X.509 versi 1 tidak sesuai dan hendaklah tidak digunakan untuk menandatangani sijil lain.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Pelayan menyerahkan sijil yang masih belum disahkan.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Sijil yang masih belum disahkan telah digunakan untuk mengeluarkan sijil pelayan.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=Algoritma tandatangan dalam medan tandatangan sijil tidak sepadan dengan algoritma dalam bidangnya signatureAlgorithm.
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=Respon OCSP tidak memasukkan status respon sijil yang sedang disahkan.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Pelayan menyerahkan sijil yang ada tempoh sah terlalu lama.
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Ciri TLS yang diperlukan hilang.
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=Pelayan menyerahkan sijil yang mengandungi pengekodan integer yang tidak sah. Punca yang biasa termasuk number siri negatif, modul RSA negatif, dan pengekodan yang sudah tidak diperlukan lagi.
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=Pelayan menyerahkan sijil tanpa nama unggul pengeluar.
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=Kekangan polisi tambahan telah gagal apabila mengesahkan sijil ini.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Sijil ini tidak boleh dipercayai kerana ditandatangani sendiri.
diff --git a/l10n-ms/security/manager/chrome/pipnss/pipnss.properties b/l10n-ms/security/manager/chrome/pipnss/pipnss.properties
new file mode 100644
index 0000000000..f7d2e45b5a
--- /dev/null
+++ b/l10n-ms/security/manager/chrome/pipnss/pipnss.properties
@@ -0,0 +1,113 @@
+#
+# 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 strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Modul Root Terbina dalam
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=Servis Crypto Dalaman PSM
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Servis Kripto Umum
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Peranti Perisian Sekuriti
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=Servis Kriptografik Dalaman PSM
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=Kunci Peribadi PSM
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Peranti Perisian Sekuriti (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=Kriptografi FIPS 140, Kekunci dan Sijil Perkhidmatan
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=%1$s's %2$s ID
+
+CertDumpKUSign=Menanda
+CertDumpKUNonRep=Bukan-penolakan
+CertDumpKUEnc=Kunci Perahsiaan
+CertDumpKUDEnc=Perahsiaan Data
+CertDumpKUKA=Kunci Perjanjian
+CertDumpKUCertSign=Penanda Sijil
+CertDumpKUCRLSigner=Penanda CRL
+
+PSMERR_SSL_Disabled=Tidak dapat sambung dengan selamat kerana protokol SSL telah dilumpuh.
+PSMERR_SSL2_Disabled=Tidak dapat sambung dengan selamat kerana laman tersebut menggunakan versi protokol SSL yang lama dan tidak selamat.
+PSMERR_HostReusedIssuerSerial=Anda menerima sijil yang tidak sah.  Sila hubungi pentadbir pelayan atau e-mel koresponden dan berikan mereka informasi berikut:\n\nSijil anda mengandungi nombor siri seperti sijil lain yang dikeluarkan oleh autoriti persijilan.  Sila dapatkan sijil baru yang mengandungi nombor siri yang unik.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Ada ralat semasa menyambung ke %1$S. %2$S\n
+
+certErrorIntro=%S menggunakan sijil keselamatan yang tidak sah.
+
+certErrorTrust_SelfSigned=Sijil ini tidak boleh dipercayai kerana ditandatangani sendiri.
+certErrorTrust_UnknownIssuer=Sijil tidak boleh dipercayai kerana pengeluar sijil tidak dapat dikenalpasti.
+certErrorTrust_UnknownIssuer2=Pelayan mungkin tidak menghantar sijil intermediat yang sesuai.
+certErrorTrust_UnknownIssuer3=Sijil tambahan root perlu diimport.
+certErrorTrust_CaInvalid=Sijil tersebut tidak boleh dipercayai kerana ia telah dikeluarkan oleh sijil CA yang tidak sah.
+certErrorTrust_Issuer=Sijil tersebut tidak boleh dipercayai kerana pengeluar sijil tidak boleh dipercayai.
+certErrorTrust_SignatureAlgorithmDisabled=Sijil ini tidak boleh dipercayai kerana ia ditandatangani oleh algoritma tandatangan yang dinyahaktifkan disebabkan algoritma yang tidak menjamin keselamatan.
+certErrorTrust_ExpiredIssuer=Sijil tersebut tidak dapat percayai kerana sijil pengeluar telah luput.
+certErrorTrust_Untrusted=Sijil tersebut tidak datang dari sumber yang boleh dipercayai.
+certErrorTrust_MitM=Sambungan dipintas oleh proksi TLS. Jika boleh, nyahpasang atau konfigurasi peranti anda untuk mempercayai sijil akar.
+
+certErrorMismatch=Sijil tersebut tidak sah bagi nama %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=Sijil ini hanya sah untuk %S.
+certErrorMismatchMultiple=Sijil tersebut hanya sah untuk nama-nama berikut:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=Sijil tersebut telah luput pada %1$S. Waktu semasa adalah %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=Sijil tersebut tidak akan sah sehingga %1$S. Waktu sekarang ialah %2$S.
+
+certErrorSymantecDistrustAdministrator=Anda boleh maklumkan pentadbir laman web perihal masalah ini.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Kod ralat: %S
+
+P12DefaultNickname=Sijil Diimport
+CertUnknown=Tidak diketahui
+CertNoEmailAddress=(tiada alamat e-mel)
+CaCertExists=Sijil sedia dipasang sebagai autoriti sijil.
+NotACACert=Ini bukanlah sijil autoriti sijil, jadi ianya tidak dapat diimport kepada senarai autoriti sijil.
+UserCertIgnoredNoPrivateKey=Sijil peribadi tidak dapat dipasang kerana anda tidak memiliki kunci peribadi berkenaan yang telah dicipta apabila sijil dipohon.
+UserCertImported=Sijil peribadi anda telah dipasang. Anda perlu kekalkan salinan sandaran sijil ini.
+CertOrgUnknown=(Tidak diketahui)
+CertNotStored=(Tidak Disimpan)
+CertExceptionPermanent=Kekal
+CertExceptionTemporary=Sementara
diff --git a/l10n-ms/security/manager/chrome/pippki/pippki.properties b/l10n-ms/security/manager/chrome/pippki/pippki.properties
new file mode 100644
index 0000000000..8cc2bebd96
--- /dev/null
+++ b/l10n-ms/security/manager/chrome/pippki/pippki.properties
@@ -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/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=Adakah anda ingin percaya "%S" untuk kegunaan berikut?
+unnamedCA=Autoriti Sijil (tidak bernama)
+
+getPKCS12FilePasswordMessage=Sila masukkan kata laluan yang digunakan untuk menyulitkan sijil sandaran ini:
+
+# Client auth
+clientAuthRemember=Ingati keputusan ini
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=Organisasi: "%S"
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Dikeluarkan Di Bawah: "%S"
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=Dikeluarkan kepada: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Nombor siri: %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=Sah dari %1$S hingga %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Kunci Kegunaan: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Alamat e-mel: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Dikeluarkan oleh: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Disimpan dalam: %1$S
+
+# Page Info
+pageInfo_NoEncryption=Sambungan Tidak Dienkripsi
+pageInfo_Privacy_None1=Laman web %S tidak menyokong enkripsi halaman yang anda sedang layari.
+pageInfo_Privacy_None2=Maklumat yang dihantar melalui Internet tanpa enkripsi boleh dilihat oleh pihak lain ketika dalam transit.
+pageInfo_Privacy_None4=Halaman yang sedang anda tonton tidak terenkripsi sebelum dihantar melalui Internet.
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=Sambungan Dienkrip (%1$S, %2$S bit kekunci, %3$S)
+pageInfo_BrokenEncryption=Enkripsi Rosak (%1$S, %2$S kekunci bit, %3$S)
+pageInfo_Privacy_Encrypted1=Halaman yang anda sedang papar telah dienkripsi sebelum dihantar melalui Internet.
+pageInfo_Privacy_Encrypted2=Enkripsi menyukarkan orang yang tidak diberkenaan untuk melihat maklumat yang dihantar ke dalam sesebuah komputer. Oleh itu, kemungkinan besar tidak ada sesiapa yang membaca halaman ini semasa dihantar ke seluruh rangkaian.
+pageInfo_MixedContent=Sebahagian Sambungan Dienkripsi
+pageInfo_MixedContent2=Sebahagian halaman yang anda sedang papar tidak dienkripsi sebelum dihantar melalui Internet.
+pageInfo_WeakCipher=Sambungan anda ke laman web ini menggunakan enkripsi yang lemah dan tiada privasi. Orang lain boleh melihat maklumat atau mengubah tingkah laku laman web anda.
+pageInfo_CertificateTransparency_Compliant=This website complies with the Certificate Transparency policy.
+
+# Token Manager
+password_not_set=(tidak ditetapkan)
+enable_fips=Dayakan FIPS
+
diff --git a/l10n-ms/security/manager/security/certificates/certManager.ftl b/l10n-ms/security/manager/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..505ae55616
--- /dev/null
+++ b/l10n-ms/security/manager/security/certificates/certManager.ftl
@@ -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/.
+
+certmgr-title =
+ .title = Pengurus Sijil
+
+certmgr-tab-mine =
+ .label = Sijil Anda
+
+certmgr-tab-people =
+ .label = Hubungan
+
+certmgr-tab-servers =
+ .label = Pelayan
+
+certmgr-tab-ca =
+ .label = Autoriti
+
+certmgr-mine = Anda memiliki sijil daripada organisasi ini yang mengenali anda
+certmgr-people = Anda memiliki sijil fail yang mengenal pasti orang ini
+certmgr-ca = Anda memiliki sijil fail yang mengenal pasti autoriti sijil ini
+
+certmgr-edit-ca-cert =
+ .title = Edit tetapan sijil CA dipercaya
+ .style = width: 48em;
+
+certmgr-edit-ca-cert2 =
+ .title = Edit tetapan sijil CA dipercaya
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = Edit tetapan dipercaya:
+
+certmgr-edit-cert-trust-ssl =
+ .label = Sijil ini boleh mengenal pasti identiti laman web.
+
+certmgr-edit-cert-trust-email =
+ .label = Sijil ini boleh mengenal pasti pengguna e-mel.
+
+certmgr-delete-cert =
+ .title = Buang Sijil
+ .style = width: 48em; height: 24em;
+
+certmgr-delete-cert2 =
+ .title = Buang Sijil
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-name =
+ .label = Nama Sijil
+
+certmgr-cert-server =
+ .label = Pelayan
+
+certmgr-override-lifetime =
+ .label = Seumur hidup
+
+certmgr-token-name =
+ .label = Peranti Sekuriti
+
+certmgr-begins-label =
+ .label = Bermula Pada
+
+certmgr-expires-label =
+ .label = Luput Pada
+
+certmgr-email =
+ .label = Alamat E-Mel
+
+certmgr-serial =
+ .label = Nombor Siri
+
+certmgr-view =
+ .label = Papar...
+ .accesskey = P
+
+certmgr-edit =
+ .label = Mengubahkan kepercayaan...
+ .accesskey = E
+
+certmgr-export =
+ .label = Eksport…
+ .accesskey = r
+
+certmgr-delete =
+ .label = Buang…
+ .accesskey = B
+
+certmgr-delete-builtin =
+ .label = Buang atau Tidak Percaya…
+ .accesskey = B
+
+certmgr-backup =
+ .label = Sandaran…
+ .accesskey = S
+
+certmgr-backup-all =
+ .label = Backup Semua
+ .accesskey = k
+
+certmgr-restore =
+ .label = Import…
+ .accesskey = m
+
+certmgr-add-exception =
+ .label = Tambah Pengecualian…
+ .accesskey = T
+
+exception-mgr =
+ .title = Tambah Pengecualian Keselamatan
+
+exception-mgr-extra-button =
+ .label = Sahkan Pengecualian Keselamatan
+ .accesskey = C
+
+exception-mgr-supplemental-warning = Bank, kedai dan laman awam yang sah tidak akan meminta anda untuk melakukan ini.
+
+exception-mgr-cert-location-url =
+ .value = Lokasi:
+
+exception-mgr-cert-location-download =
+ .label = Dapatkan Sijil
+ .accesskey = D
+
+exception-mgr-cert-status-view-cert =
+ .label = Papar...
+ .accesskey = P
+
+exception-mgr-permanent =
+ .label = Simpan pengecualian ini secara tetap
+ .accesskey = P
+
+pk11-bad-password = Kata laluan yang dimasukkan tidak betul.
+pkcs12-decode-err = Gagal menyahkod fail. Sama ada bukan dalam format PKCS #12, telah rosak, atau kata laluan yang anda masukkan tidak betul.
+pkcs12-unknown-err-restore = Gagal memulihkan fail PKCS #12 atas sebab yang tidak diketahui.
+pkcs12-unknown-err-backup = Gagal mencipta fail sandaran PKCS #12 untuk sebab tidak diketahui.
+pkcs12-unknown-err = Operasi PKCS #12 gagal untuk tindak balas tidak diketahui.
+pkcs12-info-no-smartcard-backup = Adalah tidak mustahil untuk membuat sandaran sijil daripada perkakasan peranti sekuriti seperti kad pintar.
+pkcs12-dup-data = Sijil dan kunci peribadi sedia wujud pada peranti sekuriti.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Nama Fail untuk Sandaran
+file-browse-pkcs12-spec = Fail PKCS12
+choose-p12-restore-file-dialog = Sijil Fail untuk Diimport
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Fail Sijil
+import-ca-certs-prompt = Pilih fail yang mengandungi Sijil CA yang mahu diimport
+import-email-cert-prompt = Pilih Fail yang mengandungi sijil E-mel pengguna yang mahu diimport
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = Sijil "{ $certName }" mewakili Autoriti Sijil.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Buang Sijil anda
+delete-user-cert-confirm = Adakah anda pasti mahu menghapuskan sijil ini?
+delete-user-cert-impact = Jika anda hapus salah satu daripada sijil anda sendiri, anda tidak lagi dapat menggunakannya untuk memperkenalkan diri.
+
+
+delete-ca-cert-title =
+ .title = Buang atau Tidak Percaya Sijil CA
+delete-ca-cert-confirm = Anda meminta untuk menghapuskan sijil CA berikut. Untuk sijil yang terbina-dalam semua kepercayaan yang disingkirkan, juga menerima akibat yang sama. Anda pasti mahu menghapuskan atau tidak mempercayainya?
+delete-ca-cert-impact = Jika anda menghapuskan atau tidak mempercayai sijil autoriti pensijilan (CA), aplikasi ini tidak lagi percaya sebarang sijil yang diterbitkan oleh CA berkenaaan.
+
+
+delete-email-cert-title =
+ .title = Buang Sijil E-mel
+delete-email-cert-confirm = Adakah anda pasti mahu menghapuskan sijil e-mel pengguna berikut?
+delete-email-cert-impact = Jika anda menghapuskan sijil e-mel seseorang pengguna, anda tidak dapat menghantar e-mel yang dienkripsi kepada pengguna tersebut.
+
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = Sijil dengan nombor siri: { $serialNumber }
+
+## Used to show whether an override is temporary or permanent
+
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Anda bakal menindan cara { -brand-short-name } mengenal pasti laman ini.
+add-exception-invalid-header = Laman ini cuba untuk memperkenalkan diri sendiri dengan maklumat yang tidak sah.
+add-exception-domain-mismatch-short = Laman Salah
+add-exception-domain-mismatch-long = Sijil ini kepunyaan laman lain, yang mungkin bermakna bahawa ada seseorang yang cuba menyamar sebagai laman ini.
+add-exception-expired-short = Maklumat yang lapuk
+add-exception-expired-long = Sijil tidak sah pada masa ini. Mungkin telah dicuri atau hilang, dan mungkin digunakan oleh seseorang untuk menyamar laman ini.
+add-exception-unverified-or-bad-signature-short = Identiti Tidak Diketahui
+add-exception-unverified-or-bad-signature-long = Sijil ini tidak boleh dipercayai, kerana ia telah dikenalpasti oleh autoriti berdaftar menggunakan tanda tangan yang selamat.
+add-exception-valid-short = Sijil sah
+add-exception-valid-long = Laman ini menyediakan pengenalan yang sah. Tiada keperluan untuk menambahkan pengecualian.
+add-exception-checking-short = Semakan Maklumat
+add-exception-checking-long = Cubaan mengenal pasti laman ini…
+add-exception-no-cert-short = Tiada Maklumat wujud
+add-exception-no-cert-long = Tidak dapat mendapatkan status identifikasi laman ini.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Simpan Sijil Kepada Fail
+cert-format-base64 = X.509 Certificate (PEM)
+cert-format-base64-chain = X.509 Sijil dengan rantaian (PEM)
+cert-format-der = X.509 Sijil (DER)
+cert-format-pkcs7 = X.509 Sijil (PKCS#7)
+cert-format-pkcs7-chain = X.509 Sijil dengan (PKCS#7)
+write-file-failure = Ralat File
diff --git a/l10n-ms/security/manager/security/certificates/deviceManager.ftl b/l10n-ms/security/manager/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..a02485d5d3
--- /dev/null
+++ b/l10n-ms/security/manager/security/certificates/deviceManager.ftl
@@ -0,0 +1,136 @@
+# 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/.
+
+
+## Strings used for device manager
+
+devmgr =
+ .title = Pengurus Peranti
+ .style = width: 67em; height: 32em;
+
+devmgr-window =
+ .title = Pengurus Peranti
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Modul Sekuriti dan Peranti
+
+devmgr-header-details =
+ .label = Butiran
+
+devmgr-header-value =
+ .label = Nilai
+
+devmgr-button-login =
+ .label = Log Masuk
+ .accesskey = u
+
+devmgr-button-logout =
+ .label = Log Keluar
+ .accesskey = K
+
+devmgr-button-changepw =
+ .label = Tukar Kata laluan
+ .accesskey = K
+
+devmgr-button-load =
+ .label = Muatkan
+ .accesskey = a
+
+devmgr-button-unload =
+ .label = Nyahmuat
+ .accesskey = N
+
+devmgr-button-enable-fips =
+ .label = Dayakan FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Nyahdayakan FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Muatkan Pemacu Peranti PKCS#11
+
+load-device-info = Masukkan maklumat untuk modul yang anda ingin tambah.
+
+load-device-modname =
+ .value = Nama Modul
+ .accesskey = M
+
+load-device-modname-default =
+ .value = Modul PKCS#11 Baru
+
+load-device-filename =
+ .value = Nama fail Modul
+ .accesskey = f
+
+load-device-browse =
+ .label = Cari…
+ .accesskey = C
+
+## Token Manager
+
+devinfo-status =
+ .label = Status
+
+devinfo-status-disabled =
+ .label = Dinyahdayakan
+
+devinfo-status-not-present =
+ .label = Tidak Hadir
+
+devinfo-status-uninitialized =
+ .label = Tidak diletakkan permulaan
+
+devinfo-status-not-logged-in =
+ .label = Tidak Melog Masuk
+
+devinfo-status-logged-in =
+ .label = Log Masuk
+
+devinfo-status-ready =
+ .label = Sedia
+
+devinfo-desc =
+ .label = Keterangan
+
+devinfo-man-id =
+ .label = Pengilang
+
+devinfo-hwversion =
+ .label = Versi HW
+devinfo-fwversion =
+ .label = Versi FW
+
+devinfo-modname =
+ .label = Modul
+
+devinfo-modpath =
+ .label = Laluan
+
+login-failed = Gagal Log masuk
+
+devinfo-label =
+ .label = Label
+
+devinfo-serialnum =
+ .label = Nombor Siri
+
+unable-to-toggle-fips = Tidak boleh untuk menukarkan mod FIPS untuk sekuriti peranti. Ini disyorkan kepada anda untuk dan mulakan semula aplikasi ini.
+load-pk11-module-file-picker-title = Pilih pemacu peranti PKCS#11 untuk dimuat
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = Nama modul tidak boleh kosong.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = ‘Root Certs‘ dihadkan dan tidak boleh digunakan sebagai nama modul.
+
+add-module-failure = Tidak dapat menambah modul
+del-module-warning = Adakah anda pasti yang mahu menghapuskan modul sekuriti ini?
+del-module-error = Tidak dapat menghapuskan modul
diff --git a/l10n-ms/security/manager/security/pippki/pippki.ftl b/l10n-ms/security/manager/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..1bc804aa96
--- /dev/null
+++ b/l10n-ms/security/manager/security/pippki/pippki.ftl
@@ -0,0 +1,64 @@
+# 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/.
+
+password-quality-meter = Meter kualiti kata laluan
+
+## Change Password dialog
+
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Peranti Sekuriti: { $tokenName }
+change-password-old = Kata laluan semasa:
+change-password-new = Katalalan baru:
+change-password-reenter = Kata laluan baru (lagi):
+
+## Reset Primary Password dialog
+
+reset-password-button-label =
+ .label = Set semula
+
+## Downloading cert dialog
+
+download-cert-window =
+ .title = Memuat turun Sijil
+ .style = width: 46em
+
+download-cert-window2 =
+ .title = Memuat turun Sijil
+ .style = min-width: 46em
+download-cert-message = Anda telah diminta untuk mempercayai Autoriti Sijil (CA) yang baru.
+download-cert-trust-ssl =
+ .label = Percayai CA ini untuk mengenal pasti laman web.
+download-cert-trust-email =
+ .label = Percayakan CA ini untuk mengenal pasti pengguna e-mel.
+download-cert-message-desc = Sebelum mempercayai CA ini untuk sebarang kegunaan, anda perlu memeriksa sijilnya dan polisi dan prosedurnya (jika ada).
+download-cert-view-cert =
+ .label = Papar
+download-cert-view-text = Periksa sijil CA
+
+## Client Authorization Ask dialog
+
+client-auth-window =
+ .title = Permintaan Pengenalan Pengguna
+client-auth-site-description = Laman ini meminta anda memperkenalkan diri menggunakan sijil:
+client-auth-choose-cert = Pilih sijil untuk dijadikan sebagai pengenalan:
+client-auth-cert-details = Butiran sijil yang dipilih:
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Pilih Katalaluan Sandaran Sijil
+set-password-message = Kata laluan sandaran sijil yang anda tetapkan di sini melindungi fail sandaran yang anda akan cipta.  Anda mesti menetapkan kata laluan untuk meneruskan sandaran.
+set-password-backup-pw =
+ .value = Kata laluan sandaran sijil:
+set-password-repeat-backup-pw =
+ .value = Kata laluan sandaran sijil (lagi):
+set-password-reminder = Penting: Jika anda lupa kata laluan sandaran sijil anda, anda tidak akan dapat pulihkan sandaran ini lagi.  Sila catat di lokasi yang selamat.
+
+## Protected Auth dialog
+
+protected-auth-window =
+ .title = Token pengesahan dilindungi
+protected-auth-msg = Sila buat pengesahan kepada token. Kaedah pengesahan adalah bergantung kepada jenis token anda.
+protected-auth-token = Token:
diff --git a/l10n-ms/services/sync/sync.properties b/l10n-ms/services/sync/sync.properties
new file mode 100644
index 0000000000..fc7949d188
--- /dev/null
+++ b/l10n-ms/services/sync/sync.properties
@@ -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/.
+
+# %1: the user name (Ed), %2: the app name (Firefox), %3: the operating system (Android)
+client.name2 = %1$S dari %2$S pada %3$S
+
+# signInToSync.description is the tooltip for the Sync buttons when Sync is
+# not configured.
+signInToSync.description = Daftar Masuk Sync
+
diff --git a/l10n-ms/suite/chrome/branding/aboutRights.dtd b/l10n-ms/suite/chrome/branding/aboutRights.dtd
new file mode 100644
index 0000000000..eae2f6d178
--- /dev/null
+++ b/l10n-ms/suite/chrome/branding/aboutRights.dtd
@@ -0,0 +1,77 @@
+<!-- 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 is very similar to the one in Firefox from browser/locales/en-US/chrome/browser/aboutRights.dtd so you can use that file as a starting point -->
+<!-- rights.locale-direction instead of the usual local.dir entity, so RTL can skip translating page. -->
+<!ENTITY rights.locale-direction "ltr">
+<!ENTITY rights.pagetitle "about:rights">
+<!ENTITY rights.intro-header "Perihal Hak Anda">
+<!ENTITY rights.intro "&brandFullName; adalah perisian percuma dan sumber terbuka, dibina oleh komuniti yang terdiri daripada ribuan penyumbang dari seluruh dunia. Ada beberapa perkara yang anda perlu tahu:">
+
+<!-- Note on pointa / pointb / pointc form:
+ These points each have an embedded link in the HTML, so each point is
+ split into chunks for text before the link, the link text, and the text
+ after the link. If a localized grammar doesn't need the before or after
+ chunk, it can be left blank.
+
+ Also note the leading/trailing whitespace in strings here, which is
+ deliberate for formatting around the embedded links. -->
+<!ENTITY rights.intro-point1a "&brandShortName; disediakan untuk anda di bawah terma ">
+<!ENTITY rights.intro-point1b "Lesen Awam Mozilla">
+<!ENTITY rights.intro-point1c ". Ini bermakna anda boleh guna, salin dan edarkan &brandShortName; kepada pihak lain. Anda juga dialu-alukan untuk mengubahsuai kod sumber &brandShortName; untuk memenuhi keperluan anda. Lesen Umum Mozilla juga memberikan anda hak untuk mengedarkan versi yang diubah suai.">
+
+<!ENTITY rights.intro-point2b "di sini">
+<!ENTITY rights.intro-point2c ".">
+
+<!-- point 3 text for official branded builds -->
+<!ENTITY rights.intro-point3a "Polisi Privasi untuk produk &vendorShortName; boleh didapatkan ">
+<!ENTITY rights.intro-point3b "di sini">
+<!ENTITY rights.intro-point3c ".">
+
+<!-- point 4 text for official branded builds -->
+<!ENTITY rights2.intro-point4a "&brandShortName; menawarkan perkhidmatan maklumat laman web pilihan, seperti Add-on atau perkhidmatan Pelayaran Selamat; walau bagaimanapun, kami tidak dapat menjamin bahawa perkhidmatan ini 100&#37; tepat atau bebas kesilapan. Maklumat lanjut, termasuk maklumat perihal cara menyahaktifkan perkhidmatan ini, boleh didapatkan di dalam ">
+<!ENTITY rights.intro-point4b "terma perkhidmatan">
+<!ENTITY rights.intro-point4c ".">
+
+<!ENTITY rights.webservices-header "Perkhidmatan Laman Web &brandFullName;">
+
+<!-- Note that this paragraph references entities from extensions.dtd,
+ preferences.dtd, pref-smartupdate.dtd, and pref-security.dtd,
+ so that we can refer to text the user sees in the UI, without
+ this page being forgotten every time those strings are updated. -->
+<!-- Note that this paragraph references entities from extensions.dtd,
+ preferences.dtd, pref-smartupdate.dtd, and pref-security.dtd,
+ so that we can refer to text the user sees in the UI, without
+ this page being forgotten every time those strings are updated. -->
+<!ENTITY rights3.webservices-b "di sini">
+<!ENTITY rights3.webservices-c ". Ciri dan Perkhidmatan lain boleh diaktifkan atau dinyahaktifkan dari dalam tetapan keutamaan aplikasi.">
+
+<!-- add-on related points for branded builds -->
+<!ENTITY rights.addons-a "Perkhidmatan Add-on: ">
+<!ENTITY rights.addons-b "Secara piawai, &brandShortName; akan mengesyorkan add-ons dalam halaman &view.discover.label; dan menyemak kemaskini secara berkala. Jika anda mahu menyahaktifkan ciri ini untuk mengelakkan komunikasi maklumat add-ons yang dipasang dengan pelayan, ikuti langkah ini:">
+<!ENTITY rights.addons-term1 "Buka tetapan keutamaan aplikasi">
+<!ENTITY rights.addons-term2 "Pilih panel &smart.label; di dalam kategori &advance.label;">
+<!ENTITY rights.addons-term3 "Buang tanda dalam pilihan &quot;&autoAddOnsUpdates.label;&quot; dan &quot;&enablePersonalized.label;&quot;">
+<!ENTITY rights.addons-term4 "Perkhidmatan Add-on kini dinyahaktifkan">
+
+<!-- safe browsing points for branded builds -->
+<!ENTITY rights.safebrowsing-a "Pelayaran Selamat: ">
+<!ENTITY rights.safebrowsing-b "Anda tidak disyorkan untuk menyahaktifkan ciri Pelayaran Selamat kerana anda mungkin melayari laman yang tidak selamat. Jika anda mahu menyahaktifkan semua ciri ini, ikuti langkah berikut:">
+<!ENTITY rights.safebrowsing-term1 "Buka tetapan keutamaan aplikasi">
+<!ENTITY rights.safebrowsing-term2 "Pilih panel &security.label; utama">
+<!ENTITY rights.safebrowsing-term3 "Buang tanda dalam pilihan &quot;&blockAttackSites.label;&quot; dan &quot;&blockWebForgeries.label;&quot;">
+<!ENTITY rights.safebrowsing-term4 "Pelayaran Selamat kini dinyahaktifkan">
+
+<!-- location aware browsing points for branded builds -->
+<!ENTITY rights.locationawarebrowsing-a "Pelayaran Sedar Lokasi: ">
+<!ENTITY rights.locationawarebrowsing-b "adalah satu ciri pilihan. Tiada maklumat lokasi yang akan dihantar tanpa keizinan anda. Jika anda mahu menyahaktifkan ciri ini secara keseluruhan, ikuti arahan berikut:">
+<!ENTITY rights.locationawarebrowsing-term1 "Buka tetapan keutamaan aplikasi">
+<!ENTITY rights.locationawarebrowsing-term2 "Pilih panel &security.label; utama">
+<!ENTITY rights.locationawarebrowsing-term3 "Pilih pilihan untuk &quot;&geoDisabled.label;&quot;">
+<!ENTITY rights.locationawarebrowsing-term4 "Pelayaran Sedar Lokasi kini dinyahaktifkan">
+
+<!ENTITY rights.webservices-term1 "&vendorShortName; boleh memberhentikan atau mengubah Perkhidmatan mengikut budi bicara.">
+<!ENTITY rights.webservices-term3 "Perkhidmatan ini disediakan &quot;mengikut&quot; &vendorShortName;, penyumbang, pemberi lesen, dan pengedar, menafikan semua jaminan, sama ada yang dinyatakan atau yang tersirat, termasuk tanpa batasan, jaminan bahawa Perkhidmatan yang boleh diperdagangkan dan sesuai untuk tujuan anda yang tertentu. Anda menanggung risiko secara menyeluruh untuk memilih Perkhidmatan untuk apa jua tujuan anda dan kepada kualiti dan prestasi Perkhidmatan. Sesetengah bidang kuasa tidak membenarkan pengecualian atau batasan jaminan yang tersirat, jadi penafian ini tidak mungkin dikenakan kepada anda.">
+<!ENTITY rights.webservices-term4 "Kecuali dikehendaki oleh undang-undang, &vendorShortName;, para penyumbang, pemberi lesen dan para pengedar tidak bertanggungjawab ke atas mana-mana kerugian sampingan, khusus, tidak sengaja, berbangkit, punitif atau teladan yang terhasil daripada atau cara yang dikaitkan dengan penggunaan &brandShortName; dan Perkhidmatan ini. Liabiliti kolektif di bawah terma ini tidak akan melebihi $500 (lima ratus dolar). Sesetengah bidang kuasa tidak membenarkan pengecualian atau had kerugian tertentu, jadi pengecualian ini dan had mungkin tidak dikenakan kepada anda.">
+<!ENTITY rights.webservices-term5 "&vendorShortName; mungkin mengemaskinikan terma ini jika diperlukan dari masa ke semasa. Terma ini tidak boleh diubah atau dibatalkan tanpa persetujuan bertulis &vendorShortName;.">
+
diff --git a/l10n-ms/suite/chrome/branding/aboutRights.properties b/l10n-ms/suite/chrome/branding/aboutRights.properties
new file mode 100644
index 0000000000..b12df33c09
--- /dev/null
+++ b/l10n-ms/suite/chrome/branding/aboutRights.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/.
+
+buttonLabel = Ketahui hak anda
+buttonAccessKey = K
diff --git a/l10n-ms/suite/chrome/browser/linkToolbar.dtd b/l10n-ms/suite/chrome/browser/linkToolbar.dtd
new file mode 100644
index 0000000000..e6d57d0b8f
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/linkToolbar.dtd
@@ -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/. -->
+
+<!-- Link Toolbar Title -->
+<!ENTITY linkToolbar.label "Bar Navigasi Laman Web">
+<!ENTITY linkToolbar.accesskey "a">
+<!ENTITY linkToolbar.tooltip "Bar Navigasi Laman Web">
+
+<!-- Link Toolbar visibility options -->
+<!ENTITY linkToolbarAlways.label "Sentiasa Papar">
+<!ENTITY linkToolbarAlways.accesskey "S">
+<!ENTITY linkToolbarAsNeeded.label "Papar Hanya Bila Diperlukan">
+<!ENTITY linkToolbarAsNeeded.accesskey "H">
+<!ENTITY linkToolbarNever.label "Sentiasa Sorok">
+<!ENTITY linkToolbarNever.accesskey "S">
+
+<!-- Toolbar buttons, menus, and menuitems -->
+<!ENTITY topButton.label "Atas">
+<!ENTITY upButton.label "Ke Atas">
+<!ENTITY firstButton.label "Pertama">
+<!ENTITY prevButton.label "Dahulu">
+<!ENTITY nextButton.label "Berikut">
+<!ENTITY lastButton.label "Akhir">
+
+<!ENTITY documentButton.label "Dokumen">
+
+<!ENTITY tocButton.label "Jadual Kandungan">
+<!ENTITY chapterButton.label "Bab">
+<!ENTITY sectionButton.label "Bahagian">
+<!ENTITY subSectionButton.label "Sub-bahagian">
+<!ENTITY appendixButton.label "Apendiks">
+<!ENTITY glossaryButton.label "Glosari">
+<!ENTITY indexButton.label "Indeks">
+
+<!ENTITY moreButton.label "Selanjutnya">
+
+<!ENTITY helpButton.label "Bantuan">
+<!ENTITY searchButton.label "Cari">
+
+<!ENTITY authorButton.label "Pengarang">
+<!ENTITY copyrightButton.label "Hak cipta">
+
+<!ENTITY bookmarkButton.label "Tandabuku">
+
+<!ENTITY alternateButton.label "Versi Lain">
+
+<!ENTITY feedButton.label "Langgan">
diff --git a/l10n-ms/suite/chrome/browser/mailNavigatorOverlay.dtd b/l10n-ms/suite/chrome/browser/mailNavigatorOverlay.dtd
new file mode 100644
index 0000000000..404d361443
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/mailNavigatorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY newMessageCmd.label "Mesej">
+<!ENTITY newMessageCmd.accesskey "M">
+<!ENTITY newMessageCmd.key "M">
+
+<!ENTITY newContactCmd.label "Kenalan…">
+<!ENTITY newContactCmd.accesskey "K">
+
+<!ENTITY sendPage.label "Hantar Halaman…">
+<!ENTITY sendPage.accesskey "H">
+
+<!ENTITY contextSendThisPage.label "Hantar Halaman Ini…">
+<!ENTITY contextSendThisPage.accesskey "r">
+<!ENTITY contextSendThisLink.label "Hantar Pautan Ini…">
+<!ENTITY contextSendThisLink.accesskey "n">
+<!ENTITY contextSendImage.label "Hantar Imej…">
+<!ENTITY contextSendImage.accesskey "t">
+<!ENTITY contextSendVideo.label "Hantar Video…">
+<!ENTITY contextSendVideo.accesskey "n">
+<!ENTITY contextSendAudio.label "Hantar Audio…">
+<!ENTITY contextSendAudio.accesskey "n">
+<!ENTITY contextSendFrame.label "Hantar Bingkai…">
+<!ENTITY contextSendFrame.accesskey "r">
+
+<!ENTITY sendLinkCmd.label "Hantar Pautan…">
+<!ENTITY sendLinkCmd.accesskey "r">
+
diff --git a/l10n-ms/suite/chrome/browser/metadata.dtd b/l10n-ms/suite/chrome/browser/metadata.dtd
new file mode 100644
index 0000000000..5f5b02ff52
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/metadata.dtd
@@ -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/. -->
+
+<!ENTITY no-properties.label "Tiada sifat ditetapkan.">
+
+<!ENTITY caption.label "Sifat Elemen">
+<!ENTITY image-sec.label "Sifat Imej">
+<!ENTITY image-url.label "Lokasi:">
+<!ENTITY image-desc.label "Keterangan:">
+<!ENTITY image-alt.label "Teks alternatif:">
+<!ENTITY image-width.label "Lebar:">
+<!ENTITY image-height.label "Tinggi:">
+<!ENTITY image-filesize.label "Saiz Fail:">
+<!ENTITY image-filesize.value "Tidak diketahui">
+<!ENTITY insdel-sec.label "Sisip/Buang Sifat">
+<!ENTITY insdel-cite.label "Info:">
+<!ENTITY insdel-date.label "Tarikh:">
+<!ENTITY link-sec.label "Sifat Pautan">
+<!ENTITY link-url.label "Alamat:">
+<!ENTITY link-target.label "Akan dibuka dalam:">
+<!ENTITY link-type.label "Jenis sasaran:">
+<!ENTITY link-lang.label "Bahasa sasaran:">
+<!ENTITY link-rel.label "Kaitan:">
+<!ENTITY link-rev.label "Kaitan terbalik:">
+<!ENTITY misc-sec.label "Sifat Lain-lain">
+<!ENTITY misc-lang.label "Bahasa teks:">
+<!ENTITY misc-title.label "Tajuk:">
+<!ENTITY misc-tblsummary.label "Jadual ringkasan:">
+<!ENTITY quote-sec.label "Sifat Petikan">
+<!ENTITY quote-cite.label "Info:">
diff --git a/l10n-ms/suite/chrome/browser/metadata.properties b/l10n-ms/suite/chrome/browser/metadata.properties
new file mode 100644
index 0000000000..7cd296f83f
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/metadata.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/.
+
+sameWindowText=Tetingkap yang sama
+newWindowText=Tetingkap baru
+parentFrameText=Bingkai induk
+sameFrameText=Bingkai yang sama
+embeddedText=Terbenam
+unableToShowProps=Tiada sifat tersedia.
+altTextMissing=Tiada
+altTextBlank=Kosong
+imageSize=%S KB (%S bait)
+imageSizeUnknown=Tidak diketahui (tiada cache)
+imageWidth=%Spx
+imageHeight=%Spx
+# LOCALIZATION NOTE: Next two strings are for language name representations
+# %1$S = language name, %2$S = region name
+languageRegionFormat=%1$S (%2$S)
diff --git a/l10n-ms/suite/chrome/browser/navigator.dtd b/l10n-ms/suite/chrome/browser/navigator.dtd
new file mode 100644
index 0000000000..c7b7a52c45
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/navigator.dtd
@@ -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/. -->
+
+<!-- extracted from content/navigator.xul -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the browser main menu items -->
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkeys -->
+
+<!-- LOCALIZATION NOTE (mainWindow.title): DONT_TRANSLATE -->
+<!ENTITY mainWindow.title "&brandShortName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier "&brandShortName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifiermenuseparator): DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifiermenuseparator " - ">
+
+<!ENTITY mainWindow.titleprivate "Pelayaran Peribadi">
+
+<!ENTITY editPageCmd.label "Edit Halaman">
+<!ENTITY editPageCmd.accesskey "E">
+<!ENTITY editPageCmd.commandkey "e">
+
+<!ENTITY navbarCmd.label "Bar Alatan Navigasi">
+<!ENTITY navbarCmd.accesskey "N">
+<!ENTITY bookmarksToolbarCmd.label "Bar alatan Tandabuku">
+<!ENTITY bookmarksToolbarCmd.accesskey "d">
+
+<!ENTITY closeWindow.label "Tutup Tetingkap">
+<!ENTITY closeWindow.accesskey "T">
+
+<!ENTITY minimizeButton.tooltip "Minimum">
+<!ENTITY restoreButton.tooltip "Pulih">
+
+<!ENTITY feedsMenu.label "Langgan Halaman Ini">
+<!ENTITY feedsMenu.accesskey "L">
+
+<!ENTITY menuBar.tooltip "Bar Menu">
+<!ENTITY bookmarksToolbar.tooltip "Bar alatan Tandabuku">
+<!ENTITY navigationToolbar.tooltip "Bar Alatan Navigasi">
+
+<!ENTITY editBookmark.done.label "Siap">
+<!ENTITY editBookmark.cancel.label "Batal">
+<!ENTITY editBookmark.removeBookmark.accessKey "B">
+
+<!-- Toolbar items -->
+<!ENTITY backButton.label "Undur">
+<!ENTITY backButton.tooltip "Undur satu halaman">
+<!ENTITY forwardButton.label "Seterusnya">
+<!ENTITY forwardButton.tooltip "Maju satu halaman">
+<!ENTITY reloadButton.label "Muat semula">
+<!ENTITY reloadButton.tooltip "Muat semula halaman semasa">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY stopButton.tooltip "Berhenti memuatkan halaman ini">
+<!ENTITY searchButton.label "Cari">
+<!ENTITY searchButton.tooltip "Taip perkataan dalam medan di sebelah kiri, kemudian klik Cari">
+<!ENTITY goButton.label "Teruskan">
+<!ENTITY goButton.tooltip "Taip lokasi dalam medan di sebelah kiri, kemudian klik Cari">
+<!ENTITY printButton.label "Cetak">
+<!ENTITY printButton.tooltip "Cetak halaman ini">
+
+<!ENTITY locationBar.tooltip "Masukkan terma carian, kata kunci atau alamat web">
+<!ENTITY locationBar.accesskey "i">
+<!ENTITY locationBar.title "Lokasi">
+<!ENTITY proxyIcon.tooltip "Seret dan letakkan ikon ini untuk mencipta pautan ke halaman ini">
+
+<!ENTITY searchItem.title "Cari">
+
+<!ENTITY bookmarksButton.label "Tandabuku">
+<!ENTITY bookmarksButton.tooltip "Senarai tandabuku">
+<!ENTITY homeButton.label "Laman">
+<!ENTITY bookmarksToolbarItem.label "Item Bar alatan Tandabuku">
+<!ENTITY bookmarksToolbarChevron.tooltip "Papar tandabuku selanjutnya">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Siap">
+
+<!ENTITY popupIcon.tooltiptext "Buang sekatan popup laman web ini">
+
+<!ENTITY viewSecurityInfo.label "Papar Info Keselamatan">
+<!ENTITY viewSecurityInfo.accesskey "P">
+<!ENTITY viewCertificate.label "Papar Sijil">
+<!ENTITY viewCertificate.accesskey "S">
+<!ENTITY viewCertManager.label "Buka Pengurus Sijil">
+<!ENTITY viewCertManager.accesskey "B">
+
+<!ENTITY zoomIn.tooltiptext "Lebih besar">
+<!ENTITY zoomOut.tooltiptext "Lebih kecil">
diff --git a/l10n-ms/suite/chrome/browser/navigator.properties b/l10n-ms/suite/chrome/browser/navigator.properties
new file mode 100644
index 0000000000..5f98861a30
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/navigator.properties
@@ -0,0 +1,76 @@
+# 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_done=Siap
+nv_timeout=Tamat Masa
+nv_stopped=Dihentikan
+openFile=Buka Fail
+uploadFile=Muat naik Fail
+
+droponhomebutton=Letakkan pautan atau fail untuk menjadikannya halaman utama anda
+droponhometitle=Tetapkan Laman
+droponhomemsg=Adakah anda mahu dokumen ini menjadi laman baru anda?
+droponhomeokbutton=Tetapkan Laman
+
+jserror=Ada ralat dalam halaman ini. Dwi-klik di sini untuk maklumat lanjut.
+
+#SessionHistory.js
+nothingAvailable=(Tiada Yang Tersedia)
+
+#nsBrowserStatusHandler.js
+# LOCALIZATION NOTE: %S is the security certifiate issuer
+securityButtonTooltipSecure=Ditandatangani oleh %S
+securityButtonTooltipMixedContent=Amaran: Mengandungi kandungan yang tidak disahkan
+securityButtonTooltipInsecure=Paparkan maklumat keselamatan halaman semasa
+
+# menu_close labels
+tabs.closeTab.label=Tutup Tab
+tabs.closeTab.accesskey=T
+tabs.close.label=Tutup
+tabs.close.accesskey=T
+
+tabs.recentlyClosed.format=%1$S %2$S
+
+windows.recentlyClosed.format=%1$S %2$S
+
+tabs.historyItem=Kumpulan Tab
+
+menuOpenAllInTabs.label=Buka Semua dalam Tab
+
+# urlbarBindings.xml
+# LOCALIZATION NOTE: This is for the location bar drop-down string:
+# "Search " + search_engine_name + " for " + user_input
+# e.g. "Search Google for abc"
+# DO NOT change the %S order when translate, the first %S must be the search engine name.
+searchFor=Carian %S untuk "%S"
+
+# Star button
+starButtonOn.tooltip=Edit tandabuku ini
+starButtonOff.tooltip=Tandabuku halaman ini
+
+# Edit Bookmark UI
+editBookmarkPanel.pageBookmarkedTitle=Halaman Ditandabuku
+editBookmarkPanel.pageBookmarkedDescription=%S akan sentiasa mengingati halaman ini untuk anda.
+editBookmarkPanel.bookmarkedRemovedTitle=Tandabuku Dibuang
+editBookmarkPanel.editBookmarkTitle=Edit Tandabuku Ini
+
+# LOCALIZATION NOTE (editBookmark.removeBookmarks.label)
+# Semi-colon list of plural forms. 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
+
+# bookmark dialog strings
+
+# 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
+
+extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.name=Tema Piawai SeaMonkey
+extensions.{972ce4c6-7e08-4474-a285-3208198ce6fd}.description=Tema ini menggunakan gaya dan warna sistem supaya sesuai dengan aplikasi lain.
+
+extensions.modern@themes.mozilla.org.name=SeaMonkey Moden
+extensions.modern@themes.mozilla.org.description=Tema kontemporari untuk semua komponen.
+
diff --git a/l10n-ms/suite/chrome/browser/navigatorOverlay.dtd b/l10n-ms/suite/chrome/browser/navigatorOverlay.dtd
new file mode 100644
index 0000000000..038b03e248
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/navigatorOverlay.dtd
@@ -0,0 +1,144 @@
+<!-- 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/. -->
+
+<!-- File Menu -->
+<!ENTITY tabCmd.label "Tab Pelayar">
+<!ENTITY tabCmd.accesskey "T">
+<!ENTITY tabCmd.commandkey "t">
+<!ENTITY openCmd.label "Buka Lokasi Web…">
+<!ENTITY openCmd.accesskey "L">
+<!ENTITY openCmd.commandkey "l">
+<!ENTITY openFileCmd.label "Buka Fail…">
+<!ENTITY openFileCmd.accesskey "B">
+<!ENTITY openFileCmd.commandkey "o">
+
+<!ENTITY closeOtherTabs.label "Tutup Tab Lain">
+<!ENTITY closeOtherTabs.accesskey "T">
+
+<!ENTITY uploadFile.label "Muat naik Fail…">
+<!ENTITY uploadFile.accesskey "F">
+
+<!-- Edit Menu -->
+<!ENTITY findOnCmd.label "Cari dalam Halaman Ini…">
+
+<!-- View Menu -->
+<!ENTITY toolbarsCmd.label "Papar/Sorok">
+<!ENTITY toolbarsCmd.accesskey "p">
+<!ENTITY tabbarCmd.label "Bar Tab">
+<!ENTITY tabbarCmd.accesskey "T">
+<!ENTITY taskbarCmd.label "Bar Status">
+<!ENTITY taskbarCmd.accesskey "S">
+<!ENTITY componentbarCmd.label "Bar Komponen">
+<!ENTITY componentbarCmd.accesskey "K">
+
+<!ENTITY fullScreenCmd.label "Skrin Penuh">
+<!ENTITY fullScreenCmd.accesskey "P">
+
+<!ENTITY useStyleSheetMenu.label "Guna Gaya">
+<!ENTITY useStyleSheetMenu.accesskey "G">
+<!ENTITY useStyleSheetNone.label "Tiada">
+<!ENTITY useStyleSheetNone.accesskey "T">
+<!ENTITY useStyleSheetPersistentOnly.label "Gaya Piawai">
+<!ENTITY useStyleSheetPersistentOnly.accesskey "P">
+<!ENTITY bidiSwitchPageDirectionItem.label "Tukar Hala Halaman">
+<!ENTITY bidiSwitchPageDirectionItem.accesskey "k">
+<!ENTITY pageSourceCmd.label "Sumber Halaman">
+<!ENTITY pageSourceCmd.accesskey "b">
+<!ENTITY pageSourceCmd.commandkey "u">
+<!ENTITY pageInfoCmd.label "Info Halaman">
+<!ENTITY pageInfoCmd.accesskey "I">
+<!ENTITY pageInfoCmd.commandkey "i">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "Teruskan">
+<!ENTITY goMenu.accesskey "T">
+<!ENTITY goHomeCmd.label "Laman">
+<!ENTITY goHomeCmd.accesskey "L">
+<!ENTITY historyCmd.label "Sejarah">
+<!ENTITY historyCmd.accesskey "j">
+<!ENTITY history.commandKey "h">
+<!ENTITY recentTabs.label "Tab Terkini Ditutup">
+<!ENTITY recentTabs.accesskey "D">
+<!ENTITY recentTabs.commandkey "t">
+<!ENTITY recentWindows.label "Tetingkap Terkini Ditutup">
+<!ENTITY recentWindows.accesskey "T">
+<!ENTITY recentWindows.commandkey "y">
+<!ENTITY historyRestoreLastSession.label "Pulih Sesi Dahulu">
+<!ENTITY historyRestoreLastSession.accesskey "S">
+<!ENTITY syncTabsMenu.label "Tab Dari Komputer Lain">
+<!ENTITY syncTabsMenu.accesskey "L">
+
+<!-- Bookmarks Menu -->
+<!ENTITY bookmarksMenu.label "Tandabuku">
+<!ENTITY bookmarksMenu.accesskey "T">
+<!ENTITY addCurPageCmd.label "Tandabuku Halaman Ini">
+<!ENTITY addCurPageCmd.accesskey "H">
+<!ENTITY addCurPageAsCmd.label "Fail Tandabuku…">
+<!ENTITY addCurPageAsCmd.accesskey "F">
+<!ENTITY addCurPageAsCmd.commandkey "d">
+<!ENTITY addCurTabsAsCmd.label "Tandabuku Kumpulan Tab Ini…">
+<!ENTITY addCurTabsAsCmd.accesskey "K">
+<!ENTITY manBookmarksCmd.label "Urus Tandabuku…">
+<!ENTITY manBookmarksCmd.accesskey "U">
+<!ENTITY manBookmarksCmd.commandkey "b">
+
+<!-- Tools Menu -->
+<!ENTITY searchInternetCmd.label "Cari dalam Web">
+<!ENTITY searchInternetCmd.accesskey "b">
+<!ENTITY searchInternet.commandKey "s">
+<!ENTITY translateMenu.label "Terjemah Halaman">
+<!ENTITY translateMenu.accesskey "T">
+
+<!ENTITY cookieMessageTitle.label "Izin Kuki Ditukar">
+<!ENTITY cookieDisplayCookiesCmd.label "Urus Kuki Disimpan">
+<!ENTITY cookieDisplayCookiesCmd.accesskey "U">
+<!ENTITY cookieAllowCookiesCmd.label "Izin Kuki daripada Laman Web Ini">
+<!ENTITY cookieAllowCookiesCmd.accesskey "I">
+<!ENTITY cookieAllowCookiesMsg.label "Kuki daripada laman web ini sentiasa diizinkan.">
+<!ENTITY cookieAllowSessionCookiesCmd.label "Izin Kuki Sesi daripada Laman Web Ini">
+<!ENTITY cookieAllowSessionCookiesCmd.accesskey "S">
+<!ENTITY cookieAllowSessionCookiesMsg.label "Laman web ini boleh menetapkan kuki untuk sesi semasa sahaja.">
+<!ENTITY cookieCookiesDefaultCmd.label "Gunakan Izin Kuki Piawai">
+<!ENTITY cookieCookiesDefaultCmd.accesskey "G">
+<!ENTITY cookieCookiesDefaultMsg.label "Kuki daripada laman web ini diterima atau ditolak berdasarkan tetapan piawai.">
+<!ENTITY cookieBlockCookiesCmd.label "Sekat Kuki daripada Laman Web Ini">
+<!ENTITY cookieBlockCookiesCmd.accesskey "S">
+<!ENTITY cookieBlockCookiesMsg.label "Kuki daripada laman web ini sentiasa ditolak.">
+
+<!ENTITY cookieImageMessageTitle.label "Izin Imej Ditukar">
+<!ENTITY cookieDisplayImagesCmd.label "Urus Izin Imej">
+<!ENTITY cookieDisplayImagesCmd.accesskey "U">
+<!ENTITY cookieAllowImagesCmd.label "Izin Imej daripada Laman Web Ini">
+<!ENTITY cookieAllowImagesCmd.accesskey "I">
+<!ENTITY cookieAllowImagesMsg.label "Imej daripada laman web ini sentiasa dimuat turun.">
+<!ENTITY cookieImagesDefaultCmd.label "Gunakan Izin Imej Piawai">
+<!ENTITY cookieImagesDefaultCmd.accesskey "G">
+<!ENTITY cookieImagesDefaultMsg.label "Imej daripada laman web ini dimuat turun berdasarkan tetapan piawai.">
+<!ENTITY cookieBlockImagesCmd.label "Sekat Imej daripada Laman Web Ini">
+<!ENTITY cookieBlockImagesCmd.accesskey "S">
+<!ENTITY cookieBlockImagesMsg.label "Imej daripada laman web ini tidak akan dimuat turun.">
+
+<!ENTITY popupsMessageChangeTitle.label "Izin Popup Ditukar">
+<!ENTITY popupAllowCmd.label "Izin Popup daripada Laman Web Ini">
+<!ENTITY popupAllowCmd.accesskey "I">
+<!ENTITY popupAllowMsg.label "Popup daripada laman web ini sentiasa dipaparkan.">
+<!ENTITY popupDefaultCmd.label "Gunakan Izin Popup Piawai">
+<!ENTITY popupDefaultCmd.accesskey "G">
+<!ENTITY popupDefaultMsg.label "Popup daripada laman web ini dipaparkan berdasarkan tetapan piawai.">
+<!ENTITY popupBlockCmd.label "Sekat Popup daripada Laman Web Ini">
+<!ENTITY popupBlockCmd.accesskey "S">
+<!ENTITY popupBlockMsg.label "Popup daripada laman web ini tidak akan dipaparkan.">
+<!ENTITY popupsManage.label "Urus Popup">
+<!ENTITY popupsManage.accesskey "U">
+
+<!ENTITY cookieCookieManager.label "Pengurus Kuki">
+<!ENTITY cookieCookieManager.accesskey "K">
+<!ENTITY cookieImageManager.label "Pengurus Imej">
+<!ENTITY cookieImageManager.accesskey "I">
+<!ENTITY popupsManager.label "Pengurus Popup">
+<!ENTITY popupsManager.accesskey "o">
+
+<!ENTITY clearPrivateDataCmd.label "Buang Data Peribadi…">
+<!ENTITY clearPrivateDataCmd.accesskey "i">
+
diff --git a/l10n-ms/suite/chrome/browser/pageInfo.dtd b/l10n-ms/suite/chrome/browser/pageInfo.dtd
new file mode 100644
index 0000000000..e6c18f2956
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/pageInfo.dtd
@@ -0,0 +1,106 @@
+<!--
+# 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/.
+-->
+
+<!-- Note to localizers, don't localize the strings 'width' or 'height' -->
+<!ENTITY pageInfoWindow.dimensions "width: 100ch; height: 38em;">
+
+<!ENTITY copy.key "C">
+<!ENTITY copy.label "Salin">
+<!ENTITY copy.accesskey "S">
+<!ENTITY selectall.key "A">
+<!ENTITY selectall.label "Pilih Semua">
+<!ENTITY selectall.accesskey "P">
+<!ENTITY openHelpMac.key "?">
+<!ENTITY closeWindow.key "w">
+<!ENTITY copyLinks.label "Salin Pautan">
+<!ENTITY copyLinks.accesskey "P">
+<!ENTITY openInNewTab.label "Buka dalam Tab Baru">
+<!ENTITY openInNewTab.accesskey "T">
+<!ENTITY openInNewWindow.label "Buka dalam Tetingkap Baru">
+<!ENTITY openInNewWindow.accesskey "B">
+
+<!ENTITY generalTab "Umum">
+<!ENTITY generalTab.accesskey "U">
+<!ENTITY generalURL "Alamat:">
+<!ENTITY generalType "Jenis:">
+<!ENTITY generalMode "Mod Penghuraian:">
+<!ENTITY generalSize "Saiz:">
+<!ENTITY generalReferrer "URL Perujuk:">
+<!ENTITY generalSource "Sumber Cache:">
+<!ENTITY generalModified "Diubahsuai:">
+<!ENTITY generalEncoding2 "Pengekodan Teks:">
+<!ENTITY generalMetaName "Nama">
+<!ENTITY generalMetaContent "Kandungan">
+<!ENTITY generalSecurityDetails "Butiran">
+<!ENTITY generalSecurityDetails.accesskey "B">
+
+<!ENTITY formsTab "Borang">
+<!ENTITY formsTab.accesskey "B">
+<!ENTITY formAction "Tindakan Borang">
+<!ENTITY formMethod "Kaedah">
+<!ENTITY formName "Nama">
+<!ENTITY formEncoding "Pengekodan:">
+<!ENTITY formTarget "Sasaran:">
+<!ENTITY formFields "Medan:">
+<!ENTITY formLabel "Label">
+<!ENTITY formFName "Nama Medan">
+<!ENTITY formType "Jenis">
+<!ENTITY formCValue "Nilai Semasa">
+
+<!ENTITY linksTab "Pautan">
+<!ENTITY linksTab.accesskey "P">
+<!ENTITY linkName "Nama">
+<!ENTITY linkAddress "Alamat">
+<!ENTITY linkType "Jenis">
+<!ENTITY linkTarget "Sasaran">
+<!ENTITY linkAccessKey "Kekunci Akses">
+
+<!ENTITY mediaTab "Media">
+<!ENTITY mediaTab.accesskey "M">
+<!ENTITY mediaAltHeader "Teks Alternatif">
+<!ENTITY mediaAddress "Alamat">
+<!ENTITY mediaType "Jenis">
+<!ENTITY mediaSize "Saiz">
+<!ENTITY mediaCount "Kiraan">
+<!ENTITY mediaLongdesc "Keterangan:">
+<!ENTITY mediaBlockImage.accesskey "S">
+<!ENTITY mediaSaveAs "Simpan Sebagai…">
+<!ENTITY mediaSaveAs.accesskey "S">
+<!ENTITY mediaSaveAs2.accesskey "e">
+<!ENTITY mediaPreview "Previu Media:">
+
+<!ENTITY feedTab "Suapan">
+<!ENTITY feedTab.accesskey "S">
+<!ENTITY feedSubscribe "Langgan">
+<!ENTITY feedSubscribe.accesskey "g">
+
+<!ENTITY permTab "Keizinan">
+<!ENTITY permTab.accesskey "K">
+<!ENTITY permissionsFor "Keizinan untuk:">
+
+<!ENTITY securityTab "Keselamatan">
+<!ENTITY securityTab.accesskey "K">
+<!ENTITY securityHeader "Maklumat keselamatan untuk halaman ini">
+<!ENTITY securityView.certView "Papar Sijil">
+<!ENTITY securityView.accesskey "P">
+<!ENTITY securityView.unknown "Tidak diketahui">
+
+
+<!ENTITY securityView.identity.header "Identiti Laman Web">
+<!ENTITY securityView.identity.owner "Pemilik:">
+<!ENTITY securityView.identity.domain "Laman web:">
+<!ENTITY securityView.identity.verifier "Disahkan oleh:">
+
+<!ENTITY securityView.privacy.header "Privasi &amp; Sejarah">
+<!ENTITY securityView.privacy.history "Adakah saya sudah layari laman web ini hari ini?">
+<!ENTITY securityView.privacy.cookies "Adakah laman web ini menyimpan maklumat (kuki) dalam komputer saya?">
+<!ENTITY securityView.privacy.viewCookies "Papar Kuki">
+<!ENTITY securityView.privacy.viewCookies.accessKey "k">
+<!ENTITY securityView.privacy.passwords "Adakah saya pernah simpan kata laluan bagi laman web ini?">
+<!ENTITY securityView.privacy.viewPasswords "Papar Kata laluan yang Disimpan">
+<!ENTITY securityView.privacy.viewPasswords.accessKey "r">
+
+<!ENTITY securityView.technical.header "Butiran Teknikal">
diff --git a/l10n-ms/suite/chrome/browser/pageInfo.properties b/l10n-ms/suite/chrome/browser/pageInfo.properties
new file mode 100644
index 0000000000..1190282a30
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/pageInfo.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/.
+
+pageInfo.page.title=Info Halaman - %S
+pageInfo.frame.title=Info Bingkai- %S
+
+noPageTitle=Halaman Tak Bertajuk:
+unknown=Tidak diketahui
+default=Piawai
+notSet=Tidak dinyatakan
+yes=Ya
+no=Tidak
+
+mediaImg=Imej
+mediaVideo=Video
+mediaAudio=Audio
+mediaBGImg=Latar Belakang
+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
+mediaImageType=Imej %S
+
+generalQuirksMode=Mod kekhasan
+generalStrictMode=Mod pematuhan piawai
+generalNotCached=Tidak cache
+generalDiskCache=Cache cakera
+generalMemoryCache=Cache memori
+generalSize=%S KB (%S bait)
+generalMetaTag=Meta (1 tag)
+generalMetaTags=Meta (%S tag)
+generalSiteIdentity=Laman web ini dimiliki oleh %S\nIni telah disahkan oleh %S
+
+formTitle=Borang %S:
+formUntitled=Borang Tidak Bernama:
+formDefaultTarget=Tiada (buka dalam tetingkap yang sama)
+formChecked=Ditanda
+formUnchecked=Tidak ditanda
+formPassword=••••••••
+
+linkAnchor=Labuh
+linkArea=Kawasan
+linkSubmission=Penghantaran Borang
+linkSubmit=Kemukakan Pertanyaan
+linkRel=Item Berkaitan
+linkStylesheet=Lembaran Gaya
+linkRev=Pautan Terbalik
+linkX=XLink Simple
+linkScript=Skrip
+linkScriptInline=sebaris
+
+feedRss=RSS
+feedAtom=Atom
+feedXML=XML
+
+securityNoOwner=Laman web ini tidak menyediakan maklumat pemilik.
+
diff --git a/l10n-ms/suite/chrome/browser/tabbrowser.dtd b/l10n-ms/suite/chrome/browser/tabbrowser.dtd
new file mode 100644
index 0000000000..b7e01d00bc
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/tabbrowser.dtd
@@ -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/. -->
+
+<!ENTITY untitledTab "(Tiada tajuk)">
+<!ENTITY newTab.label "Tab Baru">
+<!ENTITY newTab.accesskey "B">
+<!ENTITY closeTab.label "Tutup Tab">
+<!ENTITY closeTab.accesskey "T">
+<!ENTITY closeOtherTabs.label "Tutup Tab Lain">
+<!ENTITY closeOtherTabs.accesskey "L">
+<!ENTITY reloadAllTabs.label "Muat semula Semua Tab">
+<!ENTITY reloadAllTabs.accesskey "S">
+<!ENTITY reloadTab.label "Muat Semula Tab">
+<!ENTITY reloadTab.accesskey "M">
+<!ENTITY bookmarkGroup.label "Tandabuku Kumpulan Tab Ini">
+<!ENTITY bookmarkGroup.accesskey "K">
+<!ENTITY closeTabButton.tooltip "Tutup tab semasa">
+<!ENTITY newTabButton.tooltip "Buka tab baru">
+<!ENTITY listAllTabs.tooltip "Senarai semua tab">
+<!ENTITY undoCloseTab.label "Batal Tutup Tab">
+<!ENTITY undoCloseTab.accesskey "B">
diff --git a/l10n-ms/suite/chrome/browser/tabbrowser.properties b/l10n-ms/suite/chrome/browser/tabbrowser.properties
new file mode 100644
index 0000000000..b7dd117ca4
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/tabbrowser.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/.
+
+tabs.loading=Memuatkan…
+tabs.untitled=Tiada tajuk
+tabs.closeWarningTitle=Sahkan Tutup Tab Lain
+tabs.closeButton=Tutup tab lain
+tabs.closeWarningPromptMe=Beri amaran apabila saya cuba menutup tab lain
+
+# LOCALIZATION NOTE (tabs.openWarningTitle, tabs.openWarningMultipleBranded, tabs.openButtonMultiple, tabs.openWarningPromptMeBranded):
+# These items were moved from /chrome/common/places/places.properties.
+# Now they are not specific to bookmarks.
+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/l10n-ms/suite/chrome/browser/taskbar.properties b/l10n-ms/suite/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..543cd04744
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/taskbar.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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.newPrivate.label=Buka tetingkap peribadi
+taskbar.tasks.newPrivate.description=Buka tetingkap pelayaran peribadi baru.
+taskbar.tasks.mailWindow.label=Buka Mel & Kumpulan berita
+taskbar.tasks.mailWindow.description=Buka tetingkap Mel & Kumpulan berita.
+taskbar.tasks.composeMessage.label=Tulis mesej baru
+taskbar.tasks.composeMessage.description=Tulis mesej baru.
+taskbar.tasks.openAddressBook.label=Buka Buku Alamat
+taskbar.tasks.openAddressBook.description=Buka Buku Alamat anda.
+taskbar.tasks.openEditor.label=Buka halaman Pengarang baru
+taskbar.tasks.openEditor.description=Buka halaman Pengarang baru.
+taskbar.frequent.label=Kerap
+taskbar.recent.label=Terbaru
+
diff --git a/l10n-ms/suite/chrome/browser/webDeveloper.dtd b/l10n-ms/suite/chrome/browser/webDeveloper.dtd
new file mode 100644
index 0000000000..cc7f09f094
--- /dev/null
+++ b/l10n-ms/suite/chrome/browser/webDeveloper.dtd
@@ -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/. -->
+
+<!ENTITY validatePage.label "Sahkan Halaman Ini">
+<!ENTITY validatePage.accesskey "S">
+<!ENTITY allowRemoteDebugging.label "Izinkan Nyahpepijat Jauh">
+<!ENTITY allowRemoteDebugging.accesskey "I">
+
+<!ENTITY devToolsCmd.keycode "VK_F12">
+<!ENTITY devToolsCmd.keytext "F12">
+
+<!ENTITY devtoolsConnect.label "Sambung…">
+<!ENTITY devtoolsConnect.accesskey "u">
+
+<!ENTITY browserConsoleCmd.label "Konsol Pelayar">
+<!ENTITY browserConsoleCmd.commandkey "Ζ">
+<!ENTITY browserConsoleCmd.accesskey "P">
+
+<!ENTITY responsiveDesignTool.label "Mod Rekabentuk Responsif">
+<!ENTITY responsiveDesignTool.accesskey "R">
+
+<!ENTITY eyedropper.label "Eyedropper">
+<!ENTITY eyedropper.accesskey "y">
+
+<!-- LOCALIZATION NOTE (scratchpad.label): This menu item label appears
+ - in the Tools menu. See bug 653093.
+ - The Scratchpad is intended to provide a simple text editor for creating
+ - and evaluating bits of JavaScript code for the purposes of function
+ - prototyping, experimentation and convenient scripting.
+ -
+ - It's quite possible that you won't have a good analogue for the word
+ - "Scratchpad" in your locale. You should feel free to find a close
+ - approximation to it or choose a word (or words) that means
+ - "simple discardable text editor". -->
+<!ENTITY scratchpad.label "Scratchpad">
+<!ENTITY scratchpad.accesskey "S">
+<!ENTITY scratchpad.keycode "VK_F4">
+<!ENTITY scratchpad.keytext "F4">
+
+<!-- LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+ - application menu item that opens the browser toolbox UI in the Tools menu. -->
+<!ENTITY browserToolboxMenu.label "Kotak Alatan Pelayar">
+<!ENTITY browserToolboxMenu.accesskey "e">
+<!ENTITY browserToolboxCmd.commandkey "I">
+
+<!-- LOCALIZATION NOTE (browserContentToolboxMenu.label): This is the label for the
+ - application menu item that opens the browser content toolbox UI in the Tools menu.
+ - This toolbox allows to debug the chrome of the content process in multiprocess builds. -->
+<!ENTITY browserContentToolboxMenu.label "Kotak Alatan Kandungan Pelayar">
+<!ENTITY browserContentToolboxMenu.accesskey "k">
+
+<!ENTITY devToolbarCloseButton.tooltiptext "Tutup Bar Alatan Pembangun">
+<!ENTITY devToolbarMenu.label "Bar Alatan Pembangun">
+<!ENTITY devToolbarMenu.accesskey "P">
+
+<!ENTITY webide.label "WebIDE">
+<!ENTITY webide.accesskey "W">
+<!ENTITY webide.keycode "VK_F8">
+<!ENTITY webide.keytext "F8">
+
+<!ENTITY devToolbar.keycode "VK_F2">
+<!ENTITY devToolbar.keytext "F2">
+
+<!ENTITY devToolboxMenuItem.label "Alatan Togol">
+<!ENTITY devToolboxMenuItem.accesskey "T">
+<!ENTITY devToolboxMenuItem.keytext "I">
+
+<!ENTITY devToolbarToolsButton.tooltip "Togol alatan pembangun">
+
+<!ENTITY getMoreDevtoolsCmd.label "Dapatkan Lebih Banyak Alatan">
+<!ENTITY getMoreDevtoolsCmd.accesskey "B">
diff --git a/l10n-ms/suite/chrome/common/about.dtd b/l10n-ms/suite/chrome/common/about.dtd
new file mode 100644
index 0000000000..769fb6a121
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/about.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE the following declarations were copied from
+ mozilla/toolkit/locales/en-US/chrome/global/about.dtd which was removed
+ by bug 1408044. -->
+
+<!ENTITY about.version "versi">
+
+<!-- LOCALIZATION NOTE (about.credits.beforeLink): note that there is no space
+ between this phrase and the linked about.credits.linkTitle phrase, so if
+ your locale needs a space between words, add it at the end of this
+ entity. -->
+<!ENTITY about.credits.beforeLink "Lihat senarai ">
+<!ENTITY about.credits.linkTitle "penyumbang">
+<!-- LOCALIZATION NOTE (about.credits.afterLink): note that there is no space
+ between the linked about.credits.linkTitle phrase and this phrase, so if
+ your locale needs a space between words, add it at the start of this
+ entity. -->
+<!ENTITY about.credits.afterLink " untuk Projek Mozilla.">
+
+<!-- LOCALIZATION NOTE (about.license.beforeTheLink): note that there is no
+ space between this phrase and the linked about.license.linkTitle phrase,
+ so if your locale needs a space between words, add it at the end of this
+ entity. -->
+<!ENTITY about.license.beforeTheLink "Baca ">
+<!ENTITY about.license.linkTitle "maklumat perlesenan">
+<!-- LOCALIZATION NOTE (about.license.afterTheLink): note that there is no
+ space between the linked about.license.linkTitle phrase and this phrase,
+ so if your locale needs a space between words, add it at the start of
+ this entity. -->
+<!ENTITY about.license.afterTheLink " untuk produk ini.">
+
+<!-- LOCALIZATION NOTE (about.relnotes.beforeTheLink): note that there is no
+ space between this phrase and the linked about.relnotes.linkTitle phrase,
+ so if your locale needs a space between words, add it at the end of this
+ entity. -->
+<!ENTITY about.relnotes.beforeTheLink "Baca ">
+<!ENTITY about.relnotes.linkTitle "nota keluaran">
+<!-- LOCALIZATION NOTE (about.relnotes.afterTheLink): note that there is no
+ space between the linked about.relnotes.linkTitle phrase and this phrase,
+ so if your locale needs a space between words, add it at the start of
+ this entity. -->
+<!ENTITY about.relnotes.afterTheLink " untuk versi ini.">
+
+<!-- LOCALIZATION NOTE (about.buildconfig.beforeTheLink): note that there is
+ no space between this phrase and the linked about.buildconfig.linkTitle
+ phrase, so if your locale needs a space between words, add it at the end
+ of this entity. -->
+<!ENTITY about.buildconfig.beforeTheLink "Lihat ">
+<!ENTITY about.buildconfig.linkTitle "konfigurasi binaan">
+<!-- LOCALIZATION NOTE (about.buildconfig.afterTheLink): note that there is no
+ space between the linked about.buildconfig.linkTitle phrase and this
+ phrase, so if your locale needs a space between words, add it at the
+ start of this entity. -->
+<!ENTITY about.buildconfig.afterTheLink " yang digunakan untuk versi ini.">
+
+<!ENTITY about.buildIdentifier "Pengecam binaan: ">
+
+<!-- LOCALIZATION NOTE end of declarations that were copied from
+ mozilla/toolkit/locales/en-US/chrome/global/about.dtd -->
+
+<!-- LOCALIZATION NOTE (channel.description.start,channel.description.end):
+ channel.description.start and channel.description.end create one sentence,
+ with the current channel label inserted in between.
+ example: You are currently on the _Stable_ update channel. -->
+<!ENTITY channel.description.start "Anda sedang berada dalam ">
+<!ENTITY channel.description.end " saluran kemaskini.">
+<!ENTITY about.userAgent "Ejen pengguna: ">
diff --git a/l10n-ms/suite/chrome/common/aboutPrivateBrowsing.dtd b/l10n-ms/suite/chrome/common/aboutPrivateBrowsing.dtd
new file mode 100644
index 0000000000..8d3c74493f
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/aboutPrivateBrowsing.dtd
@@ -0,0 +1,26 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE: where ".private" and ".normal" variants exist,
+ - the former is shown in a private browsing window and the latter in
+ - a regular (non-private) browsing window. -->
+
+<!ENTITY privatebrowsingpage.title.private "Anda berada dalam tetingkap Pelayaran Peribadi">
+<!ENTITY privatebrowsingpage.title.normal "Adakah anda mahu mulakan Pelayaran Peribadi?">
+
+<!ENTITY privatebrowsingpage.status.private "&brandShortName; tidak akan mengingati sejarah dalam tetingkap ini.">
+<!ENTITY privatebrowsingpage.status.normal "Anda tidak berada dalam tetingkap peribadi.">
+
+<!ENTITY privatebrowsingpage.common.description "Dalam tetingkap Pelayaran Peribadi, &brandShortName; tidak akan menyimpan sejarah pelayar, carian, muat turun, borang web, kuki atau fail internet sementara. Tapi, tandabuku yang dicipta dan fail yang dimuat turun akan disimpan.">
+<!ENTITY privatebrowsingpage.track.warn "Walaupun komputer ini tidak menyimpan apa-apa rekod sejarah pelayaran, tapi majikan atau penyedia perkhidmatan internet anda masih boleh menjejaki halaman yang sudah dilayari.">
+<!ENTITY privatebrowsingpage.learnmore.label "Ketahui selanjutnya">
+<!ENTITY privatebrowsingpage.learnmore.accesskey "K">
+
+<!ENTITY privatebrowsingpage.close.info "Setelah selesai, tutup tetingkap untuk menghentikan Pelayaran Peribadi.">
+<!ENTITY privatebrowsingpage.close.label "Tutup tetingkap ini sekarang">
+<!ENTITY privatebrowsingpage.close.accesskey "T">
+
+<!ENTITY privatebrowsingpage.start.info "Untuk memulakan Pelayaran Peribadi, klik butang di bawah atau pilih Fail ▶ Baru ▶ Tetingkap Peribadi dari dalam menu.">
+<!ENTITY privatebrowsingpage.private.label "Buka tetingkap peribadi baru">
+<!ENTITY privatebrowsingpage.private.accesskey "B">
diff --git a/l10n-ms/suite/chrome/common/aboutSessionRestore.dtd b/l10n-ms/suite/chrome/common/aboutSessionRestore.dtd
new file mode 100644
index 0000000000..5aad91fd6e
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/aboutSessionRestore.dtd
@@ -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/. -->
+
+<!ENTITY restorepage.tabtitle "Pulih Sesi">
+<!ENTITY restorepage.pagetitle "Adakah anda mahu pulihkan sesi anda?">
+<!-- LOCALIZATION NOTE: If "closed unexpectedly" sounds too awkward in the translation,
+ you may translate "crash" instead (even though it's IT-speak) -->
+<!ENTITY restorepage.issueDesc "Sesi &brandShortName; anda yang terdahulu ditutup secara tidak sengaja. Kami minta maaf atas kesulitan ini. Anda boleh pulihkan tab dan tetingkap sesi yang terdahulu, atau mulakan sesi yang baru jika anda tidak perlukan lagi sesi yang dahulu.">
+<!ENTITY restorepage.remedies "Jika &brandShortName; tertutup secara kerap:">
+<!ENTITY restorepage.dueToChrome "Cuba nyahaktifkan ekstensi yang baru dipasang dari dalam Pengurus Add-ons.">
+<!ENTITY restorepage.dueToContent "Cuba pulihkan sesi tanpa halaman Web yang anda syak menjadi punca masalah ini:">
+
+<!ENTITY restorepage.restoreButton "Pulih Sesi Dahulu">
+<!ENTITY restorepage.restore.access "P">
+<!ENTITY restorepage.cancelButton "Mulakan Sesi Baru">
+<!ENTITY restorepage.cancel.access "M">
+
+<!ENTITY restorepage.restoreHeader "Pulih">
+<!ENTITY restorepage.listHeader "Tetingkap dan Tab">
+<!-- LOCALIZATION NOTE: &#37;S will be replaced with a number. -->
+<!ENTITY restorepage.windowLabel "Tetingkap &#37;S">
diff --git a/l10n-ms/suite/chrome/common/aboutSyncTabs.dtd b/l10n-ms/suite/chrome/common/aboutSyncTabs.dtd
new file mode 100644
index 0000000000..50a15087ac
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/aboutSyncTabs.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (tabs.otherComputers.label): Keep this in sync with syncTabsMenu.label from navigator.dtd -->
+<!ENTITY tabs.otherComputers.label "Tab Dari Komputer Lain">
+
+<!ENTITY tabs.searchText.label "Taip di sini untuk mencari tab…">
+
+<!-- LOCALIZATION NOTE (tabs.context.openTab.accesskey, tabs.context.openMultipleTabs.accesskey;
+ tabs.context.bookmarkSingleTab.accesskey, tabs.context.bookmarkMultipleTabs.accesskey):
+ Only one of each of these pairs will show at a time (based on selection), so reusing accesskey is ok. -->
+<!ENTITY tabs.context.openTab.label "Buka Tab Ini">
+<!ENTITY tabs.context.openTab.accesskey "B">
+<!ENTITY tabs.context.openMultipleTabs.label "Buka Tab Yang Dipilih">
+<!ENTITY tabs.context.openMultipleTabs.accesskey "B">
+<!ENTITY tabs.context.bookmarkSingleTab.label "Tandabuku Tab Ini…">
+<!ENTITY tabs.context.bookmarkSingleTab.accesskey "T">
+<!ENTITY tabs.context.bookmarkMultipleTabs.label "Tandabuku Tab Yang Dipilih…">
+<!ENTITY tabs.context.bookmarkMultipleTabs.accesskey "T">
+<!ENTITY tabs.context.refreshList.label "Muat Semula Senarai">
+<!ENTITY tabs.context.refreshList.accesskey "M">
diff --git a/l10n-ms/suite/chrome/common/askViewZoom.dtd b/l10n-ms/suite/chrome/common/askViewZoom.dtd
new file mode 100644
index 0000000000..74c0dd8c20
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/askViewZoom.dtd
@@ -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/. -->
+
+<!ENTITY askViewZoom.title "Zum">
+<!ENTITY selectZoom.label "Pilih zum (&#37;):">
diff --git a/l10n-ms/suite/chrome/common/certError.dtd b/l10n-ms/suite/chrome/common/certError.dtd
new file mode 100644
index 0000000000..4ce7dbcfca
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/certError.dtd
@@ -0,0 +1,36 @@
+<!-- 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 by SeaMonkey's custom about:certerror page,
+a replacement for the standard security certificate errors produced
+by NSS/PSM via netError.xhtml. -->
+
+<!ENTITY certerror.pagetitle "Sambungan Tidak Dipercayai">
+<!ENTITY certerror.longpagetitle "Sambungan ini Tidak Dipercayai">
+
+<!ENTITY certerror.introPara2 "Secara lazim, apabila anda cuba membuat sambungan secara selamat,
+laman web akan menyerahkan pengenalan yang dipercayai untuk membuktikan
+bahawa anda pergi ke tempat yang betul. Tapi identiti laman web ini tidak boleh disahkan.">
+
+<!ENTITY certerror.whatShouldIDo.heading "Apa Perlu Saya Buat?">
+<!ENTITY certerror.whatShouldIDo.content "Jika kebiasaannya anda boleh disambung ke
+laman ini tanpa masalah, ralat ini bermakna ada seseorang
+cuba menyamar sebagai laman ini, dan anda tidak perlu teruskan.">
+<!ENTITY certerror.whatShouldIDo.badStsCertExplanation "Laman ini menggunakan Keselamatan Pengangkutan Rapi HTTP
+(HSTS) untuk menyatakan bahawa &brandShortName; hanya membuat sambungan
+dengannya secara selamat. Oleh itu, tidak boleh menambah pengecualian
+untuk sijil ini.">
+<!ENTITY certerror.getMeOutOfHere.label "Ini tidak bagus, pergi sahaja ke laman">
+
+<!ENTITY certerror.expert.heading "Saya Faham akan Risiko ini">
+<!ENTITY certerror.expert.content "Jika anda tahu apa yang berlaku, anda
+boleh maklumkan &brandShortName; untuk mempercayai pengenalan laman web ini.
+<b>Walaupun anda percayakan laman web ini, ralat ini mungkin bermakna ada seseorang
+cuba menceroboh sambungan anda.</b>">
+<!ENTITY certerror.expert.contentPara2 "Jangan tambah pengecualian kecuali
+anda tahu alasan kenapa laman web ini tidak menggunakan pengenalan yang dipercayai.">
+<!ENTITY certerror.addException.label "Tambah Pengecualian…">
+
+<!ENTITY certerror.technical.heading "Butiran Teknikal">
+
diff --git a/l10n-ms/suite/chrome/common/console/console.dtd b/l10n-ms/suite/chrome/common/console/console.dtd
new file mode 100644
index 0000000000..58af1ce30e
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/console/console.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY errorConsole.title "Konsol Ralat">
+
+<!ENTITY errFile.label "Fail Sumber:">
+<!ENTITY errLine.label "Baris:">
+<!ENTITY errColumn.label "Lajur:">
+
+<!ENTITY all.label "Semua">
+<!ENTITY all.accesskey "S">
+<!ENTITY errors.label "Ralat">
+<!ENTITY errors.accesskey "t">
+<!ENTITY warnings.label "Amaran">
+<!ENTITY warnings.accesskey "n">
+<!ENTITY messages.label "Mesej">
+<!ENTITY messages.accesskey "M">
+<!ENTITY clear.label "Buang">
+<!ENTITY clear.accesskey "u">
+<!ENTITY codeEval.label "Kod:">
+<!ENTITY codeEval.accesskey "o">
+<!ENTITY evaluate.label "Menilai">
+<!ENTITY evaluate.accesskey "i">
+<!ENTITY filter2.label "Tapis:">
+<!ENTITY filter2.accesskey "i">
+
+<!ENTITY copyCmd.label "Salin">
+<!ENTITY copyCmd.accesskey "S">
+<!ENTITY copyCmd.commandkey "C">
+<!ENTITY sortFirst.label "Tertib Susunan Pertama > Terakhir">
+<!ENTITY sortFirst.accesskey "a">
+<!ENTITY sortLast.label "Tertib Susunan Terakhir > Pertama">
+<!ENTITY sortLast.accesskey "r">
+<!ENTITY closeCmd.commandkey "w">
+<!ENTITY focus1.commandkey "l">
+<!ENTITY focus2.commandkey "d">
+
+<!ENTITY menuBar.tooltip "Bar Menu">
+<!ENTITY modeToolbar.tooltip "Bar alatan Mod">
+<!ENTITY entryToolbar.tooltip "Bar alatan Entri JavaScript">
+<!ENTITY toolbarsCmd.label "Papar/Sorok">
+<!ENTITY toolbarsCmd.accesskey "r">
+<!ENTITY toolbarMode.label "Mod">
+<!ENTITY toolbarMode.accesskey "M">
+<!ENTITY toolbarEval.label "Entri JavaScript">
+<!ENTITY toolbarEval.accesskey "J">
diff --git a/l10n-ms/suite/chrome/common/console/console.properties b/l10n-ms/suite/chrome/common/console/console.properties
new file mode 100644
index 0000000000..fcdbd2ba73
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/console/console.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/.
+
+typeError=Ralat:
+typeWarning=Amaran:
+typeMessage=Mesej:
+errFile=Fail Sumber: %S
+errLine=Baris: %S
+errLineCol=Baris: %S, Lajur: %S
+errCode=Kod Sumber:
+errTime=Cap masa: %S
+
+# LOCALIZATION NOTE (evaluationContextChanged): The message displayed when the
+# browser console's evaluation context (window against which input is evaluated)
+# changes.
+evaluationContextChanged=Penilaian konteks konsol telah diubah, mungkin kerana tetingkap sasaran telah ditutup atau anda telah membuka tetingkap utama dari dalam tetingkap konsol pelayar.
diff --git a/l10n-ms/suite/chrome/common/contentAreaCommands.dtd b/l10n-ms/suite/chrome/common/contentAreaCommands.dtd
new file mode 100644
index 0000000000..fd4e55a87a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/contentAreaCommands.dtd
@@ -0,0 +1,154 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY openLinkCmdInTab.label "Buka Pautan dalam Tab Baru">
+<!ENTITY openLinkCmdInTab.accesskey "T">
+<!ENTITY openLinkCmd.label "Buka Pautan dalam Tetingkap Baru">
+<!ENTITY openLinkCmd.accesskey "T">
+<!ENTITY openLinkCmdInPrivateWindow.label "Buka Pautan dalam Tetingkap Peribadi">
+<!ENTITY openLinkCmdInPrivateWindow.accesskey "d">
+<!ENTITY openLinkInWindowCmd.label "Buka">
+<!ENTITY openLinkInWindowCmd.accesskey "k">
+<!ENTITY openFrameCmd.label "Buka Bingkai dalam Tetingkap Baru">
+<!ENTITY openFrameCmd.accesskey "T">
+<!ENTITY openFrameCmdInTab.label "Buka Bingkai dalam Tab Baru">
+<!ENTITY openFrameCmdInTab.accesskey "T">
+<!ENTITY keywordfield.label "Tambah Kata kunci untuk Carian ini…">
+<!ENTITY keywordfield.accesskey "K">
+<!ENTITY showOnlyThisFrameCmd.label "Papar Hanya Bingkai Ini">
+<!ENTITY showOnlyThisFrameCmd.accesskey "P">
+<!ENTITY goBackCmd.label "Undur">
+<!ENTITY goBackCmd.accesskey "U">
+<!ENTITY goForwardCmd.label "Seterusnya">
+<!ENTITY goForwardCmd.accesskey "S">
+<!ENTITY goUpCmd.label "Ke Atas">
+<!ENTITY goUpCmd.accesskey "K">
+<!ENTITY reloadCmd.label "Muat semula">
+<!ENTITY reloadCmd.accesskey "M">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY stopCmd.label "Berhenti">
+<!ENTITY stopCmd.accesskey "B">
+<!ENTITY reloadFrameCmd.label "Muat semula Bingkai">
+<!ENTITY reloadFrameCmd.accesskey "M">
+<!ENTITY viewPartialSourceForSelectionCmd.label "Papar Sumber Dipilih">
+<!ENTITY viewPartialSourceForMathMLCmd.label "Papar Sumber MathML">
+<!ENTITY viewPartialSourceCmd.accesskey "u">
+<!ENTITY viewPageSourceCmd.label "Papar Sumber Halaman">
+<!ENTITY viewPageSourceCmd.accesskey "P">
+<!ENTITY viewFrameSourceCmd.label "Papar Sumber Bingkai">
+<!ENTITY viewFrameSourceCmd.accesskey "P">
+<!ENTITY viewPageInfoCmd.label "Papar Info Halaman">
+<!ENTITY viewPageInfoCmd.accesskey "I">
+<!ENTITY viewFrameInfoCmd.label "Papar Info Bingkai">
+<!ENTITY viewFrameInfoCmd.accesskey "I">
+<!ENTITY fitImageCmd.label "Acu Imej mengikut Tetingkap">
+<!ENTITY fitImageCmd.accesskey "A">
+<!ENTITY reloadImageCmd.label "Muat Semula Imej">
+<!ENTITY reloadImageCmd.accesskey "M">
+<!ENTITY viewImageCmd.label "Papar Imej">
+<!ENTITY viewImageCmd.accesskey "I">
+<!ENTITY viewVideoCmd.label "Papar Video">
+<!ENTITY viewVideoCmd.accesskey "i">
+<!ENTITY viewBGImageCmd.label "Papar Imej Latar belakang">
+<!ENTITY viewBGImageCmd.accesskey "r">
+<!ENTITY setDesktopBackgroundCmd.label "Tetapkan Latar belakang Desktop…">
+<!ENTITY setDesktopBackgroundCmd.accesskey "a">
+<!ENTITY bookmarkPageCmd.label "Tandabuku Halaman Ini…">
+<!ENTITY bookmarkPageCmd.accesskey "m">
+<!ENTITY bookmarkLinkCmd.label "Tandabuku Pautan Ini…">
+<!ENTITY bookmarkLinkCmd.accesskey "T">
+<!ENTITY bookmarkFrameCmd.label "Tandabuku Bingkai Ini…">
+<!ENTITY bookmarkFrameCmd.accesskey "b">
+<!ENTITY savePageAsCmd.label "Simpan Halaman Sebagai…">
+<!ENTITY savePageCmd.label "Simpan Halaman">
+<!ENTITY savePageCmd.accesskey "n">
+<!ENTITY savePageCmd.commandkey "s">
+<!ENTITY saveFrameAsCmd.label "Simpan Bingkai Sebagai…">
+<!ENTITY saveFrameCmd.label "Simpan Bingkai">
+<!ENTITY saveFrameCmd.accesskey "a">
+<!ENTITY printFrameCmd.label "Cetak Bingkai…">
+<!ENTITY printFrameCmd.accesskey "C">
+<!ENTITY saveLinkAsCmd.label "Simpan Sasaran Pautan Sebagai…">
+<!ENTITY saveLinkCmd.label "Simpan Sasaran Pautan">
+<!ENTITY saveLinkCmd.accesskey "S">
+<!ENTITY saveImageAsCmd.label "Simpan Imej Sebagai…">
+<!ENTITY saveImageCmd.label "Simpan Imej">
+<!ENTITY saveImageCmd.accesskey "p">
+<!ENTITY saveVideoCmd.label "Simpan Video Sebagai…">
+<!ENTITY saveVideoCmd.accesskey "p">
+<!ENTITY saveAudioCmd.label "Simpan Audio Sebagai…">
+<!ENTITY saveAudioCmd.accesskey "p">
+<!ENTITY copyLinkCmd.label "Salin Lokasi Pautan">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyImageCmd.label "Salin Imej">
+<!ENTITY copyImageCmd.accesskey "n">
+<!ENTITY copyVideoURLCmd.label "Salin Lokasi Video">
+<!ENTITY copyVideoURLCmd.accesskey "L">
+<!ENTITY copyAudioURLCmd.label "Salin Lokasi Audio">
+<!ENTITY copyAudioURLCmd.accesskey "L">
+<!ENTITY metadataCmd.label "Sifat">
+<!ENTITY metadataCmd.accesskey "S">
+<!ENTITY copyEmailCmd.label "Salin Alamat E-mel">
+<!ENTITY copyEmailCmd.accesskey "t">
+<!ENTITY thisFrameMenu.label "Bingkai Ini">
+<!ENTITY thisFrameMenu.accesskey "k">
+<!ENTITY mediaPlay.label "Main">
+<!ENTITY mediaPlay.accesskey "M">
+<!ENTITY mediaPause.label "Jeda">
+<!ENTITY mediaPause.accesskey "J">
+<!ENTITY mediaMute.label "Senyap">
+<!ENTITY mediaMute.accesskey "S">
+<!ENTITY mediaUnmute.label "Nyahsenyap">
+<!ENTITY mediaUnmute.accesskey "p">
+<!ENTITY mediaPlaybackRate.label "Kadar Main Semula">
+<!ENTITY mediaPlaybackRate.accesskey "r">
+<!ENTITY mediaPlaybackRate050.label "Gerakan Perlahan (½×)">
+<!ENTITY mediaPlaybackRate050.accesskey "G">
+<!ENTITY mediaPlaybackRate100.label "Gerakan Normal">
+<!ENTITY mediaPlaybackRate100.accesskey "N">
+<!ENTITY mediaPlaybackRate125.label "Gerakan Pantas (1¼×)">
+<!ENTITY mediaPlaybackRate125.accesskey "P">
+<!ENTITY mediaPlaybackRate150.label "Kelajuan Tinggi (1½×)">
+<!ENTITY mediaPlaybackRate150.accesskey "T">
+<!ENTITY mediaPlaybackRate200.label "Kelajuan Berganda">
+<!ENTITY mediaPlaybackRate200.accesskey "B">
+<!ENTITY mediaLoop.label "Gelung">
+<!ENTITY mediaLoop.accesskey "u">
+<!-- LOCALIZATION NOTE: The access keys for "Show Controls" and
+"Hide Controls" are the same because the two context-menu
+items are mutually exclusive. -->
+<!ENTITY mediaShowControls.label "Papar Kawalan Media">
+<!ENTITY mediaShowControls.accesskey "a">
+<!ENTITY mediaHideControls.label "Sorok Kawalan Media">
+<!ENTITY mediaHideControls.accesskey "a">
+<!ENTITY videoFullScreen.label "Skrin Penuh">
+<!ENTITY videoFullScreen.accesskey "P">
+<!ENTITY videoSaveImage.label "Simpan Snapsyot Sebagai…">
+<!ENTITY videoSaveImage.accesskey "S">
+<!ENTITY videoShowStats.label "Papar Statistik">
+<!ENTITY videoShowStats.accesskey "t">
+<!ENTITY videoHideStats.label "Sorok Statistik">
+<!ENTITY videoHideStats.accesskey "r">
+<!ENTITY search.accesskey "W">
+<!ENTITY bidiSwitchPageDirectionItem.label "Tukar Hala Halaman">
+<!ENTITY bidiSwitchPageDirectionItem.accesskey "n">
+<!ENTITY bidiSwitchTextDirectionItem.label "Tukar Hala Teks">
+<!ENTITY bidiSwitchTextDirectionItem.accesskey "k">
+<!ENTITY spellAddToDictionary.label "Tambah dalam Kamus">
+<!ENTITY spellAddToDictionary.accesskey "m">
+<!ENTITY spellUndoAddToDictionary.label "Batal Tambah dalam Kamus">
+<!ENTITY spellUndoAddToDictionary.accesskey "u">
+<!ENTITY spellIgnoreWord.label "Abaikan Perkataan">
+<!ENTITY spellIgnoreWord.accesskey "P">
+<!ENTITY spellCheckEnable.label "Semak Ejaan">
+<!ENTITY spellCheckEnable.accesskey "S">
+<!ENTITY spellNoSuggestions.label "(Tiada Cadangan Ejaan)">
+<!ENTITY spellDictionaries.label "Bahasa">
+<!ENTITY spellDictionaries.accesskey "B">
+<!ENTITY spellAddDictionaries.label "Muat turun Kamus Lain…">
+<!ENTITY spellAddDictionaries.accesskey "M">
+
+<!-- Developer Tools -->
+<!ENTITY devtoolsInspect.label "Periksa Elemen">
+<!ENTITY devtoolsInspect.accesskey "n">
diff --git a/l10n-ms/suite/chrome/common/contentAreaCommands.properties b/l10n-ms/suite/chrome/common/contentAreaCommands.properties
new file mode 100644
index 0000000000..79011d0887
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/contentAreaCommands.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/.
+
+# context menu strings
+
+# LOCALIZATION NOTE (searchSelected): %1$S is the search engine,
+# %2$S is the selection string.
+searchSelected=Carian %1$S untuk "%2$S"
+searchSelected.accesskey=i
+
+blockImage=Sekat imej dari %S
+blockImage.accesskey=t
+unblockImage=Buang sekatan imej dari %S
+unblockImage.accesskey=t
diff --git a/l10n-ms/suite/chrome/common/customizeToolbar.dtd b/l10n-ms/suite/chrome/common/customizeToolbar.dtd
new file mode 100644
index 0000000000..50cc31b242
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/customizeToolbar.dtd
@@ -0,0 +1,18 @@
+<!-- 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 below used to be in mozilla-central's
+ toolkit/locales/en-US/chrome/global/customizeToolbar.dtd -->
+<!ENTITY dialog.title "Penyesuaian Bar Alatan">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "Anda boleh tambah atau alih keluar item dengan seret keluar atau dari dalam bar alat.">
+<!ENTITY show.label "Papar:">
+<!ENTITY iconsAndText.label "Ikon dan Teks">
+<!ENTITY icons.label "Ikon">
+<!ENTITY text.label "Teks">
+<!ENTITY useSmallIcons.label "Guna Ikon Kecil">
+<!ENTITY restoreDefaultSet.label "Pulih Set Piawai">
+<!ENTITY addNewToolbar.label "Tambah Bar Alat Baru">
+<!ENTITY saveChanges.label "Siap">
+<!ENTITY undoChanges.label "Batal Perubahan">
diff --git a/l10n-ms/suite/chrome/common/customizeToolbar.properties b/l10n-ms/suite/chrome/common/customizeToolbar.properties
new file mode 100644
index 0000000000..d8da1556b0
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/customizeToolbar.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/.
+
+# LOCALIZATION NOTE: Strings below used to be in mozilla-central's
+# toolkit/locales/en-US/chrome/global/customizeToolbar.properties
+enterToolbarTitle=Bar Alat Baru
+enterToolbarName=Masukkan nama bar alat ini:
+enterToolbarDup=Sudah ada bar alat tersedia dengan nama “%S”. Sila masukkan nama berlainan.
+enterToolbarBlank=Anda mesti masukkan nama untuk mencipta bar alat baru.
+separatorTitle=Pemisah
+springTitle=Ruang Fleksibel
+spacerTitle=Ruang
diff --git a/l10n-ms/suite/chrome/common/dataman/dataman.dtd b/l10n-ms/suite/chrome/common/dataman/dataman.dtd
new file mode 100644
index 0000000000..cbf704a053
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/dataman/dataman.dtd
@@ -0,0 +1,156 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dataman.windowTitle "Pengurus Data">
+
+<!ENTITY selectAll.key "a">
+
+<!ENTITY select.all.label "Semua jenis data">
+<!ENTITY select.cookies.label "Kuki sahaja">
+<!ENTITY select.permissions.label "Keizinan sahaja">
+<!ENTITY select.preferences.label "Keutamaan sahaja">
+<!ENTITY select.passwords.label "Kata laluan sahaja">
+<!ENTITY select.storage.label "Storan sahaja">
+
+<!ENTITY domain.search.placeholder "Cari Domain">
+<!ENTITY domain.search.key "f">
+
+<!ENTITY domain.tree.domain.label "Domain">
+
+<!ENTITY domain.ctx.forgetdomain.label "Lupakan Perihal Domain Ini">
+<!ENTITY domain.ctx.forgetdomain.accesskey "L">
+<!ENTITY domain.ctx.forgetglobal.label "Lupakan Data Global">
+<!ENTITY domain.ctx.forgetglobal.accesskey "L">
+
+<!ENTITY data.search.key "k">
+
+<!ENTITY tab.cookies.label "Kuki">
+<!ENTITY tab.permissions.label "Keizinan">
+<!ENTITY tab.preferences.label "Keutamaan">
+<!ENTITY tab.passwords.label "Kata laluan">
+<!ENTITY tab.storage.label "Storan">
+<!ENTITY tab.formdata.label "Data Borang">
+<!ENTITY tab.forget.label "Lupakan">
+
+<!-- cookies -->
+<!ENTITY cookies.description "Domain ini telah menyimpan kuki berikut dalam komputer anda:">
+
+<!ENTITY cookies.tree.host.label "Laman web">
+<!ENTITY cookies.tree.name.label "Nama Kuki">
+<!ENTITY cookies.tree.expires.label "Luput">
+
+<!ENTITY cookies.infobox.label "Maklumat Kuki yang dipilih">
+
+<!ENTITY cookies.info.name.label "Nama:">
+<!ENTITY cookies.info.value.label "Kandungan:">
+<!ENTITY cookies.info.host.label "Hos:">
+<!ENTITY cookies.info.domain.label "Domain:">
+<!ENTITY cookies.info.path.label "Laluan:">
+<!ENTITY cookies.info.sendtype.label "Hantar Untuk:">
+<!ENTITY cookies.info.expires.label "Luput:">
+
+<!ENTITY cookies.ctx.remove.label "Buang">
+<!ENTITY cookies.ctx.remove.accesskey "B">
+<!ENTITY cookies.ctx.selectAll.label "Pilih Semua">
+<!ENTITY cookies.ctx.selectAll.accesskey "S">
+
+<!ENTITY cookies.button.remove.label "Buang">
+<!ENTITY cookies.button.remove.accesskey "B">
+
+<!ENTITY cookies.blockOnRemove.label "Apabila dihapuskan, sekat laman web yang disenaraikan daripada menetapkan kuki pada masa akan datang">
+<!ENTITY cookies.blockOnRemove.accesskey "A">
+
+<!-- permissions -->
+<!ENTITY perm.UseDefault "Guna Piawai">
+<!ENTITY perm.AskAlways "Sentiasa tanya">
+<!ENTITY perm.NeverSave "Jangan sesekali simpan">
+<!ENTITY perm.Allow "Izinkan">
+<!ENTITY perm.AllowSameDomain "Izinkan untuk Domain yang Sama">
+<!ENTITY perm.AllowSession "Izinkan untuk Sesi">
+<!ENTITY perm.Block "Sekat">
+
+<!ENTITY perm.host.placeholder "Masukkan nama hos">
+<!ENTITY perm.button.add.label "Tambah">
+<!ENTITY perm.button.add.accesskey "T">
+
+<!-- preferences -->
+<!ENTITY prefs.description "Keutamaan kandungan adalah satu cara untuk &brandShortName; menyimpan tetapan, seperti tahap zum, khusus untuk laman web.">
+
+<!ENTITY prefs.tree.host.label "Laman web">
+<!ENTITY prefs.tree.name.label "Nama Keutamaan">
+<!ENTITY prefs.tree.value.label "Nilai">
+
+<!ENTITY prefs.ctx.remove.label "Buang">
+<!ENTITY prefs.ctx.remove.accesskey "B">
+<!ENTITY prefs.ctx.selectAll.label "Pilih Semua">
+<!ENTITY prefs.ctx.selectAll.accesskey "S">
+
+<!ENTITY prefs.button.remove.label "Buang">
+<!ENTITY prefs.button.remove.accesskey "B">
+
+<!-- passwords -->
+<!ENTITY pwd.description "Anda ada kata laluan berikut yang disimpan untuk domain ini:">
+
+<!ENTITY pwd.tree.host.label "Laman web">
+<!ENTITY pwd.tree.username.label "Nama pengguna">
+<!ENTITY pwd.tree.password.label "Kata laluan">
+
+<!ENTITY pwd.ctx.remove.label "Buang">
+<!ENTITY pwd.ctx.remove.accesskey "B">
+<!ENTITY pwd.ctx.copyPasswordCmd.label "Salin Kata Laluan">
+<!ENTITY pwd.ctx.copyPasswordCmd.accesskey "S">
+<!ENTITY pwd.ctx.selectAll.label "Pilih Semua">
+<!ENTITY pwd.ctx.selectAll.accesskey "S">
+
+<!ENTITY pwd.button.remove.label "Buang">
+<!ENTITY pwd.button.remove.accesskey "B">
+
+<!-- storage -->
+<!ENTITY storage.description "Domain ini menggunakan storan web berikut dalam komputer anda:">
+
+<!ENTITY storage.tree.host.label "Laman web">
+<!ENTITY storage.tree.type.label "Jenis">
+<!ENTITY storage.tree.size.label "Saiz">
+
+<!ENTITY storage.ctx.remove.label "Buang">
+<!ENTITY storage.ctx.remove.accesskey "B">
+<!ENTITY storage.ctx.selectAll.label "Pilih Semua">
+<!ENTITY storage.ctx.selectAll.accesskey "S">
+
+<!ENTITY storage.button.remove.label "Buang">
+<!ENTITY storage.button.remove.accesskey "B">
+
+<!-- form data -->
+<!ENTITY fdata.search.placeholder "Cari Data Medan">
+
+<!ENTITY fdata.tree.fieldname.label "Nama Medan">
+<!ENTITY fdata.tree.value.label "Nilai yang Dimasukkan">
+<!ENTITY fdata.tree.usecount.label "Guna Kiraan">
+<!ENTITY fdata.tree.firstused.label "Pertama Digunakan">
+<!ENTITY fdata.tree.lastused.label "Terakhir Digunakan">
+
+<!ENTITY fdata.ctx.remove.label "Buang">
+<!ENTITY fdata.ctx.remove.accesskey "B">
+<!ENTITY fdata.ctx.selectAll.label "Pilih Semua">
+<!ENTITY fdata.ctx.selectAll.accesskey "S">
+
+<!ENTITY fdata.button.remove.label "Buang">
+<!ENTITY fdata.button.remove.accesskey "B">
+
+<!-- forget -->
+<!ENTITY forget.cookies.label "Kuki">
+<!ENTITY forget.cookies.accesskey "K">
+<!ENTITY forget.permissions.label "Keizinan">
+<!ENTITY forget.permissions.accesskey "K">
+<!ENTITY forget.preferences.label "Keutamaan Kandungan">
+<!ENTITY forget.preferences.accesskey "d">
+<!ENTITY forget.passwords.label "Kata laluan">
+<!ENTITY forget.passwords.accesskey "a">
+<!ENTITY forget.storage.label "Storan">
+<!ENTITY forget.storage.accesskey "S">
+<!ENTITY forget.formdata.label "Data Borang">
+<!ENTITY forget.formdata.accesskey "D">
+
+<!ENTITY forget.button.label "Lupakan Data Ini">
+<!ENTITY forget.button.accesskey "L">
diff --git a/l10n-ms/suite/chrome/common/dataman/dataman.properties b/l10n-ms/suite/chrome/common/dataman/dataman.properties
new file mode 100644
index 0000000000..1a8d34e5b7
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/dataman/dataman.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/.
+
+# cookies
+cookies.expireAtEndOfSession=Pada akhir sesi
+
+cookies.secureOnly.httponly=Sambungan dienkripsi sahaja dan tiada akses skrip
+cookies.secureOnly.all=Sambungan dienkripsi sahaja
+cookies.anyConnection.httponly=Apa-apa jenis sambungan, tiada akses skrip
+cookies.anyConnection.all=Sebarang jenis sambungan
+
+cookies.deleteSelected=Adakah anda pasti mahu menghapuskan kuki yang dipilih?
+cookies.deleteSelectedTitle=Buang Kuki Dipilih
+cookies.deleteSelectedYes=&Buang
+
+# permissions
+perm.allowXULXBL.label=Guna Penanda XUL/XBL
+perm.cookie.label=Tetapkan Kuki
+perm.geo.label=Kongsi Lokasi
+perm.image.label=Muatkan Imej
+perm.indexedDB.label=Simpan Pangkalan data Lokal
+perm.install.label=Pasang Add-ons
+perm.offline-app.label=Aplikasi Web Luar talian
+perm.object.label=Laksanakan Plugin
+perm.login-saving.label=Simpan Kata laluan
+perm.plugins.label=Aktifkan Plugin
+perm.popup.label=Buka Tetingkap Popup
+perm.script.label=Laksanakan Skrip
+perm.stylesheet.label=Muatkan Gaya Lembaran
+perm.trackingprotection.label=Aktiviti Penjejakan
+
+perm.type.default=Pilih jenis
+perm.validation.invalidurl=Url yang dimasukkan tidak sah
+
+# passwords
+pwd.hidePasswords=Sorok Kata laluan
+pwd.hidePasswords.accesskey=K
+pwd.showPasswords=Papar Kata laluan
+pwd.showPasswords.accesskey=K
+pwd.noMasterPasswordPrompt=Adakah anda pasti mahu memaparkan kata laluan anda?
+
+pwd.deleteSelected=Adakah anda pasti mahu menghapuskan kata laluan yang dipilih?
+pwd.deleteSelectedTitle=Buang Kata laluan Dipilih
+pwd.deleteSelectedYes=&Buang
+
+# preferences
+prefs.deleteSelected=Adakah anda pasti mahu menghapuskan keutamaan yang dipilih?
+prefs.deleteSelectedTitle=Buang Keutamaan Dipilih
+prefs.deleteSelectedYes=&Buang
+
+# storage
+
+# LOCALIZATION NOTE: The next string is for disk usage of any storage
+# e.g. storageUsage: "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+storageUsage=%1$S %2$S
+
+storage.deleteSelected=Adakah anda pasti mahu menghapuskan storan web yang dipilih?
+storage.deleteSelectedTitle=Buang Storan Dipilih
+storage.deleteSelectedYes=&Buang
+
+# form data
+fdata.deleteSelected=Adakah anda pasti mahu menghapuskan entri sejarah borang yang dipilih?
+fdata.deleteSelectedTitle=Buang Data Borang Dipilih
+fdata.deleteSelectedYes=&Buang
+
+# forget
+forget.desc.domain.pre=Lupakan semua jenis data berikut yang dikaitkan dengan domain "%S":
+forget.desc.domain.post=Semua jenis data berikut yang dikaitkan dengan domain "%S" telah dihapuskan:
+forget.desc.global.pre=Lupakan semua jenis data global berikut:
+forget.desc.global.post=Semua jenis data global berikut telah dihapuskan:
diff --git a/l10n-ms/suite/chrome/common/datetimepicker.dtd b/l10n-ms/suite/chrome/common/datetimepicker.dtd
new file mode 100644
index 0000000000..b010c48313
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/datetimepicker.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- first day of week to display in datepicker, a value from 0 to 6,
+ 0 = Sunday, 1 = Monday, etc. -->
+<!ENTITY firstdayofweek.default "0">
diff --git a/l10n-ms/suite/chrome/common/defaultClientDialog.dtd b/l10n-ms/suite/chrome/common/defaultClientDialog.dtd
new file mode 100644
index 0000000000..2f155ecc38
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/defaultClientDialog.dtd
@@ -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/. -->
+
+<!ENTITY defaultClient.title "Klien Piawai">
+<!ENTITY defaultClient.intro "Guna &brandShortName; sebagai klien piawai untuk:">
+
+<!ENTITY browser.label "Pelayar">
+<!ENTITY email.label "E-mel">
+<!ENTITY newsgroups.label "Kumpulan berita">
+<!ENTITY feeds.label "Suapan">
+
+<!ENTITY checkOnStartup.label "Sentiasa semak apabila memulakan &brandShortName;">
+<!ENTITY checkOnStartup.accesskey "S">
diff --git a/l10n-ms/suite/chrome/common/downloads/downloadmanager.dtd b/l10n-ms/suite/chrome/common/downloads/downloadmanager.dtd
new file mode 100644
index 0000000000..76a5b02cfb
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/downloads/downloadmanager.dtd
@@ -0,0 +1,96 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY downloadManager.title "Pengurus Muat Turun">
+
+<!ENTITY menuBar.tooltip "Bar Menu">
+<!ENTITY searchBar.tooltip "Bar Carian">
+
+<!ENTITY search.placeholder "Cari Muat turun">
+<!ENTITY search.label "Cari Muat turun">
+<!ENTITY search.accesskey "C">
+<!ENTITY search.key "f">
+
+<!ENTITY cmd.clearList.label "Buang Senarai">
+<!ENTITY cmd.clearList.tooltip "Buang muat turun yang telah lengkap, dibatalkan dan gagal dari senarai">
+<!ENTITY cmd.clearList.accesskey "B">
+
+<!ENTITY col.name.label "Nama">
+<!ENTITY col.name.accesskey "N">
+<!ENTITY col.name.tooltip "Nama Fail">
+<!ENTITY col.status.label "Status">
+<!ENTITY col.status.accesskey "S">
+<!ENTITY col.status.tooltip "Status">
+<!ENTITY col.actionPlay.label "Jeda/Sambung/Cuba lagi">
+<!ENTITY col.actionPlay.accesskey "u">
+<!ENTITY col.actionPlay.tooltip "Jeda/Sambung/Cuba lagi">
+<!ENTITY col.actionStop.label "Batal/Buang">
+<!ENTITY col.actionStop.accesskey "B">
+<!ENTITY col.actionStop.tooltip "Batal/Buang">
+<!ENTITY col.progress.label "Kemajuan">
+<!ENTITY col.progress.accesskey "K">
+<!ENTITY col.progress.tooltip "Kemajuan">
+<!ENTITY col.timeremaining.label "Baki Masa">
+<!ENTITY col.timeremaining.accesskey "B">
+<!ENTITY col.timeremaining.tooltip "Baki Masa">
+<!ENTITY col.transferred.label "Dipindahkan">
+<!ENTITY col.transferred.accesskey "D">
+<!ENTITY col.transferred.tooltip "Dipindahkan">
+<!ENTITY col.transferrate.label "Kelajuan">
+<!ENTITY col.transferrate.accesskey "j">
+<!ENTITY col.transferrate.tooltip "Kelajuan">
+<!ENTITY col.timeelapsed.label "Masa Berlalu">
+<!ENTITY col.timeelapsed.accesskey "B">
+<!ENTITY col.timeelapsed.tooltip "Masa Berlalu">
+<!ENTITY col.starttime.label "Masa Mula">
+<!ENTITY col.starttime.accesskey "a">
+<!ENTITY col.starttime.tooltip "Masa Mula">
+<!ENTITY col.endtime.label "Masa Tamat">
+<!ENTITY col.endtime.accesskey "m">
+<!ENTITY col.endtime.tooltip "Masa Tamat">
+<!ENTITY col.progresstext.label "&#37;">
+<!ENTITY col.progresstext.accesskey "&#37;">
+<!ENTITY col.progresstext.tooltip "Kemajuan (&#37;)">
+<!ENTITY col.source.label "Sumber">
+<!ENTITY col.source.accesskey "u">
+<!ENTITY col.source.tooltip "Sumber">
+
+<!ENTITY view.columns.label "Papar Lajur">
+<!ENTITY view.columns.accesskey "L">
+<!ENTITY view.sortBy.label "Susun mengikut">
+<!ENTITY view.sortBy.accesskey "S">
+
+<!ENTITY view.unsorted.label "Tidak disusun">
+<!ENTITY view.unsorted.accesskey "T">
+<!ENTITY view.sortAscending.label "Tertib Susunan A > Z">
+<!ENTITY view.sortAscending.accesskey "A">
+<!ENTITY view.sortDescending.label "Tertib Susunan Z > A">
+<!ENTITY view.sortDescending.accesskey "Z">
+
+<!ENTITY cmd.pause.label "Jeda">
+<!ENTITY cmd.pause.accesskey "J">
+<!ENTITY cmd.resume.label "Sambung">
+<!ENTITY cmd.resume.accesskey "S">
+<!ENTITY cmd.retry.label "Cuba lagi">
+<!ENTITY cmd.retry.accesskey "l">
+<!ENTITY cmd.cancel.label "Batal">
+<!ENTITY cmd.cancel.accesskey "B">
+<!ENTITY cmd.remove.label "Buang Daripada Senarai">
+<!ENTITY cmd.remove.accesskey "u">
+<!ENTITY cmd.open.label "Buka">
+<!ENTITY cmd.open.accesskey "B">
+<!ENTITY cmd.show.label "Buka Kandungan Folder">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.goToDownloadPage.label "Pergi ke Halaman Muat Turun">
+<!ENTITY cmd.goToDownloadPage.accesskey "P">
+<!ENTITY cmd.copyDownloadLink.label "Salin Pautan Muat Turun">
+<!ENTITY cmd.copyDownloadLink.accesskey "T">
+<!ENTITY cmd.properties.label "Sifat…">
+<!ENTITY cmd.properties.accesskey "f">
+<!-- LOCALIZATION NOTE (cmd.unblock2.label):
+ This command is shown in the context menu when downloads are blocked.
+ -->
+<!ENTITY cmd.unblock2.label "Izinkan Muat turun">
+<!ENTITY cmd.unblock2.accesskey "i">
+
diff --git a/l10n-ms/suite/chrome/common/downloads/downloadmanager.properties b/l10n-ms/suite/chrome/common/downloads/downloadmanager.properties
new file mode 100644
index 0000000000..ace7759450
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/downloads/downloadmanager.properties
@@ -0,0 +1,147 @@
+# 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 (stateUnknown):
+# Indicates that the download stat is unknown.
+# You should never see this in the ui.
+stateUnknown=Tidak diketahui
+# LOCALIZATION NOTE (stateDownloading):
+# Indicates that the download is in progress.
+stateDownloading=Memuat turun
+# LOCALIZATION NOTE (stateUploading):
+# Indicates that the upload is in progress.
+stateUploading=Memuat naik
+# LOCALIZATION NOTE (stateStarting):
+# Indicates that the download is starting.
+# You won't probably ever see this in the ui.
+stateStarting=Memulakan…
+# LOCALIZATION NOTE (stateNotStarted):
+# Indicates that the download has not started yet.
+# You won't probably ever see this in the ui.
+stateNotStarted=Tidak Dimulakan
+# 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 (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
+
+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 (downloadsTitleFiles, downloadsTitlePercent): Semi-colon list of
+# plural forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+# %1$S number of files; %2$S overall download percent (only for downloadsTitlePercent)
+# %% will appear as a single % sign, so %2$S%% is the percent number plus the % sign
+# examples: 2% of 1 file - Download Manager; 22% of 11 files - Download Manager
+downloadsTitleFiles=%1$S fail - Pengurus Muat turun
+downloadsTitlePercent=%2$S%% daripada %1$S fail - Pengurus Muat turun;%2$S%% daripada %1$S fail - Pengurus Muat turun
+
+# LOCALIZATION NOTE (progressTitle):
+# %1$S is the file name, %2$S is the download state
+# examples: coolvideo.ogg - Finished; seamonkey-nightly.zip - Paused
+progressTitle=%1$S - %2$S
+# LOCALIZATION NOTE (progressTitlePercent):
+# %1$S is download percent, %2$S is the file name, %3$S is the download state
+# %% will appear as a single % sign, so %1$S%% is the percent number plus the % sign
+# examples: 42% of coolvideo.ogg - Paused; 98% of seamonkey-nightly.zip - Downloading
+progressTitlePercent=%1$S%% daripada %2$S - %3$S
+
+# LOCALIZATION NOTE (percentFormat): %1$S is download percent
+# %% will appear as a single % sign, so %1$S%% is the percent number plus the % sign
+percentFormat=%1$S%%
+
+# LOCALIZATION NOTE (speedFormat):
+# %1$S rate number; %2$S rate unit
+# units are taken from toolkit's downloads.properties
+# example: 2.2 MB/sec
+speedFormat=%1$S %2$S/sec
+
+# LOCALIZATION NOTE (timeSingle): %1$S time number; %2$S time unit
+# example: 1 minute; 11 hours
+timeSingle=%1$S %2$S
+# LOCALIZATION NOTE (timeDouble):
+# %1$S time number; %2$S time unit; %3$S time sub number; %4$S time sub unit
+# example: 11 hours, 2 minutes; 1 day, 22 hours
+timeDouble=%1$S %2$S, %3$S %4$S
+
+# LOCALIZATION NOTE (sizeSpeed):
+# %1$S is transfer progress; %2$S download speed
+# example: 1.1 of 11.1 GB (2.2 MB/sec)
+sizeSpeed=%1$S (%2$S)
+
+# LOCALIZATION NOTE (statusActive): — is the "em dash" (long dash)
+# %1$S download status; %2$S time remaining
+# example: Paused — 11 hours, 2 minutes remaining
+statusActive=%1$S — %2$S
+
+fromSource=Dari %S
+toTarget=Ke %S
+
diff --git a/l10n-ms/suite/chrome/common/downloads/progressDialog.dtd b/l10n-ms/suite/chrome/common/downloads/progressDialog.dtd
new file mode 100644
index 0000000000..cb9d7017a6
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/downloads/progressDialog.dtd
@@ -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/. -->
+
+<!ENTITY progress.title "Muat turun sedang Dilaksanakan…">
+<!ENTITY closeWindow.key "w">
+<!ENTITY cmd.pause.tooltip "Jeda">
+<!ENTITY cmd.resume.tooltip "Sambung">
+<!ENTITY cmd.retry.tooltip "Cuba lagi">
+<!ENTITY cmd.cancel.tooltip "Batal">
+<!ENTITY cmd.open.label "Buka">
+<!ENTITY cmd.open.accesskey "B">
+<!ENTITY cmd.show.label "Buka Kandungan Folder">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.goToDownloadPage.label "Pergi ke Halaman Muat Turun">
+<!ENTITY cmd.goToDownloadPage.accesskey "P">
+<!ENTITY cmd.copyDownloadLink.label "Salin Pautan Muat Turun">
+<!ENTITY cmd.copyDownloadLink.accesskey "M">
+<!ENTITY closeWhenDone.label "Tutup tetingkap ini apabila muat turun selesai.">
+<!ENTITY closeWhenDone.accesskey "t">
diff --git a/l10n-ms/suite/chrome/common/feeds/subscribe.dtd b/l10n-ms/suite/chrome/common/feeds/subscribe.dtd
new file mode 100644
index 0000000000..eecaa43850
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/feeds/subscribe.dtd
@@ -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/. -->
+
+<!ENTITY feedPage.title "Paparan Suapan">
+<!ENTITY feedSubscribeNow "Langgan Sekarang">
+<!ENTITY feedMessenger "Berita &amp; Blog">
+<!ENTITY feedLiveBookmarks "Live Bookmarks">
diff --git a/l10n-ms/suite/chrome/common/feeds/subscribe.properties b/l10n-ms/suite/chrome/common/feeds/subscribe.properties
new file mode 100644
index 0000000000..cd62178d0b
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/feeds/subscribe.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/.
+
+linkTitleTextFormat=Pergi ke %S
+addHandler=Tambah "%S" (%S) sebagai Pembaca Suapan?
+addHandlerAddButton=Tambah Pembaca Suapan
+addHandlerAddButtonAccesskey=T
+handlerRegistered="%S" sudah didaftarkan sebagai Pembaca Suapan
+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
+kilobytes=KB
+megabytes=MB
+gigabytes=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 "suapan" yang kandungannya kerap berubah dalam laman ini.
+feedSubscriptionAudioPodcast1=Ini adalah "podcast" yang kandungannya kerap berubah dalam laman ini.
+feedSubscriptionVideoPodcast1=Ini adalah "podcast video" 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?
+addProtocolHandlerAddButton=Tambah Aplikasi
+# "%appName has already been added as an application for %protocolType links."
+protocolHandlerRegistered=%S sudah ditambah sebagai aplikasi untuk pautan %S.
diff --git a/l10n-ms/suite/chrome/common/gopherAddon.dtd b/l10n-ms/suite/chrome/common/gopherAddon.dtd
new file mode 100644
index 0000000000..5ed1a12663
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/gopherAddon.dtd
@@ -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/. -->
+
+<!ENTITY loadError.label "Ralat Memuatkan Halaman">
+<!ENTITY gopherAddon.title "Protokol Gopher">
+<!ENTITY gopherAddon.shortDesc "gopher bukan satu protokol yang didaftarkan.">
+<!ENTITY gopherAddon.longDesc "Alamat ini menyatakan protokol gopher yang tidak lagi disokong, jadi pelayar tidak boleh menyambung ke laman. Anda boleh dapatkan add-on yang serasi untuk mengakses pelayan ini dari Add-ons Mozilla.">
+<!ENTITY goToAddOn.label "Pergi ke Halaman Add-on">
diff --git a/l10n-ms/suite/chrome/common/helpviewer/help.dtd b/l10n-ms/suite/chrome/common/helpviewer/help.dtd
new file mode 100644
index 0000000000..68e58c287d
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/helpviewer/help.dtd
@@ -0,0 +1,56 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY printCmd.commandkey "p">
+
+<!ENTITY findOnCmd.commandkey "F">
+<!ENTITY findAgainCmd.commandkey "G">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+
+<!ENTITY backButton.label "Undur">
+<!ENTITY backButton.accesskey "U">
+<!ENTITY backButton.tooltip "Undur satu halaman">
+<!ENTITY forwardButton.label "Seterusnya">
+<!ENTITY forwardButton.accesskey "S">
+<!ENTITY forwardButton.tooltip "Maju satu halaman">
+<!ENTITY copyCmd.label "Salin">
+<!ENTITY copyCmd.accesskey "S">
+<!ENTITY selectAllCmd.label "Pilih Semua">
+<!ENTITY selectAllCmd.accesskey "S">
+<!ENTITY goBackCmd.commandkey "[">
+<!ENTITY goForwardCmd.commandkey "]">
+<!ENTITY homeButton.label "Laman">
+<!ENTITY homeButton.tooltip "Pergi ke Halaman Mula Bantuan">
+<!ENTITY printButton.label "Cetak">
+<!ENTITY printButton.tooltip "Cetak halaman ini">
+<!ENTITY closeWindow.commandkey "W">
+
+<!ENTITY search.emptytext "Cari">
+<!ENTITY searchHeader.label "Hasil carian">
+<!ENTITY toctab.label "Kandungan">
+<!ENTITY toctab.accesskey "K">
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY helpSearch.commandkey "k">
+
+<!ENTITY zLevel.label "Sentiasa di Atas">
+<!ENTITY zLevel.accesskey "A">
+
+<!ENTITY fullZoomReduceBtn.label "Zum Keluar">
+<!ENTITY fullZoomReduceBtn.accesskey "K">
+<!ENTITY fullZoomEnlargeBtn.label "Zum Masuk">
+<!ENTITY fullZoomEnlargeBtn.accesskey "M">
diff --git a/l10n-ms/suite/chrome/common/helpviewer/help.properties b/l10n-ms/suite/chrome/common/helpviewer/help.properties
new file mode 100644
index 0000000000..06c0fa8c51
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/helpviewer/help.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/.
+
+emptySearchText=Tiada item carian ditemui.
diff --git a/l10n-ms/suite/chrome/common/migration/migration.dtd b/l10n-ms/suite/chrome/common/migration/migration.dtd
new file mode 100644
index 0000000000..3e92a0a3d1
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/migration/migration.dtd
@@ -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/. -->
+
+<!ENTITY migrationWizard.title "Bestari Import">
+
+<!ENTITY importAllFrom.label "Import Semua Item dari:">
+<!ENTITY importBookmarksFrom.label "Import Tandabuku dari:">
+
+<!ENTITY importFromThunderbird.label "Thunderbird">
+<!ENTITY importFromThunderbird.accesskey "T">
+<!ENTITY importFromFile.label "Fail">
+<!ENTITY importFromFile.accesskey "F">
+<!ENTITY importFromNothing.label "Jangan import apa-apa">
+<!ENTITY importFromNothing.accesskey "J">
+
+<!ENTITY importSource.title "Import Tetapan dan Data">
+<!ENTITY importItems.title "Item untuk Diimport">
+<!ENTITY importItems.label "Pilih item yang mahu diimport:">
+
+<!ENTITY selectProfile.title "Pilih Profil">
+<!ENTITY selectProfile.label "Profil berikut tersedia untuk diimport dari:">
+
+<!ENTITY migrating.title "Mengimport…">
+<!ENTITY migrating.label "Item berikut sedang diimport…">
+
+<!ENTITY done.title "Selesai Mengimport">
+<!ENTITY done.label "Item berikut telah berjaya diimport:">
diff --git a/l10n-ms/suite/chrome/common/migration/migration.properties b/l10n-ms/suite/chrome/common/migration/migration.properties
new file mode 100644
index 0000000000..dbae49a966
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/migration/migration.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/.
+
+# the following section is used in the first-time migration wizard
+# new and scary, however if these strings are not present, we will simply
+# skip this wizard page
+homePageStartDefault=Laman SeaMonkey Piawai
+homePageStartCurrent=Laman SeaMonkey Semasa
+homePageImport=Import laman anda daripada %S
+
+homePageMigrationPageTitle=Pemilihan Laman
+homePageMigrationDescription=Sila pilih laman yang anda mahu gunakan:
+# end safe-to-not-have section
+
+# note that the names of apps are in lower case to fit in with the
+# protocol specifications.
+sourceNamethunderbird=Thunderbird
+
+importedBookmarksFolder=Dari %S
+
+importedSeamonkeyBookmarksTitle=SeaMonkey 1.x, Netscape 6/7 atau Mozilla 1.x
+
+# Import Sources
+# These are the string names for the values given in nsISuiteProfileMigrator.idl
+# _generic will apply to all import sources unless specifically overriden by another
+# item.
+# e.g. 1_ie=Internet Options will display "Internet Options" rather than "Preferences" when
+# importing from Internet Explorer.
+1_generic=Keutamaan
+
+2_generic=Kuki
+
+4_generic=Sejarah Pelayaran
+
+8_generic=Laman
+
+16_generic=Kata laluan Disimpan
+
+32_generic=Tandabuku
+
+64_generic=Data Lain
+
+128_generic=Tetapan Akaun
+
+256_generic=Buku Alamat
+
+512_generic=Latihan Mel Remeh
+
+1024_generic=Folder Kumpulan berita
+
+2048_generic=Folder Mel
diff --git a/l10n-ms/suite/chrome/common/notification.dtd b/l10n-ms/suite/chrome/common/notification.dtd
new file mode 100644
index 0000000000..aaa0c47721
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/notification.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY closeNotification.tooltip "Tutup mesej ini">
+
+<!-- LOCALIZATION NOTE (closeNotificationItem.label): This entity is used
+ to replace the Toolkit default closeNotificationItem.label ("Not Now")
+ which is ambiguous in some cases. Thus, make sure to select a phrase
+ that clearly relates to closing the current doorhanger. -->
+<!ENTITY closeNotificationItem.label "Abai Notifikasi">
+
+<!ENTITY checkForUpdates "Semak kemaskini…">
+
+<!ENTITY learnMore "Ketahui selanjutnya…">
diff --git a/l10n-ms/suite/chrome/common/notification.properties b/l10n-ms/suite/chrome/common/notification.properties
new file mode 100644
index 0000000000..4eb75f19a5
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/notification.properties
@@ -0,0 +1,162 @@
+# 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/.
+
+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=H
+crashedpluginsMessage.learnMore=Ketahui Selanjutnya…
+
+pluginInfo.unknownPlugin=Tidak diketahui
+
+# 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 popups blocked.
+popupWarning.message=#1 telah menghalang laman web ini daripada membuka #2 tetingkap popup.
+popupWarningButton=Keutamaan
+popupWarningButton.accesskey=K
+
+xpinstallHostNotAvailable=hos tidak diketahui
+xpinstallPromptWarning=%S telah menghalang laman web ini (%S) daripada meminta anda untuk memasang perisian pada komputer.
+xpinstallPromptInstallButton=Pasang Perisian…
+xpinstallPromptInstallButton.accesskey=P
+xpinstallDisabledMessageLocked=Pemasangan perisian telah dinyahdayakan oleh pentadbir sistem anda.
+xpinstallDisabledMessage=Pemasangan perisian sedang dinyahdayakan. Klik Dayakan dan cuba lagi.
+xpinstallDisabledButton=Dayakan
+xpinstallDisabledButton.accesskey=n
+
+# LOCALIZATION NOTE (addonDownloading, addonDownloadCancelled):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/Localization_and_Plurals
+# The number of add-ons is not itself substituted in the string.
+addonDownloading=Memuat turun Add-on:
+addonDownloadCancelled=Muat turun add-on dibatalkan.;Muat turun add-on dibatalkan.
+addonDownloadCancelButton=Batal
+addonDownloadCancelButton.accesskey=B
+addonDownloadRestartButton=Mula semula
+addonDownloadRestartButton.accesskey=M
+
+# LOCALIZATION NOTE (addonsInstalled, addonsInstalledNeedsRestart):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/Localization_and_Plurals
+# #1 first add-on's name, #2 number of add-ons, #3 application name
+addonsInstalled=#1 telah berjaya dipasang. #2 add-on telah berjaya dipasang.
+addonsInstalledNeedsRestart=#1 akan dipasang selepas anda memulakan semula #3.
+addonInstallRestartButton=Mula semula Sekarang
+addonInstallRestartButton.accesskey=M
+addonInstallManageButton=Buka Pengurus Add-ons
+addonInstallManageButton.accesskey=B
+
+# LOCALIZATION NOTE (addonError-1, addonError-2, addonError-3, addonError-4, addonErrorIncompatible, addonErrorBlocklisted):
+# #1 is the add-on name, #2 is the host name, #3 is the application name
+# #4 is the application version
+addonError-1=Add-on tidak dapat dimuat turun kerana kegagalan sambungan pada #2.
+addonError-2=Add-on dari #2 gagal dipasang kerana tidak sepadan add-on #3 seperti yang dijangka.
+addonError-3=Add-on yang dimuat turun dari #2 tidak boleh dipasang kerana ada kerosakan.
+addonError-4=#1 tidak dapat dipasang kerana #3 tidak dapat mengubahsuai fail yang diperlukan.
+addonErrorBlocklisted=#1 tidak dapat dipasang kerana ada risiko tinggi yang menyebabkan masalah kestabilan dan keselamatan.
+addonErrorIncompatible=#1 tidak dapat dipasang kerana tidak serasi dengan #3 #4.
+
+# Light Weight Themes
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=Laman web ini (%S) cuba untuk memasang tema. Klik Izinkan untuk meneruskan.
+lwthemeInstallRequest.allowButton=Izinkan
+lwthemeInstallRequest.allowButton.accesskey=I
+
+lwthemeInstallNotification.message=Tema baru telah dipasang.
+lwthemeInstallNotification.undoButton=Batal
+lwthemeInstallNotification.undoButton.accesskey=t
+lwthemeInstallNotification.manageButton=Urus Tema…
+lwthemeInstallNotification.manageButton.accesskey=U
+
+# LOCALIZATION NOTE (lwthemeNeedsRestart.message):
+# %S will be replaced with the new theme name.
+lwthemeNeedsRestart.message=%S akan dipasang selepas anda memulakan semula.
+lwthemeNeedsRestart.restartButton=Mula semula Sekarang
+lwthemeNeedsRestart.restartButton.accesskey=M
+
+# Geolocation UI
+geolocation.allowLocation=Izinkan Akses Lokasi
+geolocation.allowLocation.accesskey=I
+geolocation.dontAllowLocation=Jangan Izinkan
+geolocation.dontAllowLocation.accesskey=J
+geolocation.shareWithSite3=Adakah anda izinkan %S mengakses lokasi anda?
+geolocation.shareWithFile3=Adakah anda izinkan fail lokal ini mengakses lokasi anda?
+geolocation.remember=Ingati untuk laman web ini
+
+# Persistent storage UI
+persistentStorage.allow=Izinkan
+persistentStorage.allow.accesskey=I
+persistentStorage.dontAllow=Jangan Izinkan
+persistentStorage.dontAllow.accesskey=J
+persistentStorage.allowWithSite=Adakah anda izinkan %S untuk menyimpan data dalam storan kekal?
+persistentStorage.remember=Ingati keputusan ini
+
+# Desktop Notifications
+webNotifications.allow=Izinkan Notifikasi
+webNotifications.allow.accesskey=I
+webNotifications.notNow=Bukan Sekarang
+webNotifications.notNow.accesskey=k
+webNotifications.never=Jangan sesekali Izinkan
+webNotifications.never.accesskey=J
+webNotifications.receiveFromSite2=Adakah anda izinkan %S menghantar notifikasi?
+
+# IndexedDB
+offlineApps.permissions=Laman web ini (%S) meminta untuk menyimpan data di dalam komputer anda untuk kegunaan di luar talian.
+offlineApps.private=Anda sedang berada dalam tetingkap peribadi. Laman web ini (%S) tidak diizinkan menyimpan data dalam komputer untuk kegunaan di luar talian.
+offlineApps.quota=Laman web ini (%1$S) meminta untuk menyimpan data melebihi %2$SMB di dalam komputer anda untuk kegunaan di luar talian.
+offlineApps.always=Sentiasa Izinkan
+offlineApps.always.accesskey=I
+offlineApps.later=Bukan Sekarang
+offlineApps.later.accesskey=B
+offlineApps.never=Tidak Sesekali untuk Laman Ini
+offlineApps.never.accesskey=e
+
+# 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.
+
+# LOCALIZATION NOTE (updatePrompt.text)
+# %S will be replaced with the application name.
+updatePrompt.text=Salinan %S ini sudah lama dan mungkin ada masalah keselamatan, dan anda telah menyahaktifkan semakan kemaskini automatik. Sila kemaskini ke versi yang lebih baru.
+updatePromptCheckButton.label=Semak Kemaskini
+updatePromptCheckButton.accesskey=S
+
+SecurityTitle=Amaran Keselamatan
+MixedContentMessage=Anda telah meminta halaman enkripsi yang mengandungi beberapa maklumat tanpa enkripsi. Maklumat yang anda lihat atau masukkan dalam halaman ini boleh dibaca dengan mudah oleh pihak ketiga.
+MixedActiveContentMessage=Anda telah meminta halaman enkripsi yang mengandungi beberapa maklumat yang tidak selamat. Maklumat yang anda lihat atau masukkan dalam halaman ini boleh dibaca dengan mudah oleh pihak ketiga.
+TrackingContentMessage=Ada bahagian dalam halaman ini mungkin menjejaki aktiviti atas talian anda.
+MixedDisplayContentMessage=Anda telah meminta halaman yang hanya dienkripsi sebahagian daripadanya dan tidak menghalang daripada pengintip.
+BlockedActiveContentMessage=Maklumat yang tidak selamat dalam halaman ini telah disekat.
+BlockedTrackingContentMessage=Bahagian dalam halaman ini yang menjejaki aktiviti atas talian anda telah disekat.
+BlockedDisplayContentMessage=Maklumat yang tidak dienkrip dalam halaman ini telah disekat.
+EnterInsecureMessage=Anda telah keluar daripada halaman yang diekripsi. Maklumat yang anda hantar atau terima sekarang boleh dibaca dengan mudah oleh pihak ketiga.
+EnterSecureMessage=Anda telah meminta halaman yang dienkrip. Laman web telah mengenalpasti dirinya dengan betul, dan maklumat anda lihat atau masukkan pada halaman ini menjadi sukar untuk dibaca oleh pihak ketiga.
+SecurityKeepBlocking.label=Teruskan Sekatan
+SecurityKeepBlocking.accesskey=T
+SecurityUnblock.label=Buang sekatan
+SecurityUnblock.accesskey=B
+SecurityPreferences.label=Keutamaan
+SecurityPreferences.accesskey=K
+PostToInsecureFromInsecureMessage=Maklumat yang anda masukkan akan dihantar melalui sambungan tanpa enkripsi dan boleh dibaca dengan mudah oleh pihak ketiga.\nAdakah anda mahu teruskan menghantar maklumat ini?
+PostToInsecureFromInsecureShowAgain=Beri amaran apabila saya menghantar maklumat yang tidak dienkripsi.
+PostToInsecureContinue=Teruskan
+
+# 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 yang mengelirukan…
+safebrowsing.notADeceptiveSiteButton.accessKey=b
+safebrowsing.reportedAttackSite=Ini Laman Penyerang!
+safebrowsing.notAnAttackButton.label=Ini bukan laman penyerang…
+safebrowsing.notAnAttackButton.accessKey=a
+safebrowsing.reportedUnwantedSite=Ini Laman Perisian Yang Tidak Diingini!
diff --git a/l10n-ms/suite/chrome/common/openLocation.dtd b/l10n-ms/suite/chrome/common/openLocation.dtd
new file mode 100644
index 0000000000..596d142daa
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/openLocation.dtd
@@ -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/. -->
+
+<!-- extracted from content/openLocation.xul -->
+
+<!ENTITY enter.label "Masukkan lokasi web (URL), atau nyatakan fail lokal yang anda mahu buka:">
+<!-- LOCALIZATION NOTE (enter.accesskey): should be present in both enter.label
+ as defined above and attachEnterLabel as defined in
+ openLocation.properties -->
+<!ENTITY enter.accesskey "M">
+<!ENTITY chooseFile.label "Pilih Fail…">
+<!ENTITY chooseFile.accesskey "P">
+<!ENTITY newPrivate.label "Tetingkap peribadi baru">
+<!ENTITY newWindow.label "Tetingkap pelayar baru">
+<!ENTITY newTab.label "Tab pelayar baru">
+<!ENTITY currentTab.label "Tab pelayar semasa">
+<!ENTITY editNewWindow.label "Tetingkap Pengarang baru">
+<!ENTITY open.label "Buka">
+<!ENTITY caption.label "Buka Lokasi Web">
+<!ENTITY openWhere.label "Buka dalam:">
+<!ENTITY openWhere.accesskey "B">
diff --git a/l10n-ms/suite/chrome/common/openLocation.properties b/l10n-ms/suite/chrome/common/openLocation.properties
new file mode 100644
index 0000000000..0d2e8aca42
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/openLocation.properties
@@ -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/.
+
+attachTitle=Lampir Halaman Web
+# LOCALIZATION NOTE (attachEnterLabel): should contain "enter.accesskey"
+# as defined in openLocation.dtd
+attachEnterLabel=Masukkan lokasi web (URL), atau nyatakan fail lokal yang anda mahu lampir:
+attachButtonLabel=Lampir
+chooseFileDialogTitle=Pilih Fail
+existingNavigatorWindow=Tetingkap pelayar sedia ada
diff --git a/l10n-ms/suite/chrome/common/permissions/cookieViewer.dtd b/l10n-ms/suite/chrome/common/permissions/cookieViewer.dtd
new file mode 100644
index 0000000000..7b562c5aa1
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/permissions/cookieViewer.dtd
@@ -0,0 +1,46 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY tab.cookiesonsystem.label "Kuki Disimpan">
+<!ENTITY tab.bannedservers.label "Laman web Kuki">
+<!ENTITY div.bannedservers.label "Uruskan laman web yang boleh dan tidak boleh menyimpan kuki dalam komputer anda.">
+<!ENTITY div.cookiesonsystem.label "Papar dan buang kuki yang disimpan dalam komputer anda.">
+<!ENTITY treehead.cookiename.label "Nama Kuki">
+<!ENTITY treehead.cookiedomain.label "Laman web">
+<!ENTITY treehead.cookieexpires.label "Luput">
+<!ENTITY treehead.infoselected.label "Maklumat Kuki yang dipilih">
+<!ENTITY button.removecookie.label "Buang kuki">
+<!ENTITY button.removecookie.accesskey "B">
+<!ENTITY button.removeallcookies.label "Buang Semua Kuki">
+<!ENTITY button.removeallcookies.accesskey "e">
+
+<!ENTITY search.placeholder "Cari Kuki">
+<!ENTITY focusSearch.key "f">
+<!ENTITY selectAll.key "a">
+
+<!ENTITY props.name.label "Nama:">
+<!ENTITY props.value.label "Kandungan:">
+<!ENTITY props.domain.label "Hos:">
+<!ENTITY props.path.label "Laluan:">
+<!ENTITY props.secure.label "Hantar Untuk:">
+<!ENTITY props.expires.label "Luput:">
+
+<!ENTITY treehead.sitename.label "Laman web">
+<!ENTITY treehead.scheme.label "Skema">
+<!ENTITY treehead.status.label "Status">
+<!ENTITY windowtitle.label "Pengurus Kuki">
+
+<!ENTITY blockSite.label "Sekat">
+<!ENTITY blockSite.accesskey "S">
+<!ENTITY allowSite.label "Izinkan">
+<!ENTITY allowSite.accesskey "I">
+<!ENTITY allowSiteSession.label "Sesi">
+<!ENTITY allowSiteSession.accesskey "S">
+<!ENTITY removepermission.label "Buang Laman Web">
+<!ENTITY removepermission.accesskey "B">
+<!ENTITY removeallpermissions.label "Buang Semua Laman Web">
+<!ENTITY removeallpermissions.accesskey "e">
+
+<!ENTITY futureCookies.label "Jangan izinkan laman web yang ditetapkan supaya membuang kuki daripada menetapkan kuki">
+<!ENTITY futureCookies.accesskey "J">
diff --git a/l10n-ms/suite/chrome/common/permissions/cookieViewer.properties b/l10n-ms/suite/chrome/common/permissions/cookieViewer.properties
new file mode 100644
index 0000000000..722d4fdfce
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/permissions/cookieViewer.properties
@@ -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/.
+
+# note this section of the code may require some tinkering in other languages =(
+# format in dialog: site [can/cannot] set cookies
+can=laman web boleh menetapkan kuki
+cannot=laman web tidak boleh menetapkan kuki
+canSession=laman web boleh menetapkan kuki sesi
+domain=Domain yang diguna pakai untuk kuki ini:
+host=Pelayan yang menetapkan kuki:
+hostColon=Hos:
+domainColon=Domain:
+forSecureOnly=Sambungan dienkripsi sahaja
+forAnyConnection=Sebarang jenis sambungan
+expireAtEndOfSession=Pada akhir sesi
+allowedURLSchemes=Semak url yang dimasukkan. Anda juga hanya boleh menambah keizinan untuk skema http atau https
+errorAddPermission=Keizinan untuk laman ini tidak dapat ditambah
+deleteAllCookies=Adakah anda pasti mahu menghapus semua kuki?
+deleteAllCookiesTitle=Buang Semua Kuki
+deleteAllCookiesYes=&Buang
+deleteAllCookiesSites=Adakah anda pasti mahu menghapuskan semua kuki laman web?
+deleteAllSitesTitle=Buang Semua Laman Web
+deleteAllSitesYes=&Buang
+deleteSelectedCookies=Adakah anda pasti mahu menghapuskan kuki yang dipilih?
+deleteSelectedCookiesTitle=Buang Kuki Dipilih
+deleteSelectedCookiesYes=&Buang
+deleteSelectedCookiesSites=Adakah anda pasti mahu menghapuskan kuki laman web yang dipilih?
+deleteSelectedSitesTitle=Buang Laman Web Dipilih
+deleteSelectedSitesYes=&Buang
diff --git a/l10n-ms/suite/chrome/common/permissions/permissionsManager.dtd b/l10n-ms/suite/chrome/common/permissions/permissionsManager.dtd
new file mode 100644
index 0000000000..732ebd175d
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/permissions/permissionsManager.dtd
@@ -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/. -->
+
+<!ENTITY windowtitle.label "Pengecualian">
+<!ENTITY treehead.sitename.label "Laman web">
+<!ENTITY treehead.status.label "Status">
+<!ENTITY remove.label "Buang Laman Web">
+<!ENTITY remove.accesskey "B">
+<!ENTITY removeall.label "Buang Semua Laman Web">
+<!ENTITY removeall.accesskey "e">
+<!ENTITY address.label "Alamat laman web:">
+<!ENTITY address.accesskey "l">
+<!ENTITY block.label "Sekat">
+<!ENTITY block.accesskey "S">
+<!ENTITY session.label "Izinkan untuk Sesi">
+<!ENTITY session.accesskey "S">
+<!ENTITY allow.label "Izinkan">
+<!ENTITY allow.accesskey "I">
diff --git a/l10n-ms/suite/chrome/common/permissions/permissionsManager.properties b/l10n-ms/suite/chrome/common/permissions/permissionsManager.properties
new file mode 100644
index 0000000000..8414081813
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/permissions/permissionsManager.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/.
+
+installpermissionstext=Anda boleh tentukan laman web yang diizinkan memasang ekstensi dan kemaskini. Taip alamat laman yang betul untuk anda izinkan dan kemudian klik Izinkan.
+installpermissionstitle=Laman Web Diizinkan - Pemasangan Perisian
+installpermissionshelp=advanced_pref_installation
+popuppermissionstext=Anda boleh tentukan laman web yang diizinkan membuka tetingkap popup. Taip alamat laman yang betul untuk anda izinkan dan kemudian klik Izinkan.
+popuppermissionstitle=Laman Web Diizinkan - Pop-up
+popuppermissionshelp=pop_up_blocking
+imagepermissionstext=Anda boleh tentukan laman web yang diizinkan memuatkan imej. Taip alamat laman web yang betul untuk anda uruskan dan kemudian klik Sekat atau Izinkan.
+imagepermissionstitle=Pengecualian - Imej
+imagepermissionshelp=images-help-managing
+offline-apppermissionstext=Anda boleh tentukan laman web yang diizinkan untuk menyimpan data bagi kegunaan luar talian. Taip alamat laman web yang anda mahu uruskan dan kemudian klik Sekat atau Izinkan.
+offline-apppermissionstitle=Data Luar Talian
+offline-apppermissionshelp=offline_apps
+
+can=Izinkan
+canSession=Izinkan untuk Sesi
+cannot=Sekat
+
+alertInvalidTitle=Laman web yang Dimasukkan Tidak Sah
+alertInvalid=Laman web %S tidak sah.
diff --git a/l10n-ms/suite/chrome/common/places/bookmarkProperties.properties b/l10n-ms/suite/chrome/common/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..797151874a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/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/l10n-ms/suite/chrome/common/places/editBookmarkOverlay.dtd b/l10n-ms/suite/chrome/common/places/editBookmarkOverlay.dtd
new file mode 100644
index 0000000000..eac80a40f5
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/places/editBookmarkOverlay.dtd
@@ -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/. -->
+
+<!ENTITY editBookmarkOverlay.name.label "Nama:">
+<!ENTITY editBookmarkOverlay.name.accesskey "N">
+<!ENTITY editBookmarkOverlay.location.label "Lokasi:">
+<!ENTITY editBookmarkOverlay.location.accesskey "L">
+<!ENTITY editBookmarkOverlay.feedLocation.label "Lokasi Suapan:">
+<!ENTITY editBookmarkOverlay.feedLocation.accesskey "S">
+<!ENTITY editBookmarkOverlay.siteLocation.label "Lokasi Laman:">
+<!ENTITY editBookmarkOverlay.siteLocation.accesskey "L">
+<!ENTITY editBookmarkOverlay.folder.label "Folder:">
+<!ENTITY editBookmarkOverlay.foldersExpanderDown.tooltip "Papar semua folder tandabuku">
+<!ENTITY editBookmarkOverlay.expanderUp.tooltip "Sorok">
+<!ENTITY editBookmarkOverlay.tags.label "Tag:">
+<!ENTITY editBookmarkOverlay.tags.accesskey "T">
+<!ENTITY editBookmarkOverlay.tagsEmptyDesc.label "Pisah tag dengan tanda koma">
+<!ENTITY editBookmarkOverlay.description.label "Keterangan:">
+<!ENTITY editBookmarkOverlay.description.accesskey "K">
+<!ENTITY editBookmarkOverlay.keyword.label "Kata kunci:">
+<!ENTITY editBookmarkOverlay.keyword.accesskey "K">
+<!ENTITY editBookmarkOverlay.tagsExpanderDown.tooltip "Papar semua tag">
+<!ENTITY editBookmarkOverlay.loadInSidebar.label "Muatkan tandabuku ini ke dalam bar sisi">
+<!ENTITY editBookmarkOverlay.loadInSidebar.accesskey "t">
+<!ENTITY editBookmarkOverlay.choose.label "Pilih…">
+<!ENTITY editBookmarkOverlay.newFolderButton.label "Folder Baru">
+<!ENTITY editBookmarkOverlay.newFolderButton.accesskey "o">
diff --git a/l10n-ms/suite/chrome/common/places/places.dtd b/l10n-ms/suite/chrome/common/places/places.dtd
new file mode 100644
index 0000000000..2357302603
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/places/places.dtd
@@ -0,0 +1,106 @@
+<!-- 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 (places.library.title): use "Library", "Archive" or "Repository" -->
+<!ENTITY places.library.title "Pustaka">
+<!ENTITY places.library.width "700">
+<!ENTITY places.library.height "500">
+<!ENTITY organize.label "Urus">
+<!ENTITY organize.accesskey "U">
+<!ENTITY organize.tooltip "Urus tandabuku anda">
+
+<!ENTITY file.close.label "Tutup">
+<!ENTITY file.close.accesskey "T">
+<!ENTITY cmd.close.key "w">
+<!ENTITY views.label "Paparan">
+<!ENTITY views.accesskey "P">
+<!ENTITY views.tooltip "Tukar paparan anda">
+<!ENTITY view.columns.label "Papar Lajur">
+<!ENTITY view.columns.accesskey "L">
+<!ENTITY view.sort.label "Susun">
+<!ENTITY view.sort.accesskey "S">
+<!ENTITY view.unsorted.label "Tidak disusun">
+<!ENTITY view.unsorted.accesskey "T">
+<!ENTITY view.sortAscending.label "Tertib Susunan A > Z">
+<!ENTITY view.sortAscending.accesskey "A">
+<!ENTITY view.sortDescending.label "Tertib Susunan Z > A">
+<!ENTITY view.sortDescending.accesskey "Z">
+
+<!ENTITY importBookmarksFromHTML.label "Import Tandabuku dari HTML…">
+<!ENTITY importBookmarksFromHTML.accesskey "I">
+<!ENTITY exportBookmarksToHTML.label "Eksport Tandabuku ke HTML…">
+<!ENTITY exportBookmarksToHTML.accesskey "E">
+<!ENTITY importOtherBrowser.label "Import Data dari Pelayar Lain…">
+<!ENTITY importOtherBrowser.accesskey "L">
+
+<!ENTITY cmd.backup.label "Sandaran…">
+<!ENTITY cmd.backup.accesskey "S">
+<!ENTITY cmd.restore2.label "Pulih">
+<!ENTITY cmd.restore2.accesskey "P">
+<!ENTITY cmd.restoreFromFile.label "Pilih Fail…">
+<!ENTITY cmd.restoreFromFile.accesskey "P">
+
+<!ENTITY cmd.deleteDomainData.label "Lupakan Laman Ini">
+<!ENTITY cmd.deleteDomainData.accesskey "L">
+
+<!ENTITY cmd.open.label "Buka">
+<!ENTITY cmd.open.accesskey "B">
+<!ENTITY cmd.open_window.label "Buka dalam Tetingkap Baru">
+<!ENTITY cmd.open_window.accesskey "B">
+<!ENTITY cmd.open_private_window.label "Buka dalam Tetingkap Peribadi Baru">
+<!ENTITY cmd.open_private_window.accesskey "P">
+<!ENTITY cmd.open_tab.label "Buka dalam Tab Baru">
+<!ENTITY cmd.open_tab.accesskey "u">
+<!ENTITY cmd.open_all_in_tabs.label "Buka Semua dalam Tab">
+<!ENTITY cmd.open_all_in_tabs.accesskey "B">
+
+<!ENTITY cmd.properties.label "Sifat">
+<!ENTITY cmd.properties.accesskey "i">
+
+<!ENTITY cmd.sortby_name.label "Susun Mengikut Nama">
+<!ENTITY cmd.sortby_name.accesskey "S">
+<!ENTITY cmd.context_sortby_name.accesskey "s">
+
+<!ENTITY cmd.new_bookmark.label "Tandabuku Baru…">
+<!ENTITY cmd.new_bookmark.accesskey "B">
+<!ENTITY cmd.new_folder.label "Folder Baru…">
+<!ENTITY cmd.new_folder.accesskey "o">
+<!ENTITY cmd.context_new_folder.accesskey "F">
+<!ENTITY cmd.new_separator.label "Pemisah Baru">
+<!ENTITY cmd.new_separator.accesskey "P">
+
+<!ENTITY cmd.reloadLivebookmark.label "Muat semula Live Bookmark">
+<!ENTITY cmd.reloadLivebookmark.accesskey "M">
+
+<!ENTITY col.name.label "Nama">
+<!ENTITY col.tags.label "Tag">
+<!ENTITY col.url.label "Lokasi">
+<!ENTITY col.mostrecentvisit.label "Lawatan Terkini">
+<!ENTITY col.visitcount.label "Bilangan Lawatan">
+<!ENTITY col.description.label "Keterangan">
+<!ENTITY col.dateadded.label "Ditambah">
+<!ENTITY col.lastmodified.label "Terakhir Diubah">
+
+<!ENTITY search.placeholder "Cari">
+
+<!ENTITY cmd.find.key "f">
+
+<!ENTITY detailsPane.more.label "Selanjutnya">
+<!ENTITY detailsPane.more.accesskey "e">
+<!ENTITY detailsPane.less.label "Kurang">
+<!ENTITY detailsPane.less.accesskey "r">
+<!ENTITY detailsPane.selectAnItemText.description "Pilih item untuk dipapar dan diedit sifatnya">
+
+<!ENTITY view.label "Papar">
+<!ENTITY view.accesskey "r">
+<!ENTITY byDate.label "Mengikut Tarikh">
+<!ENTITY byDate.accesskey "T">
+<!ENTITY bySite.label "Mengikut Laman">
+<!ENTITY bySite.accesskey "L">
+<!ENTITY byMostVisited.label "Mengikut Paling Dilawati">
+<!ENTITY byMostVisited.accesskey "D">
+<!ENTITY byLastVisited.label "Mengikut Terakhir Dilawati">
+<!ENTITY byLastVisited.accesskey "T">
+<!ENTITY byDayAndSite.label "Mengikut Tarikh dan Laman">
+<!ENTITY byDayAndSite.accesskey "t">
diff --git a/l10n-ms/suite/chrome/common/places/places.properties b/l10n-ms/suite/chrome/common/places/places.properties
new file mode 100644
index 0000000000..c60ea87ba6
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/places/places.properties
@@ -0,0 +1,101 @@
+# 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=B
+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=t
+view.sortBy.1.lastModified.label=Susun mengikut Terakhir Diubah
+view.sortBy.1.lastModified.accesskey=T
+view.sortBy.1.tags.label=Susun mengikut Tag
+view.sortBy.1.tags.accesskey=T
+
+searchBookmarks=Cari Tandabuku
+searchHistory=Sejarah Carian
+
+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
+recentlyBookmarkedTitle=Tandabuku Terkini
+recentTagsTitle=Tag Terkini
+
+OrganizerQueryHistory=Sejarah
+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.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=K
+
+# 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/l10n-ms/suite/chrome/common/pref/pref-advanced.dtd b/l10n-ms/suite/chrome/common/pref/pref-advanced.dtd
new file mode 100644
index 0000000000..5d474255fc
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-advanced.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE : FILE 'Advanced' prefs settings -->
+<!ENTITY pref.advanced.title "Lanjutan">
+
+<!ENTITY prefCheckDefault.caption "Integrasi Sistem">
+<!ENTITY prefCheckDefaultClient.label "Semak tetapan aplikasi piawai apabila dimulakan">
+<!ENTITY prefCheckDefaultClient.accesskey "S">
+
+<!ENTITY crashReports.caption "Pelapor Ranap">
+<!ENTITY submitCrashes.label "Hantarkan laporan ranap">
+<!ENTITY submitCrashes.accesskey "H">
+
+<!ENTITY devTools.caption "Alatan Pembangun">
+<!ENTITY allowDebugger.label "Izinkan penyahpepijat untuk disambung ke &brandShortName;">
+<!ENTITY allowDebugger.accesskey "I">
+<!ENTITY allowRemoteConnections.label "Izinkan sambungan daripada komputer lain">
+<!ENTITY allowRemoteConnections.accesskey "l">
+<!ENTITY connectionPrompt.label "Maklumkan untuk sambungan masuk">
+<!ENTITY connectionPrompt.accesskey "M">
+<!ENTITY remoteDebuggerPort.label "Nombor port untuk sambungan:">
+<!ENTITY remoteDebuggerPort.accesskey "n">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-appearance.dtd b/l10n-ms/suite/chrome/common/pref/pref-appearance.dtd
new file mode 100644
index 0000000000..13206f2183
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-appearance.dtd
@@ -0,0 +1,35 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE : FILE The Appearance prefs dialog. -->
+
+<!ENTITY pref.appearance.title "Penampilan">
+<!--LOCALIZATION NOTE (onStartLegend.label): Don't translate "&brandShortName;".
+ Place &brandShortName; in the phrase where the name of the application should appear
+-->
+<!ENTITY onStartLegend.label "Apabila &brandShortName; dimulakan, buka">
+<!ENTITY navCheck.label "Pelayar">
+<!ENTITY navCheck.accesskey "P">
+<!ENTITY showToolsLegend.label "Papar bar alatan sebagai">
+<!ENTITY picsNtextRadio.label "Gambar dan teks">
+<!ENTITY picsNtextRadio.accesskey "G">
+<!ENTITY picsOnlyRadio.label "Gambar sahaja">
+<!ENTITY picsOnlyRadio.accesskey "j">
+<!ENTITY textonlyRadio.label "Teks sahaja">
+<!ENTITY textonlyRadio.accesskey "k">
+<!ENTITY showHideTooltips.label "Papar Panduan alatan">
+<!ENTITY showHideTooltips.accesskey "P">
+
+<!ENTITY pref.locales.title "Bahasa Antara muka Pengguna">
+<!ENTITY selectLocale.label "Pilih bahasa untuk teks yang muncul dalam kotak dialog, menu, bar alatan dan label butang:">
+
+<!--LOCALIZATION NOTE (dateTimeFormatting.label): labels/accesskeys for
+ radiobuttons are set dynamically from prefutilities.properties
+-->
+<!ENTITY dateTimeFormatting.label "Format Tarikh dan Masa">
+
+<!--LOCALIZATION NOTE (restartOnLocaleChange.label): Don't translate "&brandShortName;".
+ Place &brandShortName; in the phrase where the name of the application should appear
+-->
+<!ENTITY restartOnLocaleChange.label "Keutamaan bahasa dan format akan dilaksanakan apabila anda memulakan semula &brandShortName;.">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-applicationManager.dtd b/l10n-ms/suite/chrome/common/pref/pref-applicationManager.dtd
new file mode 100644
index 0000000000..5f87cfa7e4
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-applicationManager.dtd
@@ -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/. -->
+
+<!ENTITY appManager.title "Butiran aplikasi">
+<!ENTITY appManager.style "width: 40ch; min-height: 20em;">
+<!ENTITY remove.label "Buang">
+<!ENTITY remove.accesskey "B">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-applicationManager.properties b/l10n-ms/suite/chrome/common/pref/pref-applicationManager.properties
new file mode 100644
index 0000000000..e416399275
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-applicationManager.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/.
+
+descriptionHandleProtocol=Aplikasi berikut boleh digunakan untuk mengendalikan pautan %S
+descriptionHandleWebFeeds=Aplikasi berikut boleh digunakan untuk mengendalikan Suapan Web
+descriptionHandleFile=Aplikasi berikut boleh digunakan untuk mengendalikan kandungan %S
+
+descriptionWebApp=Aplikasi web ini dihoskan di:
+descriptionLocalApp=Aplikasi ini berada di:
diff --git a/l10n-ms/suite/chrome/common/pref/pref-applications.dtd b/l10n-ms/suite/chrome/common/pref/pref-applications.dtd
new file mode 100644
index 0000000000..4eae5a0191
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-applications.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE : FILE The Applications prefs dialog -->
+<!ENTITY pref.applications.title "Aplikasi Pembantu">
+
+<!ENTITY typeColumn.label "Jenis Kandungan">
+<!ENTITY typeColumn.accesskey "J">
+
+<!ENTITY actionColumn2.label "Tindakan">
+<!ENTITY actionColumn2.accesskey "T">
+
+<!ENTITY search.placeholder "Cari Jenis dan Tindakan">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-applications.properties b/l10n-ms/suite/chrome/common/pref/pref-applications.properties
new file mode 100644
index 0000000000..57fc8d47a0
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-applications.properties
@@ -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/.
+
+#### 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
+
+# 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, addNewsBlogsInApp): %S = brandShortName
+previewInApp=Previu dalam %S
+addNewsBlogsInApp=Langgan %S
+
+# LOCALIZATION NOTE (typeDescriptionWithType):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = type (for example "application/pdf")
+typeDescriptionWithType=%S (%S)
diff --git a/l10n-ms/suite/chrome/common/pref/pref-cache.dtd b/l10n-ms/suite/chrome/common/pref/pref-cache.dtd
new file mode 100644
index 0000000000..28696b28e6
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-cache.dtd
@@ -0,0 +1,32 @@
+<!-- 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/. -->
+
+<!-- extracted from content/pref-cache.xul -->
+
+<!--LOCALIZATION NOTE : FILE Cache prefs dialog -->
+<!ENTITY pref.cache.title "Cache">
+<!ENTITY pref.cache.caption "Tetapkan Pilihan Cache">
+<!ENTITY cachePara "Cache menyimpan salinan halaman web yang kerap dilawati dalam cakera keras anda. (Klik Muat semula akan memaparkan versi terbaru halaman.)">
+<!ENTITY cacheCheck.label "Biar &brandShortName; menguruskan saiz cache">
+<!ENTITY cacheCheck.accesskey "B">
+<!ENTITY diskCacheUpTo.label "Guna sehingga">
+<!ENTITY diskCacheUpTo.accesskey "G">
+<!ENTITY spaceMbytes "MB ruang cakera untuk cache">
+<!ENTITY diskCacheFolder.label "Lokasi Folder Cache:">
+<!ENTITY clearDiskCache.label "Buang Cache">
+<!ENTITY clearDiskCache.accesskey "C">
+<!ENTITY chooseDiskCacheFolder.label "Pilih Folder…">
+<!ENTITY chooseDiskCacheFolder.accesskey "F">
+<!ENTITY diskCacheFolderExplanation "Fail cache akan disimpan dalam sub-folder yang dinamakan &quot;Cache&quot; dalam direktori yang anda tentukan. Mulakan semula &brandShortName; supaya perubahan dapat dilaksanakan.">
+<!ENTITY docCache.label "Bandingkan halaman dalam cache dengan laman dalam rangkaian:">
+<!ENTITY docCache.accesskey "m">
+<!ENTITY checkOncePerSession.label "Sekali setiap sesi">
+<!ENTITY checkEveryTime.label "Setiap kali saya papar halaman">
+<!ENTITY checkNever.label "Jangan sesekali">
+<!ENTITY checkAutomatically.label "Apabila halaman sudah lapuk">
+
+<!ENTITY prefetchTitle.label "Pra-ambilan Pautan">
+<!ENTITY enablePrefetch.label "Pra-ambil halaman web apabila melahu, supaya pautan dalam halaman web yang direka untuk pra-ambilan boleh dimuatkan lebih cepat">
+<!ENTITY enablePrefetch.accesskey "P">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-certs.dtd b/l10n-ms/suite/chrome/common/pref/pref-certs.dtd
new file mode 100644
index 0000000000..4dd7390d6a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-certs.dtd
@@ -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/. -->
+
+<!ENTITY managecerts.caption "Urus Sijil">
+<!ENTITY managecerts.text "Gunakan Pengurus Sijil untuk menguruskan sijil peribadi anda, serta sijil perseorangan dan pihak berkuasa lain.">
+<!ENTITY managecerts.button "Urus Sijil…">
+<!ENTITY managecerts.accesskey "U">
+<!ENTITY managedevices.caption "Urus Peranti Keselamatan">
+<!ENTITY managedevices.text "Gunakan butang ini untuk menguruskan peranti keselamatan anda, seperti kad pintar.">
+<!ENTITY managedevices.button "Urus Peranti Keselamatan…">
+<!ENTITY managedevices.accesskey "K">
+
+<!ENTITY ssl.label "SSL">
+
+<!ENTITY pref.certs.title "Sijil">
+<!ENTITY certs.label "Sijil">
+
+<!ENTITY validation.ocsp.caption "OCSP">
+<!ENTITY enableOCSP.label "Gunakan Protokol Status Sijil Atas Talian (OCSP) untuk mengesahkan kesahihan sijil semasa">
+<!ENTITY enableOCSP.accesskey "G">
+<!ENTITY validation.requireOCSP.description "Apabila sambungan pelayan OCSP gagal, anggap sijil sebagai tidak sah">
+<!ENTITY validation.requireOCSP.accesskey "A">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-colors.dtd b/l10n-ms/suite/chrome/common/pref/pref-colors.dtd
new file mode 100644
index 0000000000..4b6c96aff9
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-colors.dtd
@@ -0,0 +1,35 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/pref-colors.xul -->
+
+<!-- LOCALIZATION NOTE : FILE Color management prefs -->
+<!ENTITY pref.colors.title "Warna">
+<!ENTITY color "Teks dan Latar Belakang">
+<!ENTITY textColor.label "Teks:">
+<!ENTITY textColor.accesskey "T">
+<!ENTITY backgroundColor.label "Latar belakang:">
+<!ENTITY backgroundColor.accesskey "L">
+<!ENTITY useSystemColors.label "Guna warna sistem">
+<!ENTITY useSystemColors.accesskey "s">
+
+<!ENTITY underlineLinks.label "Garis bawah pautan">
+<!ENTITY underlineLinks.accesskey "G">
+<!ENTITY links "Warna Pautan">
+<!ENTITY linkColor.label "Pautan Belum Dilawati:">
+<!ENTITY linkColor.accesskey "P">
+<!ENTITY activeLinkColor.label "Pautan Aktif:">
+<!ENTITY activeLinkColor.accesskey "k">
+<!ENTITY visitedLinkColor.label "Pautan Dilawati:">
+<!ENTITY visitedLinkColor.accesskey "D">
+<!-- LOCALIZATION NOTE (someProvColors): This is the start of a sentence and will be followed by the following radio buttons. -->
+<!ENTITY someProvColors "Apabila halaman web menyediakan warna dan latar belakang sendiri">
+<!-- LOCALIZATION NOTE (alwaysUseDocColors.label): This is option one, and it appends to 'someProvColors' above. -->
+<!ENTITY alwaysUseDocumentColors.label "Sentiasa gunakan warna dan latar belakang yang ditentukan halaman web">
+<!ENTITY alwaysUseDocumentColors.accesskey "S">
+<!-- LOCALIZATION NOTE (ignoreDocColors.label): This is option two, and it appends to 'someProvColors' above. -->
+<!ENTITY useMyColors.label "Gunakan warna pilihan saya, abaikan warna dan imej latar belakang yang dinyatakan">
+<!ENTITY useMyColors.accesskey "s">
+<!ENTITY automaticColors.label "Abaikan hanya warna halaman apabila menggunakan tema Kontras Tinggi">
+<!ENTITY automaticColors.accesskey "A">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-content.dtd b/l10n-ms/suite/chrome/common/pref/pref-content.dtd
new file mode 100644
index 0000000000..958fde6070
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-content.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE : FILE The Appearance > Content prefs dialog. -->
+
+<!ENTITY pref.content.title "Kandungan">
+<!ENTITY pref.content.description "Tetapan ini mempengaruhi penampilan kandungan laman web dan mesej yang dipaparkan dalam &brandShortName;.">
+
+<!ENTITY scrolling.label "Skrol">
+<!ENTITY useAutoScroll.label "Guna auto-skrol">
+<!ENTITY useAutoScroll.accesskey "t">
+<!ENTITY useSmoothScroll.label "Guna skrol lancar">
+<!ENTITY useSmoothScroll.accesskey "G">
+
+<!ENTITY zoomPrefs.label "Pilihan zum">
+<!-- LOCALIZATION NOTE (minZoom.label, maxZoom.label, percent.label):
+ single hbox with minZoom.label preceding the minZoom control and
+ maxZoom.label preceding the maxZoom control; percent.label shows
+ the ASCII '%' character at the end of that string -->
+<!ENTITY minZoom.label "Julat daripada">
+<!ENTITY minZoom.accesskey "i">
+<!ENTITY maxZoom.label "hingga">
+<!ENTITY maxZoom.accesskey "a">
+<!ENTITY percent.label "&#37;">
+
+<!ENTITY textZoomOnly.label "Hanya zum teks, bukan keseluruhan halaman">
+<!ENTITY textZoomOnly.accesskey "H">
+<!ENTITY siteSpecific.label "Ingat tahap zum berdasarkan setiap laman">
+<!ENTITY siteSpecific.accesskey "t">
+<!ENTITY showZoomStatusPanel.label "Papar kawalan zum dalam bar status">
+<!ENTITY enableAutomaticImageResizing.label "Saiz semula imej supaya muat mengikut tetingkap pelayar">
+<!ENTITY enableAutomaticImageResizing.accesskey "S">
+
+<!ENTITY allowHWAccel.label "Guna pecutan perkakasan, jika tersedia">
+<!ENTITY allowHWAccel.accesskey "e">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-cookies.dtd b/l10n-ms/suite/chrome/common/pref/pref-cookies.dtd
new file mode 100644
index 0000000000..aa30499281
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-cookies.dtd
@@ -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/. -->
+
+<!ENTITY pref.cookies.title "Kuki">
+
+<!-- cookies -->
+
+<!ENTITY cookiePolicy.label "Polisi Penerimaan Kuki">
+
+<!ENTITY disableCookies.label "Sekat kuki">
+<!ENTITY disableCookies.accesskey "S">
+
+<!ENTITY accNo3rdPartyCookies.label "Izinkan kuki daripada laman web asal sahaja (bukan kuki pihak ketiga)">
+<!ENTITY accNo3rdPartyCookies.accesskey "k">
+
+<!ENTITY acc3rdPartyVisited.label "Izinkan kuki pihak ketiga daripada laman web yang pernah dilawati sahaja">
+<!ENTITY acc3rdPartyVisited.accesskey "g">
+
+<!ENTITY accAllCookies.label "Izinkan semua kuki">
+<!ENTITY accAllCookies.accesskey "i">
+
+<!ENTITY cookieRetentionPolicy.label "Polisi Pengekalan Kuki">
+
+<!ENTITY acceptNormally.label "Terima kuki seperti biasa">
+<!ENTITY acceptNormally.accesskey "b">
+
+<!ENTITY acceptForSession.label "Terima kuki sesi semasa sahaja">
+<!ENTITY acceptForSession.accesskey "s">
+
+<!ENTITY acceptforNDays.label "Terima kuki selama">
+<!ENTITY acceptforNDays.accesskey "l">
+<!ENTITY days.label "hari">
+
+<!ENTITY manageCookies.label "Urus Kuki dan Laman">
+<!ENTITY manageCookiesDescription.label "Membolehkan anda melihat dan menguruskan kuki yang disimpan, serta tetapan bagi setiap laman web samada mahu menerima atau menolak kuki. Tetapan bagi setiap laman web akan mengatasi tetapan di atas.">
+
+<!ENTITY viewCookies.label "Pengurus Kuki">
+<!ENTITY viewCookies.accesskey "P">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-download.dtd b/l10n-ms/suite/chrome/common/pref/pref-download.dtd
new file mode 100644
index 0000000000..5ccbaae887
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-download.dtd
@@ -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/. -->
+
+<!ENTITY pref.download.title "Muat turun">
+
+<!ENTITY downloadBehavior.label "Apabila memulakan muat turun">
+<!ENTITY doNothing.label "Jangan buka apa-apa">
+<!ENTITY doNothing.accesskey "J">
+<!ENTITY openProgressDialog.label "Buka dialog kemajuan">
+<!ENTITY openProgressDialog.accesskey "B">
+<!ENTITY openDM.label "Buka pengurus muat turun">
+<!ENTITY openDM.accesskey "m">
+<!ENTITY flashWhenOpen.label "Buka pengurus muat turun sekejap sahaja jika sudah dibuka">
+<!ENTITY flashWhenOpen.accesskey "j">
+
+<!ENTITY downloadLocation.label "Apabila menyimpan fail">
+<!ENTITY saveTo.label "Simpan fail ke">
+<!ENTITY saveTo.accesskey "p">
+<!ENTITY chooseDownloadFolder.label "Pilih Folder…">
+<!ENTITY chooseDownloadFolder.accesskey "F">
+<!ENTITY alwaysAsk.label "Sentiasa tanya saya lokasi untuk simpan fail">
+<!ENTITY alwaysAsk.accesskey "S">
+
+<!ENTITY finishedBehavior.label "Apabila muat turun selesai">
+<!ENTITY playSound.label "Mainkan bunyian">
+<!ENTITY playSound.accesskey "M">
+<!ENTITY browse.label "Cari…">
+<!ENTITY browse.accesskey "C">
+<!ENTITY playButton.label "Main">
+<!ENTITY playButton.accesskey "i">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-findasyoutype.dtd b/l10n-ms/suite/chrome/common/pref/pref-findasyoutype.dtd
new file mode 100644
index 0000000000..12d42d5518
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-findasyoutype.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.findAsYouType.title "Cari Semasa Anda Menaip">
+<!ENTITY findAsYouTypeBehavior.label "Cari Semasa Anda Menaip">
+<!ENTITY findAsYouTypeTip.label "Panduan: Untuk memulakan Cari Semasa Anda Menaip secara manual, taip / untuk mencari teks atau ' untuk mencari pautan, diikuti dengan teks yang hendak dicari.">
+<!ENTITY findAsYouTypeTimeout.label "Buang carian semasa selepas beberapa saat tanpa aktiviti">
+<!ENTITY findAsYouTypeTimeout.accesskey "B">
+<!ENTITY findAsYouTypeSound.label "Mainkan bunyian apabila teks yang ditaip tidak ditemui">
+<!ENTITY findAsYouTypeSound.accesskey "M">
+<!ENTITY findAsYouTypeEnableAuto.label "Cari secara automatik apabila menaip dalam halaman web:">
+<!ENTITY findAsYouTypeEnableAuto.accesskey "C">
+<!ENTITY findAsYouTypeAutoText.label "Sebarang teks dalam halaman">
+<!ENTITY findAsYouTypeAutoText.accesskey "S">
+<!ENTITY findAsYouTypeAutoLinks.label "Pautan sahaja">
+<!ENTITY findAsYouTypeAutoLinks.accesskey "P">
+
+<!ENTITY findAsYouTypeFindbarEnable.label "Papar bar alatan carian apabila mencari semasa anda menaip">
+<!ENTITY findAsYouTypeFindbarEnable.accesskey "P">
+<!ENTITY findAsYouTypeFindbarEnableTip.label "Nota: Cari semasa anda menaip tidak boleh melaksanakan entri teks terbuka tanpa paparan bar carian.">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-fonts.dtd b/l10n-ms/suite/chrome/common/pref/pref-fonts.dtd
new file mode 100644
index 0000000000..95b1acdf7c
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-fonts.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-fonts.xul -->
+
+<!-- LOCALIZATION NOTE : FILE 'Fonts' prefs dialog -->
+<!ENTITY pref.fonts.title "Fon">
+
+<!ENTITY language.label "Fon untuk:">
+<!ENTITY language.accesskey "t">
+
+<!ENTITY typefaces.label "Muka taip">
+<!ENTITY sizes.label "Saiz (piksel)">
+
+<!ENTITY proportional.label "Berkadaran:">
+<!ENTITY proportional.accesskey "B">
+
+<!ENTITY serif.label "Serif:">
+<!ENTITY serif.accesskey "S">
+<!ENTITY sans-serif.label "Sans-serif:">
+<!ENTITY sans-serif.accesskey "n">
+<!ENTITY monospace.label "Monospace:">
+<!ENTITY monospace.accesskey "M">
+<!-- LOCALIZATION NOTE (fantasy.label): 'Fantasy' means 'Ornate' -->
+<!ENTITY fantasy.label "Fantasy:">
+<!ENTITY fantasy.accesskey "F">
+<!ENTITY cursive.label "Cursive:">
+<!ENTITY cursive.accesskey "C">
+
+<!-- LOCALIZATION NOTE (font.langGroup.latin) :
+ Translate "Latin" as the name of Latin (Roman) script, not as the name of
+ the Latin language. -->
+<!ENTITY font.langGroup.latin "Latin">
+<!ENTITY font.langGroup.japanese "Japanese">
+<!ENTITY font.langGroup.trad-chinese "Traditional Chinese(Taiwan)">
+<!ENTITY font.langGroup.simpl-chinese "Simplified Chinese">
+<!ENTITY font.langGroup.trad-chinese-hk "Traditional Chinese(Hong Kong)">
+<!ENTITY font.langGroup.korean "Korean">
+<!ENTITY font.langGroup.cyrillic "Cyrillic">
+<!ENTITY font.langGroup.el "Greek">
+<!ENTITY font.langGroup.thai "Thai">
+<!ENTITY font.langGroup.hebrew "Hebrew">
+<!ENTITY font.langGroup.arabic "Arabic">
+<!ENTITY font.langGroup.devanagari "Devanagari">
+<!ENTITY font.langGroup.tamil "Tamil">
+<!ENTITY font.langGroup.armenian "Armenian">
+<!ENTITY font.langGroup.bengali "Bengali">
+<!ENTITY font.langGroup.canadian "Unified Canadian Syllabary">
+<!ENTITY font.langGroup.ethiopic "Ethiopic">
+<!ENTITY font.langGroup.georgian "Georgian">
+<!ENTITY font.langGroup.gujarati "Gujarati">
+<!ENTITY font.langGroup.gurmukhi "Gurmukhi">
+<!ENTITY font.langGroup.khmer "Khmer">
+<!ENTITY font.langGroup.malayalam "Malayalam">
+<!ENTITY font.langGroup.math "Mathematics">
+<!ENTITY font.langGroup.odia "Odia">
+<!ENTITY font.langGroup.telugu "Telugu">
+<!ENTITY font.langGroup.kannada "Kannada">
+<!ENTITY font.langGroup.sinhala "Sinhala">
+<!ENTITY font.langGroup.tibetan "Tibetan">
+<!ENTITY font.langGroup.other "Sistem Penulisan Lain">
+<!-- Minimum font size -->
+<!ENTITY minSize.label "Saiz fon minimum:">
+<!ENTITY minSize.accesskey "z">
+<!ENTITY minSize.none "Tiada">
+
+<!-- default font type -->
+<!ENTITY useDefaultFontSerif.label "Serif">
+<!ENTITY useDefaultFontSansSerif.label "Sans Serif">
+
+<!ENTITY useDocumentFonts.label "Izinkan dokumen menggunakan fon lain">
+<!ENTITY useDocumentFonts.accesskey "o">
+
+<!-- leaving this stuff in for now -->
+
+<!ENTITY header2 "Apabila laman web memilih fon sendiri">
+<!ENTITY useDefaultFont.label "Gunakan fon piawai saya, abaikan fon yang dipilih oleh halaman">
+<!ENTITY useDefaultFont.accesskey "G">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-history.dtd b/l10n-ms/suite/chrome/common/pref/pref-history.dtd
new file mode 100644
index 0000000000..c76a670b98
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-history.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.history.title "Sejarah">
+
+<!ENTITY pref.history.caption "Sejarah Pelayaran">
+<!ENTITY historyPages.label "Sejarah ialah senarai halaman yang dilawati sebelum ini.">
+<!ENTITY enableHistory.label "Ingat halaman yang dilawati">
+<!ENTITY enableHistory.accesskey "I">
+<!ENTITY clearHistory.label "Buang Sejarah">
+<!ENTITY clearHistory.accesskey "r">
+
+<!ENTITY locationBarHistory.caption "Sejarah Bar Lokasi">
+<!ENTITY urlBarHistoryEnabled.caption "Dayakan Sejarah Bar Lokasi">
+<!ENTITY urlBarHistoryEnabled.accesskey "D">
+<!ENTITY clearLocationBar.label "Buang senarai laman web yang disimpan dalam menu bar lokasi.">
+<!ENTITY clearLocationBarButton.label "Kosongkan Bar Lokasi">
+<!ENTITY clearLocationBarButton.accesskey "L">
+<!ENTITY formfillHistory.caption "Sejarah Borang dan Carian">
+<!ENTITY enableFormfill.label "Dayakan sejarah borang dan carian">
+<!ENTITY enableFormfill.accesskey "n">
+<!ENTITY formfillExpire.label "Ingat sejarah borang dan carian sehingga">
+<!ENTITY formfillExpire.accesskey "b">
+<!ENTITY formfillDays.label "hari">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-http.dtd b/l10n-ms/suite/chrome/common/pref/pref-http.dtd
new file mode 100644
index 0000000000..5c739a3f2f
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-http.dtd
@@ -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/. -->
+
+<!ENTITY pref.http.title "Rangkaian HTTP">
+
+<!-- Network-->
+<!ENTITY prefDirect.label "Pilihan Sambungan Terus">
+<!ENTITY prefProxy.label "Pilihan Sambungan Proksi">
+<!ENTITY prefEnableHTTP10.label "Guna HTTP 1.0">
+<!ENTITY prefEnableHTTP10.accesskey "G">
+<!ENTITY prefEnableHTTP10Proxy.accesskey "a">
+<!ENTITY prefEnableHTTP11.label "Guna HTTP 1.1">
+<!ENTITY prefEnableHTTP11.accesskey "a">
+<!ENTITY prefEnableHTTP11Proxy.accesskey "T">
+<!ENTITY prefPara "Sambungan HTTP boleh ditala halus menggunakan pilihan ini untuk meningkatkan prestasi atau keserasian. Sesetengah pelayan proksi, sebagai contoh, diketahui akan meminta HTTP/1.0 (lihat nota keluaran untuk butiran lanjut).">
+<!ENTITY prefUseragent.label "String Ejen Pengguna">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-images.dtd b/l10n-ms/suite/chrome/common/pref/pref-images.dtd
new file mode 100644
index 0000000000..1297a08058
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-images.dtd
@@ -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/. -->
+
+<!ENTITY pref.images.title "Imej">
+
+<!ENTITY imageBlocking.label "Polisi Penerimaan Imej">
+
+<!--LOCALIZATION NOTE (onStartLegend.label): Don't translate "&brandShortName;".
+ Place "&brandShortName;" in the phrase where the name of the application should
+ appear
+-->
+<!ENTITY imageDetails "Tentukan cara &brandShortName; mengendalikan imej.">
+
+<!ENTITY loadAllImagesRadio.label "Muatkan semua imej">
+<!ENTITY loadAllImagesRadio.accesskey "M">
+<!ENTITY loadOrgImagesRadio.label "Hanya muatkan imej daripada pelayan pemula">
+<!ENTITY loadOrgImagesRadio.accesskey "n">
+<!ENTITY loadNoImagesRadio.label "Jangan muatkan apa-apa imej">
+<!ENTITY loadNoImagesRadio.accesskey "J">
+<!ENTITY viewPermissions.label "Urus Keizinan">
+<!ENTITY viewPermissions.accesskey "K">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-keynav.dtd b/l10n-ms/suite/chrome/common/pref/pref-keynav.dtd
new file mode 100644
index 0000000000..35751c1e0c
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-keynav.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.keyNav.title "Navigasi Papan kekunci">
+<!ENTITY tabNavigationBehavior.label "Navigasi Kekunci Tab">
+<!ENTITY tabNavigationLinks.label "Pautan">
+<!ENTITY tabNavigationLinks.accesskey "P">
+<!ENTITY tabNavigationForms.label "Butang, butang radio, kotak semakan dan senarai pilihan">
+<!ENTITY tabNavigationForms.accesskey "B">
+<!ENTITY tabNavigationTextboxes.label "Nota: kotak teks dan ruang skrol ada sebahagian daripada susunan tab.">
+<!ENTITY tabNavigationDesc.label "Apabila Tab atau Shift + Tab ditekan, bergerak di antara:">
+<!ENTITY accessibilityBrowseWithCaret.label "Cari Dengan Karet">
+<!ENTITY browseWithCaretDesc.label "Pelayaran karet membolehkan anda menavigasi dan memilih di dalam halaman dengan menggunakan kekunci kursor untuk memindahkan karet yang boleh dilihat.">
+<!ENTITY browseWithCaretUse.label "Guna pelayaran karet">
+<!ENTITY browseWithCaretUse.accesskey "G">
+<!ENTITY browseWithCaretShortCut.label "Guna pintasan F7 untuk menogol pelayan karet">
+<!ENTITY browseWithCaretShortCut.accesskey "F">
+<!ENTITY browseWithCaretWarn.label "Beri amaran sebelum mengaktifkan pelayaran karet">
+<!ENTITY browseWithCaretWarn.accesskey "B">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-languages.dtd b/l10n-ms/suite/chrome/common/pref/pref-languages.dtd
new file mode 100644
index 0000000000..4a1754b50a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-languages.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE : FILE 'Languages' preferences dialog -->
+
+<!ENTITY languages.customize.prefLangDescript "Halaman laman web kadangkala boleh diperoleh dalam lebih daripada satu bahasa. Pilih bahasa untuk memaparkan halaman laman web ini, mengikut keutamaan.">
+<!ENTITY languages.customize.title "Bahasa">
+<!ENTITY langtitle.label "Bahasa Halaman Web">
+<!ENTITY languages.customize.prefAddLangDescript "Pilih bahasa yang anda mahu tambah.">
+<!ENTITY languages.customize.addButton.label "Tambah…">
+<!ENTITY languages.customize.addButton.accesskey "T">
+<!ENTITY languages.customize.deleteButton.label "Buang">
+<!ENTITY languages.customize.deleteButton.accesskey "B">
+<!ENTITY languages.customize.add.title.label "Tambah Bahasa">
+<!ENTITY languages.customize.available.label "Bahasa:">
+<!ENTITY languages.customize.active.label "Bahasa mengikut susunan keutamaan:">
+<!ENTITY languages.customize.active.accesskey "B">
+<!ENTITY languages.customize.others.label "Lain-lain:">
+<!ENTITY languages.customize.others.accesskey "L">
+<!ENTITY languages.customize.Fallback2.grouplabel "Pengekodan Teks untuk Kandungan Legasi">
+<!ENTITY languages.customize.Fallback2.label "Pengekodan Teks Unduran:">
+<!ENTITY languages.customize.Fallback2.accesskey "T">
+<!ENTITY languages.customize.Fallback2.desc "Digunakan untuk kandungan legasi yang gagal mengisytiharkan pengekodan.">
+<!-- LOCALIZATION NOTE Character Encoding Preferences Dialog: Do NOT localize the terms "en-bz, ar-jo" -->
+<!ENTITY languages.customize.others.examples "contoh: en-bz, ar-jo">
+<!ENTITY languages.customize.moveUp.label "Pindah Atas">
+<!ENTITY languages.customize.moveUp.accesskey "A">
+<!ENTITY languages.customize.moveDown.label "Pindah Bawah">
+<!ENTITY languages.customize.moveDown.accesskey "B">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-languages.properties b/l10n-ms/suite/chrome/common/pref/pref-languages.properties
new file mode 100644
index 0000000000..62693e75ac
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-languages.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/.
+
+illegalOtherLanguage=Entri berikut bukan kod bahasa yang sah:
+illegalOtherLanguageTitle=Kod bahasa tidak sah
+# LOCALIZATION NOTE: Next two strings are for language name representations with
+# and without the region.
+# e.g. languageRegionCodeFormat : "French/Canada [fr-ca]" languageCodeFormat : "French [fr]"
+# %1$S = language name, %2$S = region name, %3$S = language-region code
+languageRegionCodeFormat=%1$S/%2$S [%3$S]
+# %1$S = language name, %2$S = language-region code
+languageCodeFormat=%1$S [%2$S]
diff --git a/l10n-ms/suite/chrome/common/pref/pref-links.dtd b/l10n-ms/suite/chrome/common/pref/pref-links.dtd
new file mode 100644
index 0000000000..a6578c639a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-links.dtd
@@ -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/. -->
+
+<!ENTITY linksHeader.label "Tingkah laku Pautan">
+<!ENTITY newWindow.label "Tingkah laku membuka pautan">
+<!ENTITY newWindowDescription.label "Buka pautan adalah membuka tetingkap baru dalam:">
+<!ENTITY newWindowRestriction.label "Apabila skrip mahu membuka tetingkap baru:">
+<!ENTITY external.label "Pautan dari dalam aplikasi lain">
+<!ENTITY externalDescription.label "Buka pautan yang dirujuki dari aplikasi lain dalam:">
+
+<!ENTITY openCurrent.label "Tab/tetingkap semasa">
+<!ENTITY newWindowGroupCurrent.accesskey "s">
+<!ENTITY externalGroupCurrent.accesskey "t">
+
+<!ENTITY openTab.label "Tab baru dalam tetingkap semasa">
+<!ENTITY newWindowGroupTab.accesskey "t">
+<!ENTITY externalGroupTab.accesskey "a">
+
+<!ENTITY openWindow.label "Tetingkap baru">
+<!ENTITY newWindowGroupWindow.accesskey "t">
+<!ENTITY externalGroupWindow.accesskey "a">
+
+<!ENTITY divertAll.label "Sentiasa alih tetingkap ke dalam tab">
+<!ENTITY divertAll.accesskey "h">
+<!ENTITY divertNoFeatures.label "Jangan alih penyesuaian tetingkap ke dalam tab">
+<!ENTITY divertNoFeatures.accesskey "s">
+<!ENTITY dontDivert.label "Sentiasa buka tetingkap baru">
+<!ENTITY dontDivert.accesskey "n">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-locationbar.dtd b/l10n-ms/suite/chrome/common/pref/pref-locationbar.dtd
new file mode 100644
index 0000000000..cd79959f50
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-locationbar.dtd
@@ -0,0 +1,42 @@
+<!-- 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 The Location Bar prefs panel -->
+<!ENTITY pref.locationBar.title "Bar Lokasi">
+
+<!ENTITY autoComplete.label "Auto-lengkap">
+<!ENTITY autoCompleteMatchHistory.label "Cadangan laman web dalam Sejarah secara automatik">
+<!ENTITY autoCompleteMatchHistory.accesskey "C">
+<!ENTITY autoCompleteMatchBookmarks.label "Cadangan laman web dalam Tandabuku secara automatik">
+<!ENTITY autoCompleteMatchBookmarks.accesskey "T">
+<!ENTITY autoCompleteAutoFill.label "Padanan pra-isi terbaik secara automatik">
+<!ENTITY autoCompleteAutoFill.accesskey "r">
+<!ENTITY autoCompleteShowPopup.label "Papar senarai padanan carian">
+<!ENTITY autoCompleteShowPopup.accesskey "P">
+<!ENTITY autoCompleteMatchOnlyTyped.label "Hanya padanan laman web yang telah anda taip sebelum ini">
+<!ENTITY autoCompleteMatchOnlyTyped.accesskey "p">
+<!--LOCALIZATION NOTE (autoCompleteMatch.label): This is the common leading
+ part of the menulist items listed below, mainly to make the control available
+ via the accesskey
+-->
+<!ENTITY autoCompleteMatch.label "Padan">
+<!ENTITY autoCompleteMatch.accesskey "P">
+<!ENTITY autoCompleteMatchAnywhere "Apa-apa sahaja dalam lokasi atau tajuk">
+<!ENTITY autoCompleteMatchWordsFirst "Apa-apa sahaja tetapi lebih suka perkataan tambahan">
+<!ENTITY autoCompleteMatchWords "Hanya perkataan tambahan">
+<!ENTITY autoCompleteMatchStart "Hanya pada permulaan lokasi atau tajuk">
+<!ENTITY showInternetSearch.label "Papar enjin carian Internet piawai">
+<!ENTITY showInternetSearch.accesskey "e">
+
+<!ENTITY formatting.label "Format">
+<!ENTITY domainFormatting.label "Serlahkan domain yang efektif untuk laman web dan pelayan FTP">
+<!ENTITY domainFormatting.accesskey "d">
+<!ENTITY highlightSecure.label "Serlahkan halaman web dengan tahap keselamatan sambungan yang tinggi">
+<!ENTITY highlightSecure.accesskey "t">
+
+<!ENTITY unknownLocations.label "Lokasi tidak diketahui">
+<!ENTITY domainGuessing.label "Tambah &quot;www.&quot; dan &quot;.com&quot; dalam lokasi jika halaman web tidak ditemui">
+<!ENTITY domainGuessing.accesskey "w">
+<!ENTITY keywords.label "Laksanakan carian web apabila teks yang dimasukkan bukan lokasi web">
+<!ENTITY keywords.accesskey "L">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-masterpass.dtd b/l10n-ms/suite/chrome/common/pref/pref-masterpass.dtd
new file mode 100644
index 0000000000..32b5f9ec17
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-masterpass.dtd
@@ -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/. -->
+
+<!ENTITY changepassword.caption "Tukar Katalaluan Induk">
+<!ENTITY changepassword.text "Kata laluan induk melindungi maklumat sensitif seperti kata laluan web dan sijil.">
+<!ENTITY changepassword.button "Tukar Kata laluan…">
+<!ENTITY changepassword.accesskey "T">
+
+<!ENTITY resetpassword.caption "Set Semula Katalaluan Induk">
+<!ENTITY resetpassword.text "Jika anda mengeset semula kata laluan induk, semua kata laluan web dan e-mel, data borang, sijil peribadi dan kunci peribadi akan hilang.">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-media.dtd b/l10n-ms/suite/chrome/common/pref/pref-media.dtd
new file mode 100644
index 0000000000..e859160014
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-media.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-media.xul -->
+
+<!-- LOCALIZATION NOTE : FILE Media management prefs -->
+<!ENTITY pref.media.title "Media">
+<!ENTITY mediaHTML5Preferences.label "Audio/Video">
+<!ENTITY allowMediaAutoplay.label "Dayakan Automain kandungan media HTML5">
+<!ENTITY allowMediaAutoplay.accesskey "A">
+
+<!ENTITY enableDrmMedia.label "Dayakan Digital Rights Management untuk">
+<!ENTITY enableEmeForSuite.label "Modul Dekripsi Kandungan Pihak-ketiga">
+<!ENTITY enableEmeForSuite.accesskey "K">
+
+<!ENTITY animLoopingTitle.label "Imej animasi perlu gelung">
+<!ENTITY animLoopAsSpecified.label "Mengikut bilangan yang ditentukan imej">
+<!ENTITY animLoopAsSpecified.accesskey "m">
+<!ENTITY animLoopOnce.label "Sekali">
+<!ENTITY animLoopOnce.accesskey "S">
+<!ENTITY animLoopNever.label "Jangan sesekali">
+<!ENTITY animLoopNever.accesskey "s">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-mousewheel.dtd b/l10n-ms/suite/chrome/common/pref/pref-mousewheel.dtd
new file mode 100644
index 0000000000..48552f5b36
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-mousewheel.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE : FILE Mouse-wheel management prefs, for those lucky OSes that support mouse wheels -->
+
+<!ENTITY pref.mouseWheel.title "Roda Tetikus">
+<!ENTITY mouseWheelPanel.label "Tentukan tingkah laku roda tetikus apabila digunakan dengan kekunci pengubahsuai ini: ">
+<!ENTITY usingJustTheWheel.label "Tiada kekunci pengubahsuai">
+<!ENTITY mouseWheelGroup.label "Skrol menegak">
+<!ENTITY mouseWheelHorizGroup.label "Skrol mengufuk">
+<!ENTITY sameAsVertical.label "Sama seperti skrol menegak">
+<!ENTITY sameAsVertical.accesskey "k">
+<!ENTITY doNothing.label "Jangan buat apa-apa">
+<!ENTITY doNothing.accesskey "J">
+<!ENTITY doNothingHoriz.accesskey "n">
+<!ENTITY scrollDocument.label "Skrol dokumen">
+<!ENTITY scrollDocument.accesskey "S">
+<!ENTITY scrollDocumentHoriz.accesskey "k">
+<!ENTITY history.label "Bergerak ke belakang dan ke hadapan dalam sejarah pelayaran">
+<!ENTITY history.accesskey "B">
+<!ENTITY historyHoriz.accesskey "b">
+<!ENTITY zoom.label "Zum masuk atau keluar halaman">
+<!ENTITY zoom.accesskey "Z">
+<!ENTITY zoomHoriz.accesskey "u">
+<!ENTITY wheelSpeed.label "Kelajuan roda tetikus:">
+<!ENTITY wheelSpeed.accesskey "r">
+<!ENTITY wheelSpeedHoriz.accesskey "u">
+<!ENTITY reverseDirection.label "Hala songsang">
+<!ENTITY reverseDirection.accesskey "H">
+<!ENTITY reverseDirectionHoriz.accesskey "a">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-navigator.dtd b/l10n-ms/suite/chrome/common/pref/pref-navigator.dtd
new file mode 100644
index 0000000000..d23256e7b5
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-navigator.dtd
@@ -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/. -->
+
+<!ENTITY pref.navigator.title "Pelayar">
+
+<!ENTITY navRadio.label "Paparan aktif">
+<!ENTITY navRadio.accesskey "n">
+<!ENTITY navStartPageMenu.label "Penetapan Pelayar">
+<!ENTITY newWinPageMenu.label "Tetingkap Baru">
+<!ENTITY newTabPageMenu.label "Tab Baru">
+
+<!ENTITY blankPageRadio.label "Halaman kosong">
+<!ENTITY blankPageRadio.accesskey "K">
+<!ENTITY homePageRadio.label "Laman">
+<!ENTITY homePageRadio.accesskey "m">
+<!ENTITY lastPageRadio.label "Halaman terakhir yang dilawati">
+<!ENTITY lastPageRadio.accesskey "H">
+<!ENTITY restoreSessionRadio.label "Pulih Sesi Dahulu">
+<!ENTITY restoreSessionRadio.accesskey "P">
+
+<!ENTITY restoreSessionIntro.label "Apabila memulihkan sesi dan tetingkap">
+<!ENTITY restoreImmediately.label "Pulih semua tab serta-merta">
+<!ENTITY restoreImmediately.accesskey "e">
+<!-- LOCALIZATION NOTE (restoreTabs.label): This will concatenate to
+ "Restore [___] tab(s) at a time",
+ using (restoreTabs.label) and a number (restoreTabsAtATime.label). -->
+<!ENTITY restoreTabs.label "Pulih">
+<!ENTITY restoreTabs.accesskey "h">
+<!ENTITY restoreTabsAtATime.label "tab pada sesuatu masa">
+<!ENTITY restoreDeferred.label "Pulih tab hanya apabila saya perlukannya">
+<!ENTITY restoreDeferred.accesskey "P">
+
+<!ENTITY homePageIntro.label "Mengklik butang Halaman utama akan pergi ke kumpulan halaman berikut:">
+<!ENTITY useCurrent.label "Gunakan Halaman Semasa">
+<!ENTITY useCurrent.accesskey "G">
+<!ENTITY useCurrentGroup.label "Gunakan Kumpulan Semasa">
+<!ENTITY useCurrentGroup.accesskey "G">
+<!ENTITY browseFile.label "Pilih Fail…">
+<!ENTITY browseFile.accesskey "F">
+<!ENTITY useDefault.label "Pulih Piawai">
+<!ENTITY useDefault.accesskey "P">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-offlineapps.dtd b/l10n-ms/suite/chrome/common/pref/pref-offlineapps.dtd
new file mode 100644
index 0000000000..f0bb7c211b
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-offlineapps.dtd
@@ -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/. -->
+<!-- extracted from content/pref-offlineapps.xul -->
+
+<!--LOCALIZATION NOTE : FILE Offline Apps prefs dialog -->
+<!ENTITY pref.offlineapps.title "Aplikasi Web Luar talian">
+<!ENTITY pref.offlineCache.caption "Data Kandungan Web Luar talian dan Pengguna">
+
+<!ENTITY clearOfflineAppCache.label "Buang">
+<!ENTITY clearOfflineAppCache.accesskey "B">
+
+<!ENTITY offlineAlwaysAllow.label "Izinkan semua laman web menyimpan data bagi kegunaan luar talian">
+<!ENTITY offlineAlwaysAllow.accesskey "I">
+<!ENTITY offlineExplicit.label "Hanya izinkan laman web yang ada keizinan eksplisit">
+<!ENTITY offlineExplicit.accesskey "H">
+<!ENTITY offlineNotifyAsk.label "Maklumkan saya apabila laman web mahu menyimpan data bagi kegunaan luar talian">
+<!ENTITY offlineNotifyAsk.accesskey "M">
+<!ENTITY offlineNotifyPermissions.label "Urus Keizinan">
+<!ENTITY offlineNotifyPermissions.accesskey "K">
+
+<!ENTITY offlineAppsUsage.label "Laman web berikut menggunakan storan luar talian:">
+<!ENTITY offlineAppsListRemove.label "Buang Data…">
+<!ENTITY offlineAppsListRemove.accesskey "D">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-passwords.dtd b/l10n-ms/suite/chrome/common/pref/pref-passwords.dtd
new file mode 100644
index 0000000000..e38701bebb
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-passwords.dtd
@@ -0,0 +1,13 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.passwords.title "Kata laluan">
+
+<!ENTITY signonHeader.caption "Pengurus Kata Laluan">
+<!ENTITY signonDescription.label "Pengurus kata laluan menyimpan maklumat log masuk laman web, pelayan mel dan pelayan berita yang dilindungi kata laluan, dan memasukkan maklumat ini secara automatik apabila diperlukan.">
+
+<!ENTITY signonEnabled.label "Ingat kata laluan">
+<!ENTITY signonEnabled.accesskey "I">
+<!ENTITY viewSignons.label "Urus Kata laluan Disimpan">
+<!ENTITY viewSignons.accesskey "U">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-popups.dtd b/l10n-ms/suite/chrome/common/pref/pref-popups.dtd
new file mode 100644
index 0000000000..378874eaf2
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-popups.dtd
@@ -0,0 +1,35 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.popups.title "Tetingkap Popup">
+
+<!ENTITY pref.popups.caption "Tetingkap Popup">
+
+<!ENTITY popupBlock.label "Sekat tetingkap popup yang tidak diminta">
+<!ENTITY popupBlock.accesskey "S">
+
+<!ENTITY viewPermissions.label "Urus Keizinan">
+<!ENTITY viewPermissions.accesskey "U">
+
+<!ENTITY whenBlock.description "Apabila tetingkap popup telah disekat:">
+<!ENTITY playSound.label "Mainkan bunyian:">
+<!ENTITY playSound.accesskey "M">
+<!ENTITY systemSound.label "Bip sistem">
+<!ENTITY systemSound.accesskey "B">
+<!ENTITY customSound.label "Penyesuaian fail bunyian">
+<!ENTITY customSound.accesskey "P">
+
+<!ENTITY selectSound.label "Cari…">
+<!ENTITY selectSound.accesskey "i">
+<!ENTITY playSoundButton.label "Main">
+<!ENTITY playSoundButton.accesskey "n">
+
+<!ENTITY displayIcon.label "Papar ikon di dalam bar status pelayar">
+<!ENTITY displayIcon.accesskey "P">
+
+<!ENTITY displayNotification.label "Papar bar notifikasi pada bahagian atas ruang kandungan">
+<!ENTITY displayNotification.accesskey "p">
+
+<!ENTITY popupNote.description "Nota: Menyekat semua popup mungkin menghalang ciri penting dalam sesetengah laman web daripada berfungsi, seperti tetingkap log masuk perbankan dan laman web membeli-belah. Untuk maklumat cara untuk mengizinkan laman web tertentu menggunakan popup dan pada masa yang sama menyekat pop-up lain, klik Bantuan. Walaupun disekat, laman web boleh menggunakan kaedah lain untuk memaparkan popup.">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-privatedata.dtd b/l10n-ms/suite/chrome/common/pref/pref-privatedata.dtd
new file mode 100644
index 0000000000..1ba4b23587
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-privatedata.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE : FILE 'Private Data' prefs settings
+ These entities go on top of the sanitize.dtd definitions
+-->
+<!ENTITY pref.privatedata.title "Data Peribadi">
+
+
+<!ENTITY clearPrivateData.label "Buang Data Peribadi">
+
+<!ENTITY alwaysClear.label "Sentiasa buang data peribadi apabila saya tutup &brandShortName;">
+<!ENTITY alwaysClear.accesskey "t">
+
+<!ENTITY askBeforeClear.label "Tanya saya sebelum membuang data peribadi">
+
+<!ENTITY clearDataSettings.label "Apabila diminta membuang data peribadi, &brandShortName; perlu buang:">
+
+
+<!--LOCALIZATION NOTE (clearDataDialog.label, clearDataSilent.label, clearDataDialog.accesskey):
+ The only difference bettween the two labels is that one calls a dialog, the other doesn't.
+ The same accesskey is used for both labels.
+-->
+<!ENTITY clearDataDialog.label "Buang Sekarang…">
+<!ENTITY clearDataSilent.label "Buang Sekarang">
+<!ENTITY clearDataDialog.accesskey "S">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-proxies-advanced.dtd b/l10n-ms/suite/chrome/common/pref/pref-proxies-advanced.dtd
new file mode 100644
index 0000000000..67f6699ac2
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-proxies-advanced.dtd
@@ -0,0 +1,32 @@
+<!-- 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 The Advanced Proxy Preferences dialog -->
+<!ENTITY pref.proxies.advanced.title "Keutamaan Proksi Lanjutan">
+<!ENTITY protocols.caption "Proksi Protokol-Khusus">
+<!ENTITY protocols.description "Biasanya proksi yang sama boleh mengendalikan semua protokol yang disenaraikan di sini.">
+<!ENTITY http.label "Proksi HTTP:">
+<!ENTITY http.accesskey "s">
+<!ENTITY ssl.label "Proksi SSL:">
+<!ENTITY ssl.accesskey "L">
+<!ENTITY ftp.label "Proksi FTP:">
+<!ENTITY ftp.accesskey "F">
+<!ENTITY reuseProxy.label "Guna tetapan Proksi HTTP untuk semua protokol">
+<!ENTITY reuseProxy.accesskey "G">
+<!ENTITY port.label "Port:">
+<!ENTITY HTTPPort.accesskey "P">
+<!ENTITY SSLPort.accesskey "o">
+<!ENTITY FTPPort.accesskey "r">
+
+<!ENTITY socks.caption "Proksi Generik">
+<!ENTITY socks.description "Proksi SOCKS adalah proksi generik yang kadangkala digunakan dalam korporat atau persekitaran yang sama.">
+<!ENTITY socks.label "Proksi SOCKS:">
+<!ENTITY socks.accesskey "S">
+<!ENTITY socks4.label "SOCKS v4">
+<!ENTITY socks4.accesskey "C">
+<!ENTITY socks5.label "SOCKS v5">
+<!ENTITY socks5.accesskey "K">
+<!ENTITY socksRemoteDNS.label "Gunakan untuk menyelesaikan nama hos (disyorkan untuk SOCKS v5)">
+<!ENTITY socksRemoteDNS.accesskey "e">
+<!ENTITY SOCKSport.accesskey "h">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-proxies.dtd b/l10n-ms/suite/chrome/common/pref/pref-proxies.dtd
new file mode 100644
index 0000000000..212f14087c
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-proxies.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-proxies.xul -->
+
+<!--LOCALIZATION NOTE : FILE The Proxies preferences dialog -->
+<!ENTITY pref.proxies.title "Proksi">
+<!ENTITY pref.proxies.desc "Proksi ialah perkhidmatan rangkaian yang boleh menapis dan meningkatkan kelajuan sambungan Internet.">
+<!ENTITY proxyTitle.label "Tetapkan Proksi untuk Mengakses Internet">
+<!ENTITY directTypeRadio.label "Sambungan Terus ke Internet">
+<!ENTITY directTypeRadio.accesskey "T">
+<!ENTITY systemTypeRadio.label "Guna tetapan proksi sistem">
+<!ENTITY systemTypeRadio.accesskey "G">
+<!ENTITY manualTypeRadio.label "Konfigurasi proksi manual:">
+<!ENTITY manualTypeRadio.accesskey "K">
+<!ENTITY wpadTypeRadio.label "Konfigurasi proksi automatik">
+<!ENTITY wpadTypeRadio.accesskey "a">
+<!ENTITY autoTypeRadio.label "URL konfigurasi proksi automatik:">
+<!ENTITY autoTypeRadio.accesskey "k">
+<!ENTITY reload.label "Muat semula">
+<!ENTITY reload.accesskey "M">
+<!ENTITY http.label "Proksi:">
+<!ENTITY http.accesskey "P">
+<!ENTITY port.label "Port:">
+<!ENTITY HTTPPort.accesskey "o">
+<!ENTITY advanced.label "Lanjutan…">
+<!ENTITY advanced.accesskey "j">
+<!ENTITY noproxy.label "Tiada Proksi untuk:">
+<!ENTITY noproxy.accesskey "T">
+<!ENTITY noproxyExplain.label "Contoh: .mozilla.org, .net.nz, 192.168.1.0/24">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-scripts.dtd b/l10n-ms/suite/chrome/common/pref/pref-scripts.dtd
new file mode 100644
index 0000000000..7837163ba5
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-scripts.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-scripts.xul -->
+
+<!ENTITY navigator.label "Pelayar">
+<!ENTITY navigator.accesskey "P">
+
+<!--LOCALIZATION NOTE (enableJavaScript.label): 'JavaScript' should never be translated -->
+<!ENTITY enableJavaScript.label "Dayakan JavaScript untuk">
+<!ENTITY allowScripts.label "Izinkan skrip untuk:">
+<!ENTITY allowScripts.accesskey "s">
+<!ENTITY allowWindowMoveResize.label "Mengalih atau mengubah saiz tetingkap yang sedia ada">
+<!ENTITY allowWindowFlip.label "Meningkatkan atau merendahkan tetingkap">
+<!ENTITY allowWindowStatusChange.label "Menukar teks bar status">
+<!ENTITY allowContextmenuDisable.label "Menyahdayakan atau menggantikan menu konteks">
+<!ENTITY allowHideStatusBar.label "Menyorokkan bar status">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-search.dtd b/l10n-ms/suite/chrome/common/pref/pref-search.dtd
new file mode 100644
index 0000000000..eebbcd1c6d
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-search.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/pref-search.xul -->
+
+<!-- LOCALIZATION NOTE : FILE The Search prefs dialog -->
+
+<!ENTITY pref.search.title "Carian Internet">
+<!ENTITY legendHeader "Enjin Carian Piawai">
+<!ENTITY defaultSearchEngine.label "Cari menggunakan:">
+<!ENTITY defaultSearchEngine.accesskey "C">
+
+<!ENTITY engineManager.label "Urus Enjin Carian…">
+
+<!ENTITY searchResults.label "Hasil Carian">
+
+<!ENTITY openInTab.label "Buka tab baru untuk hasil carian bar sisi">
+<!ENTITY openInTab.accesskey "n">
+<!ENTITY openContextSearchTab.label "Buka tab, bukan tetingkap untuk carian web menu konteks">
+<!ENTITY openContextSearchTab.accesskey "t">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-security.dtd b/l10n-ms/suite/chrome/common/pref/pref-security.dtd
new file mode 100644
index 0000000000..55c7ff0bdc
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-security.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE : FILE 'Privacy and Security' prefs settings -->
+<!ENTITY pref.security.title "Privasi &amp; Keselamatan">
+
+<!ENTITY tracking.label "Penjejakan Pengguna">
+<!ENTITY trackingIntro.label "Laman web boleh menjejak cara anda menggunakannya, sekali gus menjejaskan privasi anda.">
+
+<!ENTITY doNotTrack.label "Maklumkan laman web bahawa saya tidak mahu dijejaki">
+<!ENTITY doNotTrack.accesskey "M">
+<!ENTITY trackProtect.label "Halang aktiviti penjejakan oleh laman yang dikenali">
+<!ENTITY trackProtect.accesskey "n">
+<!ENTITY warnTrackContent.label "Beri amaran kepada saya apabila ada aktiviti penjejakan">
+<!ENTITY warnTrackContent.accesskey "B">
+
+<!ENTITY geoLocation.label "Pelayaran Sedar Lokasi">
+<!ENTITY geoIntro.label "Laman web boleh meminta maklumat lanjut lokasi semasa anda.">
+
+<!ENTITY geoEnabled.label "Maklumkan saya apabila ada permintaan keizinan">
+<!ENTITY geoEnabled.accesskey "m">
+<!ENTITY geoDisabled.label "Nyahdayakan ciri ini dan tolak semua permintaan">
+<!ENTITY geoDisabled.accesskey "N">
+
+<!-- LOCALIZATION NOTE (safeBrowsing.label, blockWebForgeries.label, blockAttackSites.label):
+ The methods by which forged (phished) and attack sites will be detected by
+ phishing providers will vary from human review to machine-based heuristics
+ to a combination of both, so it's important that these strings convey the
+ meaning "reported" (and not something like "known").
+-->
+<!ENTITY safeBrowsing.label "Pelayaran Selamat">
+<!ENTITY safeBrowsingIntro.label "&brandShortName; boleh menyekat laman web yang dilaporkan mengandungi kandungan berbahaya.">
+
+<!ENTITY blockAttackSites.label "Sekat laman penyerang (perisian hasad, virus)">
+<!ENTITY blockAttackSites.accesskey "S">
+
+<!ENTITY blockWebForgeries.label "Sekat web penipuan (Phishing)">
+<!ENTITY blockWebForgeries.accesskey "P">
+
diff --git a/l10n-ms/suite/chrome/common/pref/pref-smartupdate.dtd b/l10n-ms/suite/chrome/common/pref/pref-smartupdate.dtd
new file mode 100644
index 0000000000..7e44dc3d06
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-smartupdate.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE : FILE UI for Software Updates prefs -->
+<!ENTITY pref.smartUpdate.title "Pemasangan Perisian">
+<!ENTITY addOnsTitle.label "Add-ons">
+<!ENTITY addOnsAllow.label "Izinkan laman web memasang add-ons dan kemaskini">
+<!ENTITY addOnsAllow.accesskey "k">
+<!ENTITY allowedSitesLink.label "Laman web Diizinkan">
+<!ENTITY autoAddOnsUpdates.label "Semak kemaskini secara automatik">
+<!ENTITY autoAddOnsUpdates.accesskey "o">
+<!ENTITY daily.label "harian">
+<!ENTITY addOnsDaily.accesskey "h">
+<!ENTITY weekly.label "mingguan">
+<!ENTITY addOnsWeekly.accesskey "m">
+<!ENTITY addOnsModeAutomatic.label "Muat turun dan pasang kemaskini secara automatik">
+<!ENTITY addOnsModeAutomatic.accesskey "k">
+<!ENTITY enablePersonalized.label "Add-on peribadi yang disyorkan">
+<!ENTITY enablePersonalized.accesskey "A">
+<!ENTITY addonManagerLink.label "Urus Add-ons">
+
+<!ENTITY appUpdates.caption "&brandShortName;">
+<!ENTITY autoAppUpdates.label "Semak kemaskini secara automatik">
+<!ENTITY autoAppUpdates.accesskey "t">
+<!ENTITY appDaily.accesskey "a">
+<!ENTITY appWeekly.accesskey "g">
+<!ENTITY appModeAutomatic.label "Muat turun dan pasang kemaskini secara automatik">
+<!ENTITY appModeAutomatic.accesskey "s">
+<!ENTITY updateHistoryButton.label "Papar Sejarah Kemaskini…">
+<!ENTITY updateHistoryButton.accesskey "P">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-spelling.dtd b/l10n-ms/suite/chrome/common/pref/pref-spelling.dtd
new file mode 100644
index 0000000000..6e23601613
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-spelling.dtd
@@ -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/. -->
+
+<!ENTITY prefSpelling.title "Ejaan">
+<!ENTITY generalSpelling.label "Umum">
+<!ENTITY checkSpellingWhenTyping.label "Semak ejaan semasa saya menaip:">
+<!ENTITY checkSpellingWhenTyping.accesskey "S">
+<!ENTITY dontCheckSpelling.label "Jangan sesekali">
+<!ENTITY multilineCheckSpelling.label "Dalam berbilang kotak">
+<!ENTITY alwaysCheckSpelling.label "Semua kotak">
+<!ENTITY spellForMailAndNews.label "Mel &amp; Kumpulan berita">
+<!ENTITY checkSpellingBeforeSend.label "Semak ejaan sebelum hantar">
+<!ENTITY checkSpellingBeforeSend.accesskey "S">
+<!ENTITY spellCheckInline.label "Semak ejaan ketika saya menaip">
+<!ENTITY spellCheckInline.accesskey "e">
+<!ENTITY languagePopup.label "Bahasa:">
+<!ENTITY languagePopup.accessKey "B">
+<!ENTITY moreDictionaries.label "Muat turun kamus lain&#x2026;">
+<!ENTITY noSpellCheckAvailable.label "Tiada kamus tersedia.">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-ssl.dtd b/l10n-ms/suite/chrome/common/pref/pref-ssl.dtd
new file mode 100644
index 0000000000..b7e091ae74
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-ssl.dtd
@@ -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/. -->
+
+<!ENTITY SSLTLSProtocolVersions.caption "Versi Protokol SSL/TLS">
+<!ENTITY SSLTLSWarnings.caption "Amaran SSL/TLS">
+<!ENTITY SSLMixedContent.caption "Kandungan Gabungan">
+<!ENTITY SSLClientAuthMethod.caption "Pilihan Sijil Klien">
+
+<!ENTITY pref.ssltls.title "Keselamatan Lapisan Pengangkutan (SSL/TLS)">
+<!ENTITY limit.description "Anda boleh mengehadkan protokol eksripsi untuk menggunakan sambungan yang selamat. Pilih versi tunggal atau pelbagai versi berdampingan.">
+<!ENTITY limit.enable.label "Dayakan:">
+<!ENTITY limit.tls10.label "TLS 1.0">
+<!ENTITY limit.tls10.accesskey "T">
+<!ENTITY limit.tls11.label "TLS 1.1">
+<!ENTITY limit.tls11.accesskey "1">
+<!ENTITY limit.tls12.label "TLS 1.2">
+<!ENTITY limit.tls12.accesskey "2">
+<!ENTITY limit.tls13.label "TLS 1.3">
+<!ENTITY limit.tls13.accesskey "3">
+
+<!ENTITY warn.description2 "&brandShortName; boleh memaklumkan status keselamatan halaman web yang anda layari. Tetapkan &brandShortName; untuk memaparkan amaran apabila:">
+<!ENTITY warn.enteringsecure "Memuatkan halaman yang menyokong enkripsi">
+<!ENTITY warn.enteringsecure.accesskey "M">
+<!ENTITY warn.insecurepost "Menghantar data borang dari halaman yang tiada enkripsi ke halaman yang juga tiada enkripsi">
+<!ENTITY warn.insecurepost.accesskey "h">
+<!ENTITY warn.leavingsecure "Keluar daripada halaman yang menyokong enkripsi">
+<!ENTITY warn.leavingsecure.accesskey "K">
+
+<!ENTITY mixed.description "Halaman enkripsi mungkin mengandungi kandungan tanpa enkripsi yang terdedah kepada pengintip atau pemalsuan. &brandShortName; boleh mengesan dan menyekatnya:">
+<!ENTITY warn.mixedactivecontent "Beri amaran apabila halaman enkripsi mengandungi kandungan yang tidak selamat">
+<!ENTITY warn.mixedactivecontent.accesskey "B">
+<!ENTITY block.activecontent "Jangan muatkan kandungan yang tidak selamat dalam halaman enkripsi">
+<!ENTITY block.activecontent.accesskey "J">
+<!ENTITY warn.mixeddisplaycontent "Beri amaran apabila halaman enkripsi mengandungi kandungan gabungan jenis lain">
+<!ENTITY warn.mixeddisplaycontent.accesskey "r">
+<!ENTITY block.displaycontent "Jangan muatkan kandungan gabungan jenis lain dalam halaman enkripsi">
+<!ENTITY block.displaycontent.accesskey "m">
+
+<!ENTITY certselect.description "Tentukan cara &brandShortName; memilih sijil keselamatan untuk diserahkan kepada laman web yang memerlukannya:">
+<!ENTITY certselect.auto "Pilih Secara Automatik">
+<!ENTITY certselect.auto.accesskey "A">
+<!ENTITY certselect.ask "Tanya Setiap Kali">
+<!ENTITY certselect.ask.accesskey "K">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-sync.dtd b/l10n-ms/suite/chrome/common/pref/pref-sync.dtd
new file mode 100644
index 0000000000..5e8c19ad09
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-sync.dtd
@@ -0,0 +1,56 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- The page shown when not logged in... -->
+<!ENTITY setupButton.label "Penetapan &syncBrand.fullName.label;">
+<!ENTITY setupButton.accesskey "P">
+<!ENTITY weaveDesc.label "&syncBrand.fullName.label; membolehkan anda mengakses sejarah, tandabuku, kata laluan dan tab terbuka dalam semua peranti.">
+
+<!-- The page shown when logged in... -->
+<!ENTITY accountGroupboxCaption.label "Akaun &syncBrand.fullName.label;">
+<!ENTITY accountName.label "Nama Akaun:">
+
+<!-- Login error feedback -->
+<!ENTITY updatePass.label "Kemaskini">
+<!ENTITY updatePass.accesskey "K">
+<!ENTITY resetPass.label "Set semula">
+<!ENTITY resetPass.accesskey "M">
+
+<!-- Manage Account -->
+<!ENTITY manageAccount.label "Urus Akaun">
+<!ENTITY manageAccount.accesskey "U">
+<!ENTITY viewQuota.label "Papar Kuota">
+<!ENTITY viewQuota.accesskey "P">
+<!ENTITY changePassword.label "Tukar Kata laluan">
+<!ENTITY changePassword.accesskey "K">
+<!ENTITY myRecoveryKey.label "Kekunci Pemulihan Saya">
+<!ENTITY myRecoveryKey.accesskey "S">
+<!ENTITY resetSync.label "Mengeset semula Sync">
+<!ENTITY resetSync.accesskey "M">
+<!ENTITY unlinkDevice.label "Putuskan sambungan Peranti Ini">
+<!ENTITY unlinkDevice.accesskey "P">
+<!ENTITY addDevice.label "Tambah Peranti">
+<!ENTITY addDevice.accesskey "T">
+
+<!-- Sync Settings -->
+<!ENTITY syncComputerName.label "Nama Komputer:">
+<!ENTITY syncComputerName.accesskey "N">
+
+<!ENTITY syncMy2.label "Sync:">
+<!ENTITY engine.addons.label "Add-ons">
+<!ENTITY engine.addons.accesskey "A">
+<!ENTITY engine.bookmarks.label "Tandabuku">
+<!ENTITY engine.bookmarks.accesskey "T">
+<!ENTITY engine.tabs.label "Tab">
+<!ENTITY engine.tabs.accesskey "T">
+<!ENTITY engine.history.label "Sejarah">
+<!ENTITY engine.history.accesskey "r">
+<!ENTITY engine.passwords.label "Kata laluan">
+<!ENTITY engine.passwords.accesskey "l">
+<!ENTITY engine.prefs.label "Keutamaan">
+<!ENTITY engine.prefs.accesskey "K">
+
+<!-- Footer stuff -->
+<!ENTITY prefs.tosLink.label "Terma Perkhidmatan">
+<!ENTITY prefs.ppLink.label "Polisi Privasi">
diff --git a/l10n-ms/suite/chrome/common/pref/pref-tabs.dtd b/l10n-ms/suite/chrome/common/pref/pref-tabs.dtd
new file mode 100644
index 0000000000..3c41c29e6e
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/pref-tabs.dtd
@@ -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/. -->
+
+<!ENTITY tabHeader.label "Pelayaran Bertab">
+
+<!ENTITY tabDisplay.label "Paparan Tab">
+<!ENTITY autoHide.label "Sorok bar tab apabila hanya satu tab sahaja yang terbuka">
+<!ENTITY autoHide.accesskey2 "k">
+<!ENTITY background.label "Tukar ke tab baru yang dibuka daripada pautan">
+<!ENTITY background.accesskey "T">
+<!ENTITY warnOnClose.label "Beri amaran apabila menutup tetingkap dengan berbilang tab">
+<!ENTITY warnOnClose.accesskey "B">
+<!ENTITY relatedAfterCurrent.label "Buka tab berkaitan selepas tab semasa">
+<!ENTITY relatedAfterCurrent.accesskey "b">
+
+<!ENTITY openTabs.label "Buka tab, bukan tetingkap untuk">
+
+<!ENTITY openManagers.label "Buka dalam tab baru, bukan tetingkap tunggal">
+<!ENTITY openDataManager.label "Pengurus Data">
+<!ENTITY openDataManager.accesskey "D">
+<!ENTITY openAddOnsManager.label "Pengurus Add-ons">
+<!ENTITY openAddOnsManager.accesskey "n">
diff --git a/l10n-ms/suite/chrome/common/pref/preferences.dtd b/l10n-ms/suite/chrome/common/pref/preferences.dtd
new file mode 100644
index 0000000000..a380755373
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/preferences.dtd
@@ -0,0 +1,53 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowClose.key "w">
+<!ENTITY preferencesDefaultTitleMac.title "Keutamaan">
+<!ENTITY preferencesDefaultTitleWin.title "Pilihan">
+<!ENTITY preferencesCloseButton.label "Tutup">
+<!ENTITY preferencesCloseButton.accesskey "T">
+
+<!--LOCALIZATION NOTE (.label): Preferences categories that appear on the left of the preferences dialog -->
+<!ENTITY prefWindow.title "Keutamaan">
+<!ENTITY categoryHeader "Kategori">
+
+<!ENTITY appear.label "Penampilan">
+<!ENTITY content.label "Kandungan">
+<!ENTITY fonts.label "Fon">
+<!ENTITY colors.label "Warna">
+<!ENTITY media.label "Media">
+<!ENTITY spellingPane.label "Ejaan">
+
+<!ENTITY navigator.label "Pelayar">
+<!ENTITY history.label "Sejarah">
+<!ENTITY languages.label "Bahasa">
+<!ENTITY applications.label "Aplikasi Pembantu">
+<!ENTITY locationBar.label "Bar Lokasi">
+<!ENTITY search.label "Carian Internet">
+<!ENTITY tabWindows.label "Pelayaran Bertab">
+<!ENTITY links.label "Tingkah laku Pautan">
+<!ENTITY download.label "Muat turun">
+
+<!ENTITY security.label "Privasi &amp; Keselamatan">
+<!ENTITY privatedata.label "Data Peribadi">
+<!ENTITY cookies.label "Kuki">
+<!ENTITY images.label "Imej">
+<!ENTITY popups.label "Tetingkap Popup">
+<!ENTITY passwords.label "Kata laluan">
+<!ENTITY ssltls.label "SSL/TLS">
+<!ENTITY certs.label "Sijil">
+
+<!ENTITY sync.label "Sync">
+
+<!ENTITY advance.label "Lanjutan">
+<!ENTITY keynav.label "Navigasi Papan kekunci">
+<!ENTITY findAsYouType.label "Cari Semasa Anda Menaip">
+<!ENTITY cache.label "Cache">
+<!ENTITY offlineApps.label "Aplikasi Luar talian">
+<!ENTITY proxies.label "Proksi">
+<!ENTITY httpnetworking.label "Rangkaian HTTP">
+<!ENTITY smart.label "Pemasangan Perisian">
+<!ENTITY mousewheel.label "Roda Tetikus">
+
+<!ENTITY focusSearch.key "f">
diff --git a/l10n-ms/suite/chrome/common/pref/prefutilities.dtd b/l10n-ms/suite/chrome/common/pref/prefutilities.dtd
new file mode 100644
index 0000000000..bb1a819286
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/prefutilities.dtd
@@ -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/. -->
+
+<!ENTITY FallbackCharset.auto "Lokaliti Semasa Piawai">
+<!-- LOCALIZATION NOTE (FallbackCharset.arabic):
+ Translate "Arabic" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.arabic "Arabic">
+<!ENTITY FallbackCharset.baltic "Baltic">
+<!ENTITY FallbackCharset.ceiso "Central European, ISO">
+<!ENTITY FallbackCharset.cewindows "Central European, Microsoft">
+<!-- LOCALIZATION NOTE (FallbackCharset.simplified):
+ Translate "Chinese" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.simplified "Chinese, Simplified">
+<!-- LOCALIZATION NOTE (FallbackCharset.traditional):
+ Translate "Chinese" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.traditional "Chinese, Traditional">
+<!ENTITY FallbackCharset.cyrillic "Cyrillic">
+<!-- LOCALIZATION NOTE (FallbackCharset.greek):
+ Translate "Greek" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.greek "Greek">
+<!-- LOCALIZATION NOTE (FallbackCharset.hebrew):
+ Translate "Hebrew" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.hebrew "Hebrew">
+<!-- LOCALIZATION NOTE (FallbackCharset.japanese):
+ Translate "Japanese" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.japanese "Japanese">
+<!-- LOCALIZATION NOTE (FallbackCharset.korean):
+ Translate "Korean" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.korean "Korean">
+<!-- LOCALIZATION NOTE (FallbackCharset.thai):
+ Translate "Thai" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.thai "Thai">
+<!-- LOCALIZATION NOTE (FallbackCharset.turkish):
+ Translate "Turkish" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.turkish "Turkish">
+<!-- LOCALIZATION NOTE (FallbackCharset.vietnamese):
+ Translate "Vietnamese" as an adjective for an encoding, not as the name of the language. -->
+<!ENTITY FallbackCharset.vietnamese "Vietnamese">
+<!ENTITY FallbackCharset.other "Lain-lain (termasuk Western European)">
diff --git a/l10n-ms/suite/chrome/common/pref/prefutilities.properties b/l10n-ms/suite/chrome/common/pref/prefutilities.properties
new file mode 100644
index 0000000000..78397f0846
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/pref/prefutilities.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 http://mozilla.org/MPL/2.0/.
+
+cachefolder=Pilih Folder Cache
+#LOCALIZATION NOTE (%1$S) is the size and (%2$S) is the unit of disk space.
+cacheSizeInfo=Cache kini menggunakan %1$S %2$S daripada ruang cakera.
+
+# Offline apps
+offlineAppSizeInfo=Storan luar talian kini menggunakan%1$S %2$S daripada ruang cakera.
+offlineAppRemoveTitle=Buang data laman web luar talian
+offlineAppRemovePrompt=Selepas membuang data ini, %S tidak boleh diakses di luar talian. Adakah anda pasti mahu buang laman web luar talian ini?
+offlineAppRemoveConfirm=Buang data luar talian
+
+# LOCALIZATION NOTE: The next string is for the disk usage of the
+# offline application
+# e.g. offlineAppUsage : "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+offlineAppUsage=%1$S %2$S
+
+choosehomepage=Pilih Laman
+downloadfolder=Pilih Folder Muat turun
+desktopFolderName=Desktop
+downloadsFolderName=Muat turun
+choosesound=Pilih bunyian
+
+SoundFiles=Bunyian
+
+# LOCALIZATION NOTE (labelDefaultFont2): %S = font name
+labelDefaultFont2=Piawai (%S)
+labelDefaultFontUnnamed=Piawai
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=Lokaliti aplikasi: %S
+appLocale.accesskey=i
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=Lokaliti tetapan wilayah: %S
+rsLocale.accesskey=L
+
+syncUnlink.title=Adakah anda mahu putuskan sambungan peranti anda?
+syncUnlink.label=Peranti ini tidak lagi dikaitkan dengan akaun Sync anda. Semua data peribadi, dalam kedua-dua peranti ini dan juga akaun Sync anda, akan kekal utuh.
+syncUnlinkConfirm.label=Putuskan sambungan
diff --git a/l10n-ms/suite/chrome/common/printPreview.dtd b/l10n-ms/suite/chrome/common/printPreview.dtd
new file mode 100644
index 0000000000..c331b101a4
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/printPreview.dtd
@@ -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/. -->
+
+<!ENTITY print.label "Cetak…">
+<!ENTITY print.accesskey "C">
+<!ENTITY pageSetup.label "Penetapan Halaman…">
+<!ENTITY pageSetup.accesskey "l">
+<!ENTITY page.label "Halaman:">
+<!ENTITY page.accesskey "a">
+<!ENTITY of.label "daripada">
+<!ENTITY scale.label "Skala:">
+<!ENTITY scale.accesskey "S">
+<!ENTITY portrait.label "Potret">
+<!ENTITY portrait.accesskey "o">
+<!ENTITY landscape.label "Lanskap">
+<!ENTITY landscape.accesskey "L">
+<!ENTITY close.label "Tutup">
+<!ENTITY close.accesskey "T">
+<!ENTITY p30.label "30&#037;">
+<!ENTITY p40.label "40&#037;">
+<!ENTITY p50.label "50&#037;">
+<!ENTITY p60.label "60&#037;">
+<!ENTITY p70.label "70&#037;">
+<!ENTITY p80.label "80&#037;">
+<!ENTITY p90.label "90&#037;">
+<!ENTITY p100.label "100&#037;">
+<!ENTITY p125.label "125&#037;">
+<!ENTITY p150.label "150&#037;">
+<!ENTITY p175.label "175&#037;">
+<!ENTITY p200.label "200&#037;">
+<!ENTITY Custom.label "Penyesuaian…">
+<!ENTITY ShrinkToFit.label "Mengecil Untuk Muat">
+<!ENTITY customPrompt.title "Skala Penyesuaian…">
+
+<!ENTITY homearrow.tooltip "Halaman pertama">
+<!ENTITY endarrow.tooltip "Halaman terakhir">
+<!ENTITY rightarrow.tooltip "Halaman berikut">
+<!ENTITY leftarrow.tooltip "Halaman dahulu">
diff --git a/l10n-ms/suite/chrome/common/profile/profileSelection.dtd b/l10n-ms/suite/chrome/common/profile/profileSelection.dtd
new file mode 100644
index 0000000000..bf0c001e95
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/profile/profileSelection.dtd
@@ -0,0 +1,35 @@
+<!-- -*- Mode: SGML; indent-tabs-mode: nil; -*- -->
+<!--
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Pilih Profil Pengguna">
+<!ENTITY profileManager.title "Pengurus Profil &brandShortName;">
+
+<!ENTITY manage.label "Urus Profil…">
+<!ENTITY manage.accesskey "U">
+<!ENTITY select.label "Guna Profil">
+
+<!ENTITY availableProfiles.label "Profil Yang Ada">
+
+<!ENTITY introStart.label "Untuk mengakses profil peribadi anda yang mengandungi mesej yang disimpan, tetapan dan lain-lain maklumat peribadi, sila pilih profil dalam senarai dan klik &start.label; untuk memulakan sesi anda.">
+<!ENTITY introSwitch.label "Untuk bertukar ke profil lain yang mengandungi mesej yang disimpan, tetapan dan maklumat peribadi lain, sila pilih profil tersebut dari dalam senarai, dan klik &select.label; untuk mula menggunakan profil itu.">
+<!ENTITY profileManagerText.label "&brandShortName; menyimpan maklumat tetapan, keutamaan, tandabuku, mesej yang disimpan dan item pengguna lain dalam profil pengguna anda.">
+
+<!ENTITY autoSelect.label "Piawai untuk profil ini">
+<!ENTITY autoSelect.accesskey "i">
+
+<!ENTITY start.label "Mulakan &brandShortName;">
+<!ENTITY exit.label "Keluar">
+
+<!ENTITY newButton.label "Cipta Profil…">
+<!ENTITY newButton.accesskey "C">
+<!ENTITY renameButton.label "Namakan semula Profil…">
+<!ENTITY renameButton.accesskey "N">
+<!ENTITY deleteButton.label "Buang Profil…">
+<!ENTITY deleteButton.accesskey "B">
+
+<!ENTITY offlineState.label "Kerja luar talian">
+<!ENTITY offlineState.accesskey "j">
diff --git a/l10n-ms/suite/chrome/common/profile/profileSelection.properties b/l10n-ms/suite/chrome/common/profile/profileSelection.properties
new file mode 100644
index 0000000000..a602098c2b
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/profile/profileSelection.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/.
+
+deleteLocked=%S tidak dapat membuang profil "%S" kerana sedang digunakan.
+deleteProfile=Membuang profil akan menghapuskannya daripada senarai profil dan tindakan ini tidak boleh dibatalkan.\n\nAnda juga boleh pilih untuk menghapuskan fail data profil, termasuk mel, tetapan dan sijil. Pilihan ini akan menghapuskan folder "%S" dan tidak boleh dibatalkan.\n\nAdakah anda mahu menghapuskan fail data profil?\n\n
+
+manageTitle=Urus Profil Pengguna
+selectTitle=Pilih Profil Pengguna
+
+dirLocked=%S tidak dapat menggunakan profil "%S". Mungkin sedang digunakan, tidak tersedia atau rosak.\n\nSila pilih profil lain atau cipta yang baru.
+
+renameProfileTitle=Namakan semula Profil
+renameProfilePrompt=Namakan semula profil "%S" ke:
+profileNameInvalidTitle=Nama profil tidak sah
+profileNameEmpty=Nama profil kosong tidak dibenarkan.
+invalidChar=Aksara "%S" tidak dibenarkan dalam nama profil. Sila pilih nama lain.
+deleteTitle=Buang Profil
+deleteFiles=Buang Fail
+dontDeleteFiles=Jangan Buang Fail
+profileExists=Profil dengan nama ini telah wujud. Sila pilih nama lain.
+profileExistsTitle=Profil Wujud
diff --git a/l10n-ms/suite/chrome/common/quitDialog.properties b/l10n-ms/suite/chrome/common/quitDialog.properties
new file mode 100644
index 0000000000..d97a517e76
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/quitDialog.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/.
+
+# Strings for the Quit, Restart, and Close-browser dialogs
+# used by _onQuitRequest() in nsSuiteGlue.js
+
+# LOCALIZATION NOTE:
+# %S (also in the messages further down)
+# is the application's short name (e.g. SeaMonkey)
+# from the brand.properties file
+quitDialogTitle=Keluar %S
+lastwindowDialogTitle=Tutup Pelayar %S
+restartDialogTitle=Mula semula %S
+
+restartNowTitle=&Mula semula Sekarang
+restartLaterTitle=Mula semula &Kemudian
+quitTitle=&Keluar
+lastwindowTitle=Tutup &Pelayar
+cancelTitle=&Batal
+# LOCALIZATION NOTE:
+# The following two strings are labels for the same button, depending on
+# whether we are quitting the whole Suite, or only the Browser
+saveTitle=&Simpan dan Keluar
+savelastwindowTitle=&Simpan dan Tutup
+neverAsk=&Jangan tanya lagi
+message=Adakah anda mahu %S simpan tab dan tetingkap untuk permulaan apabila dimulakan semula?
+messageNoWindows=Adakah anda mahu %S simpan tab untuk permulaan apabila dimulakan semula?
+messageRestart=%S akan cuba memulihkan tab dan tetingkap anda apabila dimulakan semula.
diff --git a/l10n-ms/suite/chrome/common/safeBrowsing.dtd b/l10n-ms/suite/chrome/common/safeBrowsing.dtd
new file mode 100644
index 0000000000..e472bae7ae
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/safeBrowsing.dtd
@@ -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/. -->
+
+<!ENTITY safeb.palm.accept.label "Keluarkan saya dari sini!">
+<!ENTITY safeb.palm.decline.label "Abaikan amaran ini">
+<!ENTITY safeb.palm.reportPage.label "Mengapa halaman ini disekat?">
+
+<!ENTITY safeb.blocked.malwarePage.title "Ini Halaman Penyerang!">
+<!-- Localization note (safeb.blocked.malwarePage.shortDesc) - Please don't translate the contents of the <span id="malware_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.malwarePage.shortDesc "Halaman web <span id='malware_sitename'/> telah dilaporkan sebagai halaman penyerang dan telah disekat berdasarkan tetapan keselamatan anda.">
+<!ENTITY safeb.blocked.malwarePage.longDesc "<p>Halaman penyerang akan cuba memasang atur cara yang mencuri maklumat peribadi, menggunakan komputer anda untuk menyerang pihak lain, atau merosakkan sistem anda.</p><p>Sesetengah halaman penyerang dengan sengaja merebakkan perisian berbahaya, tapi kebanyakkannya menceroboh tanpa pengetahuan atau keizinan pemilik halaman.</p>">
+
+<!ENTITY safeb.blocked.unwantedPage.title "Halaman Ini Dilaporkan mengandungi Perisian Tidak Diingini!">
+<!-- Localization note (safeb.blocked.unwantedPage.shortDesc) - Please don't translate the contents of the <span id="unwanted_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.unwantedPage.shortDesc "Halaman web <span id='unwanted_sitename'/> telah dilaporkan sebagai halaman yang mengandungi perisian tidak diingini dan telah disekat berdasarkan keutamaan keselamatan anda.">
+<!ENTITY safeb.blocked.unwantedPage.longDesc "<p>Halaman perisian yang tidak diingini cuba memasang perisian yang mengelirukan dan boleh menjejaskan sistem anda dengan cara yang tidak dijangka.</p>">
+
+<!ENTITY safeb.blocked.phishingPage.title2 "Laman Mengelirukan!">
+<!-- Localization note (safeb.blocked.phishingPage.shortDesc2) - Please don't translate the contents of the <span id="phishing_sitename"/> tag. It will be replaced at runtime with a domain name (e.g. www.badsite.com) -->
+<!ENTITY safeb.blocked.phishingPage.shortDesc2 "Halaman web <span id='phishing_sitename'/> telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.">
+<!ENTITY safeb.blocked.phishingPage.longDesc2 "<p>Laman mengelirukan direka untuk memperdayakan anda melakukan perkara yang berbahaya, seperti memasang perisian, atau mendedahkan maklumat peribadi, seperti kata laluan, nombor telefon atau maklumat kad kredit.</p><p>Sebarang maklumat yang dimasukkan dalam halaman web ini boleh mengakibatkan kecurian identiti atau penipuan lain.</p>">
+
+<!-- Localization note (reportDeceptiveSite, notADeceptiveSite) - The two button strings will never be shown at the same time, so it's okay for them to have the same access key. -->
+<!ENTITY reportDeceptiveSite.label "Laporkan laman yang mengelirukan…">
+<!ENTITY reportDeceptiveSite.accesskey "m">
+<!ENTITY notADeceptiveSite.label "Ini bukan laman yang mengelirukan…">
+<!ENTITY notADeceptiveSite.accesskey "b">
+
diff --git a/l10n-ms/suite/chrome/common/safeMode.dtd b/l10n-ms/suite/chrome/common/safeMode.dtd
new file mode 100644
index 0000000000..73aefa8afa
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/safeMode.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY safeModeDialog.title "Mod Selamat &brandShortName;">
+<!ENTITY window.width "37em">
+
+<!ENTITY safeModeDescription.label "&brandShortName; sedang dalam Mod Selamat, yang secara sementara menyahaktifkan penyesuaian tetapan, tema dan ekstensi.">
+<!ENTITY safeModeDescription2.label "Anda boleh buat beberapa atau semua perubahan ini kekal:">
+
+<!ENTITY disableAddons.label "Nyahaktifkan semua add-ons">
+<!ENTITY disableAddons.accesskey "N">
+
+<!ENTITY resetToolbars.label "Mengeset semula bar alatan dan saiz tetingkap">
+<!ENTITY resetToolbars.accesskey "M">
+
+<!ENTITY deleteBookmarks.label "Buang semua tandabuku kecuali untuk sandaran">
+<!ENTITY deleteBookmarks.accesskey "b">
+
+<!ENTITY resetUserPrefs.label "Tetapkan semula keutamaan pengguna ke piawai &brandShortName;">
+<!ENTITY resetUserPrefs.accesskey "p">
+
+<!ENTITY restoreSearch.label "Pulih enjin carian piawai">
+<!ENTITY restoreSearch.accesskey "c">
+
+<!ENTITY changeAndRestartButton.label "Buat Perubahan dan Mula semula">
+<!ENTITY continueButton.label "Teruskan dalam Mod Selamat">
diff --git a/l10n-ms/suite/chrome/common/sanitize.dtd b/l10n-ms/suite/chrome/common/sanitize.dtd
new file mode 100644
index 0000000000..a7e12c9d2a
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sanitize.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY sanitizeDialog.title "Buang Data Peribadi">
+
+<!ENTITY sanitizeItems.label "Buang item berikut sekarang:">
+
+<!ENTITY itemHistory.label "Sejarah Pelayaran">
+<!ENTITY itemHistory.accesskey "P">
+<!ENTITY itemUrlBar.label "Sejarah Bar Lokasi">
+<!ENTITY itemUrlBar.accesskey "L">
+<!ENTITY itemDownloads.label "Sejarah Muat turun">
+<!ENTITY itemDownloads.accesskey "M">
+<!ENTITY itemFormSearchHistory.label "Borang Disimpan dan Sejarah Carian">
+<!ENTITY itemFormSearchHistory.accesskey "B">
+<!ENTITY itemCache.label "Cache">
+<!ENTITY itemCache.accesskey "a">
+<!ENTITY itemCookies.label "Kuki">
+<!ENTITY itemCookies.accesskey "K">
+<!ENTITY itemOfflineApps.label "Data Laman web Luar talian">
+<!ENTITY itemOfflineApps.accesskey "D">
+<!ENTITY itemPasswords.label "Kata laluan Disimpan">
+<!ENTITY itemPasswords.accesskey "K">
+<!ENTITY itemSessions.label "Sesi Pengesahan">
+<!ENTITY itemSessions.accesskey "S">
+
diff --git a/l10n-ms/suite/chrome/common/search/engineManager.dtd b/l10n-ms/suite/chrome/common/search/engineManager.dtd
new file mode 100644
index 0000000000..5e18bf0fc3
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/search/engineManager.dtd
@@ -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/. -->
+
+<!ENTITY engineManager.title "Urus Senarai Enjin Carian">
+<!ENTITY engineManager.style "min-width: 35em;">
+<!ENTITY engineManager.intro "Anda ada memasang enjin carian berikut:">
+
+<!ENTITY columnLabel.name "Nama">
+<!ENTITY columnLabel.keyword "Kata kunci">
+
+<!-- Buttons -->
+<!ENTITY up.label "Pindah Atas">
+<!ENTITY up.accesskey "A">
+<!ENTITY dn.label "Pindah Bawah">
+<!ENTITY dn.accesskey "P">
+<!ENTITY remove.label "Buang">
+<!ENTITY remove.accesskey "B">
+<!ENTITY edit.label "Edit Kata kunci…">
+<!ENTITY edit.accesskey "t">
+
+<!ENTITY addEngine.label "Tambah lebih banyak enjin carian…">
+<!ENTITY addEngine.accesskey "T">
+
+<!ENTITY enableSuggest.label "Papar cadangan carian">
+<!ENTITY enableSuggest.accesskey "P">
+
+<!ENTITY restoreDefaults.label "Pulih Piawai">
+<!ENTITY restoreDefaults.accesskey "u">
diff --git a/l10n-ms/suite/chrome/common/search/engineManager.properties b/l10n-ms/suite/chrome/common/search/engineManager.properties
new file mode 100644
index 0000000000..90f1466436
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/search/engineManager.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/.
+
+editTitle=Edit Kata kunci
+editMsg=Masukkan kata kunci baru untuk "%S":
+duplicateTitle=Kata kunci Duplikasi
+duplicateEngineMsg=Anda telah memilih kata kunci yang sedang digunakan oleh "%S". Sila pilih yang lain.
+duplicateBookmarkMsg=Anda telah memilih kata kunci yang sedang digunakan oleh tandabuku. Sila pilih yang lain.
diff --git a/l10n-ms/suite/chrome/common/search/search-panel.dtd b/l10n-ms/suite/chrome/common/search/search-panel.dtd
new file mode 100644
index 0000000000..781d332794
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/search/search-panel.dtd
@@ -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/. -->
+
+<!ENTITY search.button.label "Cari">
+<!ENTITY search.placeholder "Masukkan teks carian">
+
+<!ENTITY search.engineManager.label "Urus Enjin Carian…">
diff --git a/l10n-ms/suite/chrome/common/search/search.properties b/l10n-ms/suite/chrome/common/search/search.properties
new file mode 100644
index 0000000000..9ba749c25d
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/search/search.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/.
+
+searchtip=Cari menggunakan %S
+cmd_addFoundEngine=Tambah "%S"
diff --git a/l10n-ms/suite/chrome/common/search/searchbar.dtd b/l10n-ms/suite/chrome/common/search/searchbar.dtd
new file mode 100644
index 0000000000..4cb2a849d1
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/search/searchbar.dtd
@@ -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/. -->
+
+<!ENTITY cmd_engineManager.label "Urus Enjin Carian…">
+<!ENTITY searchEndCap.label "Cari">
diff --git a/l10n-ms/suite/chrome/common/setDesktopBackground.dtd b/l10n-ms/suite/chrome/common/setDesktopBackground.dtd
new file mode 100644
index 0000000000..007218fd78
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/setDesktopBackground.dtd
@@ -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/. -->
+
+<!ENTITY setDesktopBackground.title "Tetapkan Latar belakang Desktop">
+
+<!ENTITY position.label "Kedudukan:">
+<!ENTITY position.accesskey "K">
+<!ENTITY position.tile.label "Jubin">
+<!ENTITY position.stretch.label "Regang">
+<!ENTITY position.center.label "Tengah">
+<!ENTITY position.fill.label "Isi">
+<!ENTITY position.fit.label "Muat">
+<!ENTITY picker.label "Warna:">
+<!ENTITY picker.accesskey "W">
+<!ENTITY preview.caption "Previu">
+<!ENTITY apply.label "Terap">
+<!ENTITY apply.accesskey "T">
+<!ENTITY close.label "Tutup">
diff --git a/l10n-ms/suite/chrome/common/shellservice.properties b/l10n-ms/suite/chrome/common/shellservice.properties
new file mode 100644
index 0000000000..ae07d288cb
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/shellservice.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/.
+
+preferencesLabel=&Keutamaan %S
+safeModeLabel=&Mod Selamat %S
+desktopBackgroundLeafNameWin=Desktop Background.bmp
diff --git a/l10n-ms/suite/chrome/common/sidebar/customize.dtd b/l10n-ms/suite/chrome/common/sidebar/customize.dtd
new file mode 100644
index 0000000000..f08a13e0df
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sidebar/customize.dtd
@@ -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/. -->
+
+<!-- extracted from ./customize.xul -->
+
+<!ENTITY sidebar.customize.customize.label "Penyesuaian Tab…">
+<!ENTITY sidebar.customize.customize.accesskey "P">
+<!ENTITY sidebar.customize.remove.label "Buang">
+<!ENTITY sidebar.customize.remove.accesskey "B">
+<!ENTITY sidebar.customize.additional.label "Tab Tersedia:">
+<!ENTITY sidebar.customize.additional.accesskey "s">
+<!ENTITY sidebar.customize.add.label "Tambah">
+<!ENTITY sidebar.customize.add.accesskey "T">
+<!ENTITY sidebar.customize.preview.label "Previu…">
+<!ENTITY sidebar.customize.preview.accesskey "P">
+<!ENTITY sidebar.customize.up.label "Pindah Atas">
+<!ENTITY sidebar.customize.up.accesskey "A">
+<!ENTITY sidebar.customize.down.label "Pindah Bawah">
+<!ENTITY sidebar.customize.down.accesskey "B">
+<!ENTITY sidebar.more.label "Cari Lagi Tab…">
+<!ENTITY sidebar.more.accesskey "C">
diff --git a/l10n-ms/suite/chrome/common/sidebar/preview.dtd b/l10n-ms/suite/chrome/common/sidebar/preview.dtd
new file mode 100644
index 0000000000..58d8dca655
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sidebar/preview.dtd
@@ -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/. -->
+
+<!ENTITY sidebar.preview.title.label "Previu Tab">
diff --git a/l10n-ms/suite/chrome/common/sidebar/sidebar.properties b/l10n-ms/suite/chrome/common/sidebar/sidebar.properties
new file mode 100644
index 0000000000..f6c6b6c746
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sidebar/sidebar.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/.
+
+addPanelConfirmTitle=Tambah Tab dalam Bar sisi
+
+dupePanelAlertTitle=Bar sisi
diff --git a/l10n-ms/suite/chrome/common/sidebar/sidebarOverlay.dtd b/l10n-ms/suite/chrome/common/sidebar/sidebarOverlay.dtd
new file mode 100644
index 0000000000..38a254f011
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sidebar/sidebarOverlay.dtd
@@ -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/. -->
+
+<!ENTITY sidebar.panels.label "Bar sisi">
+<!ENTITY sidebar.reload.label "Muat semula">
+<!ENTITY sidebar.reload.accesskey "M">
+<!ENTITY sidebar.picker.label "Tab">
+<!ENTITY sidebar.customize.label "Penyesuaian Bar sisi…">
+<!ENTITY sidebar.customize.accesskey "u">
+<!ENTITY sidebar.hide.label "Sorok Tab">
+<!ENTITY sidebar.hide.accesskey "S">
+<!ENTITY sidebar.switch.label "Tukar ke Tab">
+<!ENTITY sidebar.switch.accesskey "T">
+<!ENTITY sidebarCmd.label "Bar sisi">
+<!ENTITY sidebarCmd.accesskey "s">
+<!ENTITY sidebar.loading.label "Memuatkan…">
+<!ENTITY sidebar.loadstopped.label "Berhenti memuatkan">
+<!ENTITY sidebar.loading.stop.label "Berhenti">
+<!ENTITY sidebar.loading.stop.accesskey "B">
+
+<!ENTITY sidebar.no-panels.state "Bar sisi masih kosong.">
+<!ENTITY sidebar.no-panels.add 'Anda boleh tambah tab dengan mengklik butang "Tab" di atas.'>
+<!ENTITY sidebar.no-panels.hide 'Jika anda mahu sorok Bar sisi sepenuhnya, klik menu "Papar" di atas, dan pilih "Bar sisi" dalam sub-menu "Papar/Sorok".'>
+<!ENTITY sidebar.sbDirectory.label "Direktori Bar sisi…">
+
+<!ENTITY sidebar.pagenotfound.label "Tab ini tidak tersedia buat masa ini.">
+<!ENTITY sidebar.close.tooltip "Tutup Bar Sisi">
+<!ENTITY sidebar.open.tooltip "Buka Bar sisi">
+
+<!ENTITY sidebar.search.label "Cari">
+<!ENTITY sidebar.client-bookmarks.label "Tandabuku">
+<!ENTITY sidebar.client-history.label "Sejarah">
+<!ENTITY sidebar.client-addressbook.label "Buku Alamat">
diff --git a/l10n-ms/suite/chrome/common/sitePermissions.properties b/l10n-ms/suite/chrome/common/sitePermissions.properties
new file mode 100644
index 0000000000..5b5c484d42
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sitePermissions.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 (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked):
+# 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
+
+# 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.cookie.label = Tetapkan Kuki
+permission.desktop-notification2.label = Terima 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.indexedDB.label = Kekalkan Storan Luar Talian
+permission.focus-tab-by-prompt.label = Tukar ke Tab ini
+permission.persistent-storage.label = Simpan Data dalam Storan Kekal
diff --git a/l10n-ms/suite/chrome/common/sync/syncBrand.dtd b/l10n-ms/suite/chrome/common/sync/syncBrand.dtd
new file mode 100644
index 0000000000..71955e69ae
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncBrand.dtd
@@ -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/. -->
+
+<!ENTITY syncBrand.shortName.label "Sync">
+<!ENTITY syncBrand.fullName.label "SeaMonkey Sync">
diff --git a/l10n-ms/suite/chrome/common/sync/syncGenericChange.properties b/l10n-ms/suite/chrome/common/sync/syncGenericChange.properties
new file mode 100644
index 0000000000..5d6350e978
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncGenericChange.properties
@@ -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/.
+
+# LOCALIZATION NOTE (whole file) "Sync" should match &syncBrand.shortName.label; from syncBrand.dtd
+# LOCALIZATION NOTE (change.password.title): This (and associated change.password/passphrase) are used when the user elects to change their password.
+change.password.title = Tukar Kata laluan anda
+change.password.acceptButton = Tukar Kata laluan
+change.password.status.active = Menukar kata laluan anda…
+change.password.status.success = Kata laluan anda telah ditukar.
+change.password.status.error = Ada ralat semasa menukar kata laluan anda.
+
+change.password3.introText = Kata laluan perlu sekurang-kurangnya 8 aksara. Tidak boleh sama dengan kata pengguna atau Kekunci Pemulihan.
+change.password.warningText = Nota: Semua peranti tidak boleh disambungkan ke akaun anda selepas anda menukar kata laluan ini.
+
+change.recoverykey.title = Tukar Kekunci Pemulihan anda
+change.recoverykey.acceptButton = Tukar Kekunci Pemulihan
+change.recoverykey.label = Menukar Kekunci Pemulihan dan memuat naik data lokal, sila tunggu…
+change.recoverykey.error = Ada ralat ketika menukar Kunci Pemulihan anda!
+change.recoverykey.success = Kekunci pemulihan anda berjaya ditukar!
+change.recoverykey.introText2 = Bagi menjamin privasi penuh, semua data anda dienkrip sebelum dimuat naik. Kunci untuk menyahsulit data anda tidak dimuat naik.
+change.recoverykey.warningText = Nota: Perubahan ini akan membuang semua data yang disimpan pada pelayan Sync dan memuat naik data baru yang dilindungi oleh Kekunci Pemulihan ini. Peranti anda tidak akan diselaraskan sehingga Kekunci Pemulihan baru ini dimasukkan untuk peranti ini.
+
+new.recoverykey.label = Kekunci Pemulihan Anda
+
+# LOCALIZATION NOTE (new.password.title): This (and associated new.password/passphrase) are used on a second computer when it detects that your password or passphrase has been changed on a different device.
+new.password.title = Kemaskini Kata laluan
+new.password.introText = Kata laluan ditolak oleh pelayan, sila kemaskini kata laluan anda.
+new.password.label = Masukkan kata laluan baru
+new.password.confirm = Sahkan kata laluan baru anda
+new.password.acceptButton = Kemaskini Kata laluan
+new.password.status.incorrect = Kata laluan salah, sila cuba lagi.
+
+new.recoverykey.title = Kemaskini Kekunci Pemulihan
+new.recoverykey.introText = Kekunci Pemulihan anda telah ditukar menggunakan peranti lain, sila masukkan Kekunci Pemulihan anda yang telah dikemaskini.
+new.recoverykey.acceptButton = Kemaskini Kekunci Pemulihan
+new.recoverykey.status.incorrect = Kekunci Pemulihan tidak betul, sila cuba lagi.
diff --git a/l10n-ms/suite/chrome/common/sync/syncKey.dtd b/l10n-ms/suite/chrome/common/sync/syncKey.dtd
new file mode 100644
index 0000000000..6e45224c67
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncKey.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY syncKey.page.title "Kekunci &syncBrand.fullName.label; Anda">
+<!ENTITY syncKey.page.description "Kekunci ini digunakan untuk menyahkod data dalam akaun &syncBrand.fullName.label;. Anda perlu masukkan kekunci ini setiap kali anda mengkonfigurasi &syncBrand.fullName.label; dalam komputer atau peranti baru.">
+<!ENTITY syncKey.keepItSecret.heading "Ini rahsia anda">
+<!ENTITY syncKey.keepItSecret.description "Akaun &syncBrand.fullName.label; telah dienkripsi untuk melindungi privasi anda. Tanpa kekunci ini, mungkin akan mengambil masa bertahun-tahun untuk menyahkod maklumat peribadi anda. Anda seorang sahaja yang memegang kekunci ini. Ini bermakna anda sahaja yang boleh mengakses data &syncBrand.fullName.label;.">
+<!ENTITY syncKey.keepItSafe.heading "Ini rahsia anda">
+<!ENTITY syncKey.keepItSafe1.description "Jangan hilangkan kekunci ini.">
+<!ENTITY syncKey.keepItSafe2.description " Kami tidak menyimpan salinan kata kunci anda (ini bukan lagi dipanggil rahsia!) jadi ">
+<!ENTITY syncKey.keepItSafe3.description "kami tidak dapat membantu anda memulihkannya">
+<!ENTITY syncKey.keepItSafe4.description " jika kata kunci ini hilang. Anda perlu gunakan kekunci ini pada bila-bila masa anda membuat sambungan komputer atau peranti baru ke &syncBrand.fullName.label;.">
+<!ENTITY syncKey.findOutMore1.label "Ketahui selanjutnya mengenai &syncBrand.fullName.label; dan privasi anda di ">
+<!ENTITY syncKey.findOutMore2.label ".">
+<!ENTITY syncKey.footer1.label "Terma Perkhidmatan &syncBrand.fullName.label; ada tersedia di ">
+<!ENTITY syncKey.footer2.label ". Polisi Privasi ada tersedia di ">
+<!ENTITY syncKey.footer3.label ".">
diff --git a/l10n-ms/suite/chrome/common/sync/syncQuota.dtd b/l10n-ms/suite/chrome/common/sync/syncQuota.dtd
new file mode 100644
index 0000000000..0dc3356f83
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncQuota.dtd
@@ -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/. -->
+
+<!ENTITY quota.dialogTitle.label "Kuota Pelayan">
+<!ENTITY quota.retrievingInfo.label "Sedang mendapatkan maklumat kuota…">
+<!ENTITY quota.typeColumn.label "Jenis">
+<!ENTITY quota.sizeColumn.label "Saiz">
diff --git a/l10n-ms/suite/chrome/common/sync/syncQuota.properties b/l10n-ms/suite/chrome/common/sync/syncQuota.properties
new file mode 100644
index 0000000000..406b31f051
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncQuota.properties
@@ -0,0 +1,42 @@
+# 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/.
+
+collection.addons.label = Add-ons
+collection.bookmarks.label = Tandabuku
+collection.history.label = Sejarah
+collection.passwords.label = Kata laluan
+collection.prefs.label = Keutamaan
+collection.tabs.label = Tab
+
+# LOCALIZATION NOTE (quota.usageNoQuota.label): %1$S and %2$S are numeric value
+# and unit (as defined in the download manager) of the amount of space occupied
+# on the server
+quota.usageNoQuota.label = Anda sedang menggunakan %1$S %2$S.
+# LOCALIZATION NOTE (quota.usagePercentage.label):
+# %1$S is the percentage of space used,
+# %2$S and %3$S numeric value and unit (as defined in the download manager)
+# of the amount of space used,
+# %3$S and %4$S numeric value and unit (as defined in the download manager)
+# of the total space available.
+quota.usagePercentage.label = Anda sedang menggunakan %1$S %% (%2$S %3$S) daripada %4$S %5$S yang dibenarkan.
+quota.usageError.label = Tidak dapat mendapatkan maklumat kuota.
+quota.retrieving.label = Sedang mendapatkan…
+# LOCALIZATION NOTE (quota.sizeValueUnit.label): %1$S is the amount of space
+# occupied by the engine, %2$K the corresponding unit (e.g. kB) as defined in
+# the download manager.
+quota.sizeValueUnit.label = %1$S %2$S
+quota.remove.label = Buang
+quota.treeCaption.label = Buang tanda semakan untuk memberhentikan penyelarasan dan menjimatkan ruang dalam pelayan.
+# LOCALIZATION NOTE (quota.removal.label): %S is a list of engines that will be
+# disabled and whose data will be removed once the user confirms.
+quota.removal.label = SeaMonkey Sync akan membuang data berikut: %S.
+# LOCALIZATION NOTE (quota.list.separator): This is the separator string used
+# for the list of engines (incl. spaces where appropriate)
+quota.list.separator = ,\u0020
+# LOCALIZATION NOTE (quota.freeup.label): %1$S and %2$S are numeric value
+# and unit (as defined in the download manager) of the amount of space freed
+# up by disabling the unchecked engines. If displayed this string is
+# concatenated directly to quota.removal.label and may need to start off with
+# whitespace.
+quota.freeup.label = \u0020Ini akan menjimatkan ruang sehingga %1$S %2$S.
diff --git a/l10n-ms/suite/chrome/common/sync/syncSetup.dtd b/l10n-ms/suite/chrome/common/sync/syncSetup.dtd
new file mode 100644
index 0000000000..0a24d2f149
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncSetup.dtd
@@ -0,0 +1,116 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY accountSetupTitle.label "Penetapan &syncBrand.fullName.label;">
+
+<!-- First page of the wizard -->
+
+<!ENTITY setup.pickSetupType.description "Selamat Datang! Jika anda belum pernah menggunakan &syncBrand.fullName.label;, anda perlu cipta akaun baru.">
+<!ENTITY button.createNewAccount.label "Buka Akaun Baru">
+<!ENTITY setup.haveAccount.label "Saya sudah ada akaun &syncBrand.fullName.label;.">
+<!ENTITY button.connect.label "Sambung">
+
+<!ENTITY setup.choicePage.title.label "Sudahkah anda pernah gunakan &syncBrand.fullName.label; sebelum ini?">
+<!ENTITY setup.choicePage.new.label "Saya tidak pernah gunakan &syncBrand.shortName.label; sebelum ini">
+<!ENTITY setup.choicePage.existing.label "Saya sedang menggunakan &syncBrand.shortName.label; dalam komputer lain">
+
+<!-- New Account AND Existing Account -->
+<!ENTITY server.label "Pelayan">
+<!ENTITY server.accesskey "P">
+<!ENTITY serverType.main.label "Pelayan &syncBrand.fullName.label;">
+<!ENTITY serverType.custom2.label "Gunakan pelayan penyesuaian…">
+<!ENTITY signIn.account2.label "Akaun">
+<!ENTITY signIn.account2.accesskey "A">
+<!ENTITY signIn.password.label "Kata laluan">
+<!ENTITY signIn.password.accesskey "K">
+<!ENTITY signIn.recoveryKey.label "Kekunci Pemulihan">
+<!ENTITY signIn.recoveryKey.accesskey "K">
+
+<!-- New Account Page 1: Basic Account Info -->
+<!ENTITY setup.newAccountDetailsPage.title.label "Butiran Akaun">
+<!ENTITY setup.confirmPassword.label "Sahkan Kata Laluan">
+<!ENTITY setup.confirmPassword.accesskey "S">
+<!ENTITY setup.emailAddress.label "Alamat E-mel">
+<!ENTITY setup.emailAddress.accesskey "E">
+<!-- LOCALIZATION NOTE: tosAgree1, tosLink, tosAgree2, ppLink, tosAgree3 are
+ joined with implicit white space, so spaces in the strings aren't necessary -->
+<!ENTITY setup.tosAgree1.label "Saya setuju dengan">
+<!ENTITY setup.tosAgree1.accesskey "a">
+<!ENTITY setup.tosLink.label "Terma Perkhidmatan">
+<!ENTITY setup.tosAgree2.label "dan">
+<!ENTITY setup.ppLink.label "Polisi Privasi">
+<!ENTITY setup.tosAgree3.label "">
+<!ENTITY setup.tosAgree2.accesskey "">
+
+<!-- New Account Page 2: Recovery Key -->
+<!ENTITY setup.newRecoveryKeyPage.title.label "&brandShortName; Prihatin Perihal Privasi Anda">
+<!ENTITY setup.newRecoveryKeyPage.description.label "Untuk menjamin privasi anda, semua data anda akan disulitkan sebelum dimuat naik. Kekunci Pemulihan yang diperlukan untuk menyahsulitkan data anda tidak dimuat naik.">
+<!ENTITY recoveryKeyEntry.label "Kekunci Pemulihan Anda">
+<!ENTITY recoveryKeyEntry.accesskey "K">
+<!ENTITY recoveryGenerateNewKey.label "Jana kekunci yang baru">
+<!ENTITY recoveryKeyBackup.description "Kekunci Pemulihan diperlukan untuk mengakses &syncBrand.fullName.label; dalam peranti lain. Sila buat salinan sandaran. Kami tidak dapat membantu anda memulihkan Kekunci Pemulihan.">
+
+<!ENTITY button.syncKeyBackup.print.label "Cetak…">
+<!ENTITY button.syncKeyBackup.print.accesskey "C">
+<!ENTITY button.syncKeyBackup.save.label "Simpan…">
+<!ENTITY button.syncKeyBackup.save.accesskey "S">
+
+<!-- New Account Page 3: Captcha -->
+<!ENTITY setup.captchaPage2.title.label "Sila Sahkan Anda Bukan Robot">
+
+<!-- Existing Account Page 1: Add Device (incl. Add a Device dialog strings) -->
+<!ENTITY addDevice.title.label "Tambah Peranti">
+<!ENTITY addDevice.showMeHow.label "Tunjukkan saya caranya.">
+<!ENTITY addDevice.dontHaveDevice.label "Peranti tersebut tidak berada dengan saya">
+<!ENTITY addDevice.setup.description.label "Untuk mengaktifkan, pergi ke Keutamaan/Pilihan &syncBrand.shortName.label; dalam peranti anda yang lain dan pilih &#x0022;Tambah Peranti&#x0022;.">
+<!ENTITY addDevice.setup.enterCode.label "Kemudian, masukkan kod ini:">
+<!ENTITY addDevice.dialog.description.label "Untuk mengaktifkannya dalam peranti baru, pergi ke Keutamaan/Pilihan &syncBrand.shortName.label; dalam peranti berkenaan dan pilih &#x0022;Sambung.&#x0022;">
+<!ENTITY addDevice.dialog.enterCode.label "Masukkan kod yang dipaparkan oleh peranti:">
+<!ENTITY addDevice.dialog.tryAgain.label "Sila cuba lagi.">
+<!ENTITY addDevice.dialog.successful.label "Peranti telah berjaya ditambah. Permulaan penyelarasan akan mengambil masa beberapa minit dan akan siap dalam latar belakang.">
+<!ENTITY addDevice.dialog.recoveryKey.label "Untuk mengaktifkan peranti, anda perlu masukkan Kunci Pemulihan. Sila cetak atau simpan kekunci ini dan bawa bersama anda.">
+<!ENTITY addDevice.dialog.connected.label "Peranti telah Disambung">
+
+<!-- Existing Account Page 2: Manual Login -->
+<!ENTITY setup.signInPage.title.label "Daftar Masuk">
+<!ENTITY existingRecoveryKey.description "Anda boleh dapatkan salinan Kekunci Pemulihan dengan pergi ke Keutamaan/Pilihan &syncBrand.shortName.label; dalam peranti yang lain, dan pilih &#x0022;Kekunci Pemulihan Saya&#x0022; dalam &#x0022;Urus Akaun&#x0022;.">
+<!ENTITY verifying.label "Mengesahkan…">
+<!ENTITY resetPassword.label "Set Semula Kata Laluan">
+<!ENTITY resetSyncKey.label "Saya kehilangan peranti yang lain.">
+
+<!-- Sync Options -->
+<!ENTITY setup.optionsPage.title "Pilihan Sync">
+<!ENTITY syncComputerName.label "Nama Komputer:">
+<!ENTITY syncComputerName.accesskey "K">
+
+<!ENTITY syncMy.label "Sync">
+<!ENTITY engine.addons.label "Add-ons">
+<!ENTITY engine.addons.accesskey "A">
+<!ENTITY engine.bookmarks.label "Tandabuku">
+<!ENTITY engine.bookmarks.accesskey "T">
+<!ENTITY engine.tabs.label "Tab">
+<!ENTITY engine.tabs.accesskey "b">
+<!ENTITY engine.history.label "Sejarah">
+<!ENTITY engine.history.accesskey "r">
+<!ENTITY engine.passwords.label "Kata laluan">
+<!ENTITY engine.passwords.accesskey "K">
+<!ENTITY engine.prefs.label "Keutamaan">
+<!ENTITY engine.prefs.accesskey "e">
+
+<!ENTITY choice2.merge.main.label "Gabungkan data peranti ini dengan data saya dalam &syncBrand.shortName.label;">
+<!ENTITY choice2.merge.recommended.label "(disyorkan)">
+<!ENTITY choice2.client.main.label "Gantikan semua data dalam peranti ini dengan data saya dalam &syncBrand.shortName.label;">
+<!ENTITY choice2.server.main.label "Gantikan data semua peranti lain dengan data dalam komputer ini">
+
+<!-- Confirm Merge Options -->
+<!ENTITY setup.optionsConfirmPage.title "Sahkan">
+<!ENTITY confirm.merge.label "&syncBrand.fullName.label; akan menggabungkan semua data pelayar dalam komputer ini ke akaun Sync anda.">
+<!ENTITY confirm.client2.label "Amaran: Data &brandShortName; dalam komputer ini akan dibuang:">
+<!ENTITY confirm.client.moreinfo.label "&brandShortName; akan menyalin data &syncBrand.fullName.label; ke dalam komputer ini.">
+<!ENTITY confirm.server2.label "Amaran: Data peranti berikut akan ditulis ganti dengan data lokal anda:">
+
+<!-- New & Existing Account: Setup Complete -->
+<!ENTITY setup.successPage.title "Penetapan Selesai">
+<!ENTITY changeOptions.label "Anda boleh tukar keutamaan ini dengan memilih Pilihan Sync di bawah.">
+<!ENTITY continueUsing.label "Sekarang anda sudah boleh menggunakan &brandShortName;.">
diff --git a/l10n-ms/suite/chrome/common/sync/syncSetup.properties b/l10n-ms/suite/chrome/common/sync/syncSetup.properties
new file mode 100644
index 0000000000..f4d0f96981
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/sync/syncSetup.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button.syncOptions.label = Pilihan Sync
+button.syncOptionsDone.label = Siap
+button.syncOptionsCancel.label = Batal
+
+invalidEmail.label = Alamat e-mel tidak sah
+serverInvalid.label = Sila masukkan pelayan URL yang sah
+usernameNotAvailable.label = Sedang digunakan
+
+verifying.label = Mengesahkan…
+
+# LOCALIZATION NOTE (additionalClientCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of additional clients (was %S for a short while, use #1 instead, even if both work)
+additionalClientCount.label = dan #1 peranti tambahan
+# LOCALIZATION NOTE (bookmarksCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of bookmarks (was %S for a short while, use #1 instead, even if both work)
+bookmarksCount.label = #1 tandabuku
+# LOCALIZATION NOTE (historyDaysCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of days (was %S for a short while, use #1 instead, even if both work)
+historyDaysCount.label = #1 hari lepas
+# LOCALIZATION NOTE (passwordsCount.label):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of passwords (was %S for a short while, use #1 instead, even if both work)
+passwordsCount.label = #1 kata laluan
+# LOCALIZATION NOTE (addonsCount.label):
+# #1 is the number of add-ons, see the link above for forms
+addonsCount.label = #1 add-on
+
+save.recoverykey.title = Simpan Kekunci Pemulihan
+save.recoverykey.defaultfilename = SeaMonkey Recovery Key.xhtml
+
+newAccount.action.label = SeaMonkey Sync kini telah ditetapkan untuk menyelaraskan semua data pelayar anda secara automatik.
+newAccount.change.label = Anda boleh pilih ciri yang mahu diselaraskan dengan memilih Pilihan Sync di bawah.
+resetClient.change.label = SeaMonkey Sync akan menggabungkan semua data pelayar dalam komputer ini ke akaun Sync anda.
+wipeClient.change.label = SeaMonkey Sync akan menggantikan semua data pelayar dalam komputer ini dengan data dalam akaun Sync anda.
+wipeRemote.change.label = SeaMonkey Sync akan menggantikan semua data pelayar dalam akaun Sync anda dengan data dalam komputer ini.
+existingAccount.change.label = Anda boleh tukar keutamaan ini dengan memilih Pilihan Sync di bawah.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
diff --git a/l10n-ms/suite/chrome/common/tasksOverlay.dtd b/l10n-ms/suite/chrome/common/tasksOverlay.dtd
new file mode 100644
index 0000000000..eb3f7268e3
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/tasksOverlay.dtd
@@ -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/. -->
+
+<!-- extracted from tasksOverlay.xul -->
+<!ENTITY navigatorCmd.label "Pelayar">
+<!ENTITY navigatorCmd.accesskey "P">
+<!ENTITY navigatorCmd.commandkey "1">
+
+<!-- LOCALIZATION NOTE (editorCmd.label): DONT_TRANSLATE -->
+<!ENTITY editorCmd.label "Composer">
+<!ENTITY editorCmd.accesskey "c">
+<!ENTITY editorCmd.commandkey "4">
+
+<!ENTITY errorConsoleCmd.label "Konsol Ralat">
+<!ENTITY errorConsoleCmd.accesskey "K">
+<!ENTITY errorConsoleCmd.commandkey2 "j">
+
+<!ENTITY taskNavigator.tooltip "Pelayar">
+<!ENTITY taskComposer.tooltip "Composer">
+
+<!ENTITY webDevelopment.label "Pembangunan Web">
+<!ENTITY webDevelopment.accesskey "W">
+
+<!ENTITY windowMenu.label "Tetingkap">
+<!ENTITY windowMenu.accesskey "T">
+
+<!ENTITY tasksMenu.label "Alatan">
+<!ENTITY tasksMenu.accesskey "A">
+
+<!ENTITY datamanCmd.label "Pengurus Data">
+<!ENTITY datamanCmd.accesskey "D">
+
+<!ENTITY passwordManagerCmd.label "Pengurus Kata Laluan">
+<!ENTITY passwordManagerCmd.accesskey "K">
+
+<!ENTITY passwordDisplayCmd.label "Urus Kata laluan Disimpan">
+<!ENTITY passwordDisplayCmd.accesskey "U">
+
+<!ENTITY passwordExpireCmd.label "Log Keluar">
+<!ENTITY passwordExpireCmd.accesskey "l">
+
+<!ENTITY downloadManagerCmd.label "Pengurus Muat Turun">
+<!ENTITY downloadManagerCmd.accesskey "n">
+<!ENTITY downloadManagerCmd.commandkey "j">
+
+<!ENTITY addOnsManagerCmd.label "Pengurus Add-ons">
+<!ENTITY addOnsManagerCmd.accesskey "A">
+<!ENTITY addOnsManagerCmd.commandkey "a">
+
+<!ENTITY switchProfileCmd.label "Tukar Profil…">
+<!ENTITY switchProfileCmd.accesskey "r">
+
+<!ENTITY syncBrand.shortName.label "Sync">
+<!-- LOCALIZATION NOTE (syncSetup.accesskey, syncSyncNowItem.accesskey):
+ Only one of these will show at a time (based on setup state),
+ so reusing accesskey is ok. -->
+<!ENTITY syncSetup.label "Penetapan Sync…">
+<!ENTITY syncSetup.accesskey "S">
+<!ENTITY syncSyncNowItem.label "Sync Sekarang">
+<!ENTITY syncSyncNowItem.accesskey "S">
diff --git a/l10n-ms/suite/chrome/common/typeaheadfind.properties b/l10n-ms/suite/chrome/common/typeaheadfind.properties
new file mode 100644
index 0000000000..a92c9f82ad
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/typeaheadfind.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/.
+
+openparen = (
+closeparen = )
+textfound = Teks ditemui: "
+textnotfound = Teks tidak ditemui: "
+linkfound = Pautan ditemui: "
+linknotfound = Pautan tidak ditemui: "
+closequote = "
+stopfind = Berhenti mencari.
+starttextfind = Memulakan -- cari teks semasa anda menaip
+startlinkfind = Memulakan -- cari pautan semasa anda menaip
+repeated = diulang
+nextmatch = - padanan berikut
+prevmatch = - padanan dahulu
diff --git a/l10n-ms/suite/chrome/common/utilityOverlay.dtd b/l10n-ms/suite/chrome/common/utilityOverlay.dtd
new file mode 100644
index 0000000000..6e619c976d
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/utilityOverlay.dtd
@@ -0,0 +1,157 @@
+<!-- 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 things need to move into utilityOverlay.xul -->
+<!ENTITY offlineGoOfflineCmd.label "Kerja Luar Talian">
+<!ENTITY offlineGoOfflineCmd.accesskey "j">
+
+<!-- LOCALIZATION NOTE : FILE This file contains the global menu items -->
+
+<!ENTITY fileMenu.label "Fail">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "Baru">
+<!ENTITY newMenu.accesskey "B">
+<!ENTITY newBlankPageCmd.label "Halaman Composer">
+<!ENTITY newBlankPageCmd.accesskey "H">
+<!ENTITY newBlankPageCmd.key "n">
+<!ENTITY newPageFromTemplateCmd.label "Halaman Menggunakan Templat">
+<!ENTITY newPageFromTemplateCmd.accesskey "t">
+<!ENTITY newPageFromDraftCmd.label "Halaman Menggunakan Draf">
+<!ENTITY newPageFromDraftCmd.accesskey "r">
+<!ENTITY newNavigatorCmd.label "Tetingkap Pelayar">
+<!ENTITY newNavigatorCmd.key "N">
+<!ENTITY newNavigatorCmd.accesskey "P">
+<!ENTITY newPrivateWindowCmd.label "Tetingkap Peribadi">
+<!ENTITY newPrivateWindowCmd.key "B">
+<!ENTITY newPrivateWindowCmd.accesskey "T">
+<!ENTITY printSetupCmd.label "Penetapan Halaman…">
+<!ENTITY printSetupCmd.accesskey "p">
+<!ENTITY printPreviewCmd.label "Previu Cetakan">
+<!ENTITY printPreviewCmd.accesskey "v">
+<!ENTITY printCmd.label "Cetak…">
+<!ENTITY printCmd.accesskey "C">
+<!ENTITY printCmd.key "P">
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "Batal">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "B">
+<!ENTITY redoCmd.label "Ulang">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "U">
+<!ENTITY cutCmd.label "Potong">
+<!ENTITY cutCmd.key "X">
+<!ENTITY cutCmd.accesskey "t">
+<!ENTITY copyCmd.label "Salin">
+<!ENTITY copyCmd.key "C">
+<!ENTITY copyCmd.accesskey "S">
+<!ENTITY pasteCmd.label "Tampal">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteCmd.accesskey "T">
+<!ENTITY pasteGoCmd.label "Tampal &amp; Lancarkan">
+<!ENTITY pasteGoCmd.accesskey "L">
+
+<!-- LOCALIZATION NOTE (pasteSearchCmd): "Search" is a verb, this is the
+ search bar equivalent to the url bar's "Paste & Go" -->
+<!ENTITY pasteSearchCmd.label "Tampal &amp; Cari">
+<!ENTITY pasteSearchCmd.accesskey "l">
+<!ENTITY deleteCmd.label "Buang">
+<!ENTITY deleteCmd.accesskey "B">
+<!ENTITY selectAllCmd.label "Pilih Semua">
+<!ENTITY selectAllCmd.key "A">
+<!ENTITY selectAllCmd.accesskey "S">
+<!ENTITY clearHistoryCmd.label "Buang Sejarah Carian">
+<!ENTITY clearHistoryCmd.accesskey "S">
+<!ENTITY showSuggestionsCmd.label "Papar Cadangan">
+<!ENTITY showSuggestionsCmd.accesskey "P">
+<!ENTITY preferencesCmd.label "Keutamaan…">
+<!ENTITY preferencesCmd.key "E">
+<!ENTITY preferencesCmd.accesskey "e">
+<!ENTITY findBarCmd.key "F">
+<!-- LOCALIZATION NOTE (findBarCmd.accesskey): This accesskey should be within
+ findBarCmd.label found in editorOverlay.dtd, findCmd.label in messenger.dtd
+ and messengercompose.dtd and findOnCmd.label found in navigatorOverlay.dtd -->
+<!ENTITY findBarCmd.accesskey "C">
+<!ENTITY findReplaceCmd.accesskey "t">
+<!ENTITY findAgainCmd.label "Cari Lagi">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "Cari Dahulu">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.accesskey "d">
+<!ENTITY findTypeTextCmd.label "Cari Teks Semasa Anda Menaip">
+<!ENTITY findTypeTextCmd.accesskey "s">
+<!ENTITY findTypeLinksCmd.label "Cari Pautan Semasa Anda Menaip">
+<!ENTITY findTypeLinksCmd.accesskey "n">
+
+<!ENTITY viewMenu.label "Papar">
+<!ENTITY viewMenu.accesskey "P">
+<!ENTITY viewToolbarsMenu.label "Papar/Sorok">
+<!ENTITY viewToolbarsMenu.accesskey "r">
+<!ENTITY showTaskbarCmd.label "Bar Status">
+<!ENTITY showTaskbarCmd.accesskey "S">
+
+<!ENTITY helpMenu.label "Bantuan">
+<!ENTITY helpMenu.accesskey "t">
+
+<!ENTITY helpTroubleshootingInfo.label "Maklumat Pencarisilapan">
+<!ENTITY helpTroubleshootingInfo.accesskey "M">
+<!ENTITY releaseCmd.label "Nota Keluaran">
+<!ENTITY releaseCmd.accesskey "N">
+<!ENTITY helpSafeMode.label "Mula semula dengan Add-ons Dinyahdayakan">
+<!ENTITY helpSafeMode.accesskey "M">
+<!ENTITY updateCmd.label "Semak Kemaskini…">
+<!ENTITY updateCmd.accesskey "S">
+<!ENTITY aboutCmd.label "Perihal &brandShortName;">
+<!ENTITY aboutCmd.accesskey "P">
+<!ENTITY aboutCommPluginsCmd.label "Perihal Plugin">
+<!ENTITY aboutCommPluginsCmd.accesskey "g">
+
+<!ENTITY direct.label "Atas Talian (Proksi: Tiada)">
+<!ENTITY direct.accesskey "T">
+<!ENTITY manual.label "Atas Talian (Proksi: Manual)">
+<!ENTITY manual.accesskey "M">
+<!ENTITY pac.label "Atas Talian (Proksi: URL Auto)">
+<!ENTITY pac.accesskey "A">
+<!ENTITY wpad.label "Atas Talian (Proksi: Carian Auto)">
+<!ENTITY wpad.accesskey "C">
+<!ENTITY system.label "Atas Talian (Proksi: Proksi Sistem)">
+<!ENTITY system.accesskey "S">
+
+<!ENTITY proxy.label "Konfigurasi Proksi…">
+<!ENTITY proxy.accesskey "K">
+
+<!ENTITY bidiSwitchTextDirectionItem.label "Tukar Hala Teks">
+<!ENTITY bidiSwitchTextDirectionItem.accesskey "k">
+<!ENTITY bidiSwitchTextDirectionItem.commandkey "X">
+
+<!ENTITY customizeToolbarContext.label "Penyesuaian…">
+<!ENTITY customizeToolbarContext.accesskey "P">
+
+<!ENTITY customizeToolbar.toolbarmode.label "Tetapan untuk bar alatan ini">
+<!ENTITY customizeToolbar.toolbarmode.accesskey "e">
+<!ENTITY customizeToolbar.iconsAndText.label "Ikon dan Teks">
+<!ENTITY customizeToolbar.iconsAndText.accesskey "a">
+<!ENTITY customizeToolbar.icons.label "Ikon">
+<!ENTITY customizeToolbar.icons.accesskey "o">
+<!ENTITY customizeToolbar.text.label "Teks">
+<!ENTITY customizeToolbar.text.accesskey "T">
+<!ENTITY customizeToolbar.useSmallIcons.label "Guna ikon kecil">
+<!ENTITY customizeToolbar.useSmallIcons.accesskey "k">
+<!ENTITY customizeToolbar.labelAlignEnd.label "Papar teks di sebelah ikon">
+<!ENTITY customizeToolbar.labelAlignEnd.accesskey "b">
+<!ENTITY customizeToolbar.useDefault.label "Guna tetapan piawai">
+<!ENTITY customizeToolbar.useDefault.accesskey "G">
+
+<!-- Popup Blocked notification menu -->
+<!ENTITY allowPopups.accesskey "p">
+<!ENTITY showPopupManager.label "Urus Popup">
+<!ENTITY showPopupManager.accesskey "U">
+<!ENTITY dontShowMessage.label "Jangan papar mesej ini apabila popup telah disekat">
+<!ENTITY dontShowMessage.accesskey "J">
+
+<!ENTITY syncToolbarButton.label "Sync">
diff --git a/l10n-ms/suite/chrome/common/utilityOverlay.properties b/l10n-ms/suite/chrome/common/utilityOverlay.properties
new file mode 100644
index 0000000000..e8daf24420
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/utilityOverlay.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Online/offline tooltips
+onlineTooltip0=Anda berada atas talian (proksi: tiada). Klik ikon untuk pergi ke luar talian.
+onlineTooltip1=Anda berada atas talian (proksi: manual). Klik ikon untuk pergi ke luar talian.
+onlineTooltip2=Anda berada atas talian (proksi: URL auto). Klik ikon untuk pergi ke luar talian.
+onlineTooltip4=Anda berada atas talian (proksi: carian auto). Klik ikon untuk pergi ke luar talian.
+onlineTooltip5=Anda berada atas talian (proksi: guna proksi sistem). Klik ikon untuk pergi ke luar talian.
+offlineTooltip=Anda berada di luar talian. Klik ikon untuk pergi ke atas talian.
+
+# Popup menus
+popupMenuShow=Papar %S
+popupAllow=Izinkan popup dari %S
+
+# Check for Updates
+updatesItem_default=Semak Kemaskini…
+updatesItem_defaultFallback=Semak Kemaskini…
+updatesItem_defaultAccessKey=S
+updatesItem_downloading=Memuat turun %S…
+updatesItem_downloadingFallback=Memuat turun Kemaskini…
+updatesItem_downloadingAccessKey=M
+updatesItem_resume=Sambung Memuat turun %S…
+updatesItem_resumeFallback=Sambung Memuat turun Kemaskini…
+updatesItem_resumeAccessKey=K
+updatesItem_pending=Laksanakan Kemaskini yang Dimuat turun Sekarang…
+updatesItem_pendingFallback=Laksanakan Kemaskini yang Dimuat turun Sekarang…
+updatesItem_pendingAccessKey=K
+
+# safeModeRestart
+safeModeRestartPromptTitle=Mula semula dengan Add-ons Dinyahdayakan
+safeModeRestartPromptMessage=Adakah anda pasti mahu menyahdayakan semua add-ons dan muat semula?
+safeModeRestartButton=Mula semula
+safeModeRestartCheckbox=Mula semula dengan Add-ons Dinyahdayakan
diff --git a/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.dtd b/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.dtd
new file mode 100644
index 0000000000..815ac38efc
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY applyTheme.label "Terap Tema">
+<!ENTITY applyTheme.accesskey "T">
+<!ENTITY getMoreThemesCmd.label "Dapatkan Lebih Banyak Tema">
+<!ENTITY getMoreThemesCmd.accesskey "D">
+<!ENTITY getBackgroundsCmd.label "Dapatkan Latar belakang">
+<!ENTITY getBackgroundsCmd.accesskey "L">
diff --git a/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.properties b/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.properties
new file mode 100644
index 0000000000..ccb1fc01e5
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/viewApplyThemeOverlay.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/.
+
+switchskins=Perubahan tema akan berkesan apabila anda memulakan semula %S.
+switchskinstitle=Terap Tema
+switchskinsnow=Mula semula Sekarang
+switchskinslater=Mula semula Kemudian
diff --git a/l10n-ms/suite/chrome/common/viewZoomOverlay.dtd b/l10n-ms/suite/chrome/common/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..ac8b382e21
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/viewZoomOverlay.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE: do not use digits "0"-"9" as accesskeys -->
+<!ENTITY zoomEnlargeCmd.label "Lebih besar">
+<!ENTITY zoomEnlargeCmd.accesskey "L">
+<!ENTITY zoomEnlargeCmd.commandkey "+">
+<!ENTITY zoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+
+<!ENTITY zoomReduceCmd.label "Lebih kecil">
+<!ENTITY zoomReduceCmd.accesskey "L">
+<!ENTITY zoomReduceCmd.commandkey "-">
+
+<!ENTITY zoomResetCmd.commandkey "0">
diff --git a/l10n-ms/suite/chrome/common/viewZoomOverlay.properties b/l10n-ms/suite/chrome/common/viewZoomOverlay.properties
new file mode 100644
index 0000000000..c2079315f6
--- /dev/null
+++ b/l10n-ms/suite/chrome/common/viewZoomOverlay.properties
@@ -0,0 +1,32 @@
+# 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/.
+
+# zoom submenu
+#
+# LOCALIZATION NOTE: don't translate %zoom% in any property
+# don't use digits "0"-"9" for accesskeys
+
+# LOCALIZATION NOTE (fullZoom,textZoom): are never available at the same time
+fullZoom.label=Zum (%zoom% %)
+fullZoom.accesskey=Z
+textZoom.label=Zum Teks (%zoom% %)
+textZoom.accesskey=Z
+
+# labels and accesskeys to emphasize the 100 % and 200 % entries
+zoom.100.label=100 % (Saiz Asal)
+zoom.100.accesskey=z
+zoom.200.label=200 % (Saiz Berganda)
+zoom.200.accesskey=B
+
+# labels and accesskeys to emphasize the minimum and maximum boundaries
+zoom.min.label=%zoom% % (Minimum)
+zoom.min.accesskey=n
+zoom.max.label=%zoom% % (Maksimum)
+zoom.max.accesskey=k
+
+# label pattern for remaining values, accesskeys are assigned dynamically
+zoom.value.label=%zoom% %
+
+zoom.other.label=Lain-lain (%zoom% %) …
+zoom.other.accesskey=L
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EdAdvancedEdit.dtd b/l10n-ms/suite/chrome/editor/dialogs/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..6ff43cf8c2
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EdAdvancedEdit.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY WindowTitle.label "Editor Sifat Lanjutan">
+<!ENTITY AttName.label "Atribut: ">
+<!ENTITY AttValue.label "Nilai: ">
+<!ENTITY PropertyName.label "Sifat: ">
+<!ENTITY currentattributesfor.label "Atribut semasa untuk: ">
+<!ENTITY tree.attributeHeader.label "Atribut">
+<!ENTITY tree.propertyHeader.label "Sifat">
+<!ENTITY tree.valueHeader.label "Nilai">
+<!ENTITY tabHTML.label "Atribut HTML">
+<!ENTITY tabCSS.label "Gaya Dalam-susunan">
+<!ENTITY tabJSE.label "Acara JavaScript">
+
+<!ENTITY editAttribute.label "Klik pada item di atas untuk mengedit nilainya">
+<!ENTITY removeAttribute.label "Buang">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EdColorPicker.dtd b/l10n-ms/suite/chrome/editor/dialogs/EdColorPicker.dtd
new file mode 100644
index 0000000000..0f1c59e485
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EdColorPicker.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Warna">
+<!ENTITY lastPickedColor.label "Warna terakhir-dipilih">
+<!ENTITY lastPickedColor.accessKey "W">
+<!ENTITY chooseColor1.label "Pilih warna:">
+<!ENTITY chooseColor2.label "Masukkan string warna HTML">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(contoh: &quot;#0000ff&quot; atau &quot;blue&quot;):">
+<!ENTITY default.label "Piawai">
+<!ENTITY default.accessKey "P">
+<!ENTITY palette.label "Palet:">
+<!ENTITY standardPalette.label "Standard">
+<!ENTITY webPalette.label "Semua warna web">
+<!ENTITY background.label "Latar belakang untuk:">
+<!ENTITY background.accessKey "L">
+<!ENTITY table.label "Jadual">
+<!ENTITY table.accessKey "J">
+<!ENTITY cell.label "Sel">
+<!ENTITY cell.accessKey "S">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EdConvertToTable.dtd b/l10n-ms/suite/chrome/editor/dialogs/EdConvertToTable.dtd
new file mode 100644
index 0000000000..ad508d994e
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EdConvertToTable.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Tukar Jadi Jadual">
+<!ENTITY instructions1.label "Composer mencipta baris jadual baru untuk setiap perenggan dalam pilihan.">
+<!ENTITY instructions2.label "Pilih aksara yang digunakan untuk mengasingkan pilihan ke dalam lajur:">
+<!ENTITY commaRadio.label "Koma">
+<!ENTITY spaceRadio.label "Ruang">
+<!ENTITY otherRadio.label "Aksara Lain:">
+<!ENTITY deleteCharCheck.label "Buang pemisah aksara">
+<!ENTITY collapseSpaces.label "Abai ruang ekstra">
+<!ENTITY collapseSpaces.tooltip "Tukar ruang bersebelahan menjadi satu pemisah">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EdDialogOverlay.dtd b/l10n-ms/suite/chrome/editor/dialogs/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..850f797cd0
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EdDialogOverlay.dtd
@@ -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/. -->
+
+<!ENTITY AdvancedEditButton.label "Edit Lanjutan…">
+<!ENTITY AdvancedEditButton.accessKey "E">
+<!ENTITY AdvancedEditButton.tooltip "Tambah atau ubah atribut HTML, gaya atribut dan JavaScript">
+<!ENTITY chooseFileButton.label "Pilih Fail...">
+<!ENTITY chooseFileButton.accessKey "F">
+<!ENTITY chooseFileLinkButton.label "Pilih Fail...">
+<!ENTITY chooseFileLinkButton.accessKey "l">
+<!ENTITY makeUrlRelative.label "URL adalah relatif kepada lokasi halaman">
+<!ENTITY makeUrlRelative.accessKey "r">
+<!ENTITY makeUrlRelative.tooltip "Tukar antara URL relatif dengan muktamad. Anda perlu simpan halaman dahulu untuk menukarkan ini.">
+
+<!ENTITY LinkURLEditField2.label "Masukkan lokasi halaman web, fail lokal, atau pilih Nama Labuh atau Tajuk daripada medan menu konteks:">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EdNamedAnchorProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..ae1f740d32
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EdNamedAnchorProperties.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Nama Labuh">
+<!ENTITY anchorNameEditField.label "Nama Labuh:">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "Masukkan nama unik untuk nama labuh ini (sasaran)">
+
+
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditConflict.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditConflict.dtd
new file mode 100644
index 0000000000..8bc4728112
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditConflict.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Pilih Edit Perubahan">
+<!ENTITY conflictWarning.label "Halaman ini telah diubah oleh atur cara lain, tapi anda masih ada perubahan yang belum disimpan dalam Composer.">
+<!ENTITY conflictResolve.label "Pilih versi untuk dikekalkan:">
+<!ENTITY keepCurrentPageButton.label "Kekalkan perubahan halaman semasa">
+<!ENTITY useOtherPageButton.label "Ganti halaman semasa dengan perubahan lain">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorButtonProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorButtonProperties.dtd
new file mode 100644
index 0000000000..5c932dd495
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorButtonProperties.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Butang">
+
+<!ENTITY Settings.label "Tetapan">
+
+<!ENTITY ButtonType.label "Jenis">
+<!ENTITY ButtonType.accesskey "J">
+<!ENTITY submit.value "Hantar">
+<!ENTITY reset.value "Set semula">
+<!ENTITY button.value "Butang">
+
+<!ENTITY ButtonName.label "Nama:">
+<!ENTITY ButtonName.accesskey "N">
+<!ENTITY ButtonValue.label "Nilai:">
+<!ENTITY ButtonValue.accesskey "N">
+<!ENTITY tabIndex.label "Indeks Tab:">
+<!ENTITY tabIndex.accesskey "I">
+<!ENTITY ButtonDisabled.label "Dinyahdayakan">
+<!ENTITY ButtonDisabled.accesskey "N">
+<!ENTITY AccessKey.label "Kekunci Akses:">
+<!ENTITY AccessKey.accesskey "K">
+
+<!ENTITY RemoveButton.label "Buang Butang">
+<!ENTITY RemoveButton.accesskey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorColorProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorColorProperties.dtd
new file mode 100644
index 0000000000..209ee5c449
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorColorProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Warna dan Latar belakang Halaman">
+<!ENTITY pageColors.label "Warna Halaman">
+<!ENTITY defaultColorsRadio.label "Warna piawai pembaca (Jangan tetapkan warna dalam halaman)">
+<!ENTITY defaultColorsRadio.accessKey "J">
+<!ENTITY defaultColorsRadio.tooltip "Guna tetapan warna daripada pemapar pelayar (pembaca) sahaja">
+<!ENTITY customColorsRadio.label "Guna warna penyesuaian:">
+<!ENTITY customColorsRadio.accessKey "G">
+<!ENTITY customColorsRadio.tooltip "Warna berikut menterbalikkan tetapan pemapar pelayar">
+
+<!ENTITY normalText.label "Teks normal">
+<!ENTITY normalText.accessKey "T">
+<!ENTITY linkText.label "Teks pautan">
+<!ENTITY linkText.accessKey "T">
+<!ENTITY activeLinkText.label "Teks pautan aktif">
+<!ENTITY activeLinkText.accessKey "T">
+<!ENTITY visitedLinkText.label "Teks pautan dilayari">
+<!ENTITY visitedLinkText.accessKey "T">
+<!ENTITY background.label "Latar belakang:">
+<!ENTITY background.accessKey "L">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "Imej latar belakang:">
+<!ENTITY backgroundImage.accessKey "m">
+<!ENTITY backgroundImage.tooltip "Guna fail imej sebagai latar belakang halaman anda">
+<!ENTITY backgroundImage.shortenedDataURI "Ringkasan data URI (salinan URI penuh akan diletakkan pada klipbod)">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorFieldSetProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorFieldSetProperties.dtd
new file mode 100644
index 0000000000..54372d67c8
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorFieldSetProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Sifat Tetapan Medan">
+
+<!ENTITY Legend.label "Petunjuk">
+<!ENTITY Legend.accesskey "P">
+
+<!ENTITY EditLegendText.label "Edit Petunjuk:">
+<!ENTITY EditLegendText.accesskey "P">
+<!ENTITY LegendAlign.label "Jajar Petunjuk:">
+<!ENTITY LegendAlign.accesskey "J">
+<!ENTITY AlignDefault.label "Piawai">
+<!ENTITY AlignLeft.label "Kiri">
+<!ENTITY AlignCenter.label "Tengah">
+<!ENTITY AlignRight.label "Kanan">
+
+<!ENTITY RemoveFieldSet.label "Buang Tetapan Medan">
+<!ENTITY RemoveFieldSet.accesskey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorFormProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorFormProperties.dtd
new file mode 100644
index 0000000000..1b2b102044
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorFormProperties.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Borang">
+
+<!ENTITY Settings.label "Tetapan">
+
+<!ENTITY FormName.label "Nama Borang:">
+<!ENTITY FormName.accesskey "N">
+<!ENTITY FormAction.label "URL Tindakan:">
+<!ENTITY FormAction.accesskey "T">
+<!ENTITY FormMethod.label "Kaedah:">
+<!ENTITY FormMethod.accesskey "K">
+<!ENTITY FormEncType.label "Pengekodan:">
+<!ENTITY FormEncType.accesskey "g">
+<!ENTITY FormTarget.label "Bingkai Sasaran:">
+<!ENTITY FormTarget.accesskey "S">
+
+<!ENTITY RemoveForm.label "Buang Borang">
+<!ENTITY RemoveForm.accesskey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorHLineProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..217ac81804
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorHLineProperties.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Garis Mengufuk">
+
+<!ENTITY dimensionsBox.label "Dimensi">
+<!ENTITY heightEditField.label "Tinggi:">
+<!ENTITY heightEditField.accessKey "T">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY pixelsPopup.value "piksel">
+<!ENTITY alignmentBox.label "Jajaran">
+<!ENTITY leftRadio.label "Kiri">
+<!ENTITY leftRadio.accessKey "K">
+<!ENTITY centerRadio.label "Tengah">
+<!ENTITY centerRadio.accessKey "T">
+<!ENTITY rightRadio.label "Kanan">
+<!ENTITY rightRadio.accessKey "K">
+
+<!ENTITY threeDShading.label "Naung 3-D">
+<!ENTITY threeDShading.accessKey "N">
+<!ENTITY saveSettings.label "Guna sebagai Piawai">
+<!ENTITY saveSettings.accessKey "P">
+<!ENTITY saveSettings.tooltip "Simpan tetapan berikut untuk digunakan apabila menyisipkan garis mengufuk yang baru">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorImageProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorImageProperties.dtd
new file mode 100644
index 0000000000..b91c5da42b
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorImageProperties.dtd
@@ -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/. -->
+
+<!-- These strings are for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Imej">
+
+<!ENTITY pixelsPopup.value "piksel">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "Lokasi Imej:">
+<!ENTITY locationEditField.accessKey "L">
+<!ENTITY locationEditField.tooltip "Taip nama fail atau lokasi imej">
+<!ENTITY locationEditField.shortenedDataURI "Ringkasan data URI (salinan URI penuh akan diletakkan pada klipbod)">
+<!ENTITY title.label "Panduan alatan:">
+<!ENTITY title.accessKey "P">
+<!ENTITY title.tooltip "Atribut 'tajuk' html yang dipaparkan sebagai panduan alatan">
+<!ENTITY altText.label "Teks alternatif:">
+<!ENTITY altText.accessKey "T">
+<!ENTITY altTextEditField.tooltip "Taip teks untuk dipaparkan bagi menggantikan imej">
+<!ENTITY noAltText.label "Jangan gunakan teks alternatif">
+<!ENTITY noAltText.accessKey "J">
+
+<!ENTITY previewBox.label "Previu Imej">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "Saiz Sebenar:">
+<!ENTITY actualSizeRadio.label "Saiz Sebenar">
+<!ENTITY actualSizeRadio.accessKey "S">
+<!ENTITY actualSizeRadio.tooltip "Kembali ke saiz imej sebenar">
+<!ENTITY customSizeRadio.label "Saiz Penyesuaian">
+<!ENTITY customSizeRadio.accessKey "S">
+<!ENTITY customSizeRadio.tooltip "Ubah saiz imej seperti yang dipaparkan dalam halaman">
+<!ENTITY heightEditField.label "Tinggi:">
+<!ENTITY heightEditField.accessKey "T">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY constrainCheckbox.label "Kekangan">
+<!ENTITY constrainCheckbox.accessKey "K">
+<!ENTITY constrainCheckbox.tooltip "Kekalkan nisbah aspek imej">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "Peta Imej">
+<!ENTITY removeImageMapButton.label "Buang">
+<!ENTITY removeImageMapButton.accessKey "B">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "Jajar Teks ke Imej">
+<!ENTITY bottomPopup.value "Pada bahagian bawah">
+<!ENTITY topPopup.value "Pada bahagian atas">
+<!ENTITY centerPopup.value "Pada bahagian tengah">
+<!ENTITY wrapRightPopup.value "Balut ke kanan">
+<!ENTITY wrapLeftPopup.value "Balut ke kiri">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "Ruangan">
+<!ENTITY leftRightEditField.label "Kiri dan Kanan:">
+<!ENTITY leftRightEditField.accessKey "K">
+<!ENTITY topBottomEditField.label "Atas dan Bawah:">
+<!ENTITY topBottomEditField.accessKey "A">
+<!ENTITY borderEditField.label "Sempadan Padat:">
+<!ENTITY borderEditField.accessKey "P">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "Papar sempadan di sekeliling imej yang dipautkan">
+<!ENTITY showImageLinkBorder.accessKey "P">
+<!ENTITY LinkAdvancedEditButton.label "Paut Edit Lanjutan…">
+<!ENTITY LinkAdvancedEditButton.accessKey "P">
+<!ENTITY LinkAdvancedEditButton.tooltip "Tambah atau ubah atribut HTML, gaya atribut dan JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "Borang">
+<!ENTITY imageLocationTab.label "Lokasi">
+<!ENTITY imageDimensionsTab.label "Dimensi">
+<!ENTITY imageAppearanceTab.label "Penampilan">
+<!ENTITY imageLinkTab.label "Pautan">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInputProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInputProperties.dtd
new file mode 100644
index 0000000000..119c98b5fc
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInputProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Sifat Medan Borang">
+<!ENTITY windowTitleImage.label "Sifat Imej Borang">
+
+<!ENTITY InputType.label "Jenis Medan">
+<!ENTITY InputType.accesskey "J">
+<!ENTITY text.value "Teks">
+<!ENTITY password.value "Kata laluan">
+<!ENTITY checkbox.value "Kotak Semakan">
+<!ENTITY radio.value "Butang Radio">
+<!ENTITY submit.value "Butang Hantar">
+<!ENTITY reset.value "Butang Set semula">
+<!ENTITY file.value "Fail">
+<!ENTITY hidden.value "Tersorok">
+<!ENTITY image.value "Imej">
+<!ENTITY button.value "Butang">
+
+<!ENTITY InputSettings.label "Tetapan Medan">
+<!ENTITY InputName.label "Nama Medan:">
+<!ENTITY InputName.accesskey "N">
+<!ENTITY GroupName.label "Nama Kumpulan:">
+<!ENTITY GroupName.accesskey "N">
+<!ENTITY InputValue.label "Nilai Medan:">
+<!ENTITY InputValue.accesskey "N">
+<!ENTITY InitialValue.label "Nilai Permulaan:">
+<!ENTITY InitialValue.accesskey "N">
+<!ENTITY InputChecked.label "Semakan Permulaan">
+<!ENTITY InputChecked.accesskey "S">
+<!ENTITY InputSelected.label "Pilihan Permulaan">
+<!ENTITY InputSelected.accesskey "P">
+<!ENTITY InputReadOnly.label "Baca Sahaja">
+<!ENTITY InputReadOnly.accesskey "B">
+<!ENTITY InputDisabled.label "Dinyahdayakan">
+<!ENTITY InputDisabled.accesskey "D">
+<!ENTITY tabIndex.label "Indeks Tab:">
+<!ENTITY tabIndex.accesskey "I">
+<!ENTITY TextSize.label "Saiz Medan:">
+<!ENTITY TextSize.accesskey "M">
+<!ENTITY TextLength.label "Panjang Maksimum:">
+<!ENTITY TextLength.accesskey "P">
+<!ENTITY AccessKey.label "Kekunci Akses:">
+<!ENTITY AccessKey.accesskey "K">
+<!ENTITY Accept.label "Jenis Penerimaan:">
+<!ENTITY Accept.accesskey "P">
+
+<!ENTITY ImageProperties.label "Sifat Imej…">
+<!ENTITY ImageProperties.accesskey "S">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInsertChars.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertChars.dtd
new file mode 100644
index 0000000000..f48670d701
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertChars.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Aksara">
+<!ENTITY category.label "Kategori">
+<!ENTITY letter.label "Huruf:">
+<!ENTITY letter.accessKey "H">
+<!ENTITY character.label "Aksara:">
+<!ENTITY character.accessKey "A">
+<!ENTITY accentUpper.label "Aksen Huruf besar">
+<!ENTITY accentLower.label "Aksen Huruf kecil">
+<!ENTITY otherUpper.label "Huruf besar Lain">
+<!ENTITY otherLower.label "Huruf kecil Lain">
+<!ENTITY commonSymbols.label "Simbol Biasa">
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY closeButton.label "Tutup">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInsertMath.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertMath.dtd
new file mode 100644
index 0000000000..26fc4dc89a
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Matematik">
+
+<!ENTITY sourceEditField.label "Masukkan kod sumber LaTeX:">
+
+<!ENTITY options.label "Pilihan">
+<!ENTITY optionInline.label "Mod sebaris">
+<!ENTITY optionInline.accesskey "M">
+<!ENTITY optionDisplay.label "Mod paparan">
+<!ENTITY optionDisplay.accesskey "p">
+<!ENTITY optionLTR.label "Arah kiri ke kanan">
+<!ENTITY optionLTR.accesskey "A">
+<!ENTITY optionRTL.label "Arah kanan ke kiri">
+<!ENTITY optionRTL.accesskey "k">
+
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY insertButton.accesskey "S">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInsertSource.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertSource.dtd
new file mode 100644
index 0000000000..18d527ecee
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertSource.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip HTML">
+<!ENTITY sourceEditField.label "Masukkan tag dan teks HTML:">
+<!ENTITY example.label "Contoh: ">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "Selamat Datang!">
+<!ENTITY insertButton.label "Sisip">
+<!ENTITY insertButton.accesskey "S">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTOC.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..e4becd3ced
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTOC.dtd
@@ -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/. -->
+
+<!ENTITY Window.title "Jadual Kandungan">
+<!ENTITY buildToc.label "Bina jadual kandungan daripada:">
+<!ENTITY tag.label "Tag:">
+<!ENTITY class.label "Kelas:">
+<!ENTITY header1.label "Tahap 1">
+<!ENTITY header2.label "Tahap 2">
+<!ENTITY header3.label "Tahap 3">
+<!ENTITY header4.label "Tahap 4">
+<!ENTITY header5.label "Tahap 5">
+<!ENTITY header6.label "Tahap 6">
+<!ENTITY makeReadOnly.label "Jadikan jadual kandungan baca-sahaja">
+<!ENTITY orderedList.label "Nombor semua entri dalam jadual kandungan">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTable.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTable.dtd
new file mode 100644
index 0000000000..2bc62b2b21
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorInsertTable.dtd
@@ -0,0 +1,18 @@
+<!-- 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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sisip Jadual">
+
+<!ENTITY size.label "Saiz">
+<!ENTITY numRowsEditField.label "Baris:">
+<!ENTITY numRowsEditField.accessKey "B">
+<!ENTITY numColumnsEditField.label "Lajur:">
+<!ENTITY numColumnsEditField.accessKey "L">
+<!ENTITY widthEditField.label "Lebar:">
+<!ENTITY widthEditField.accessKey "L">
+<!ENTITY borderEditField.label "Sempadan:">
+<!ENTITY borderEditField.accessKey "S">
+<!ENTITY borderEditField.tooltip "Taip satu nombor untuk sempadan jadual, atau taip (0) jika tiada sempadan">
+<!ENTITY pixels.label "piksel">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorLabelProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorLabelProperties.dtd
new file mode 100644
index 0000000000..c368fb60b4
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorLabelProperties.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Label">
+
+<!ENTITY Settings.label "Tetapan">
+<!ENTITY Settings.accesskey "T">
+
+<!ENTITY EditLabelText.label "Edit Teks:">
+<!ENTITY EditLabelText.accesskey "T">
+<!ENTITY LabelFor.label "Untuk Kawalan:">
+<!ENTITY LabelFor.accesskey "U">
+<!ENTITY AccessKey.label "Kekunci Akses:">
+<!ENTITY AccessKey.accesskey "K">
+
+<!ENTITY RemoveLabel.label "Buang Label">
+<!ENTITY RemoveLabel.accesskey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorLinkProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..4d64938f2d
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorLinkProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Sifat Pautan">
+<!ENTITY LinkURLBox.label "Lokasi Pautan">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorListProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorListProperties.dtd
new file mode 100644
index 0000000000..3f5c1294d6
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorListProperties.dtd
@@ -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/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Senarai">
+
+<!ENTITY ListType.label "Jenis Senarai">
+<!ENTITY bulletStyle.label "Gaya Bulet:">
+<!ENTITY startingNumber.label "Mula pada:">
+<!ENTITY startingNumber.accessKey "M">
+<!ENTITY none.value "Tiada">
+<!ENTITY bulletList.value "Senarai (Bukan-nombor) Bulet">
+<!ENTITY numberList.value "Senarai Bernombor">
+<!ENTITY definitionList.value "Senarai Takrif">
+<!ENTITY changeEntireListRadio.label "Tukar keseluruhan senarai">
+<!ENTITY changeEntireListRadio.accessKey "T">
+<!ENTITY changeSelectedRadio.label "Tukar hanya item dipilih">
+<!ENTITY changeSelectedRadio.accessKey "I">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorPageProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorPageProperties.dtd
new file mode 100644
index 0000000000..68b71f4744
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorPageProperties.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Sifat Halaman">
+<!ENTITY location.label "Lokasi:">
+<!ENTITY lastModified.label "Ubahsuai Terakhir:">
+<!ENTITY titleInput.label "Tajuk:">
+<!ENTITY titleInput.accessKey "T">
+<!ENTITY authorInput.label "Pengarang:">
+<!ENTITY authorInput.accessKey "P">
+<!ENTITY descriptionInput.label "Keterangan:">
+<!ENTITY descriptionInput.accessKey "K">
+<!ENTITY locationNewPage.label "[Halaman baru, masih belum disimpan]">
+<!ENTITY EditHEADSource1.label "Pengguna mahir:">
+<!ENTITY EditHEADSource2.label "Untuk mengedit kandungan bahagian &lt;head&gt;; gunakan &quot; Sumber HTML&quot; dalam Menu Paparan atau Bar alatan Mod Edit.">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorPersonalDictionary.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..68a4ad63ed
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorPersonalDictionary.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Kamus Peribadi">
+
+<!ENTITY wordEditField.label "Perkataan baru:">
+<!ENTITY wordEditField.accessKey "P">
+<!ENTITY AddButton.label "Tambah">
+<!ENTITY AddButton.accessKey "T">
+<!ENTITY DictionaryList.label "Perkataan dalam kamus:">
+<!ENTITY DictionaryList.accessKey "P">
+<!ENTITY ReplaceButton.label "Ganti">
+<!ENTITY ReplaceButton.accessKey "G">
+<!ENTITY RemoveButton.label "Buang">
+<!ENTITY RemoveButton.accessKey "g">
+
+<!ENTITY CloseButton.label "Tutup">
+<!ENTITY CloseButton.accessKey "T">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorPublish.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorPublish.dtd
new file mode 100644
index 0000000000..6d0b0bb4dd
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorPublish.dtd
@@ -0,0 +1,65 @@
+<!-- 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/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Halaman Penerbitan">
+<!ENTITY windowTitleSettings.label "Tetapan Penerbitan">
+<!ENTITY publishTab.label "Terbitkan">
+<!ENTITY settingsTab.label "Tetapan">
+<!ENTITY publishButton.label "Terbitkan">
+
+<!-- Publish Tab Panel -->
+<!ENTITY siteList.label "Nama Laman:">
+<!ENTITY siteList.accesskey "n">
+<!ENTITY siteList.tooltip "Pilih laman yang anda mahu terbitkan ini">
+<!ENTITY newSiteButton.label "Laman Baru">
+<!ENTITY newSiteButton.accesskey "B">
+<!ENTITY docDirList.label "Sub-direktori laman untuk halaman ini:">
+<!ENTITY docDirList.accesskey "S">
+<!ENTITY docDirList.tooltip "Pilih atau masukkan nama sub-direktori jauh untuk halaman ini">
+<!ENTITY publishImgCheckbox.label "Sisip imej dan fail lain">
+<!ENTITY publishImgCheckbox.accesskey "l">
+<!ENTITY publishImgCheckbox.tooltip "Terbitkan imej dan fail lain yang dirujuki oleh halaman ini">
+<!ENTITY sameLocationRadio.label "Guna lokasi yang sama dengan halaman">
+<!ENTITY sameLocationRadio.accesskey "G">
+<!ENTITY sameLocationRadio.tooltip "Terbitkan fail ke lokasi yang sama dengan halaman">
+<!ENTITY useSubdirRadio.label "Guna sub-direktori laman ini:">
+<!ENTITY useSubdirRadio.accesskey "d">
+<!ENTITY useSubdirRadio.tooltip "Terbitkan fail ke sub-direktori jauh yang dipilih">
+<!ENTITY otherDirList.tooltip "Pilih atau masukkan nama sub-direktori jauh yang menjadi tempat penerbitan fail">
+<!ENTITY pageTitle.label "Tajuk Halaman:">
+<!ENTITY pageTitle.accesskey "T">
+<!ENTITY pageTitle.tooltip "Masukkan tajuk yang menjadi pengenalan halaman dalam tetingkap dan tandabuku">
+<!ENTITY pageTitleExample.label "contoh: &quot;Halaman Web Saya&quot;">
+<!ENTITY filename.label "Nama fail:">
+<!ENTITY filename.accesskey "N">
+<!ENTITY filename.tooltip "Masukkan nama untuk fail ini, termasuk '.html' halaman web">
+<!ENTITY filenameExample.label "contoh: &quot;halamansaya.html&quot;">
+<!ENTITY setDefaultButton.label "Tetapkan sebagai Piawai">
+<!ENTITY setDefaultButton.accesskey "P">
+<!ENTITY removeButton.label "Buang Laman">
+<!ENTITY removeButton.accesskey "B">
+
+<!-- Settings Tab Panel -->
+<!ENTITY publishSites.label "Laman Penerbitan">
+<!ENTITY serverInfo.label "Maklumat Pelayan">
+<!ENTITY loginInfo.label "Maklumat Log masuk">
+<!ENTITY siteName.label "Nama Laman:">
+<!ENTITY siteName.accesskey "a">
+<!ENTITY siteName.tooltip "Nama gelaran untuk mengenal pasti lokasi laman penerbitan ini (contoh: 'LamanSaya')">
+<!ENTITY siteUrl.label "Alamat penerbitan (contoh: 'ftp://ftp.myisp.com/myusername'):">
+<!ENTITY siteUrl.accesskey "a">
+<!ENTITY siteUrl.tooltip "Alamat FTP:// atau HTTP:// yang disediakan oleh perkhidmatan ISP atau hos web anda">
+<!ENTITY browseUrl.label "Alamat HTTP laman anda (contoh: 'http://www.myisp.com/myusername'):">
+<!ENTITY browseUrl.accesskey "T">
+<!ENTITY browseUrl.tooltip "Alamat HTTP:// direktori halaman utama anda (jangan sertakan nama fail)">
+<!ENTITY username.label "Nama pengguna:">
+<!ENTITY username.accesskey "N">
+<!ENTITY username.tooltip "Nama pengguna yang anda gunakan untuk log masuk ke perkhidmatan ISP atau hos web">
+<!ENTITY password.label "Kata laluan:">
+<!ENTITY password.accesskey "t">
+<!ENTITY password.tooltip "Kata laluan untuk nama pengguna anda">
+<!ENTITY savePassword.label "Simpan Kata laluan">
+<!ENTITY savePassword.accesskey "S">
+<!ENTITY savePassword.tooltip "Pilih ini untuk menyimpan kata laluan dengan selamat menggunakan Pengurus Kata laluan">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorPublishProgress.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorPublishProgress.dtd
new file mode 100644
index 0000000000..51174b701f
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorPublishProgress.dtd
@@ -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/. -->
+
+<!-- Window title -->
+<!ENTITY siteUrl.label "URL Laman:">
+<!ENTITY docSubdir.label "Sub-direktori halaman:">
+<!ENTITY otherSubdir.label "Sub-direktori imej:">
+
+<!ENTITY status.label "Menerbitkan…">
+<!ENTITY fileList.label "Status Penerbitan">
+<!ENTITY succeeded.label "Berjaya">
+<!ENTITY failed.label "Gagal">
+
+<!ENTITY keepOpen "Kekalkan tetingkap ini terbuka selepas selesai penerbitan.">
+<!ENTITY closeButton.label "Tutup">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorReplace.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorReplace.dtd
new file mode 100644
index 0000000000..21627da89f
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorReplace.dtd
@@ -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/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!-- extracted from EdReplace.xhtml -->
+
+<!ENTITY replaceDialog.title "Cari dan Ganti">
+<!ENTITY findField.label "Cari teks:">
+<!ENTITY findField.accesskey "r">
+<!ENTITY replaceField.label "Ganti dengan:">
+<!ENTITY replaceField.accesskey "t">
+<!ENTITY caseSensitiveCheckbox.label "Padanan huruf tepat">
+<!ENTITY caseSensitiveCheckbox.accesskey "P">
+<!ENTITY wrapCheckbox.label "Balut keliling">
+<!ENTITY wrapCheckbox.accesskey "B">
+<!ENTITY backwardsCheckbox.label "Carian mengundur">
+<!ENTITY backwardsCheckbox.accesskey "m">
+<!ENTITY findNextButton.label "Cari Berikut">
+<!ENTITY findNextButton.accesskey "C">
+<!ENTITY replaceButton.label "Ganti">
+<!ENTITY replaceButton.accesskey "G">
+<!ENTITY replaceAndFindButton.label "Ganti dan Cari">
+<!ENTITY replaceAndFindButton.accesskey "d">
+<!ENTITY replaceAllButton.label "Ganti Semua">
+<!ENTITY replaceAllButton.accesskey "S">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY closeButton.accesskey "T">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorSaveAsCharset.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorSaveAsCharset.dtd
new file mode 100644
index 0000000000..84b36db4d1
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorSaveAsCharset.dtd
@@ -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/. -->
+
+<!-- These strings are generic to all or most of the editor's dialogs. -->
+
+<!-- This button is for the progressive disclosure of additional editing functionality -->
+
+<!-- These strings are for use specifically in the editor's link dialog. -->
+<!ENTITY windowTitle2.label "Simpan Dan Tukar Pengekodan Teks">
+<!ENTITY documentTitleTitle.label "Tajuk Halaman">
+<!ENTITY documentCharsetTitle2.label "Pengekodan Teks">
+<!ENTITY documentCharsetDesc2.label "Pilih dokumen pengekodan teks yang anda mahu simpan:">
+<!ENTITY documentExportToText.label "Eksport ke Teks">
+
+
+
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorSelectProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorSelectProperties.dtd
new file mode 100644
index 0000000000..f4b19b6da4
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorSelectProperties.dtd
@@ -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/. -->
+
+<!ENTITY windowTitle.label "Sifat Senarai Pilihan">
+
+<!ENTITY Select.label "Senarai Pilihan">
+<!ENTITY SelectName.label "Nama Senarai:">
+<!ENTITY SelectName.accesskey "N">
+<!ENTITY SelectSize.label "Tinggi:">
+<!ENTITY SelectSize.accesskey "T">
+<!ENTITY SelectMultiple.label "Pelbagai Pilihan">
+<!ENTITY SelectMultiple.accesskey "P">
+<!ENTITY SelectDisabled.label "Dinyahdayakan">
+<!ENTITY SelectDisabled.accesskey "D">
+<!ENTITY SelectTabIndex.label "Indeks Tab:">
+<!ENTITY SelectTabIndex.accesskey "I">
+
+<!ENTITY OptGroup.label "Kumpulan Pilihan">
+<!ENTITY OptGroupLabel.label "Label:">
+<!ENTITY OptGroupLabel.accesskey "L">
+<!ENTITY OptGroupDisabled.label "Dinyahdayakan">
+<!ENTITY OptGroupDisabled.accesskey "D">
+
+<!ENTITY Option.label "Pilihan">
+<!ENTITY OptionText.label "Teks:">
+<!ENTITY OptionText.accesskey "T">
+<!ENTITY OptionValue.label "Nilai:">
+<!ENTITY OptionValue.accesskey "N">
+<!ENTITY OptionSelected.label "Pilihan Permulaan">
+<!ENTITY OptionSelected.accesskey "P">
+<!ENTITY OptionDisabled.label "Dinyahdayakan">
+<!ENTITY OptionDisabled.accesskey "D">
+
+<!ENTITY TextHeader.label "Teks">
+<!ENTITY ValueHeader.label "Nilai">
+<!ENTITY SelectedHeader.label "Dipilih">
+
+<!ENTITY AddOption.label "Tambah Pilihan">
+<!ENTITY AddOption.accesskey "P">
+<!ENTITY AddOptGroup.label "Tambah Kumpulan">
+<!ENTITY AddOptGroup.accesskey "K">
+<!ENTITY RemoveElement.label "Buang">
+<!ENTITY RemoveElement.accesskey "B">
+<!ENTITY MoveElementUp.label "Pindah Atas">
+<!ENTITY MoveElementUp.accesskey "A">
+<!ENTITY MoveElementDown.label "Pindah Bawah">
+<!ENTITY MoveElementDown.accesskey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorSnapToGrid.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorSnapToGrid.dtd
new file mode 100644
index 0000000000..03607511f0
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorSnapToGrid.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Alih ke Grid">
+
+<!ENTITY enableSnapToGrid.label "aktifkan Alih ke Grid">
+<!ENTITY enableSnapToGrid.accessKey "a">
+
+<!ENTITY sizeEditField.label "Saiz:">
+<!ENTITY sizeEditField.accessKey "S">
+
+<!ENTITY pixelsLabel.value "piksel">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorSpellCheck.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..d898443744
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorSpellCheck.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "Semak Ejaan">
+
+<!ENTITY misspelledWord.label "Perkataan tersalah eja:">
+<!ENTITY wordEditField.label "Ganti dengan:">
+<!ENTITY wordEditField.accessKey "d">
+<!ENTITY checkwordButton.label "Semak Perkataan">
+<!ENTITY checkwordButton.accessKey "k">
+<!ENTITY suggestions.label "Cadangan:">
+<!ENTITY suggestions.accessKey "g">
+<!ENTITY ignoreButton.label "Abai">
+<!ENTITY ignoreButton.accessKey "A">
+<!ENTITY ignoreAllButton.label "Abai Semua">
+<!ENTITY ignoreAllButton.accessKey "m">
+<!ENTITY replaceButton.label "Ganti">
+<!ENTITY replaceButton.accessKey "G">
+<!ENTITY replaceAllButton.label "Ganti Semua">
+<!ENTITY replaceAllButton.accessKey "S">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY stopButton.accessKey "h">
+<!ENTITY userDictionary.label "Kamus Peribadi:">
+<!ENTITY moreDictionaries.label "Muat turun lebih banyak kamus…">
+<!ENTITY addToUserDictionaryButton.label "Tambah Perkataan">
+<!ENTITY addToUserDictionaryButton.accessKey "b">
+<!ENTITY editUserDictionaryButton.label "Edit…">
+<!ENTITY editUserDictionaryButton.accessKey "E">
+<!ENTITY recheckButton2.label "Semak semula Teks">
+<!ENTITY recheckButton2.accessKey "T">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY closeButton.accessKey "T">
+<!ENTITY sendButton.label "Hantar">
+<!ENTITY sendButton.accessKey "H">
+<!ENTITY languagePopup.label "Bahasa:">
+<!ENTITY languagePopup.accessKey "B">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorTableProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorTableProperties.dtd
new file mode 100644
index 0000000000..c98de3938e
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorTableProperties.dtd
@@ -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/. -->
+
+<!ENTITY tableWindow.title "Sifat Jadual">
+<!ENTITY applyButton.label "Terap">
+<!ENTITY applyButton.accesskey "T">
+<!ENTITY closeButton.label "Tutup">
+<!ENTITY tableTab.label "Jadual">
+<!ENTITY cellTab.label "Sel">
+<!ENTITY tableRows.label "Baris:">
+<!ENTITY tableRows.accessKey "B">
+<!ENTITY tableColumns.label "Lajur:">
+<!ENTITY tableColumns.accessKey "L">
+<!ENTITY tableHeight.label "Tinggi:">
+<!ENTITY tableHeight.accessKey "T">
+<!ENTITY tableWidth.label "Lebar:">
+<!ENTITY tableWidth.accessKey "L">
+<!ENTITY tableBorderSpacing.label "Sempadan dan Ruangan">
+<!ENTITY tableBorderWidth.label "Sempadan:">
+<!ENTITY tableBorderWidth.accessKey "S">
+<!ENTITY tableSpacing.label "Ruangan:">
+<!ENTITY tableSpacing.accessKey "R">
+<!ENTITY tablePadding.label "Penebal:">
+<!ENTITY tablePadding.accessKey "P">
+<!ENTITY tablePxBetwCells.label "piksel antara sel">
+<!ENTITY tablePxBetwBrdrCellContent.label "piksel antara sempadan sel dengan kandungan">
+<!ENTITY tableAlignment.label "Jajaran Jadual:">
+<!ENTITY tableAlignment.accessKey "J">
+<!ENTITY tableCaption.label "Petikan:">
+<!ENTITY tableCaption.accessKey "P">
+<!ENTITY tableCaptionAbove.label "Atas Jadual">
+<!ENTITY tableCaptionBelow.label "Bawah Jadual">
+<!ENTITY tableCaptionLeft.label "Kiri Jadual">
+<!ENTITY tableCaptionRight.label "Kanan jadual">
+<!ENTITY tableCaptionNone.label "Tiada">
+<!ENTITY tableInheritColor.label "(Biarkan warna halaman telus)">
+
+<!ENTITY cellSelection.label "Pemilihan">
+<!ENTITY cellSelectCell.label "Sel">
+<!ENTITY cellSelectRow.label "Baris">
+<!ENTITY cellSelectColumn.label "Lajur">
+<!ENTITY cellSelectNext.label "Berikut">
+<!ENTITY cellSelectNext.accessKey "B">
+<!ENTITY cellSelectPrevious.label "Dahulu">
+<!ENTITY cellSelectPrevious.accessKey "D">
+<!ENTITY applyBeforeChange.label "Perubahan semasa akan diterapkan sebelum menukar pilihan.">
+<!ENTITY cellContentAlignment.label "Jajaran Kandungan">
+<!ENTITY cellHorizontal.label "Mengufuk:">
+<!ENTITY cellHorizontal.accessKey "M">
+<!ENTITY cellVertical.label "Menegak:">
+<!ENTITY cellVertical.accessKey "M">
+<!ENTITY cellStyle.label "Gaya Sel:">
+<!ENTITY cellStyle.accessKey "S">
+<!ENTITY cellNormal.label "Normal">
+<!ENTITY cellHeader.label "Pengepala">
+<!ENTITY cellTextWrap.label "Balutan Teks:">
+<!ENTITY cellTextWrap.accessKey "T">
+<!ENTITY cellWrap.label "Balut">
+<!ENTITY cellNoWrap.label "Jangan balut">
+<!ENTITY cellAlignTop.label "Atas">
+<!ENTITY cellAlignMiddle.label "Tengah">
+<!ENTITY cellAlignBottom.label "Bawah">
+<!ENTITY cellAlignJustify.label "Imbang">
+<!ENTITY cellInheritColor.label "(Biarkan warna halaman telus)">
+<!ENTITY cellUseCheckboxHelp.label "Guna kotak semakan untuk menentukan sifat yang diterapkan dalam semua sel yang dipilih">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "Saiz">
+<!ENTITY pixels.label "piksel">
+<!ENTITY backgroundColor.label "Warna Latar belakang:">
+<!ENTITY backgroundColor.accessKey "L">
+<!ENTITY AlignLeft.label "Kiri">
+<!ENTITY AlignCenter.label "Tengah">
+<!ENTITY AlignRight.label "Kanan">
diff --git a/l10n-ms/suite/chrome/editor/dialogs/EditorTextAreaProperties.dtd b/l10n-ms/suite/chrome/editor/dialogs/EditorTextAreaProperties.dtd
new file mode 100644
index 0000000000..20ab106e29
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/dialogs/EditorTextAreaProperties.dtd
@@ -0,0 +1,33 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Sifat Medan Teks">
+
+<!ENTITY Settings.label "Tetapan">
+
+<!ENTITY TextAreaName.label "Nama Medan:">
+<!ENTITY TextAreaName.accessKey "N">
+<!ENTITY TextAreaRows.label "Baris:">
+<!ENTITY TextAreaRows.accessKey "B">
+<!ENTITY TextAreaCols.label "Lajur:">
+<!ENTITY TextAreaCols.accessKey "L">
+<!ENTITY TextAreaReadOnly.label "Baca Sahaja">
+<!ENTITY TextAreaReadOnly.accessKey "S">
+<!ENTITY TextAreaDisabled.label "Dinyahdayakan">
+<!ENTITY TextAreaDisabled.accessKey "D">
+<!ENTITY TextAreaTabIndex.label "Indeks Tab:">
+<!ENTITY TextAreaTabIndex.accessKey "I">
+<!ENTITY TextAreaAccessKey.label "Kekunci Akses:">
+<!ENTITY TextAreaAccessKey.accessKey "K">
+<!ENTITY InitialText.label "Teks Mula:">
+<!ENTITY InitialText.accessKey "T">
+
+<!ENTITY TextAreaWrap.label "Mod Balutan:">
+<!ENTITY TextAreaWrap.accessKey "B">
+<!ENTITY WrapDefault.value "Piawai">
+<!ENTITY WrapOff.value "Nyahaktif">
+<!ENTITY WrapHard.value "Keras">
+<!ENTITY WrapSoft.value "Lembut">
+<!ENTITY WrapPhysical.value "Fizikal">
+<!ENTITY WrapVirtual.value "Maya">
diff --git a/l10n-ms/suite/chrome/editor/editingOverlay.dtd b/l10n-ms/suite/chrome/editor/editingOverlay.dtd
new file mode 100644
index 0000000000..a43165f8f7
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/editingOverlay.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- File menu items -->
+<!ENTITY openFileCmd.label "Buka Fail…">
+<!ENTITY openFileCmd.accesskey "B">
+<!ENTITY openFileCmd.key "O">
+<!ENTITY openRemoteCmd.label "Buka Lokasi Web…">
+<!ENTITY openRemoteCmd.accesskey "L">
+<!ENTITY openRemoteCmd.key "L">
+<!ENTITY fileRecentMenu.label "HalamanTerkini">
+<!ENTITY fileRecentMenu.accesskey "T">
+<!ENTITY saveCmd.label "Simpan">
+<!ENTITY saveCmd.accesskey "S">
+<!ENTITY saveAsCmd.label "Simpan Sebagai…">
+<!ENTITY saveAsCmd.accesskey "S">
+<!ENTITY saveAsChangeEncodingCmd2.label "Simpan Dan Tukar Pengekodan Teks">
+<!ENTITY saveAsChangeEncodingCmd2.accesskey "P">
+<!ENTITY publishCmd.label "Terbitkan">
+<!ENTITY publishCmd.accesskey "b">
+<!ENTITY publishCmd.key "S">
+<!ENTITY publishAsCmd.label "Terbitkan Sebagai…">
+<!ENTITY publishAsCmd.accesskey "k">
+<!ENTITY fileRevert.label "Balikan">
+<!ENTITY fileRevert.accesskey "l">
+
+<!-- Edit menu items -->
+<!ENTITY publishSettings.label "Tetapan Laman Penerbitan…">
+<!ENTITY publishSettings.accesskey "b">
+
+<!-- Toolbar buttons/items -->
+<!ENTITY newToolbarCmd.label "Baru">
+<!ENTITY newToolbarCmd.tooltip "Cipta halaman Pengarang baru">
+<!ENTITY openToolbarCmd.label "Buka">
+<!ENTITY openToolbarCmd.tooltip "Buka fail lokal">
+<!ENTITY saveToolbarCmd.tooltip "Simpan fail dalam lokasi lokal">
+<!ENTITY publishToolbarCmd.tooltip "Muat naik fail ke lokasi jauh">
diff --git a/l10n-ms/suite/chrome/editor/editor.dtd b/l10n-ms/suite/chrome/editor/editor.dtd
new file mode 100644
index 0000000000..565e464654
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/editor.dtd
@@ -0,0 +1,67 @@
+<!-- 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/. -->
+
+<!-- Window title -->
+<!-- LOCALIZATION NOTE (editorWindow.titlemodifier): DONT_TRANSLATE -->
+<!ENTITY editorWindow.titlemodifier "Composer">
+<!ENTITY editorWindow.titlemodifiermenuseparator " - ">
+
+<!-- Menu items: the . means that the menu item isn't implemented yet -->
+
+<!-- Toolbar-only items -->
+<!ENTITY compositionToolbar.tooltip "Bar alatan Karangan">
+<!ENTITY previewToolbarCmd.label "Cari">
+<!ENTITY previewToolbarCmd.tooltip "Muatkan halaman ini dalam pelayar">
+
+<!-- File menu items -->
+<!ENTITY exportToTextCmd.label "Eksport ke Teks…">
+<!ENTITY exportToTextCmd.accesskey "k">
+<!ENTITY previewCmd.label "Layari Halaman">
+<!ENTITY previewCmd.accesskey "y">
+<!ENTITY sendPageCmd.label "Hantar Halaman…">
+<!ENTITY sendPageCmd.accesskey "r">
+
+<!-- View menu items -->
+<!ENTITY compositionToolbarCmd.label "Bar alatan Karangan">
+<!ENTITY compositionToolbarCmd.accesskey "K">
+<!ENTITY formattingToolbarCmd.label "Bar alatan Format">
+<!ENTITY formattingToolbarCmd.accesskey "F">
+<!ENTITY editmodeToolbarCmd.label "Bar alatan Mod Edit">
+<!ENTITY editmodeToolbarCmd.accesskey "E">
+
+<!-- Format menu items -->
+<!ENTITY formatMenu.label "Format">
+<!ENTITY formatMenu.accesskey "o">
+<!ENTITY grid.label "Grid posisi">
+<!ENTITY grid.accesskey "d">
+<!ENTITY pageProperties.label "Tajuk dan Sifat Halaman…">
+<!ENTITY pageProperties.accesskey "m">
+
+<!-- Tools menu items -->
+<!ENTITY validateCmd.label "HTML Pengesahan">
+<!ENTITY validateCmd.accesskey "P">
+
+<!-- Display Mode toolbar and View menu items -->
+<!ENTITY NormalModeTab.label "Normal">
+<!ENTITY NormalMode.label "Mod Edit Normal">
+<!ENTITY NormalMode.accesskey "N">
+<!ENTITY NormalMode.tooltip "Papar sempadan jadual dan nama labuh">
+<!ENTITY AllTagsModeTab.label "Tag HTML">
+<!ENTITY AllTagsMode.label "Tag HTML">
+<!ENTITY AllTagsMode.accesskey "a">
+<!ENTITY AllTagsMode.tooltip "Papar semua ikon tag HTML">
+<!-- LOCALIZATION NOTE: (HTMLSourceModeTab.dir, HTMLSourceModeTab.label)
+ Do NOT translate text for 'HTMLSourceModeTab.dir', use latin "ltr" if
+ you want the <html> image to left of the 'HTMLSourceModeTab.label' text,
+ or use latin "rtl" if you want this image to the right of text. You do
+ not need to include HTML in the label 'HTMLSourceModeTab.label' -->
+<!ENTITY HTMLSourceModeTab.dir "ltr">
+<!ENTITY HTMLSourceModeTab.label "Sumber">
+<!ENTITY HTMLSourceMode.label "Sumber HTML">
+<!ENTITY HTMLSourceMode.accesskey "H">
+<!ENTITY HTMLSourceMode.tooltip "Edit sumber HTML">
+<!ENTITY PreviewModeTab.label "Previu">
+<!ENTITY PreviewMode.label "Previu">
+<!ENTITY PreviewMode.accesskey "P">
+<!ENTITY PreviewMode.tooltip "Papar sebagai WYSIWYG (seperti dalam pelayar)">
diff --git a/l10n-ms/suite/chrome/editor/editor.properties b/l10n-ms/suite/chrome/editor/editor.properties
new file mode 100644
index 0000000000..97da2868ca
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/editor.properties
@@ -0,0 +1,208 @@
+# 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: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=Tidak
+Save=Simpan
+More=Selanjutnya
+Less=Kurang
+MoreProperties=Lanjutan Sifat
+FewerProperties=Sedikit Sifat
+PropertiesAccessKey=S
+None=Tiada
+none=tiada
+OpenHTMLFile=Buka Fail HTML
+OpenTextFile=Buka Fail Teks
+SelectImageFile=Pilih Fail Imej
+SaveDocument=Simpan Halaman
+SaveDocumentAs=Simpan Halaman Sebagai
+SaveTextAs=Simpan Teks Sebagai
+EditMode=Mod Edit
+Preview=Previu
+Publish=Terbitkan
+PublishPage=Halaman Penerbitan
+DontPublish=Jangan Terbitkan
+SavePassword=Guna Pengurus Kata laluan untuk menyimpan kata laluan ini
+CorrectSpelling=(betulkan ejaan)
+NoSuggestedWords=(tiada perkataan cadangan)
+NoMisspelledWord=Tiada perkataan tersalah eja
+CheckSpellingDone=Selesai menyemak ejaan.
+CheckSpelling=Semak Ejaan
+InputError=Ralat
+Alert=Amaran
+CantEditFramesetMsg=Composer tidak boleh mengedit set bingkai HTML atau halaman dengan bingkai susunan. Untuk set bingkai, cuba edit halaman setiap bingkai secara berasingan. Untuk halaman dengan iframes, simpan salinan halaman dan buang tag <iframe> tag.
+CantEditMimeTypeMsg=Halaman jenis ini tidak boleh diedit.
+CantEditDocumentMsg=Halaman ini tidak boleh diedit atas alasan yang tidak diketahui.
+BeforeClosing=sebelum menutup
+BeforePreview=sebelum memaparkan dalam pelayar
+BeforeValidate=sebelum mengesahkan dokumen
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=Simpan perubahan ke "%title%" %reason%?
+PublishPrompt=Simpan perubahan ke "%title%" %reason%?
+SaveFileFailed=Gagal menyimpan fail!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=%file% tidak ditemui.
+SubdirDoesNotExist=Sub-direktori "%dir%" tidak wujud dalam laman ini atau nama fail "%file%" sudah digunakan dalam sub-direktori lain.
+FilenameIsSubdir=Nama fail "%fail%" sudah digunakan oleh sub-direktori lain.
+ServerNotAvailable=Pelayan tidak disediakan. Semak sambungan anda dan cuba lagi nanti.
+Offline=Anda kini di luar talian. Klik ikon pada bahagian bucu kanan bawah tetingkap untuk masuk atas talian.
+DiskFull=Ruang cakera tidak cukup untuk menyimpan fail "%file%."
+NameTooLong=Nama fail atau sub-direktori terlalu panjang.
+AccessDenied=Anda tidak ada izin untuk menerbitkan ke lokasi ini.
+UnknownPublishError=Ada ralat penerbitan yang tidak diketahui.
+PublishFailed=Gagal menerbitkan.
+PublishCompleted=Selesai menerbitkan.
+AllFilesPublished=Semua fail diterbitkan
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% daripada %total% fail gagal diterbitkan.
+# End-Publishing error strings
+Prompt=Gesa
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=Masukkan nama pengguna dan kata laluan untuk pelayan FTP dalam %host%
+RevertCaption=Balikan Ke Terakhir Disimpan
+Revert=Balikan
+SendPageReason=sebelum menghantar halaman ini
+Send=Hantar
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=Penerbitan: %title%
+PublishToSite=Penerbitan ke Laman: %title%
+AbandonChanges=Abai perubahan yang tidak disimpan ke "%title%" dan muatkan semula halaman?
+DocumentTitle=Tajuk Halaman
+NeedDocTitle=Sila masukkan tajuk untuk halaman semasa.
+DocTitleHelp=Tajuk ini adalah untuk pengenalan halaman dalam tetingkap dan tandabuku.
+CancelPublishTitle=Batal penerbitan?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=Membatalkan penerbitan yang sedang diproses boleh menyebabkan fail tidak dipindahkan. Adakah anda mahu teruskan atau batalkan?
+CancelPublishContinue=Teruskan
+MissingImageError=Sila masukkan atau pilih imej jenis gif, jpg, atau png.
+EmptyHREFError=Sila pilih lokasi untuk mencipta pautan baru.
+LinkText=Teks Pautan
+LinkImage=Imej Pautan
+MixedSelection=[Pilihan campuran]
+Mixed=(campuran)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (tidak dipasang)
+EnterLinkText=Masukkan teks pautan untuk dipaparkan:
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=Sila masukkan teks untuk pautan ini.
+EditTextWarning=Ini akan menggantikan kandungan yang sedia ada.
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=Nombor yang dimasukkan (%n %) berada di luar julat yang dibenarkan.
+ValidateNumberMsg=Sila masukkan satu nombor antara %min% dengan %max%.
+MissingAnchorNameError=Sila masukkan satu nama untuk labuh ini.
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError="%name" telah wujud dalam halaman ini. Sila masukkan nama yang berlainan.
+BulletStyle=Gaya Bulet
+SolidCircle=Bulatan padat
+OpenCircle=Bulatan terbuka
+SolidSquare=Segi empat padat
+NumberStyle=Gaya Nombor
+Automatic=Automatik
+Style_1=1, 2, 3…
+Style_I=I, II, III…
+Style_i=i, ii, iii…
+Style_A=A, B, C…
+Style_a=a, b, c…
+Pixels=piksel
+Percent=peratus
+PercentOfCell=% sel
+PercentOfWindow=% tetingkap
+PercentOfTable=% jadual
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=%S tiada tajuk
+untitledDefaultFilename=tiada tajuk
+ShowToolbar=Papar Bar alatan
+HideToolbar=Sorok Bar alatan
+ImapError=Tidak dapat memuatkan imej
+ImapCheck=\nSila pilih lokasi baru (URL) dan cuba lagi.
+SaveToUseRelativeUrl=URLs relatif hanya boleh digunakan dalam halaman yang sudah disimpan
+NoNamedAnchorsOrHeadings=(Tiada nama labuh atau tajuk dalam halaman ini)
+TextColor=Warna Teks
+HighlightColor=Warna Serlahan
+PageColor=Warna Latar belakang Halaman
+BlockColor=Warna Latar belakang Blok
+TableColor=Warna Latar belakang Jadual
+CellColor=Warna Latar belakang Sel
+TableOrCellColor=Warna Jadual atau Sel
+LinkColor=Warna Teks Pautan
+ActiveLinkColor=Warna Pautan Aktif
+VisitedLinkColor=Warna Pautan Dilayari
+NoColorError=Klik pada warna atau masukkan string warna HTML yang sah
+Table=Jadual
+TableCell=Sel Jadual
+NestedTable=Jadual Kurungan
+HLine=Garis Mengufuk
+Link=Pautan
+Image=Imej
+ImageAndLink=Imej dan Pautan
+NamedAnchor=Nama Labuh
+List=Senarai
+ListItem=Senarai item
+Form=Borang
+InputTag=Medan Borang
+InputImage=Imej Borang
+TextArea=Ruang Teks
+Select=Senarai Pilihan
+Button=Butang
+Label=Label
+FieldSet=Set Medan
+Tag=Tag
+MissingSiteNameError=Sila masukkan nama untuk laman penerbitan ini.
+MissingPublishUrlError=Sila masukkan lokasi untuk penerbitan halaman ini.
+MissingPublishFilename=Sila masukkan nama fail untuk halaman semasa.
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError="%name" telah wujud. Sila masukkan nama laman yang berlainan.
+AdvancedProperties=Sifat Lanjutan…
+AdvancedEditForCellMsg=Edit Lanjutan tidak tersedia apabila berbilang sel dipilih
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=Sifat %obj%…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=f
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=Gabung Sel Dipilih
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=Gabung dengan Sel sebelah Kanan
+JoinCellAccesskey=g
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Del
+Delete=Buang
+DeleteCells=Buang Sel
+DeleteTableTitle=Buang Baris atau Lajur
+DeleteTableMsg=Mengurangkan bilangan baris atau lajur akan menghapuskan sel jadual dan kandungannya. Anda pasti mahu melakukan ini?
+Clear=Buang
+#Mouse actions
+Click=Klik
+Drag=Seret
+Unknown=Tidak diketahui
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=k
+RemoveTextStyles=Buang Semua Gaya Teks
+StopTextStyles=Hentikan Gaya Teks
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=Buang Pautan
+StopLinks=Hentikan Pautan
+#
+NoFormAction=Anda disyorkan memasukkan tindakan dalam borang ini. Borang yang disiarkan-sendiri adalah teknik terkini yang mungkin tidak dapat berfungsi sepenuhnya dalam semua pelayar.
+NoAltText=Jika imej ada kaitan dengan kandungan dokumen, anda perlu berikan teks alternatif yang akan dipaparkan dalam pelayar teks-sahaja, dan dalam pelayar lain apabila imej atau memuatkan imej dinyahdayakan.
+#
+Malformed=Sumber ini tidak dapat dikembalikan semula ke dalam dokumen kerana bukan XHTML yang sah.
+NoLinksToCheck=Tiada elemen dalam pautan yang boleh disemak
diff --git a/l10n-ms/suite/chrome/editor/editorOverlay.dtd b/l10n-ms/suite/chrome/editor/editorOverlay.dtd
new file mode 100644
index 0000000000..8887179da4
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/editorOverlay.dtd
@@ -0,0 +1,341 @@
+<!-- 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/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- File menu items -->
+<!ENTITY saveCmd.key "S">
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "Tampal Tanpa Format">
+<!ENTITY pasteNoFormatting.accesskey "n">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "Tampal Sebagai Petikan">
+<!ENTITY pasteAsQuotationCmd.accesskey "P">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY findBarCmd.label "Cari…">
+<!ENTITY findReplaceCmd.label "Cari dan Ganti…">
+<!ENTITY enableInlineSpellChecker.label "Semak ejaan Semasa Menaip">
+<!ENTITY enableInlineSpellChecker.accesskey "S">
+<!ENTITY checkSpellingCmd2.label "Semak Ejaan…">
+<!ENTITY checkSpellingCmd2.accesskey "k">
+<!ENTITY checkSpellingCmd2.key "p">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "Sisip">
+<!ENTITY insertMenu.accesskey "S">
+<!ENTITY insertLinkCmd2.label "Pautan…">
+<!ENTITY insertLinkCmd2.accesskey "P">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "Nama Labuh…">
+<!ENTITY insertAnchorCmd.accesskey "L">
+<!ENTITY insertImageCmd.label "Imej…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "Garis Mengufuk">
+<!ENTITY insertHLineCmd.accesskey "f">
+<!ENTITY insertTableCmd.label "Jadual…">
+<!ENTITY insertTableCmd.accesskey "J">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "Math…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "Aksara dan Simbol…">
+<!ENTITY insertCharsCmd.accesskey "A">
+<!ENTITY insertBreakAllCmd.label "Pecah Bawah Imej">
+<!ENTITY insertBreakAllCmd.accesskey "c">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "Cipta Pautan…">
+<!ENTITY createLinkCmd.accesskey "n">
+<!ENTITY editLinkCmd.label "Edit Pautan dalam Composer Baru">
+<!ENTITY editLinkCmd.accesskey "i">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "Pilih fon">
+<!ENTITY fontfaceMenu.label "Fon">
+<!ENTITY fontfaceMenu.accesskey "F">
+<!ENTITY fontVarWidth.label "Lebar Variabel">
+<!ENTITY fontVarWidth.accesskey "V">
+<!ENTITY fontFixedWidth.label "Lebar Tetap">
+<!ENTITY fontFixedWidth.accesskey "p">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "l">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.tooltip "Pilih saiz fon">
+<!ENTITY decreaseFontSize.label "Lebih kecil">
+<!ENTITY decreaseFontSize.accesskey "l">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "Lebih besar">
+<!ENTITY increaseFontSize.accesskey "r">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "Saiz">
+<!ENTITY fontSizeMenu.accesskey "z">
+<!ENTITY size-tinyCmd.label "Sangat kecil">
+<!ENTITY size-tinyCmd.accesskey "S">
+<!ENTITY size-smallCmd.label "Kecil">
+<!ENTITY size-smallCmd.accesskey "K">
+<!ENTITY size-mediumCmd.label "Sederhana">
+<!ENTITY size-mediumCmd.accesskey "S">
+<!ENTITY size-largeCmd.label "Besar">
+<!ENTITY size-largeCmd.accesskey "B">
+<!ENTITY size-extraLargeCmd.label "Ekstra Besar">
+<!ENTITY size-extraLargeCmd.accesskey "r">
+<!ENTITY size-hugeCmd.label "Sangat besar">
+<!ENTITY size-hugeCmd.accesskey "S">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "Gaya Teks">
+<!ENTITY fontStyleMenu.accesskey "G">
+<!ENTITY styleBoldCmd.label "Tebal">
+<!ENTITY styleBoldCmd.accesskey "T">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "Italik">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "Garis bawah">
+<!ENTITY styleUnderlineCmd.accesskey "G">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "Tampak tembus">
+<!ENTITY styleStrikeThruCmd.accesskey "k">
+<!ENTITY styleSuperscriptCmd.label "Superskrip">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "Subskrip">
+<!ENTITY styleSubscriptCmd.accesskey "S">
+<!ENTITY styleNonbreakingCmd.label "Tersusun">
+<!ENTITY styleNonbreakingCmd.accesskey "N">
+<!ENTITY styleEm.label "Penekanan">
+<!ENTITY styleEm.accesskey "P">
+<!ENTITY styleStrong.label "Penekan Lebih kuat">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "Petikan">
+<!ENTITY styleCite.accesskey "P">
+<!ENTITY styleAbbr.label "Singkatan">
+<!ENTITY styleAbbr.accesskey "S">
+<!ENTITY styleAcronym.label "Akronim">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "Kod">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "Output Sampel">
+<!ENTITY styleSamp.accesskey "m">
+<!ENTITY styleVar.label "Variabel">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "Warna Teks…">
+<!ENTITY formatFontColor.accesskey "W">
+<!ENTITY tableOrCellColor.label "Warna Latar belakang Jadual atau Sel…">
+<!ENTITY tableOrCellColor.accesskey "L">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "Buang Nama Labuh">
+<!ENTITY formatRemoveNamedAnchors.accesskey "B">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "Perenggan">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "Perenggan">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "Tajuk 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "Tajuk 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "Tajuk 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "Tajuk 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "Tajuk 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "Tajuk 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "Alamat">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "Praformat">
+<!ENTITY paragraphPreformatCmd.accesskey "f">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "Senarai">
+<!ENTITY formatlistMenu.accesskey "S">
+<!ENTITY noneCmd.label "Tiada">
+<!ENTITY noneCmd.accesskey "T">
+<!ENTITY listBulletCmd.label "Bulet">
+<!ENTITY listBulletCmd.accesskey "B">
+<!ENTITY listNumberedCmd.label "Nombor">
+<!ENTITY listNumberedCmd.accesskey "m">
+<!ENTITY listTermCmd.label "Terma">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "Takrif">
+<!ENTITY listDefinitionCmd.accesskey "T">
+<!ENTITY listPropsCmd.label "Sifat Senarai…">
+<!ENTITY listPropsCmd.accesskey "S">
+
+<!ENTITY ParagraphSelect.tooltip "Pilih format perenggan">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "Teks Isi">
+<!ENTITY bodyTextCmd.accesskey "T">
+<!-- isn't used in menu now, but may be added in future -->
+<!ENTITY advancedPropertiesCmd.label "Sifat Lanjutan">
+<!ENTITY advancedPropertiesCmd.accesskey "j">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "Jajar">
+<!ENTITY alignMenu.accesskey "J">
+<!ENTITY alignLeft.label "Kiri">
+<!ENTITY alignLeft.accesskey "K">
+<!ENTITY alignLeft.tooltip "Jajar Kiri">
+<!ENTITY alignCenter.label "Tengah">
+<!ENTITY alignCenter.accesskey "T">
+<!ENTITY alignCenter.tooltip "Jajar Tengah">
+<!ENTITY alignRight.label "Kanan">
+<!ENTITY alignRight.accesskey "K">
+<!ENTITY alignRight.tooltip "Jajar Kanan">
+<!ENTITY alignJustify.label "Imbang">
+<!ENTITY alignJustify.accesskey "I">
+<!ENTITY alignJustify.tooltip "Imbang Jajaran">
+
+<!-- Layer toolbar items -->
+<!ENTITY layer.tooltip "Lapisan">
+<!ENTITY layerSendToBack.tooltip "Hantar ke Belakang">
+<!ENTITY layerBringToFront.tooltip "Bawa ke Hadapan">
+
+<!ENTITY increaseIndent.label "Tambah Inden">
+<!ENTITY increaseIndent.accesskey "I">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "Kurangkan Inden">
+<!ENTITY decreaseIndent.accesskey "K">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "Warna dan Latar belakang Halaman…">
+<!ENTITY colorsAndBackground.accesskey "b">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "Jadual">
+<!ENTITY tableMenu.accesskey "d">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "Pilih">
+<!ENTITY tableSelectMenu.accesskey "P">
+
+<!ENTITY tableSelectMenu2.label "Pilih Jadual">
+<!ENTITY tableSelectMenu2.accesskey "P">
+<!ENTITY tableInsertMenu2.label "Sisip Jadual">
+<!ENTITY tableInsertMenu2.accesskey "S">
+<!ENTITY tableDeleteMenu2.label "Buang Jadual">
+<!ENTITY tableDeleteMenu2.accesskey "B">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "Sisip">
+<!ENTITY tableInsertMenu.accesskey "S">
+<!ENTITY tableTable.label "Jadual">
+<!ENTITY tableTable.accesskey "J">
+<!ENTITY tableRow.label "Baris">
+<!ENTITY tableRows.label "Baris">
+<!ENTITY tableRow.accesskey "B">
+<!ENTITY tableRowAbove.label "Baris Atas">
+<!ENTITY tableRowAbove.accesskey "B">
+<!ENTITY tableRowBelow.label "Baris Bawah">
+<!ENTITY tableRowBelow.accesskey "B">
+<!ENTITY tableColumn.label "Lajur">
+<!ENTITY tableColumns.label "Lajur">
+<!ENTITY tableColumn.accesskey "j">
+<!ENTITY tableColumnBefore.label "Lajur Sebelum">
+<!ENTITY tableColumnBefore.accesskey "j">
+<!ENTITY tableColumnAfter.label "Lajur Selepas">
+<!ENTITY tableColumnAfter.accesskey "S">
+<!ENTITY tableCell.label "Sel">
+<!ENTITY tableCells.label "Sel">
+<!ENTITY tableCell.accesskey "S">
+<!ENTITY tableCellContents.label "Kandungan Sel">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "Semua Sel">
+<!ENTITY tableAllCells.accesskey "S">
+<!ENTITY tableCellBefore.label "Sel Sebelum">
+<!ENTITY tableCellBefore.accesskey "S">
+<!ENTITY tableCellAfter.label "Sel Selepas">
+<!ENTITY tableCellAfter.accesskey "p">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "Buang">
+<!ENTITY tableDeleteMenu.accesskey "B">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "j">
+<!ENTITY tableJoinCells.accesskey "j">
+<!ENTITY tableSplitCell.label "Pisah Sel">
+<!ENTITY tableSplitCell.accesskey "S">
+<!ENTITY convertToTable.label "Cipta Jadual daripada Pilihan">
+<!ENTITY convertToTable.accesskey "t">
+<!ENTITY tableProperties.label "Sifat Jadual…">
+<!ENTITY tableProperties.accesskey "f">
+
+<!-- Toolbar-only items -->
+<!ENTITY menuBar.tooltip "Bar Menu">
+<!ENTITY formatToolbar.tooltip "Bar alatan Format">
+<!ENTITY cutToolbarCmd.tooltip "Potong">
+<!ENTITY copyToolbarCmd.tooltip "Salin">
+<!ENTITY pasteToolbarCmd.tooltip "Tampal">
+<!ENTITY findToolbarCmd.label "Cari">
+<!ENTITY findToolbarCmd.tooltip "Cari teks dalam halaman">
+<!ENTITY spellToolbarCmd.label "Eja">
+<!ENTITY spellToolbarCmd.tooltip "Semak ejaan pilihan atau seluruh halaman">
+<!ENTITY imageToolbarCmd.label "Imej">
+<!ENTITY imageToolbarCmd.tooltip "Sisip imej baru atau edit sifat imej dipilih">
+<!ENTITY hruleToolbarCmd.label "H.Line">
+<!ENTITY hruleToolbarCmd.tooltip "Sisip garis mengufuk atau edit sifat garis dipilih">
+<!ENTITY tableToolbarCmd.label "Jadual">
+<!ENTITY tableToolbarCmd.tooltip "Sisip jadual baru atau edit sifat jadual dipilih">
+<!ENTITY linkToolbarCmd.label "Pautan">
+<!ENTITY linkToolbarCmd.tooltip "Sisip pautan baru atau edit sifat pautan dipilih">
+<!ENTITY anchorToolbarCmd.label "Labuh">
+<!ENTITY anchorToolbarCmd.tooltip "Sisip nama labuh baru atau edit sifat labuh dipilih">
+<!ENTITY TextColorButton.tooltip "Pilih warna teks">
+<!ENTITY BackgroundColorButton.tooltip "Pilih warna latar belakang">
+<!ENTITY HighlightColorButton.tooltip "Pilih warna serlahan teks">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Tetapkan saiz fon">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Saiz fon lebih kecil">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "Saiz fon lebih besar">
+<!ENTITY boldToolbarCmd.tooltip "Tebal">
+<!ENTITY italicToolbarCmd.tooltip "Italik">
+<!ENTITY underlineToolbarCmd.tooltip "Garis bawah">
+<!ENTITY bulletListToolbarCmd.tooltip "Guna atau buang senarai bulet">
+<!ENTITY numberListToolbarCmd.tooltip "Guna atau buang senarai nombor">
+<!ENTITY outdentToolbarCmd.tooltip "Teks luar inden (alih kiri)">
+<!ENTITY indentToolbarCmd.tooltip "Teks inden (alih kanan)">
+<!ENTITY AlignPopupButton.tooltip "Pilih jajaran teks">
+<!ENTITY InsertPopupButton.tooltip "Sisip Pautan, Labuh, Imej, Garisan Mengufuk atau Jadual">
+<!ENTITY alignLeftButton.tooltip "Jajar teks sepanjang jidar kiri">
+<!ENTITY alignCenterButton.tooltip "Jajar teks di tengah">
+<!ENTITY alignRightButton.tooltip "Jajar teks sepanjang jidar kanan">
+<!ENTITY alignJustifyButton.tooltip "Jajar teks sepanjang jidar kiri dan kanan">
+
+<!-- Structure Toolbar Context Menu items -->
+<!ENTITY structSelect.label "Pilih">
+<!ENTITY structSelect.accesskey "l">
+<!ENTITY structRemoveTag.label "Buang tag">
+<!ENTITY structRemoveTag.accesskey "g">
+<!ENTITY structChangeTag.label "Tukar tag">
+<!ENTITY structChangeTag.accesskey "t">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "Sisip">
+<!ENTITY insertTOC.accesskey "i">
+<!ENTITY updateTOC.label "Kemaskini">
+<!ENTITY updateTOC.accesskey "k">
+<!ENTITY removeTOC.label "Buang">
+<!ENTITY removeTOC.accesskey "g">
+<!ENTITY tocMenu.label "Jadual Kandungan…">
+<!ENTITY tocMenu.accesskey "d">
diff --git a/l10n-ms/suite/chrome/editor/editorSmileyOverlay.dtd b/l10n-ms/suite/chrome/editor/editorSmileyOverlay.dtd
new file mode 100644
index 0000000000..2ad2230d5e
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/editorSmileyOverlay.dtd
@@ -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/. -->
+
+<!-- Smiley Menu items -->
+<!ENTITY insertSmiley.label "Senyuman">
+<!ENTITY insertSmiley.accesskey "S">
+
+<!ENTITY smiley1Cmd.label "Senyum">
+<!ENTITY smiley1Cmd.accesskey "S">
+<!ENTITY smiley1Cmd.tooltip "Sisip wajah senyuman">
+<!ENTITY smiley2Cmd.label "Berkerut">
+<!ENTITY smiley2Cmd.accesskey "B">
+<!ENTITY smiley2Cmd.tooltip "Sisip wajah berkerut">
+<!ENTITY smiley3Cmd.label "Kenyit">
+<!ENTITY smiley3Cmd.accesskey "K">
+<!ENTITY smiley3Cmd.tooltip "Sisip wajah kenyit">
+<!ENTITY smiley4Cmd.label "Jelir lidah">
+<!ENTITY smiley4Cmd.accesskey "J">
+<!ENTITY smiley4Cmd.tooltip "Sisip wajah jelir lidah">
+<!ENTITY smiley5Cmd.label "Ketawa">
+<!ENTITY smiley5Cmd.accesskey "K">
+<!ENTITY smiley5Cmd.tooltip "Sisip wajah ketawa">
+<!ENTITY smiley6Cmd.label "Sipu">
+<!ENTITY smiley6Cmd.accesskey "S">
+<!ENTITY smiley6Cmd.tooltip "Sisip wajah sipu">
+<!ENTITY smiley7Cmd.label "Tak pasti">
+<!ENTITY smiley7Cmd.accesskey "T">
+<!ENTITY smiley7Cmd.tooltip "Sisip wajah tak pasti">
+<!ENTITY smiley8Cmd.label "Terkejut">
+<!ENTITY smiley8Cmd.accesskey "j">
+<!ENTITY smiley8Cmd.tooltip "Sisip wajah terkejut">
+<!ENTITY smiley9Cmd.label "Cium">
+<!ENTITY smiley9Cmd.accesskey "C">
+<!ENTITY smiley9Cmd.tooltip "Sisip wajah mencium">
+<!ENTITY smiley10Cmd.label "Jerit">
+<!ENTITY smiley10Cmd.accesskey "J">
+<!ENTITY smiley10Cmd.tooltip "Sisip wajah menjerit">
+<!ENTITY smiley11Cmd.label "Selamba">
+<!ENTITY smiley11Cmd.accesskey "S">
+<!ENTITY smiley11Cmd.tooltip "Sisip wajah selamba">
+<!ENTITY smiley12Cmd.label "Mulut-berwang">
+<!ENTITY smiley12Cmd.accesskey "M">
+<!ENTITY smiley12Cmd.tooltip "Sisip wajah mulut-berwang">
+<!ENTITY smiley13Cmd.label "Kaki-dalam-Mulut">
+<!ENTITY smiley13Cmd.accesskey "k">
+<!ENTITY smiley13Cmd.tooltip "Sisip wajah kaki-dalam-mulut">
+<!ENTITY smiley14Cmd.label "Polos">
+<!ENTITY smiley14Cmd.accesskey "P">
+<!ENTITY smiley14Cmd.tooltip "Sisip wajah polos">
+<!ENTITY smiley15Cmd.label "Menangis">
+<!ENTITY smiley15Cmd.accesskey "s">
+<!ENTITY smiley15Cmd.tooltip "Sisip wajah menangis">
+<!ENTITY smiley16Cmd.label "Bibir-Terkatup">
+<!ENTITY smiley16Cmd.accesskey "b">
+<!ENTITY smiley16Cmd.tooltip "Sisip wajah bibir-terkatup">
+<!ENTITY SmileButton.tooltip "Sisip wajah senyuman">
+
diff --git a/l10n-ms/suite/chrome/editor/prefs/editorPrefsOverlay.dtd b/l10n-ms/suite/chrome/editor/prefs/editorPrefsOverlay.dtd
new file mode 100644
index 0000000000..9ca46a7864
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/prefs/editorPrefsOverlay.dtd
@@ -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 (editorCheck.label): DONT_TRANSLATE -->
+<!ENTITY editorCheck.label "Composer">
+<!ENTITY editorCheck.accesskey "c">
+
+<!ENTITY compose.label "Composer">
+<!ENTITY editing.label "Tetapan Halaman Baru">
+<!ENTITY publish.label "Penerbitan">
diff --git a/l10n-ms/suite/chrome/editor/prefs/pref-composer.dtd b/l10n-ms/suite/chrome/editor/prefs/pref-composer.dtd
new file mode 100644
index 0000000000..b8cbc0efef
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/prefs/pref-composer.dtd
@@ -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/. -->
+
+<!-- extracted from content/pref-composer.xul -->
+
+<!-- extracted from content/pref-composer.xhtml -->
+
+<!--LOCALIZATION NOTE : FILE 'Composer' prefs dialog. Similar to Communcator 4.x Document Properties/Colors and Background -->
+
+<!--LOCALIZATION NOTE (pref.composer.title): DONT_TRANSLATE -->
+<!ENTITY pref.composer.title "Composer">
+<!ENTITY recentFiles.title "Menu Halaman Terkini">
+<!ENTITY documentsInMenu.label "Bilangan maksimum halaman yang disenaraikan:">
+<!ENTITY documentsInMenu.accesskey "n">
+<!ENTITY savingFiles.title "Apabila Menyimpan atau Menerbitkan Halaman">
+<!ENTITY preserveExisting.label "Kekalkan format sumber asal">
+<!ENTITY preserveExisting.accesskey "K">
+<!ENTITY preserveExisting.tooltip "Kekalkan pecahan garis dan format asal halaman">
+<!ENTITY saveAssociatedFiles.label "Simpan imej dan fail berkaitan lain apabila menyimpan halaman">
+<!ENTITY saveAssociatedFiles.accesskey "S">
+<!ENTITY showPublishDialog.label "Sentiasa papar dialog Terbitkan apabila menerbitkan halaman">
+<!ENTITY showPublishDialog.accesskey "S">
+<!ENTITY composerEditing.label "Mengedit">
+<!ENTITY maintainStructure.label "Kekalkan susun atur jadual apabila menyisip atau menghapuskan sel">
+<!ENTITY maintainStructure.tooltip "Kekalkan bentuk segi empat tepat jadual dengan menambah sel secara automatik selepas menyisip atau menghapuskan sel">
+<!ENTITY maintainStructure.accesskey "K">
+<!ENTITY useCSS.label "Guna gaya CSS bukannya elemen dan atribut HTML">
+<!ENTITY useCSS.accesskey "G">
+<!ENTITY crInPCreatesNewP.label "Kembalian dalam satu perenggan sentiasa mewujudkan perenggan baru">
+<!ENTITY crInPCreatesNewP.accesskey "K">
diff --git a/l10n-ms/suite/chrome/editor/prefs/pref-editing.dtd b/l10n-ms/suite/chrome/editor/prefs/pref-editing.dtd
new file mode 100644
index 0000000000..5b95140c4e
--- /dev/null
+++ b/l10n-ms/suite/chrome/editor/prefs/pref-editing.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.editing.title "Tetapan Halaman Baru">
+
+<!ENTITY authorName.label "Pengarang:">
+<!ENTITY authorName.accesskey "r">
+<!ENTITY pageColorHeader "Penampilan Halaman Piawai">
+
+<!ENTITY defaultColors.label "Warna piawai pembaca (Jangan tetapkan warna dalam halaman)">
+<!ENTITY defaultColors.accesskey "p">
+<!ENTITY customColors.label "Guna warna penyesuaian:">
+<!ENTITY customColors.accesskey "p">
+
+<!ENTITY normalText.label "Teks normal">
+<!ENTITY normalText.accesskey "T">
+<!ENTITY linkText.label "Teks pautan">
+<!ENTITY linkText.accesskey "T">
+<!ENTITY activeLinkText.label "Teks pautan aktif">
+<!ENTITY activeLinkText.accesskey "T">
+<!ENTITY visitedLinkText.label "Teks pautan dilayari">
+<!ENTITY visitedLinkText.accesskey "T">
+<!ENTITY background.label "Latar belakang:">
+<!ENTITY background.accesskey "L">
+<!ENTITY colon.character ":">
+
+<!ENTITY backgroundImage.label "Imej latar belakang:">
+<!ENTITY backgroundImage.accesskey "m">
+<!ENTITY chooseFile.label "Pilih Fail…">
+<!ENTITY chooseFile.accesskey "a">
+
diff --git a/l10n-ms/suite/chrome/mailnews/CustomHeaders.dtd b/l10n-ms/suite/chrome/mailnews/CustomHeaders.dtd
new file mode 100644
index 0000000000..b16ec325e9
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/CustomHeaders.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Penyesuaian Pengepala">
+<!ENTITY addButton.label "Tambah">
+<!ENTITY addButton.accesskey "T">
+<!ENTITY removeButton.label "Buang">
+<!ENTITY removeButton.accesskey "B">
+<!ENTITY newMsgHeader.label "Pengepala mesej baru:">
+<!ENTITY newMsgHeader.accesskey "P">
diff --git a/l10n-ms/suite/chrome/mailnews/FilterEditor.dtd b/l10n-ms/suite/chrome/mailnews/FilterEditor.dtd
new file mode 100644
index 0000000000..3bc398673b
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/FilterEditor.dtd
@@ -0,0 +1,66 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Peraturan Tapisan">
+<!ENTITY filterName.label "Nama penapis:">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY recentFolders.label "Terbaru">
+
+<!ENTITY junk.label "Mel Remeh">
+<!ENTITY notJunk.label "Bukan Mel Remeh">
+
+<!ENTITY lowestPriorityCmd.label "Paling rendah">
+<!ENTITY lowPriorityCmd.label "Rendah">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY highPriorityCmd.label "Tinggi">
+<!ENTITY highestPriorityCmd.label "Paling tinggi">
+
+<!ENTITY contextDesc.label "Laksanakan tapisan apabila:">
+<!ENTITY contextIncomingMail.label "Mendapatkan Mel Baru:">
+<!ENTITY contextIncomingMail.accesskey "M">
+<!ENTITY contextManual.label "Laksanakan secara Manual">
+<!ENTITY contextManual.accesskey "L">
+<!ENTITY contextBeforeCls.label "Tapis sebelum Pengelasan Mel Remeh">
+<!ENTITY contextAfterCls.label "Tapis selepas Pengelasan Mel Remeh">
+<!ENTITY contextOutgoing.label "Selepas Menghantar">
+<!ENTITY contextOutgoing.accesskey "S">
+<!ENTITY contextArchive.label "Arkib">
+<!ENTITY contextArchive.accesskey "A">
+
+<!ENTITY filterActionDesc.label "Laksanakan tindakan ini:">
+<!ENTITY filterActionDesc.accesskey "L">
+
+<!ENTITY filterActionOrderWarning.label "Nota: Tindakan tapisan akan dilaksanakan dalam turutan berbeza.">
+<!ENTITY filterActionOrder.label "Lihat pelaksanaan perintah">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "Pindah Mesej ke">
+<!ENTITY copyMessage.label "Salin Mesej ke">
+<!ENTITY forwardTo.label "Kirim semula Mesej kepada">
+<!ENTITY replyWithTemplate.label "Balas menggunakan Templat">
+<!ENTITY markMessageRead.label "Tandakan sebagai telah Dibaca">
+<!ENTITY markMessageUnread.label "Tandakan sebagai Belum Dibaca">
+<!ENTITY markMessageStarred.label "Tandakan sebagai Bertanda">
+<!ENTITY setPriority.label "Tetapkan Prioriti ke">
+<!ENTITY addTag.label "Tag Mesej">
+<!ENTITY setJunkScore.label "Tetapkan Status Mel Remeh ke">
+<!ENTITY deleteMessage.label "Buang Mesej">
+<!ENTITY deleteFromPOP.label "Buang Daripada Pelayan POP">
+<!ENTITY fetchFromPOP.label "Ambil Daripada Pelayan POP">
+<!ENTITY ignoreThread.label "Abaikan Thread">
+<!ENTITY ignoreSubthread.label "Abaikan Sub-thread">
+<!ENTITY watchThread.label "Ikuti Thread">
+<!ENTITY stopExecution.label "Henti Pelaksanaan Tapisan">
+
+<!ENTITY addAction.tooltip "Tambah tindakan baru">
+<!ENTITY removeAction.tooltip "Batal tindakan ini">
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the filter action widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex -->
+<!ENTITY filterActionTypeFlexValue "1">
+<!ENTITY filterActionTargetFlexValue "4">
diff --git a/l10n-ms/suite/chrome/mailnews/FilterListDialog.dtd b/l10n-ms/suite/chrome/mailnews/FilterListDialog.dtd
new file mode 100644
index 0000000000..422c67ca46
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/FilterListDialog.dtd
@@ -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/. -->
+
+<!ENTITY filterListDialog.title "Tapis Mesej">
+<!ENTITY nameColumn.label "Nama Penapis">
+<!ENTITY activeColumn.label "Didayakan">
+<!ENTITY newButton.label "Baru…">
+<!ENTITY newButton.accesskey "B">
+<!ENTITY editButton.label "Edit…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "Buang">
+<!ENTITY deleteButton.accesskey "g">
+<!ENTITY reorderUpButton.label "Pindah Atas">
+<!ENTITY reorderUpButton.accesskey "A">
+<!ENTITY reorderDownButton.label "Pindah Bawah">
+<!ENTITY reorderDownButton.accesskey "B">
+<!ENTITY filterHeader.label "Penapis yang aktif dilaksanakan secara automatik mengikut susunan di bawah.">
+<!ENTITY filtersForPrefix.label "Tapis untuk:">
+<!ENTITY filtersForPrefix.accesskey "T">
+<!ENTITY viewLogButton.label "Tapis Log">
+<!ENTITY viewLogButton.accesskey "L">
+<!ENTITY runFilters.label "Laksanakan Sekarang">
+<!ENTITY runFilters.accesskey "S">
+<!ENTITY stopFilters.label "Berhenti">
+<!ENTITY stopFilters.accesskey "B">
+<!ENTITY folderPickerPrefix.label "Laksanakan penapis yang dipilih pada:">
+<!ENTITY folderPickerPrefix.accesskey "p">
diff --git a/l10n-ms/suite/chrome/mailnews/SearchDialog.dtd b/l10n-ms/suite/chrome/mailnews/SearchDialog.dtd
new file mode 100644
index 0000000000..6c1c69fb36
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/SearchDialog.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- for SearchDialog.xul -->
+<!ENTITY searchHeading.label "Cari mesej dalam:">
+<!ENTITY searchHeading.accesskey "e">
+<!ENTITY searchSubfolders.label "Cari sub-folder">
+<!ENTITY searchSubfolders.accesskey "u">
+<!ENTITY searchOnHeading.label "Laksanakan operasi mencari dalam:">
+<!ENTITY searchOnHeading.accesskey "L">
+<!ENTITY searchOnRemote.label "Pelayan jauh">
+<!ENTITY searchOnLocal.label "Sistem lokal">
+<!ENTITY resetButton.label "Buang">
+<!ENTITY resetButton.accesskey "B">
+<!ENTITY openButton.label "Buka">
+<!ENTITY openButton.accesskey "B">
+<!ENTITY deleteButton.label "Buang">
+<!ENTITY deleteButton.accesskey "B">
+<!ENTITY searchDialogTitle.label "Cari Mesej">
+<!ENTITY results.label "Hasil">
+<!ENTITY moveHereMenu.label "Pindah Sini">
+<!ENTITY moveHereMenu.accesskey "S">
+<!ENTITY moveButton.label "Pindah Ke">
+<!ENTITY moveButton.accesskey "K">
+<!ENTITY goToFolderButton.label "Buka Folder Mesej">
+<!ENTITY goToFolderButton.accesskey "k">
+<!ENTITY saveAsVFButton.label "Simpan sebagai Folder Carian">
+<!ENTITY saveAsVFButton.accesskey "p">
+
+<!-- for ABSearchDialog.xul -->
+<!ENTITY abSearchHeading.label "Cari dalam:">
+<!ENTITY abSearchHeading.accesskey "d">
+<!ENTITY propertiesButton.label "Sifat">
+<!ENTITY propertiesButton.accesskey "S">
+<!ENTITY composeButton.label "Karang">
+<!ENTITY composeButton.accesskey "r">
+<!ENTITY abSearchDialogTitle.label "Carian Buku Alamat Lanjutan">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..41fcc1b69e
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd
@@ -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/. -->
+<!ENTITY name.label "Nama Buku Alamat:">
+<!ENTITY name.accesskey "A">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abCardOverlay.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abCardOverlay.dtd
new file mode 100644
index 0000000000..94200b4256
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abCardOverlay.dtd
@@ -0,0 +1,132 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Contact.tab "Kenalan">
+<!ENTITY Contact.accesskey "K">
+<!ENTITY Name.box "Nama">
+
+<!-- LOCALIZATION NOTE:
+ NameField1, NameField2, PhoneticField1, PhoneticField2
+ those fields are either LN or FN depends on the target country.
+ "FirstName" and "LastName" can be swapped for id to change the order
+ but they should not be translated (same applied to phonetic id).
+ Make sure the translation of label corresponds to the order of id.
+-->
+
+<!-- LOCALIZATION NOTE (NameField1.id) : DONT_TRANSLATE -->
+<!ENTITY NameField1.id "FirstName">
+<!-- LOCALIZATION NOTE (NameField2.id) : DONT_TRANSLATE -->
+<!ENTITY NameField2.id "LastName">
+<!-- LOCALIZATION NOTE (PhoneticField1.id) : DONT_TRANSLATE -->
+<!ENTITY PhoneticField1.id "PhoneticFirstName">
+<!-- LOCALIZATION NOTE (PhoneticField2.id) : DONT_TRANSLATE -->
+<!ENTITY PhoneticField2.id "PhoneticLastName">
+
+<!ENTITY NameField1.label "Nama Pertama:">
+<!ENTITY NameField1.accesskey "N">
+<!ENTITY NameField2.label "Nama Keluarga:">
+<!ENTITY NameField2.accesskey "N">
+<!ENTITY PhoneticField1.label "Fonetik:">
+<!ENTITY PhoneticField2.label "Fonetik:">
+<!ENTITY DisplayName.label "Paparan:">
+<!ENTITY DisplayName.accesskey "P">
+<!ENTITY preferDisplayName.label "Sentiasa papar nama dalam pengepala mesej">
+<!ENTITY NickName.label "Nama gelaran:">
+<!ENTITY NickName.accesskey "N">
+
+<!ENTITY PrimaryEmail.label "E-mel:">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY SecondEmail.label "E-mel Tambahan:">
+<!ENTITY SecondEmail.accesskey "b">
+<!ENTITY PreferMailFormat.label "Utamakan menerima mesej yang diformatkan sebagai:">
+<!ENTITY PreferMailFormat.accesskey "r">
+<!ENTITY PlainText.label "Teks Biasa">
+<!ENTITY HTML.label "HTML">
+<!ENTITY Unknown.label "Tidak diketahui">
+
+<!ENTITY WorkPhone.label "Kerja:">
+<!ENTITY WorkPhone.accesskey "j">
+<!ENTITY HomePhone.label "Rumah:">
+<!ENTITY HomePhone.accesskey "m">
+<!ENTITY FaxNumber.label "Faks:">
+<!ENTITY FaxNumber.accesskey "s">
+<!ENTITY PagerNumber.label "Kelui:">
+<!ENTITY PagerNumber.accesskey "u">
+<!ENTITY CellularNumber.label "Mudah alih:">
+<!ENTITY CellularNumber.accesskey "a">
+
+<!ENTITY Home.tab "Peribadi">
+<!ENTITY Home.accesskey "P">
+<!ENTITY HomeAddress.label "Alamat:">
+<!ENTITY HomeAddress.accesskey "l">
+<!ENTITY HomeAddress2.label "">
+<!ENTITY HomeAddress2.accesskey "">
+<!ENTITY HomeCity.label "Bandar:">
+<!ENTITY HomeCity.accesskey "d">
+<!ENTITY HomeState.label "Negeri/Wilayah:">
+<!ENTITY HomeState.accesskey "N">
+<!ENTITY HomeZipCode.label "Poskod:">
+<!ENTITY HomeZipCode.accesskey "P">
+<!ENTITY HomeCountry.label "Negara:">
+<!ENTITY HomeCountry.accesskey "g">
+<!ENTITY HomeWebPage.label "Halaman Web:">
+<!ENTITY HomeWebPage.accesskey "e">
+<!ENTITY Birthday.label "Tarikh lahir:">
+<!ENTITY Birthday.accesskey "T">
+<!ENTITY In.label "">
+<!ENTITY Year.placeholder "Tahun">
+<!ENTITY Or.value "atau">
+<!ENTITY Age.placeholder "Umur">
+<!ENTITY YearsOld.label "">
+
+<!ENTITY Work.tab "Kerja">
+<!ENTITY Work.accesskey "K">
+<!ENTITY JobTitle.label "Jawatan:">
+<!ENTITY JobTitle.accesskey "w">
+<!ENTITY Department.label "Jabatan:">
+<!ENTITY Department.accesskey "t">
+<!ENTITY Company.label "Organisasi:">
+<!ENTITY Company.accesskey "r">
+<!ENTITY WorkAddress.label "Alamat:">
+<!ENTITY WorkAddress.accesskey "l">
+<!ENTITY WorkAddress2.label "">
+<!ENTITY WorkAddress2.accesskey "">
+<!ENTITY WorkCity.label "Bandar:">
+<!ENTITY WorkCity.accesskey "n">
+<!ENTITY WorkState.label "Negeri/Wilayah:">
+<!ENTITY WorkState.accesskey "N">
+<!ENTITY WorkZipCode.label "Poskod:">
+<!ENTITY WorkZipCode.accesskey "P">
+<!ENTITY WorkCountry.label "Negara:">
+<!ENTITY WorkCountry.accesskey "a">
+<!ENTITY WorkWebPage.label "Halaman Web:">
+<!ENTITY WorkWebPage.accesskey "e">
+
+<!ENTITY Other.tab "Lain-lain">
+<!ENTITY Other.accesskey "i">
+<!ENTITY Custom1.label "Penyesuaian 1:">
+<!ENTITY Custom1.accesskey "1">
+<!ENTITY Custom2.label "Penyesuaian 2:">
+<!ENTITY Custom2.accesskey "2">
+<!ENTITY Custom3.label "Penyesuaian 3:">
+<!ENTITY Custom3.accesskey "3">
+<!ENTITY Custom4.label "Penyesuaian 4:">
+<!ENTITY Custom4.accesskey "4">
+<!ENTITY Notes.label "Nota:">
+<!ENTITY Notes.accesskey "N">
+
+<!ENTITY Photo.tab "Foto">
+<!ENTITY Photo.accesskey "o">
+<!ENTITY GenericPhoto.label "Foto Generik">
+<!ENTITY GenericPhoto.accesskey "G">
+<!ENTITY DefaultPhoto.label "Piawai">
+<!ENTITY PhotoFile.label "Dalam Komputer ini">
+<!ENTITY PhotoFile.accesskey "n">
+<!ENTITY BrowsePhoto.label "Cari">
+<!ENTITY BrowsePhoto.accesskey "r">
+<!ENTITY PhotoURL.label "Dalam Web">
+<!ENTITY PhotoURL.accesskey "b">
+<!ENTITY PhotoURL.placeholder "Tampal atau taip alamat web foto">
+<!ENTITY UpdatePhoto.label "Kemaskini">
+<!ENTITY UpdatePhoto.accesskey "k">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abMailListDialog.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..18dc06d746
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abMailListDialog.dtd
@@ -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/. -->
+
+<!-- Title -->
+<!ENTITY mailListWindow.title "Senarai Mel">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "Tambah ke: ">
+<!ENTITY addToAddressBook.accesskey "T">
+<!ENTITY ListName.label "Senarai Nama: ">
+<!ENTITY ListName.accesskey "S">
+<!ENTITY ListNickName.label "Senarai Nama gelaran: ">
+<!ENTITY ListNickName.accesskey "N">
+<!ENTITY ListDescription.label "Keterangan: ">
+<!ENTITY ListDescription.accesskey "K">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "Taip alamat e-mel untuk ditambah dalam senarai mel:">
+<!ENTITY AddressTitle.accesskey "m">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abMainWindow.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..4c76133873
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abMainWindow.dtd
@@ -0,0 +1,119 @@
+<!-- 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/. -->
+
+<!-- Title -->
+<!ENTITY addressbookWindow.title "Buku Alamat">
+
+<!-- Menus: the . means that the menu item isn't implemented yet -->
+
+<!-- File Menu -->
+<!ENTITY newContact.label "Kenalan…">
+<!-- LOCALIZATION NOTE (newContact.accesskey) : DONT_TRANSLATE -->
+<!ENTITY newContact.accesskey "K">
+<!ENTITY newListCmd.label "Senarai Mel…">
+<!-- LOCALIZATION NOTE (newListCmd.accesskey) : DONT_TRANSLATE -->
+<!ENTITY newListCmd.accesskey "S">
+<!ENTITY newAddressBookCmd.label "Buku Alamat…">
+<!ENTITY newAddressBookCmd.accesskey "u">
+<!ENTITY newLDAPDirectoryCmd.label "Direktori LDAP…">
+<!-- LOCALIZATION NOTE (newLDAPDirectoryCmd.accesskey) : DONT_TRANSLATE -->
+<!ENTITY newLDAPDirectoryCmd.accesskey "D">
+<!ENTITY newIM.label "IM">
+<!ENTITY printContactViewCmd.label "Cetak Kenalan…">
+<!ENTITY printContactViewCmd.accesskey "k">
+<!ENTITY printContactViewCmd.key "P">
+<!ENTITY printPreviewContactViewCmd.label "Previu Cetakan Kenalan">
+<!ENTITY printPreviewContactViewCmd.accesskey "v">
+<!ENTITY printAddressBook.label "Cetak Buku Alamat…">
+<!ENTITY printAddressBook.accesskey "A">
+<!ENTITY printPreviewAddressBook.label "Previu Cetakan Buku Alamat">
+<!ENTITY printPreviewAddressBook.accesskey "B">
+
+<!-- Edit Menu -->
+<!ENTITY deleteAbCmd.label "Buang Buku Alamat">
+<!ENTITY deleteContactCmd.label "Buang Kenalan">
+<!ENTITY deleteContactsCmd.label "Buang Kenalan yang Dipilih">
+<!ENTITY deleteListCmd.label "Buang Senarai">
+<!ENTITY deleteListsCmd.label "Buang Senarai yang Dipilih">
+<!ENTITY deleteItemsCmd.label "Buang Item yang dipilih">
+<!ENTITY swapFirstNameLastNameCmd.label "Tukar Nama Pertama/Akhir">
+<!ENTITY swapFirstNameLastNameCmd.accesskey "u">
+<!ENTITY propertiesCmd.label "Sifat…">
+<!-- LOCALIZATION NOTE (propertiesCmd.accesskey) : DONT_TRANSLATE -->
+<!ENTITY propertiesCmd.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+
+<!-- View Menu -->
+<!ENTITY showAbToolbarCmd.label "Bar alatan Buku Alamat">
+<!ENTITY showAbToolbarCmd.accesskey "t">
+<!ENTITY layoutMenu.label "Susun atur">
+<!ENTITY layoutMenu.accesskey "S">
+<!ENTITY showDirectoryPane.label "Anak tetingkap Direktori">
+<!ENTITY showDirectoryPane.accesskey "D">
+<!ENTITY showContactPane2.label "Anak tetingkap Kenalan">
+<!ENTITY showContactPane2.accesskey "K">
+<!ENTITY menu_ShowNameAs.label "Papar Nama Sebagai">
+<!ENTITY menu_ShowNameAs.accesskey "m">
+<!ENTITY firstLastCmd.label "Pertama Terakhir">
+<!ENTITY firstLastCmd.accesskey "t">
+<!ENTITY lastFirstCmd.label "Nama Akhir, Pertama">
+<!ENTITY lastFirstCmd.accesskey "h">
+<!ENTITY displayNameCmd.label "Nama Paparan">
+<!ENTITY displayNameCmd.accesskey "p">
+
+<!-- Tasks Menu -->
+<!ENTITY importCmd.label "Import…">
+<!ENTITY importCmd.accesskey "I">
+<!ENTITY exportCmd.label "Eksport…">
+<!ENTITY exportCmd.accesskey "E">
+
+<!-- Toolbar and Popup items -->
+<!ENTITY newContactButton.label "Kenalan Baru">
+<!ENTITY newContactButton.accesskey "K">
+<!ENTITY newlistButton.label "Senarai Baru">
+<!ENTITY newlistButton.accesskey "S">
+<!ENTITY editItemButton.label "Sifat">
+<!ENTITY editItemButton.accesskey "S">
+<!ENTITY newmsgButton.label "Karang">
+<!ENTITY newmsgButton.accesskey "K">
+<!ENTITY deleteItemButton.label "Buang">
+<!ENTITY deleteItemButton.accesskey "B">
+<!ENTITY newimButton.label "Mesej Segera">
+<!ENTITY newimButton.accesskey "M">
+<!ENTITY searchNameAndEmail.placeholder "Cari Nama dan E-mel">
+<!ENTITY searchBox.title "Cari">
+
+<!-- Tooltips -->
+<!ENTITY addressbookToolbar.tooltip "Bar alatan Buku Alamat">
+<!ENTITY newContactButton.tooltip "Cipta buku alamat kenalan baru">
+<!ENTITY newlistButton.tooltip "Cipta senarai baru">
+<!ENTITY editItemButton.tooltip "Edit item yang dipilih">
+<!ENTITY newmsgButton.tooltip "Hantar mesej mel">
+<!ENTITY newIM.tooltip "Hantar mesej segera atau sembang">
+<!ENTITY deleteItemButton.tooltip "Buang item yang dipilih">
+<!ENTITY advancedButton.tooltip "Carian alamat lanjutan">
+
+<!-- Dir Tree header -->
+<!ENTITY dirTreeHeader.label "Buku Alamat">
+
+<!-- Card Summary Pane -->
+<!-- Box Headings -->
+<!ENTITY contact.heading "Kenalan">
+<!ENTITY home.heading "Rumah">
+<!ENTITY other.heading "Lain-lain">
+<!ENTITY phone.heading "Telefon">
+<!ENTITY work.heading "Kerja">
+<!-- Special Box Headings, for mailing lists -->
+<!ENTITY description.heading "Keterangan">
+<!ENTITY addresses.heading "Alamat">
+<!-- For Map It! -->
+<!ENTITY mapItButton.label "Cari Peta">
+<!ENTITY mapIt.tooltip "Papar peta untuk alamat ini daripada Web">
+
+<!-- Status Bar -->
+<!ENTITY statusText.label "">
+
+<!-- LOCALIZATION NOTE (hideSwapFnLnUI) : DONT_TRANSLATE -->
+<!-- Swap FN/LN UI Set to "false" to show swap fn/ln UI -->
+<!ENTITY hideSwapFnLnUI "true">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abNewCardDialog.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abNewCardDialog.dtd
new file mode 100644
index 0000000000..f33b31aabd
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abNewCardDialog.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Labels -->
+<!ENTITY chooseAddressBook.label "Tambah ke: ">
+<!ENTITY chooseAddressBook.accesskey "k">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd
new file mode 100644
index 0000000000..ed2a35a4d4
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd
@@ -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/. -->
+
+<!ENTITY GeneratedName.label "Nama">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "E-mel">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY Company.label "Organisasi">
+<!ENTITY Company.accesskey "s">
+<!ENTITY _PhoneticName.label "Nama Fonetik">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "Nama gelaran">
+<!ENTITY NickName.accesskey "l">
+<!ENTITY SecondEmail.label "E-mel Tambahan">
+<!ENTITY SecondEmail.accesskey "m">
+<!ENTITY Department.label "Jabatan">
+<!ENTITY Department.accesskey "t">
+<!ENTITY JobTitle.label "Jawatan">
+<!ENTITY JobTitle.accesskey "J">
+<!ENTITY CellularNumber.label "Mudah alih">
+<!ENTITY CellularNumber.accesskey "M">
+<!ENTITY PagerNumber.label "Kelui">
+<!ENTITY PagerNumber.accesskey "K">
+<!ENTITY FaxNumber.label "Faks">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "Telefon Rumah">
+<!ENTITY HomePhone.accesskey "R">
+<!ENTITY WorkPhone.label "Telefon Kerja">
+<!ENTITY WorkPhone.accesskey "K">
+<!ENTITY sortAscending.label "Menaik">
+<!ENTITY sortAscending.accesskey "M">
+<!ENTITY sortDescending.label "Menurun">
+<!ENTITY sortDescending.accesskey "n">
+
+<!-- context menu -->
+<!ENTITY composeEmail.label "Karang E-mel Kepada">
+<!ENTITY composeEmail.accesskey "K">
+<!ENTITY copyAddress.label "Salin Alamat E-mel">
+<!ENTITY copyAddress.accesskey "A">
+<!ENTITY deleteAddrBookCard.label "Buang">
+<!ENTITY deleteAddrBookCard.accesskey "B">
+<!ENTITY newAddrBookCard.label "Kad Baru…">
+<!ENTITY newAddrBookCard.accesskey "B">
+<!ENTITY newAddrBookMailingList.label "Senarai Mel Baru…">
+<!ENTITY newAddrBookMailingList.accesskey "M">
+<!ENTITY addrBookCardProperties.label "Sifat">
+<!ENTITY addrBookCardProperties.accesskey "S">
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd b/l10n-ms/suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd
new file mode 100644
index 0000000000..27690e1738
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd
@@ -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/. -->
+
+<!-- Title -->
+<!ENTITY selectAddressWindow.title "Pilih Alamat">
+
+<!-- Buttons -->
+<!ENTITY toButton.label "Kepada->">
+<!ENTITY toButton.accesskey "K">
+<!ENTITY ccButton.label "Cc->">
+<!ENTITY ccButton.accesskey "C">
+<!ENTITY bccButton.label "Bcc->">
+<!ENTITY bccButton.accesskey "B">
+<!ENTITY newButton.label "Baru…">
+<!ENTITY newButton.accesskey "B">
+<!ENTITY editButton.label "Edit…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY removeButton.label "Buang">
+<!ENTITY removeButton.accesskey "B">
+<!ENTITY lookIn.label "Cari dalam:">
+<!ENTITY lookIn.accesskey "C">
+<!ENTITY for.label "untuk:">
+<!ENTITY for.accesskey "u">
+<!ENTITY for.placeholder "Nama atau E-mel">
+<!ENTITY addressMessageTo.label "Alamat mesej kepada:">
+
+<!-- Tooltips items -->
+<!ENTITY addressPickerNewButton.tooltip "Cipta kad buku alamat baru">
+<!ENTITY addressPickerEditButton.tooltip "Edit kad yang dipilih">
+
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/addressBook.properties b/l10n-ms/suite/chrome/mailnews/addressbook/addressBook.properties
new file mode 100644
index 0000000000..ef143fc31c
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/addressBook.properties
@@ -0,0 +1,161 @@
+# 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 are used by the Mailing list dialog
+#
+
+## LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name
+mailingListTitleEdit=Edit %S
+emptyListName=Anda perlu masukkan nama senarai.
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+newContactTitle=Kenalan Baru
+# %S will be the card's display name
+newContactTitleWithDisplayName=Kenalan Baru dalam %S
+editContactTitle=Edit Kenalan
+# %S will be the card's display name
+editContactTitleWithDisplayName=Edit Kenalan dalam %S
+# don't translate vCard
+editVCardTitle=Edit vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=Edit vCard dalam %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=Anda perlu masukkan sekurang-kurangnya salah satu item yang berikut:\nAlamat E-mel, Nama Pertama, Nama Keluarga, Nama Paparan, Organisasi.
+cardRequiredDataMissingTitle=Tiada Maklumat Yang Diperlukan
+incorrectEmailAddressFormatMessage=Alamat e-mel utama hendaklah dalam bentuk user@host.
+incorrectEmailAddressFormatTitle=Format Alamat E-mel Tidak Betul
+
+viewListTitle=Senarai Mel: %S
+mailListNameExistsTitle=Senarai Mel Sudah Wujud
+mailListNameExistsMessage=Senarai Mel dengan nama ini telah wujud. Sila pilih nama lain.
+
+propertyPrimaryEmail=E-mel
+propertyListName=Nama Senarai
+propertySecondaryEmail=E-mel Tambahan
+propertyNickname=Nama gelaran
+propertyDisplayName=Nama Paparan
+propertyWork=Kerja
+propertyHome=Rumah
+propertyFax=Faks
+propertyCellular=Mudah alih
+propertyPager=Kelui
+propertyBirthday=Tarikh lahir
+propertyCustom1=Penyesuaian 1
+propertyCustom2=Penyesuaian 2
+propertyCustom3=Penyesuaian 3
+propertyCustom4=Penyesuaian 4
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%3$S %1$S, %2$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=Kepada
+prefixCc=Cc
+prefixBcc=Bcc
+emptyEmailAddCard=Anda tidak boleh tambah kad yang tiada alamat e-mel utama
+emptyEmailAddCardTitle=Tidak Boleh Tambah Kad
+addressBook=Buku Alamat
+
+browsePhoto=Foto Kenalan
+
+# mailnews.js
+ldap_2.servers.pab.description=Buku Alamat Peribadi
+ldap_2.servers.history.description=Himpunan Alamat
+## LOCALIZATION NOTE (ldap_2.servers.oe.description is only used on Windows)
+ldap_2.servers.oe.description=Kenalan OE
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Buku Alamat Mac OS X
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is card count
+totalContactStatus=Bilangan Kenalan dalam %1$S: %2$S
+noMatchFound=Tiada padanan ditemui
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=#1 padanan ditemui
+
+## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
+## %1$S is the number of contacts that were copied. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsCopied=%1$S kenalan disalin;%1$S kenalan disalin
+
+## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
+## %1$S is the number of contacts that were moved. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsMoved=%1$S kenalan dipindahkan;%1$S kenalan dipindahkan
+
+# LDAP directory stuff
+invalidName=Sila masukkan Nama yang sah.
+invalidHostname=Sila masukkan Nama hos yang sah.
+invalidPortNumber=Sila masukkan Nombor Port yang sah.
+invalidResults=Sila masukkan nombor yang sah dalam medan hasil.
+abReplicationOfflineWarning=Anda mesti berada atas talian untuk melaksanakan replika LDAP.
+abReplicationSaveSettings=Tetapan mesti disimpan sebelum direktori boleh dimuat turun.
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=Eksport Buku Alamat - %S
+LDIFFiles=LDIF
+CSVFiles=Dipisahkan oleh Koma
+CSVFilesSysCharset=Dipisahkan oleh Koma (Sistem Charset)
+CSVFilesUTF8=Dipisahkan oleh Koma (UTF-8)
+TABFiles=Pembatasan Tab
+TABFilesSysCharset=Pembatasan Tab (Sistem Charset)
+TABFilesUTF8=Pembatasan Tab (UTF-8)
+VCFFiles=vCard
+failedToExportTitle=Gagal Mengeksport
+failedToExportMessageNoDeviceSpace=Gagal mengeksport buku alamat, tiada lagi ruang dalam peranti.
+failedToExportMessageFileAccessDenied=Gagal mengeksport buku alamat, capaian fail ditolak.
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=Replika Buku Alamat LDAP
+AuthDlgDesc=Untuk mengakses pelayan direktori, masukkan nama pengguna dan kata laluan anda.
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=Sertai + saya + dalam + Sembang + ini.
+
+# For printing
+headingHome=Rumah
+headingWork=Kerja
+headingOther=Lain-lain
+headingPhone=Telefon
+headingDescription=Keterangan
+headingAddresses=Alamat
+
+## For address books
+addressBookTitleNew=Buku Alamat Baru
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=Sifat %S
+duplicateNameTitle=Duplikasi Nama Buku Alamat
+# LOCALIZATION NOTE (duplicateNameText):
+# Don't localize "\n• %S" unless your local layout comes out wrong.
+# %S is the name of the existing address book.
+# Example: An address book with this name already exists:
+# • My Custom AB
+duplicateNameText=Buku alamat dengan nama ini sudah wujud:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=Fail Buku Alamat Rosak
+corruptMabFileAlert=Salah satu fail buku alamat (fail %1$S) tidak boleh dibaca. Fail %2$S baru akan dicipta dan menjadi sandaran bagi fail lama, yang dipanggil %3$S, dalam direktori yang sama.
+
+# For locked .mab files
+lockedMabFileTitle=Tidak dapat Memuatkan Fail Buku Alamat
+lockedMabFileAlert=Tidak dapat memuatkan fail buku alamat %S. Mungkin fail baca sahaja, atau dikunci oleh aplikasi lain. Sila cuba lagi nanti.
diff --git a/l10n-ms/suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties b/l10n-ms/suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..753045b6cf
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties
@@ -0,0 +1,104 @@
+# 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 are error strings for problems that happen while in the
+# various states declared in nsILDAPAutoCompFormatter.idl. Note that
+# the number that indexes each error state is the same as the number
+# corresponding to that state in nsILDAPAutoCompFormatter.idl.
+
+## @name ERR_STATE_UNBOUND
+## @loc none
+0=Masalah mempermulakan LDAP
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=Pelayan LDAP gagal disambungkan
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=Pelayan LDAP gagal disambungkan
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=Masalah komunikasi pelayan LDAP
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=Masalah carian pelayan LDAP
+
+
+# The format of the alert dialog itself
+#
+## @name ALERT_FORMAT
+## @loc None of %1$S, %2$S and %3$S should be localized.
+## %1$S is the error code itself, %2$S is an LDAP SDK error message from
+## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
+## to that specific error, found in this file.
+errorAlertFormat=Kod ralat %1$S: %2$S\n\n %3$S
+
+## The following errors are for error codes other than LDAP-specific ones.
+## Someday mozilla will actually have a system for mapping nsresults to
+## error strings that's actually widely used, unlike nsIErrorService. But
+## until it does, these strings live here…
+
+## @name HOST_NOT_FOUND
+## @loc none
+5000=Hos tidak ditemui
+
+## @name GENERIC_ERROR
+## @loc none
+9999=Ralat tidak diketahui
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=Sila cuba lagi nanti, atau hubungi Pentadbir Sistem anda.
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=Pengesahan rapi tidak disokong pada masa ini.
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=Pastikan tapis carian adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan tapis carian adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, dan kemudian klik Lanjutan untuk memaparkan Tapis Carian.
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=Pastikan Base DN adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Base DN adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit untuk memaparkan Base DN.
+
+## @name BUSY_HINT
+## @loc none
+10051=Sila cuba lagi nanti.
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=Pastikan Nama Hos dan Nombor Port adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos dan Nombor Port adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos. Klik Lanjutan untuk memaparkan Nombor Port.
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=Sila cuba lagi nanti.
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=Pastikan tapis carian adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan tapis carian adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, dan kemudian klik Lanjutan untuk memaparkan Tapis Carian.
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=Sila tutup tetingkap dan/atau aplikasi lain dan cuba lagi.
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=Pastikan Nama Hos dan Nombor Port adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos dan Nombor Port adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos. Klik Lanjutan untuk memaparkan Nombor Port.
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=Pastikan Nama Hos adalah betul, dan kemudian cuba lagi, atau hubungi Pentadbir Sistem anda. Untuk memastikan Nama Hos adalah betul, dalam menu Edit, pilih Keutamaan, kemudian pilih Mel & Kumpulan berita, dan kemudian pilih Alamat. Klik Edit Direktori, dan pilih pelayan LDAP yang digunakan. Klik Edit, untuk memaparkan Nama Hos.
+
+## @name GENERIC_HINT
+## @loc none
+19999=Sila hubungi Pentadbir Sistem anda.
diff --git a/l10n-ms/suite/chrome/mailnews/appleMailImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..6cc5c7fef8
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/appleMailImportMsgs.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of import module
+ApplemailImportName=Apple Mail
+
+# Description of import module
+ApplemailImportDescription=Import Mel Lokal daripada Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=Mesej lokal berjaya diimport daripada %S
+
+# Error Message
+ApplemailImportMailboxBadparam=Ada ralat dalaman. Gagal mengimport. Cuba lagi.
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=Ada ralat semasa mengimport mesej daripada %S. Mesej tidak diimport.
diff --git a/l10n-ms/suite/chrome/mailnews/beckyImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/beckyImportMsgs.properties
new file mode 100644
index 0000000000..d8f2930f76
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/beckyImportMsgs.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/.
+#
+# The following are used by the becky import code to display status/error
+# and informational messages
+
+# Short name of import module
+BeckyImportName=Becky! Internet Mail
+
+# Description of import module
+BeckyImportDescription=Import Mel Lokal daripada Becky! Internet Mail
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=Mesej lokal berjaya diimport daripada %S.
+
+BeckyImportAddressSuccess=Buku alamat diimport
diff --git a/l10n-ms/suite/chrome/mailnews/charsetTitles.properties b/l10n-ms/suite/chrome/mailnews/charsetTitles.properties
new file mode 100644
index 0000000000..437829377d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/charsetTitles.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/.
+
+## Rule of this file:
+## 1. key should always be in lower case ascii so we can do case insensitive
+## comparison in the code faster.
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+iso-8859-1.title = Western (ISO-8859-1)
+iso-8859-2.title = Central European (ISO-8859-2)
+iso-8859-3.title = South European (ISO-8859-3)
+iso-8859-4.title = Baltic (ISO-8859-4)
+iso-8859-10.title = Nordic (ISO-8859-10)
+iso-8859-13.title = Baltic (ISO-8859-13)
+iso-8859-14.title = Celtic (ISO-8859-14)
+iso-8859-15.title = Western (ISO-8859-15)
+iso-8859-16.title = Romanian (ISO-8859-16)
+windows-1250.title = Central European (Windows-1250)
+windows-1252.title = Western (Windows-1252)
+windows-1254.title = Turkish (Windows-1254)
+windows-1257.title = Baltic (Windows-1257)
+macintosh.title = Western (MacRoman)
+x-mac-ce.title = Central European (MacCE)
+x-mac-turkish.title = Turkish (MacTurkish)
+x-mac-croatian.title = Croatian (MacCroatian)
+x-mac-romanian.title = Romanian (MacRomanian)
+x-mac-icelandic.title = Icelandic (MacIcelandic)
+iso-2022-jp.title = Japanese (ISO-2022-JP)
+shift_jis.title = Japanese (Shift_JIS)
+euc-jp.title = Japanese (EUC-JP)
+big5.title = Chinese Traditional (Big5)
+big5-hkscs.title = Chinese Traditional (Big5-HKSCS)
+gb2312.title = Chinese Simplified (GB2312)
+gbk.title = Chinese Simplified (GBK)
+euc-kr.title = Korean (EUC-KR)
+utf-7.title = Unicode (UTF-7)
+utf-8.title = Unicode (UTF-8)
+utf-16.title = Unicode (UTF-16)
+utf-16le.title = Unicode (UTF-16LE)
+utf-16be.title = Unicode (UTF-16BE)
+iso-8859-5.title = Cyrillic (ISO-8859-5)
+windows-1251.title = Cyrillic (Windows-1251)
+x-mac-cyrillic.title = Cyrillic (MacCyrillic)
+x-mac-ukrainian.title = Cyrillic/Ukrainian (MacUkrainian)
+koi8-r.title = Cyrillic (KOI8-R)
+koi8-u.title = Cyrillic/Ukrainian (KOI8-U)
+iso-8859-7.title = Greek (ISO-8859-7)
+windows-1253.title = Greek (Windows-1253)
+x-mac-greek.title = Greek (MacGreek)
+windows-1258.title = Vietnamese (Windows-1258)
+windows-874.title = Thai (Windows-874)
+iso-8859-6.title = Arabic (ISO-8859-6)
+iso-8859-8.title = Hebrew Visual (ISO-8859-8)
+iso-8859-8-i.title = Hebrew (ISO-8859-8-I)
+windows-1255.title = Hebrew (Windows-1255)
+windows-1256.title = Arabic (Windows-1256)
+x-user-defined.title = Ditakrif Pengguna
+ibm866.title = Cyrillic/Russian (CP-866)
+gb18030.title = Chinese Simplified (GB18030)
+x-mac-arabic.title = Arabic (MacArabic)
+x-mac-farsi.title = Farsi (MacFarsi)
+x-mac-hebrew.title = Hebrew (MacHebrew)
+x-mac-devanagari.title = Hindi (MacDevanagari)
+x-mac-gujarati.title = Gujarati (MacGujarati)
+x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi)
+
+chardet.off.title = (Off)
+chardet.universal_charset_detector.title = Universal
+chardet.ja_parallel_state_machine.title = Japanese
+chardet.ko_parallel_state_machine.title = Korean
+chardet.zhtw_parallel_state_machine.title = Traditional Chinese
+chardet.zhcn_parallel_state_machine.title = Simplified Chinese
+chardet.zh_parallel_state_machine.title = Chinese
+chardet.cjk_parallel_state_machine.title = East Asian
+chardet.ruprob.title = Russian
+chardet.ukprob.title = Ukrainian
diff --git a/l10n-ms/suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd b/l10n-ms/suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd
new file mode 100644
index 0000000000..e353dd5631
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd
@@ -0,0 +1,13 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- address labels -->
+<!--LOCALIZATION NOTE addressingWidgetOverlay.dtd The basic mail/news composition headers as they are seen in UI -->
+<!ENTITY toAddr.label "Kepada:">
+<!ENTITY ccAddr.label "Cc:">
+<!ENTITY bccAddr.label "Bcc:">
+<!ENTITY replyAddr.label "Balas-Kepada:">
+<!ENTITY newsgroupsAddr.label "Kumpulan berita:">
+<!ENTITY followupAddr.label "Susulan-Kepada:">
+
diff --git a/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.dtd b/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.dtd
new file mode 100644
index 0000000000..81efff6f34
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE askSendFormat.dtd UI for dialog that asks the user, which format to use for sending a message -->
+<!ENTITY windowTitle.label "Soalan Mel HTML">
+
+<!ENTITY recipient.label "Sesetengah penerima tidak disenaraikan sebagai boleh menerima mel HTML.">
+
+<!ENTITY question.label "Adakah anda mahu tukar mesej ini ke teks biasa atau hantar sahaja HTML?">
+
+<!ENTITY plainTextAndHtml.label "Hantar dalam Teks Biasa dan HTML">
+<!ENTITY plainTextAndHtml.accesskey "a">
+<!ENTITY plainTextOnly.label "Hantar dalam Teks Biasa Sahaja">
+<!ENTITY plainTextOnly.accesskey "B">
+<!ENTITY htmlOnly.label "Hantar dalam HTML Sahaja">
+<!ENTITY htmlOnly.accesskey "H">
+
+<!ENTITY send.label "Hantar">
+<!ENTITY send.accesskey "H">
diff --git a/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.properties b/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.properties
new file mode 100644
index 0000000000..c8b1fac227
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/askSendFormat.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/.
+
+convertibleYes=Mesej anda boleh ditukarkan menjadi teks biasa tanpa kehilangan maklumat.
+convertibleAltering=Mesej anda boleh ditukarkan menjadi teks biasa tanpa kehilangan maklumat penting. Tetapi, versi teks jelas mungkin nampak berbeza dengan yang terdapat dalam komposer.
+convertibleNo=Tetapi, anda telah menggunakan format (contoh, warna) yang tidak akan ditukarkan menjadi teks biasa.
+recommended=(disyorkan)
diff --git a/l10n-ms/suite/chrome/mailnews/compose/composeMsgs.properties b/l10n-ms/suite/chrome/mailnews/compose/composeMsgs.properties
new file mode 100644
index 0000000000..ab16327450
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/composeMsgs.properties
@@ -0,0 +1,282 @@
+# 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 are used by the compose back end
+#
+## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile):
+## %S will be replaced with the name of file that could not be opened
+unableToOpenFile=Tidak dapat membuka fail %S.
+unableToOpenTmpFile=Tidak dapat membuka fail sementara %S. Semak tetapan 'Direktori Sementara' anda.
+unableToSaveTemplate=Tidak dapat menyimpan mesej anda sebagai templat.
+unableToSaveDraft=Tidak dapat menyimpan mesej anda sebagai draf.
+couldntOpenFccFolder=Tidak dapat membuka folder Mel Dihantar. Sila sahkan bahawa tetapan akaun anda adalah betul.
+noSender=Tiada pengirim yang dinyatakan. Sila masukkan alamat e-mel anda dalam tetapan akaun Mel & Kumpulan berita.
+noRecipients=Tiada penerima yang dinyatakan. Sila masukkan penerima atau kumpulan berita dalam ruang alamat.
+errorWritingFile=Ralat semasa menulis fail sementara.
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: %s. Sila pastikan bahawa alamat e-mel anda adalah betul dalam keutamaan Mel dan cuba lagi.
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=Ada ralat semasa pelayan Keluar (SMTP) menghantar mel. Pelayan memberikan respons: %s.
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: %s. Sila semak mesej dan cuba lagi.
+postFailed=Mesej tidak dapat disiarkan kerana gagal disambung ke pelayan berita. Pelayan mungkin tidak bersedia atau menolak sambungan, Sila pastikan bahawa tetapan pelayan berita adalah betul dan cuba lagi.
+errorQueuedDeliveryFailed=Ada ralat semasa menghantar mesej yang tidak dihantar.
+sendFailed=Gagal menghantar mesej.
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=Gagal kerana ralat %X tidak dijangka. Tiada penjelasan tersedia.
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing smtp server name
+smtpSecurityIssue=Konfigurasi berkaitan dengan %S mesti diperbetulkan.
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=Ada ralat semasa menghantar mel: Ralat pelayan keluar (SMTP). Pelayan memberikan respons: %s.
+unableToSendLater=Maaf, kami tidak dapat menyimpan mesej anda yang mahu dihantar kemudian.
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=Ada ralat komunikasi: %d. Sila cuba lagi.
+dontShowAlert=INI ADALAH HANYA RUANG LETAK. ANDA TIDAK AKAN DAPAT LIHAT STRING INI.
+
+couldNotGetUsersMailAddress2=Ada ralat semasa menghantar mel: alamat pengirim (Daripada:) tidak sah. Sila pastikan bahawa alamat e-mel ini adalah betul dan cuba lagi.
+couldNotGetSendersIdentity=Ada ralat semasa menghantar mel: identiti pengirim tidak sah. Sila semak konfigurasi identiti dan cuba lagi.
+mimeMpartAttachmentError=Ralat lampiran.
+failedCopyOperation=Mesej telah berjaya dihantar, tapi tidak dapat membuat salinan ke dalam folder Dihantar.
+nntpNoCrossPosting=Anda hanya boleh hantar satu mesej kepada satu pelayan berita pada satu masa.
+msgCancelling=Membatalkan…
+sendFailedButNntpOk=Mesej anda telah disiarkan ke dalam kumpulan berita tapi tidak dihantar kepada penerima lain.
+errorReadingFile=Ralat membaca fail.
+followupToSenderMessage=Pengarang mesej ini telah meminta supaya respons hanya dihantarkan kepada beliau. Jika anda juga mahu membalas ke kumpulan berita, tambah satu baris dalam ruang alamat, pilih Kumpulan berita dalam senarai penerima dan masukkan nama kumpulan berita tersebut.
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of object to be attached
+errorAttachingFile=Ada ralat semasa melampirkan %S. Sila pastikan bahawa anda boleh mengakses fail berkenaan.
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=Ada ralat semasa menghantar mel: Pelayan mel menghantar kata aluan yang tidak betul: %s.
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=Ada ralat semasa menghantar mel. Pelayan mel memberikan respons: \n%1$S.\n Sila semak penerima mesej "%2$S" dan cuba lagi.
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=Ada ralat semasa menghantar mel: Tidak dapat menyediakan sambungan yang selamat dengan pelayan Keluar (SMTP) %S menggunakan STARTTLS kerana tidak mempamerkan ciri berkenaan. Nyahaktifkan STARTTLS daripada pelayan berkenaan atau hubungi penyedia perkhidmatan anda.
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=Ada ralat semasa menghantar mel: Tidak dapat mencari kata laluan untuk %S. Mesej tidak dihantar.
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=Saiz mesej yang anda cuba hantar melebihi had saiz sementara pelayan. Mesej tidak dihantar; cuba kurangkan saiz mesej atau tunggu beberapa ketika dan cuba lagi. Pelayan memberikan respon: %s.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=Saiz mesej yang anda cuba hantar melebihi had saiz global (%d bait) pelayan. Mesej tidak dihantar; cuba kurangkan saiz mesej dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the server's response
+smtpPermSizeExceeded2=Saiz mesej yang anda cuba hantar melebihi had saiz global pelayan. Mesej tidak dihantar; kurangkan saiz mesej dan cuba lagi. Pelayan memberikan respons: %s.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=Ada ralat semasa menghantar mel: Pelayan Keluar (SMTP) %S tidak diketahui. Pelayan mungkin tersilap konfigurasi. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=Mesej tidak dapat dihantar kerana gagal disambungkan dengan pelayan Keluar (SMTP) %S. Pelayan mungkin tidak bersedia atau menolak sambungan SMTP. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=Mesej tidak dapat dihantar kerana hilang sambungan dengan pelayan Keluar (SMTP) %S semasa sedang dilaksanakan. Cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=Mesej tidak dapat dihantar kerana sambungan dengan pelayan Keluar (SMTP) %S telah tamat tempoh. Cuba lagi.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=Mesej tidak dapat dihantar menggunakan pelayan Keluar (SMTP) %S atas sebab yang tidak diketahui. Sila pastikan bahawa tetapan pelayan Keluar (SMTP) adalah betul dan cuba lagi.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=Pelayan keluar (SMTP) %S mungkin tidak kata laluan enkrip. Jika anda baru sahaja menetapkan akaun, cuba ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan, dihantar secara tidak selamat'. Jika sebelum ini tiada masalah tapi tiba-tiba sahaja gagal, anda mungkin terdedah kepada pencurian kata laluan.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=Pelayan keluar (SMTP) %S mungkin tidak kata laluan enkrip. Jika anda baru sahaja menetapkan akaun, cuba ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan Normal'.
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=Pelayan keluar (SMTP) %S tidak mengizinkan kata laluan teks jelas. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)' ke 'Kata laluan enkripsi'.
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=Tidak dapat mengesahkan pelayan Keluar (SMTP) %S. Sila semak kata laluan dan pastikan 'Kaedah pengesahan' dalam 'Tetapan akaun | Pelayan keluar (SMTP)'.
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan Keluar (SMTP) %S. Sila pastikan bahawa anda telah log masuk ke Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=Pelayan Keluar (SMTP) %S tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Pelayan Keluar (SMTP)'.
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=Simpan Mesej
+
+## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n.
+## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder).
+## Translate "Compose" to match the translation of item "windowTitlePrefix" below.
+saveDlogMessages3=Simpan mesej ini ke dalam folder Draf (%1$S) dan tutup tetingkap Karang?
+discardButtonLabel=&Buang perubahan
+
+## generics string
+defaultSubject=(tiada subjek)
+chooseFileToAttach=Lampirkan Fail
+
+##
+windowTitlePrefix=Karang:
+
+## String used by the dialog that informs the user about the newsgroup recipient
+recipientDlogMessage=Akaun ini hanya menyokong penerima e-mel. Meneruskan akan mengabaikan kumpulan berita.
+
+## String used by the alert that tells the user an e-mail address is invalid
+## LOCALIZATION NOTE (addressInvalid): %1$S is the email address
+addressInvalid=%1$S bukan alamat e-mel kerana tidak dalam bentuk user@host. Anda mesti membetulkannya sebelum menghantar e-mel.
+
+genericFailureExplanation=Sila pastikan bahawa tetapan akaun Mel & Kumpulan berita anda adalah betul dan cuba lagi.
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=penerima tidak didedahkan
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=Mesej Lampiran
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=Bahagian Mesej Lampiran
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=Karangan Mesej
+initErrorDlgMessage=Ada ralat semasa mencipta tetingkap mengarang mesej. Sila cuba lagi.
+
+## String used if the file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=Lampiran Fail
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name. Do not translate
+errorFileAttachMessage=Fail %1$S tidak wujud, maka tidak boleh dilampirkan dengan mesej.
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=Simpan Mesej
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=Mesej anda telah disimpan dalam folder %1$S dalam %2$S.
+CheckMsg=Jangan papar kotak dialog ini lagi.
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=Menghantar Mesej
+
+## LOCALIZATION NOTE (quitComposeWindowMessage): don't translate \n
+quitComposeWindowMessage2=%1$S sedang dalam proses menghantar mesej.\nAdakah anda mahu tunggu sehingga mesej selesai dihantar sebelum keluar, atau keluar sekarang?
+quitComposeWindowQuitButtonLabel2=&Keluar
+quitComposeWindowWaitButtonLabel2=&Tunggu
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=Hantar Mesej
+sendMessageCheckLabel=Adakah anda sudah bersedia untuk menghantar mesej ini?
+sendMessageCheckSendButtonLabel=Hantar
+assemblingMessageDone=Mengumpulkan mesej...Selesai
+assemblingMessage=Mengumpulkan mesej…
+smtpDeliveringMail=Menghantar mel…
+smtpMailSent=Mel berjaya dihantar
+assemblingMailInformation=Mengumpulkan maklumat mel…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=Melampirkan %S…
+creatingMailMessage=Mencipta mesej mel…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=Menyalin mesej ke dalam folder %S…
+copyMessageComplete=Selesai menyalin.
+copyMessageFailed=Gagal menyalin.
+filterMessageComplete=Selesai menapis.
+filterMessageFailed=Gagal menapis.
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## %S is the message size in user-friendly notation. Do not translate.
+largeMessageSendWarning=Amaran! Anda akan menghantar mesej bersaiz %S yang mungkin melebihi had yang dibenarkan pelayan mel. Adakah anda pasti mahu melakukannya?
+sendingMessage=Menghantar mesej…
+sendMessageErrorTitle=Ralat Menghantar Mesej
+postingMessage=Menyiarkan mesej…
+sendLaterErrorTitle=Ralat Menghantar Kemudian
+saveDraftErrorTitle=Ralat Menyimpan Draf
+saveTemplateErrorTitle=Ralat Menyimpan Templat
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=Ada masalah memasukkan fail %.200S ke dalam mesej. Adakah anda mahu terus menyimpan mesej tanpa fail ini?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=Ada masalah memasukkan fail %.200S ke dalam mesej. Adakah anda mahu terus menghantar mesej tanpa fail ini?
+returnToComposeWindowQuestion=Adakah anda mahu kembali ke tetingkap mengarang mesej?
+
+## reply header in composeMsg
+## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of person replying to)
+mailnews.reply_header_authorwrotesingle=#1 membalas:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=Pada #2 #3, #1 membalas:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 membalas pada #2 #3:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- Mesej Asal --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- Mesej Dikirim Semula --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=Namakan semula Lampiran
+renameAttachmentMessage=Nama lampiran baru:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=Masukkan kata laluan anda untuk %S:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the
+## words %1$S and %2$S. Place the word %1$S where the host name should appear,
+## and %2$S where the user name should appear.
+smtpEnterPasswordPromptWithUsername=Masukkan kata laluan untuk %2$S dalam %1$S:
+
+## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved sent messages (typically the "Sent" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveSentLocally2=Mesej anda telah dihantar tetapi tiada salinan di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan mesej secara lokal ke %3$S/%1$S-%2$S.
+errorFilteringMsg=Mesej anda telah dihantar dan disimpan, tapi ada ralat semasa menapis mesej tersebut.
+
+## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved draft messages (typically the "Drafts" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveDraftLocally2=Draf mesej anda tidak disimpan di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan mesej secara lokal ke %3$S/%1$S-%2$S.
+buttonLabelRetry2=&Cuba lagi
+
+## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved templates (typically the "Templates" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveTemplateLocally2=Templat anda tidak salin di dalam folder (%1$S) kerana ralat rangkaian atau akses fail.\nAnda boleh cuba lagi atau simpan templat secara lokal ke %3$S/%1$S-%2$S.
+
+## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal
+## save fails (e.g., to Sent) and save to Local Folders also fails. This could
+## occur if network is down and filesystem problems are present such as disk
+## full, permission issues or hardware failure.
+saveToLocalFoldersFailed=Tidak dapat menyimpan mesej ke dalam folder lokal. Mungkin kerana tidak cukup ruang storan fail.
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Buang sekatan %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S telah menyekat fail daripada dimuatkan ke dalam mesej ini. Dengan membuang sekatan, fail ini akan dimuatkan ke dalam mesej anda.
+
+## LOCALIZATION NOTE (blockedContentPrefLabel, blockedContentPrefAccesskey):
+## Same content as (blockedContentPrefLabel, blockedContentPrefAccesskey)
+## in mail directory. SeaMonkey does only use Options and not Preferences.
+blockedContentPrefLabel=Pilihan
+blockedContentPrefAccesskey=P
+
diff --git a/l10n-ms/suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd b/l10n-ms/suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..cbb43c3e4e
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd
@@ -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/. -->
+
+<!ENTITY attachImageSource.label "Lampirkan imej ini ke dalam mesej">
+<!ENTITY attachImageSource.accesskey "i">
+
+<!ENTITY attachLinkSource.label "Lampirkan sumber pautan ini ke dalam mesej">
+<!ENTITY attachLinkSource.accesskey "s">
diff --git a/l10n-ms/suite/chrome/mailnews/compose/messengercompose.dtd b/l10n-ms/suite/chrome/mailnews/compose/messengercompose.dtd
new file mode 100644
index 0000000000..1405232bcb
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/messengercompose.dtd
@@ -0,0 +1,130 @@
+<!-- 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 messengercompose.dtd Main UI for message composition -->
+<!ENTITY msgComposeWindow.title "Karang: (tiada subjek)">
+
+<!ENTITY fromAddr.label "Daripada:">
+<!ENTITY fromAddr.accesskey "r">
+<!ENTITY subject.label "Subjek:">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachments.label "Lampiran:">
+<!ENTITY attachments.accesskey "p">
+
+<!-- menu items: the . means that the menu item isn't implemented yet -->
+
+<!-- File menu items -->
+<!ENTITY saveCmd.label "Simpan">
+<!ENTITY saveCmd.accesskey "n">
+<!ENTITY saveAsCmd.label "Simpan Sebagai">
+<!ENTITY saveAsCmd.accesskey "S">
+<!ENTITY saveAsFileCmd.label "Fail…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "Draf">
+<!ENTITY saveAsDraftCmd.accesskey "D">
+<!ENTITY saveAsTemplateCmd.label "Templat">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY attachMenu.label "Lampir">
+<!ENTITY attachMenu.accesskey "r">
+<!ENTITY attachFileCmd.label "Fail…">
+<!ENTITY attachFileCmd.accesskey "F">
+<!ENTITY attachPageCmd.label "Halaman Web…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!--LOCALIZATION NOTE attachVCardCmd.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCardCmd.label "Kad Peribadi (vCard)">
+<!ENTITY attachVCardCmd.accesskey "P">
+<!ENTITY sendNowCmd.label "Hantar Sekarang">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "t">
+<!ENTITY sendLaterCmd.label "Hantar Kemudian">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "K">
+
+<!ENTITY accountManagerCmd.label "Tetapan Akaun Mel &amp; Kumpulan berita…">
+<!ENTITY accountManagerCmd.accesskey "m">
+
+<!-- View menu items -->
+<!ENTITY showComposeToolbarCmd.label "Bar alatan Mel">
+<!ENTITY showComposeToolbarCmd.accesskey "e">
+<!ENTITY showFormatToolbarCmd.label "Bar alatan Format">
+<!ENTITY showFormatToolbarCmd.accesskey "F">
+
+<!-- Format menu items -->
+<!ENTITY formatMenu.label "Format">
+<!ENTITY formatMenu.accesskey "o">
+
+<!-- Options menu items -->
+<!ENTITY optionsMenu.label "Pilihan">
+<!ENTITY optionsMenu.accesskey "n">
+
+<!ENTITY quoteCmd.label "Mesej Petikan">
+<!ENTITY quoteCmd.accesskey "P">
+<!ENTITY selectAddressCmd.label "Pilih Alamat…">
+<!ENTITY selectAddressCmd.key "">
+<!ENTITY selectAddressCmd.accesskey "A">
+
+<!ENTITY priorityMenu.label "Prioriti">
+<!ENTITY priorityMenu.accesskey "i">
+<!ENTITY lowestPriorityCmd.label "Paling rendah">
+<!ENTITY lowestPriorityCmd.accesskey "r">
+<!ENTITY lowPriorityCmd.label "Rendah">
+<!ENTITY lowPriorityCmd.accesskey "d">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY normalPriorityCmd.accesskey "m">
+<!ENTITY highPriorityCmd.label "Tinggi">
+<!ENTITY highPriorityCmd.accesskey "i">
+<!ENTITY highestPriorityCmd.label "Paling tinggi">
+<!ENTITY highestPriorityCmd.accesskey "P">
+
+<!ENTITY returnReceiptMenu.label "Resit Pemberitahu Serahan">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "Notifikasi Status Penghantaran">
+<!ENTITY dsnMenu.accesskey "N">
+
+<!ENTITY outputFormatMenu.label "Format">
+<!ENTITY outputFormatMenu.accesskey "t">
+<!ENTITY autoFormatCmd.label "Auto-Kesan">
+<!ENTITY autoFormatCmd.accesskey "a">
+<!ENTITY plainTextFormatCmd.label "Teks Biasa Sahaja">
+<!ENTITY plainTextFormatCmd.accesskey "s">
+<!ENTITY htmlFormatCmd.label "Teks Beraneka (HTML) Sahaja">
+<!ENTITY htmlFormatCmd.accesskey "r">
+<!ENTITY bothFormatCmd.label "Teks Biasa dan Beraneka (HTML)">
+<!ENTITY bothFormatCmd.accesskey "d">
+
+<!ENTITY fileCarbonCopyCmd.label "Hantar satu Salinan Kepada">
+<!ENTITY fileCarbonCopyCmd.accesskey "r">
+<!ENTITY fileHereMenu.label "Failkan Di sini">
+
+<!--LOCALIZATION NOTE Toolbar items Don't change any "chrome://" URLs -->
+<!-- Toolbar items -->
+<!ENTITY sendButton.label "Hantar">
+<!ENTITY addressButton.label "Alamat">
+<!ENTITY attachButton.label "Lampir">
+<!ENTITY spellingButton.label "Ejaan">
+<!ENTITY saveButton.label "Simpan">
+<!ENTITY stopButton.label "Berhenti">
+
+<!--tooltips-->
+<!-- We already inherit &menuBar.tooltip and &mailToolbar.tooltip from messenger.dtd -->
+<!ENTITY addressBar.tooltip "Bar Alamat">
+<!ENTITY formatToolbar.tooltip "Bar alatan Format">
+<!ENTITY sendButton.tooltip "Hantar mesej ini sekarang">
+<!ENTITY sendlaterButton.tooltip "Hantar mesej ini kemudian">
+<!ENTITY addressButton.tooltip "Pilih penerima dalam Buku Alamat">
+<!ENTITY attachButton.tooltip "Sertakan lampiran">
+<!ENTITY saveButton.tooltip "Simpan mesej ini">
+<!ENTITY stopButton.tooltip "Hentikan pemindahan semasa">
+
+<!-- context menu items -->
+<!ENTITY openAttachment.label "Buka">
+<!ENTITY openAttachment.accesskey "B">
+<!ENTITY renameAttachment.label "Namakan semula…">
+<!ENTITY renameAttachment.accesskey "N">
+<!ENTITY deleteAttachment.accesskey "B">
+<!ENTITY selectAllAttachments.accesskey "P">
+<!ENTITY attachFile.label "Lampirkan Fail…">
+<!ENTITY attachFile.accesskey "F">
+<!ENTITY attachPage.label "Lampir Halaman Web…">
+<!ENTITY attachPage.accesskey "W">
diff --git a/l10n-ms/suite/chrome/mailnews/compose/sendProgress.dtd b/l10n-ms/suite/chrome/mailnews/compose/sendProgress.dtd
new file mode 100644
index 0000000000..db2a27b540
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/sendProgress.dtd
@@ -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 sendprogress.dtd Main UI for Send Message Progress Dialog -->
+<!ENTITY sendDialog.title "Memproses Mesej">
+<!ENTITY status.label "Status:">
+<!ENTITY progress.label "Kemajuan:">
diff --git a/l10n-ms/suite/chrome/mailnews/compose/sendProgress.properties b/l10n-ms/suite/chrome/mailnews/compose/sendProgress.properties
new file mode 100644
index 0000000000..6d78e7616d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/compose/sendProgress.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (titleSendMsgSubject):
+# %S will be replaced by the message subject.
+titleSendMsgSubject=Menghantar Mesej - %S
+titleSendMsg=Menghantar Mesej
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=Menyimpan Mesej - %S
+titleSaveMsg=Menyimpan Mesej
+
+# LOCALIZATION NOTE (percentMsg):
+# This string is used to format the text to the right of the progress meter.
+# %S will be replaced by the percentage of the file that has been saved.
+# %% will be replaced a single % sign.
+percentMsg=%S%%
+
+messageSent=Mesej anda telah dihantar.
+messageSaved=Mesej anda telah disimpan.
diff --git a/l10n-ms/suite/chrome/mailnews/custom.properties b/l10n-ms/suite/chrome/mailnews/custom.properties
new file mode 100644
index 0000000000..afdadcdbb3
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/custom.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/.
+
+colonInHeaderName=Pengepala yang dimasukkan mengandungi aksara tidak sah, seperti ':', aksara tidak boleh-cetak, aksara bukan-ascii, atau aksara ascii lapan bit. Sila buang aksara tidak sah ini dan cuba lagi.
diff --git a/l10n-ms/suite/chrome/mailnews/downloadheaders.dtd b/l10n-ms/suite/chrome/mailnews/downloadheaders.dtd
new file mode 100644
index 0000000000..50293ada3d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/downloadheaders.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "Muat turun semua pengepala">
+<!ENTITY all.accesskey "M">
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "Muat turun">
+<!ENTITY download.accesskey "t">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "pengepala">
+<!ENTITY headers.accesskey "p">
+<!ENTITY mark.label "Tandakan pengepala yang lain sebagai sudah dibaca">
+<!ENTITY mark.accesskey "T">
diff --git a/l10n-ms/suite/chrome/mailnews/fieldMapImport.dtd b/l10n-ms/suite/chrome/mailnews/fieldMapImport.dtd
new file mode 100644
index 0000000000..aee958ddfb
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/fieldMapImport.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY fieldMapImport.title "Import Buku Alamat">
+<!ENTITY fieldMapImport.recordNumber "Data diimport untuk Rekod: ">
+<!ENTITY fieldMapImport.next.label "Berikut">
+<!ENTITY fieldMapImport.next.accesskey "B">
+<!ENTITY fieldMapImport.previous.label "Dahulu">
+<!ENTITY fieldMapImport.previous.accesskey "D">
+<!ENTITY fieldMapImport.text "Guna Pindah Atas dan Pindah Bawah untuk memadankan medan buku alamat yang terletak pada bahagian kiri dengan data yang mahu diimport pada bahagian kanan.">
+<!ENTITY fieldMapImport.up.label "Pindah Atas">
+<!ENTITY fieldMapImport.up.accesskey "A">
+<!ENTITY fieldMapImport.down.label "Pindah Bawah">
+<!ENTITY fieldMapImport.down.accesskey "B">
+<!ENTITY fieldMapImport.fieldListTitle "Medan Buku Alamat">
+<!ENTITY fieldMapImport.dataTitle "Data rekod untuk diimport">
+<!ENTITY fieldMapImport.skipFirstRecord.label "Rekod pertama mengandungi medan nama">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "R">
+
+
diff --git a/l10n-ms/suite/chrome/mailnews/filter.properties b/l10n-ms/suite/chrome/mailnews/filter.properties
new file mode 100644
index 0000000000..33e5dcd525
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/filter.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/.
+
+mustSelectFolder=Anda perlu pilih folder sasaran.
+enterValidEmailAddress=Masukkan alamat e-mel yang sah untuk dikirim semula.
+pickTemplateToReplyWith=Pilih templat untuk membuat balasan.
+mustEnterName=Anda perlu memberikan nama kepada penapis ini.
+cannotHaveDuplicateFilterTitle=Duplikasi Nama Penapis
+cannotHaveDuplicateFilterMessage=Nama penapis yang anda masukkan telah wujud. Sila masukkan nama penapis yang berbeza.
+mustHaveFilterTypeTitle=Tiada acara penapis yang dipilih
+mustHaveFilterTypeMessage=Anda perlu pilih sekurang-kurangnya satu acara apabila penapis ini dilaksanakan. Jika anda tidak mahu penapis melaksanakan acara buat sementara waktu, buang tanda dalam dialog Penapis Mesej.
+deleteFilterConfirmation=Adakah anda pasti mahu menghapuskan penapis yang dipilih?
+untitledFilterName=Penapis Tanpa Nama
+matchAllFilterName=Padankan Semua Mesej
+filterListBackUpMsg=Penapis tidak berfungsi kerana fail msgFilterRules.dat, tidak boleh dibaca. Fail msgFilterRules.dat baru akan dicipta dan sandaran fail lama, yang dipanggil rulesbackup.dat, akan dicipta dalam direktori yang sama.
+customHeaderOverflow=Anda telah melebihi had 50 pengepala penyesuaian. Sila buang satu atau lebih pengepala dan cuba lagi.
+filterCustomHeaderOverflow=Penapis anda telah melebihi had 50 pengepala penyesuaian. Sila edit fail msgFilterRules.dat yang mengandungi penapis anda supaya mengurangkan penggunaan pengepala penyesuaian.
+invalidCustomHeader=Salah satu penapis menggunakan pengepala tersuai yang mengandungi aksara tidak sah, seperti ':', aksara tidak boleh-dicetak, aksara bukan ascii atau aksara ascii lapan-bit. Sila edit fail msgFilterRules.dat yang mengandungi penapis anda supaya menghapuskan aksara yang tidak sah dari pengepala tersuai anda.
+continueFilterExecution=Gagal melaksanakan tapisan %S. Adakah anda mahu terus melaksanakan tapisan?
+promptTitle=Penapisan Berlangsung
+promptMsg=Anda sedang dalam proses menapis mesej.\nAdakah anda mahu terus menggunakan penapis?
+stopButtonLabel=Berhenti
+continueButtonLabel=Teruskan
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=Tindakan Menapis Gagal: "%1$S" dengan kod ralat=%2$S semasa mencuba:
+
+searchTermsInvalidTitle=Terma Carian Tidah Sah
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=Penapis ini tidak dapat disimpan kerana istilah carian "%2$S %1$S" tidak sah dalam konteks semasa.
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=Apabila mesej sepadan dengan penapis ini, tindakan akan dijalankan mengikut susunan ini:\n\n
+filterActionOrderTitle=Susunan tindakan sebenar
+## LOCALIZATION NOTE(filterActionItem):
+# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
+filterActionItem=%1$S. %2$S %3$S\n
+
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=Mesej remeh yang dikesan daripada %1$S - %2$S pada %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=id mesej yang dipindahkan = %1$S ke %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=id mesej yang disalin = %1$S ke %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=Tapisan dilaksanakan oleh "%1$S" kepada mesej daripada %2$S - %3$S pada %4$S
+filterMissingCustomAction=Tiada Tindakan Tersuai
+filterAction2=prioriti yang sudah diubah
+filterAction3=dibuang
+filterAction4=ditandakan sebagai sudah dibaca
+filterAction5=thread dihapuskan
+filterAction6=thread diikuti
+filterAction7=ditanda
+filterAction8=ada tag
+filterAction9=dibalas
+filterAction10=dikirim semula
+filterAction11=perlaksanaan dihentikan
+filterAction12=dibuang daripada pelayan POP3
+filterAction13=tertinggal pada pelayan POP3
+filterAction14=skor mel remeh
+filterAction15=kandungan yang diambil daripada pelayan POP3
+filterAction16=disalin ke folder
+filterAction17=ada tag
+filterAction18=sub-thread yang diabaikan
+filterAction19=ditandakan sebagai belum dibaca
+# LOCALIZATION NOTE(filterAutoNameStr)
+# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
+# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
+# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc.
+filterAutoNameStr=%1$S %2$S: %3$S
diff --git a/l10n-ms/suite/chrome/mailnews/folderProps.dtd b/l10n-ms/suite/chrome/mailnews/folderProps.dtd
new file mode 100644
index 0000000000..987a8ad838
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/folderProps.dtd
@@ -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/. -->
+
+<!ENTITY folderProps.windowtitle.label "Sifat">
+
+<!ENTITY generalInfo.label "Maklumat Umum">
+<!ENTITY folderCharsetFallback2.label "Pengekodan Teks Unduran:">
+<!ENTITY folderCharsetFallback2.accesskey "P">
+<!ENTITY folderCharsetEnforce2.label "Guna pengekodan untuk semua mesej dalam folder (tetapan pengekodan teks mesej individu dan pengesanan auto akan diabaikan)">
+<!ENTITY folderCharsetEnforce2.accesskey "G">
+<!ENTITY folderRebuildSummaryFileTip2.label "Bina semula Indeks Fail Ringkasan">
+<!ENTITY folderRebuildSummaryFile2.label "Pembaikan Folder">
+<!ENTITY folderRebuildSummaryFile2.accesskey "P">
+<!ENTITY folderRebuildSummaryFile.explanation "Kadang-kala folder fail indeks (.msf) menjadi rosak, dan mesej mungkin nampak seperti sudah hilang atau mesej yang sudah dibuang akan terus dipaparkan; oleh itu tindakan membaiki folder dapat mengatasi isu ini.">
+<!ENTITY folderIncludeInGlobalSearch.label "Sertakan mesej yang ada dalam folder ini dalam hasil Carian Global">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "G">
+
+<!ENTITY retention.label "Polisi Pengekalan">
+<!ENTITY retentionUseAccount.label "Guna tetapan akaun saya">
+<!ENTITY retentionUseAccount.accesskey "G">
+<!ENTITY daysOld.label "hari lepas">
+<!ENTITY message.label "mesej">
+<!ENTITY retentionCleanup.label "Simpan mesej:">
+<!ENTITY retentionCleanupImap.label "Simpan mesej: kedua-dua salinan lokal dan yang asal dalam pelayan:">
+<!ENTITY retentionCleanupPop.label "Simpan mesej: termasuk salinan asal dalam pelayan:">
+<!ENTITY retentionDeleteMsg.label "Buang mesej yang melebihi">
+<!ENTITY retentionDeleteMsg.accesskey "m">
+<!ENTITY retentionKeepAll.label "Semua mesej">
+<!ENTITY retentionKeepAll.accesskey "S">
+<!ENTITY retentionKeepRecent.label "Paling baru">
+<!ENTITY retentionKeepRecent.accesskey "b">
+<!ENTITY retentionApplyToFlagged.label "Sentiasa simpan mesej bertanda">
+<!ENTITY retentionApplyToFlagged.accesskey "e">
+
+<!ENTITY folderSynchronizationTab.label "Penyelarasan">
+<!ENTITY folderCheckForNewMessages2.label "Apabila mendapatkan mesej baru untuk akaun ini, sentiasa semak folder ini">
+<!ENTITY folderCheckForNewMessages2.accesskey "k">
+
+<!ENTITY offlineFolder.check.label "Pilih folder ini bagi kegunaan luar talian">
+<!ENTITY offlineFolder.check.accesskey "P">
+<!ENTITY offlineFolder.button.label "Muat turun Sekarang">
+<!ENTITY offlineFolder.button.accesskey "M">
+
+<!ENTITY selectofflineNewsgroup.check.label "Pilih kumpulan berita ini bagi kegunaan luar talian">
+<!ENTITY selectofflineNewsgroup.check.accesskey "l">
+<!ENTITY offlineNewsgroup.button.label "Muat turun Sekarang">
+<!ENTITY offlineNewsgroup.button.accesskey "M">
+
+<!ENTITY folderProps.name.label "Nama:">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.location.label "Lokasi:">
+<!ENTITY folderProps.location.accesskey "L">
+
+<!ENTITY folderSharingTab.label "Perkongsian">
+<!ENTITY privileges.button.label "Keistimewaan…">
+<!ENTITY privileges.button.accesskey "K">
+<!ENTITY permissionsDesc.label "Anda ada keizinan berikut:">
+<!ENTITY folderType.label "Jenis Folder:">
+
+<!ENTITY folderQuotaTab.label "Kuota">
+<!ENTITY folderQuotaUsage.label "Penggunaan:">
+<!ENTITY folderQuotaStatus.label "Status:">
+
+<!ENTITY numberOfMessages.label "Bilangan mesej:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "tidak diketahui">
+<!ENTITY sizeOnDisk.label "Saiz dalam cakera:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "tidak diketahui">
diff --git a/l10n-ms/suite/chrome/mailnews/folderWidgets.properties b/l10n-ms/suite/chrome/mailnews/folderWidgets.properties
new file mode 100644
index 0000000000..5ab364a850
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/folderWidgets.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(globalInbox)
+# %S=name of the Local folders account
+globalInbox=Peti masuk Global (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S dalam %2$S
+chooseFolder=Pilih Folder…
+chooseAccount=Pilih Akaun…
+noFolders=Tiada folder tersedia
diff --git a/l10n-ms/suite/chrome/mailnews/folderpane.dtd b/l10n-ms/suite/chrome/mailnews/folderpane.dtd
new file mode 100644
index 0000000000..72f167ff75
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/folderpane.dtd
@@ -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/. -->
+<!ENTITY nameColumn.label "Nama">
+<!ENTITY unreadColumn.label "Belum Dibaca">
+<!ENTITY totalColumn.label "Jumlah">
+<!ENTITY folderSizeColumn.label "Saiz">
+<!ENTITY folderLocationToolbarItem.title "Lokasi Folder">
+<!ENTITY mailViewsToolbarItem.title "Paparan Mel">
+<!ENTITY searchToolbarItem.title "Cari">
+<!ENTITY searchSubjectOrAddress.placeholder "Cari Subjek atau Alamat">
diff --git a/l10n-ms/suite/chrome/mailnews/gloda.properties b/l10n-ms/suite/chrome/mailnews/gloda.properties
new file mode 100644
index 0000000000..20d7d8bbbc
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/gloda.properties
@@ -0,0 +1,104 @@
+# 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 (*.facetLabel): These are the labels used to label the facet
+# displays in the global search facet display mechanism.
+
+# LOCALIZATION NOTE (*.includeLabel): The label to use for the included group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.included.fallbackLabel".
+
+# LOCALIZATION NOTE (*.excludeLabel): The label to use for the excluded group
+# in the facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.excluded.fallbackLabel".
+
+# LOCALIZATION NOTE (*.remainderLabel): The label to use for the remaining items
+# that are neither part of the included group or the excluded group in the
+# facet display. If not provided, we will fall back to
+# "glodaFacetView.facets.remainder.fallbackLabel".
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetLabel=Folder Mel
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetLabel=Daripada Saya
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetLabel=Kepada Saya
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetLabel=Hubungan
+gloda.message.attr.involves.includeLabel=terlibat dalam:
+gloda.message.attr.involves.excludeLabel=tidak terlibat:
+gloda.message.attr.involves.remainderLabel=hubungan lain:
+
+# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message.
+# SeaMonkey normally stores the date the message claims it was composed
+# according to the "Date" header. This is not the same as when the message
+# was sent or when it was eventually received by the user. In the future we
+# may change this to be one of the other dates, but not anytime soon.
+gloda.message.attr.date.facetLabel=Tarikh
+
+# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of
+# MIME types (ex: image/png, text/plain) of real attachments (not just part of
+# the message content but explicitly named attachments) on the message.
+# Although we hope to be able to provide localized human-readable explanations
+# of the MIME type (ex: "PowerPoint document"), I don't know if that is going
+# to happen.
+gloda.message.attr.attachmentTypes.facetLabel=Lampiran
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the e-mail address of
+# the mailing list and only be detected in messages received from the mailing
+# list. Extensions may contribute additional detected mailing-list-like
+# things.
+gloda.message.attr.mailing-list.facetLabel=Senarai Mel Berkaitan
+
+# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the
+# message. Notably, gmail's labels are not currently exposed via IMAP and we
+# do not do anything clever with gmail, so this is indepdendent of gmail
+# labels. This may change in the future, but it's a safe bet it's not
+# happening on SeaMonkey's side prior to 2.0.
+gloda.message.attr.tag.facetLabel=Tag
+
+# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is
+# flagged or not, as indicated by a pretty flag icon.
+# Thunderbird uses a star.
+gloda.message.attr.star.facetLabel=Ditanda
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetLabel=Dibaca
+
+# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe
+# the user has ever replied to the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.repliedTo.facetLabel=Dibalas
+
+# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe
+# the user has ever forwarded the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.forwarded.facetLabel=Dikirim semula
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in mimeTypeCategories.js to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=Arkib
+gloda.mimetype.category.documents.label=Dokumen
+gloda.mimetype.category.images.label=Imej
+# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to
+# encompass both audio and video. This is because video and audio streams are
+# frequently stored in the same type of container and we cannot rely on the
+# sending e-mail client to have been clever enough to figure out what was
+# really in the file. So we group them together.
+gloda.mimetype.category.media.label=Media (Audio, Video)
+gloda.mimetype.category.pdf.label=Fail PDF
+# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category
+# for MIME types that we don't really know what it is.
+gloda.mimetype.category.other.label=Lain-lain
diff --git a/l10n-ms/suite/chrome/mailnews/imapMsgs.properties b/l10n-ms/suite/chrome/mailnews/imapMsgs.properties
new file mode 100644
index 0000000000..fe7b853b18
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/imapMsgs.properties
@@ -0,0 +1,257 @@
+# 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 are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=Makluman untuk akaun %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=Membuka folder %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=Mencipta folder…
+
+# Status - deleting a folder
+# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being deleted.
+imapStatusDeletingMailbox=Menghapuskan folder %S…
+
+# Status - renaming mailbox
+# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being renamed.
+imapStatusRenamingMailbox=Menamakan semula folder %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=Mencari folder…
+
+# Status - subscribing to mailbox
+# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being subscribed to.
+imapStatusSubscribeToMailbox=Melanggan folder %S…
+
+# Status - unsubscribing from mailbox
+# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being unsubscribed from.
+imapStatusUnsubscribeMailbox=Membatalkan langganan folder %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=Mencari folder…
+
+# Status - closing a folder
+imapStatusCloseMailbox=Menutup folder…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=Memadatkan folder…
+
+# Status - logging out
+imapStatusLoggingOut=Sedang log keluar…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=Menyemak keupayaan pelayan mel…
+
+# Status - logging on
+imapStatusSendingLogin=Menghantar maklumat log masuk…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=Menghantar maklumat log masuk…
+
+# Status - downloading message
+imapDownloadingMessage=Memuat turun mesej…
+
+# Status - getting acl for folder
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=Mendapatkan folder ACL…
+
+# Status - getting server info
+imapGettingServerInfo=Mendapatkan Info Konfigurasi Pelayan…
+
+# Status - getting mailbox info
+imapGettingMailboxInfo=Mendapatkan Info Konfigurasi Peti mel…
+
+# Status - empty mime part
+imapEmptyMimePart=Bahagian kandungan ini akan dimuat turun atas permintaan.
+
+# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the header being downloaded should appear.
+# Place the word %2$S in your translation where the total number of headers to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…"
+imapReceivingMessageHeaders3=Memuat turun pengepala mesej %1$S daripada %2$S dalam %3$S…
+
+# LOCALIZATION NOTE (imapReceivingMessageFlags3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the flag being downloaded should appear.
+# Place the word %2$S in your translation where the total number of flags to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Jim's Account: Downloading message flag 100 of 1000 in INBOX…"
+imapReceivingMessageFlags3=Memuat turun mesej bertanda %1$S daripada %2$S dalam %3$S…
+
+imapDeletingMessages=Menghapuskan mesej…
+
+imapDeletingMessage=Menghapuskan mesej…
+
+# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessages=Memindahkan mesej ke %S…
+
+# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessage=Memindahkan mesej ke %S…
+
+# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessages=Menyalin mesej ke %S…
+
+# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessage=Menyalin mesej ke %S…
+
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…"
+imapFolderReceivingMessageOf3=Memuat turun mesej %1$S daripada %2$S dalam %3$S…
+
+# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapDiscoveringMailbox=Folder ditemui: %S
+
+# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below.
+# Place the word %1$S in your translation where the username should appear.
+# Place the word %2$S in your translation where the servername should appear.
+imapEnterServerPasswordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=Pelayan mel %S bukan pelayan mel IMAP4.
+
+# This is intentionally left blank.
+imapDone=
+
+imapUnknownHostError=Gagal disambung ke pelayan %S.
+imapOAuth2Error=Gagal pengesahan semasa disambung ke pelayan %S.
+
+imapConnectionRefusedError=Tidak dapat disambung ke pelayan mel %S; sambungan ditolak.
+
+imapNetTimeoutError=Sambungan ke pelayan %S telah tamat tempoh.
+
+# Status - no messages to download
+imapNoNewMessages=Tiada mesej baru pada pelayan.
+
+imapDefaultAccountName=Mel untuk %S
+
+imapSpecialChar2=Aksara %S dikhaskan untuk pelayan imap ini. Sila pilih nama lain.
+
+imapPersonalSharedFolderTypeName=Folder Peribadi
+
+imapPublicFolderTypeName=Folder Umum
+
+imapOtherUsersFolderTypeName=Folder Pengguna Lain
+
+imapPersonalFolderTypeDescription=Ini adalah folder mel peribadi. Tidak dikongsi.
+
+imapPersonalSharedFolderTypeDescription=Ini adalah folder mel peribadi. Telah dikongsi.
+
+imapPublicFolderTypeDescription=Ini adalah folder umum.
+
+imapOtherUsersFolderTypeDescription=Ini adalah folder mel yang dikongsi oleh pengguna '%S'.
+
+imapAclFullRights=Kawalan Penuh
+
+imapAclLookupRight=Pencarian
+
+imapAclReadRight=Dibaca
+
+imapAclSeenRight=Tetapkan keadaan Sudah Dibaca/Belum Dibaca
+
+imapAclWriteRight=Tulis
+
+imapAclInsertRight=Sisip (Salinan Ke)
+
+imapAclPostRight=Post
+
+imapAclCreateRight=Cipta Sub-folder
+
+imapAclDeleteRight=Buang Mesej
+
+imapAclAdministerRight=Folder Pentadbir
+
+imapServerDoesntSupportAcl=Pelayan ini tidak menyokong perkongsian folder.
+
+imapAclExpungeRight=Hapus
+
+imapServerDisconnected= Sambungan pelayan %S terputus. Pelayan mungkin mengalami masalah atau ada masalah rangkaian.
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=Adakah anda mahu melanggan %1$S?
+
+imapServerDroppedConnection=Tidak dapat menyambung ke pelayan IMAP. Anda mungkin telah melebihi bilangan maksimum \
+sambungan ke pelayan ini. Jika demikian, gunakan dialog Tetapan Lanjutan Pelayan IMAP untuk \
+mengurangkan bilangan sambungan cache.
+
+imapQuotaStatusFolderNotOpen=Kuota maklumat ini tidak tersedia kerana folder tidak dibuka.
+
+imapQuotaStatusNotSupported=Pelayan ini tidak menyokong kuota.
+
+# Out of memory
+imapOutOfMemory=Aplikasi kehabisan ruang memori.
+
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
+# Place the word %3$S in your translation where the name of the destination folder should appear.
+# Place the word %1$S where the currently copying message should appear.
+# Place the word %2$S where the total number of messages should appear.
+imapCopyingMessageOf2=Menyalin mesej %1$S daripada %2$S ke dalam %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the name of the folder.
+imapMoveFolderToTrash=Adakah anda pasti mahu menghapuskan folder '%S'?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the name of the folder.
+imapDeleteNoTrash=Penghapusan folder ini tidak boleh dibatalkan dan turut menghapuskan semua mesej serta sub-folder di dalamnya. Adakah anda pasti mahu menghapuskan folder '%S'?
+
+imapDeleteFolderDialogTitle=Buang Folder
+
+imapDeleteFolderButtonLabel=&Buang Folder
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=Pelayan IMAP %S tidak menyokong kata laluan yang dienkripkan. Jika anda baru sahaja menyediakan akaun ini, sila ubah kepada 'Kata laluan normal' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'. Jika sebelum ini boleh berfungsi, tapi sekarang tiba-tiba ada masalah, sila hubungi pentadbir atau penyedia e-mel anda.
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=Pelayan IMAP %S tidak mengizinkan kata laluan teks biasa. Sila ubah kepada 'Kata laluan Enkripsi' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=Pelayan IMAP %S tidak menyokong kata laluan yang dienkripkan. Jika anda baru sahaja menyediakan akaun ini, sila ubah kepada 'Kata laluan normal' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'. Jika sebelum ini boleh berfungsi, tapi sekarang tiba-tiba ada masalah, ini adalah senario biasa bagaimana pihak lain boleh mencuri kata laluan anda.
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=Pelayan IMAP %S tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan IMAP %S. Sila semak bahawa anda telah log masuk ke Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (imapServerCommandFailed):
+# Place the word %1$S in your translation where the name of the account name should appear.
+# Place the word %2$S in your translation where the server response should appear.
+imapServerCommandFailed=Arahan semasa tidak berjaya. Pelayan mel untuk akaun %1$S memberi respons: %2$S
+
+# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the name of the folder should appear.
+# Place the word %3$S in your translation where the server response should appear.
+imapFolderCommandFailed=Operasi semasa dalam '%2$S' tidak berjaya. Pelayan mel untuk akaun %1$S memberi respon: %3$S
+
+# LOCALIZATION NOTE (imapServerAlert):
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the alert from the server should appear.
+imapServerAlert=Makluman daripada akaun %1$S: %2$S
diff --git a/l10n-ms/suite/chrome/mailnews/importDialog.dtd b/l10n-ms/suite/chrome/mailnews/importDialog.dtd
new file mode 100644
index 0000000000..99115fda9c
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/importDialog.dtd
@@ -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/. -->
+
+<!ENTITY importDialog.windowTitle "Import">
+<!ENTITY importAll.label "Import Semua">
+<!ENTITY importAll.accesskey "S">
+<!ENTITY importMail.label "Mel">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "Langganan Suapan">
+<!ENTITY importFeeds.accesskey "n">
+<!ENTITY importAddressbook.label "Buku Alamat">
+<!ENTITY importAddressbook.accesskey "A">
+<!ENTITY importSettings.label "Tetapan">
+<!ENTITY importSettings.accesskey "T">
+<!ENTITY importFilters.label "Tapis">
+<!ENTITY importFilters.accesskey "T">
+
+<!ENTITY window.width "40em">
+<!ENTITY window.macWidth "45em">
+
+<!ENTITY importTitle.label "Bestari Import &brandShortName;">
+<!ENTITY importShortDesc.label "Import Mel, Buku Alamat, Tetapan dan Penapis daripada atur cara lain">
+
+<!ENTITY importDescription1.label "Bestari ini akan mengimport mesej mel, entri buku alamat, langganan suapam, keutamaan, dan/atau penapis daripada atur cara mel lain, serta format alamat buku biasa ke dalam &brandShortName;.">
+<!ENTITY importDescription2.label "Setelah diimport, anda akan dapat mengaksesnya dalam &brandShortName;.">
+
+<!ENTITY selectDescription.label "Sila pilih jenis fail yang mahu diimport:">
+<!ENTITY selectDescriptionB.label "Sila pilih akaun semasa atau cipta akaun baru:">
+<!ENTITY selectDescription.accesskey "S">
+<!ENTITY acctName.label "Nama:">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "Tidak menemui aplikasi atau data fail yang mahu diimport.">
+
+<!ENTITY back.label "&lt; Undur">
+<!ENTITY forward.label "Berikut &gt;">
+<!ENTITY finish.label "Selesai">
+<!ENTITY cancel.label "Batal">
+
+<!ENTITY select.label "atau pilih jenis bahan yang mahu diimport:">
+
+<!ENTITY title.label "Tajuk">
+<!ENTITY processing.label "Mengimport…">
diff --git a/l10n-ms/suite/chrome/mailnews/importMsgs.properties b/l10n-ms/suite/chrome/mailnews/importMsgs.properties
new file mode 100644
index 0000000000..75bbb2d2cb
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/importMsgs.properties
@@ -0,0 +1,311 @@
+# 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 are used by the import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the import code to display status/error
+# and informational messages
+#
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=Tidak menemui buku alamat yang mahu diimport.
+
+# Error: Address book import not intialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=Tidak dapat mengimport buku alamat: ralat ketika memulakan.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=Tidak dapat mengimport buku alamat: tidak boleh mencipta thread import.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=Ralat mengimport %S: tidak dapat mencipta buku alamat.
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=Tidak menemui peti mel yang mahu diimport
+
+# Error: Mailbox import not intialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=Tidak dapat mengimport peti mel: ralat ketika memulakan
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=Tidak dapat mengimport peti mel: tidak boleh mencipta thread import
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=Tidak dapat mengimport peti mel, tidak boleh mencipta objek proksi untuk peti mel destinasi
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=Ralat ketika mencipta peti mel destinasi, tidak dapat mencari peti mel %S
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=Ralat ketika mengimport peti mel %S, tidak boleh mencipta peti mel destinasi
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=Tidak dapat mencipta folder yang mahu diimport mel ke dalamnya
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=Nama Pertama
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=Nama Keluarga
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=Nama Paparan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=Nama gelaran
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=E-mel Utama
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=E-mel Sekunder
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=Telefon Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=Telefon Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=Nombor Faks
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=Nombor Kelui
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=Nombor Telefon Bimbit
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=Alamat Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=Alamat Rumah 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=Bandar Kediaman
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=Negeri Kediaman
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=Poskod Rumah
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=Negara
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=Alamat Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=Alamat Kerja 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=Bandar
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=Negeri
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=Poskod Kerja
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=Negara
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=Jawatan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=Jabatan
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=Organisasi
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=Halaman Web 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=Halaman Web 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=Tahun Lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=Bulan Lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=Tarikh lahir
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=Penyesuaian 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=Penyesuaian 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=Penyesuaian 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=Penyesuaian 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=Nota
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=Nama Skrin
+
+#Error strings
+ImportAlreadyInProgress=Operasi mengimport sedang dijalankan. Cuba lagi apabila proses mengimport sekarang sudah selesai.
+
+#Error strings for settings import
+ImportSettingsBadModule=Tidak dapat memuatkan modul tetapan
+ImportSettingsNotFound=Tidak dapat mencari tetapan. Semak untuk memastikan bahawa aplikasi sudah dipasang.
+ImportSettingsFailed=Ada ralat semasa mengimport tetapan. Beberapa, atau semua tetapan mungkin tidak diimport.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=Tetapan diimport daripada %S
+
+#Error string for mail import
+ImportMailBadModule=Tidak dapat memuatkan mel modul import
+ImportMailNotFound=Tidak dapat mencari mel untuk diimport. Semak untuk memastikan aplikasi mel telah dipasang dengan betul.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportMailFailed=Ada ralat semasa mengimport mel daripada %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportMailSuccess=Mel berjaya diimport daripada %S
+
+# Error string for address import
+ImportAddressBadModule=Tidak dapat memuatkan buku alamat modul import.
+ImportAddressNotFound=Tidak dapat mencari buku alamat untuk diimport. Semak untuk memastikan aplikasi atau format yang dipilih telah dipasang dengan betul.
+ImportEmptyAddressBook=Tidak boleh mengimport buku alamat %S yang kosong.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=Ada ralat semasa mengimport alamat daripada %S.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=Alamat berjaya diimport daripada %S.
+
+# Error string for filters import
+ImportFiltersBadModule=Tidak dapat memuatkan penapis modul import.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=Ada ralat semasa mengimport penapis daripada %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=Penapis berjaya diimport daripada %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=Sebahagian penapis berjaya diimport daripada %S. Amaran di bawah:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=Menukarkan peti mel daripada %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=Menukarkan buku alamat daripada %S
+
+#Import file dialog strings
+ImportSelectSettings=Pilih Fail Tetapan
+ImportSelectMailDir=Pilih Direktori Mel
+ImportSelectAddrDir=Pilih Direktori Buku Alamat
+ImportSelectAddrFile=Pilih Fail Buku Alamat
+
+# Folder Names for imported Mail
+DefaultFolderName=Mel Diimport
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=Import %S
diff --git a/l10n-ms/suite/chrome/mailnews/junkLog.dtd b/l10n-ms/suite/chrome/mailnews/junkLog.dtd
new file mode 100644
index 0000000000..2a3834b3a0
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/junkLog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY adaptiveJunkLog.title "Penyesuaian Log Mel Remeh">
+<!ENTITY adaptiveJunkLogInfo.label "Log kawalan aktiviti penyesuaian mel remeh.">
+<!ENTITY clearLog.label "Buang Log">
+<!ENTITY clearLog.accesskey "B">
+<!ENTITY closeLog.label "Tutup">
+<!ENTITY closeLog.accesskey "t">
diff --git a/l10n-ms/suite/chrome/mailnews/junkMailInfo.dtd b/l10n-ms/suite/chrome/mailnews/junkMailInfo.dtd
new file mode 100644
index 0000000000..fa7f761150
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/junkMailInfo.dtd
@@ -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/. -->
+
+<!ENTITY window.title "Perihal Mel Remeh">
+<!ENTITY window.width "450">
+<!ENTITY info1a.label "Mel secara automatik mengesan mesej masuk yang dianggap mel remeh (juga dikenali sebagai spam). Mesej yang dianggap oleh Mel sebagai remeh akan dipaparkan dengan ikon mel remeh">
+<!ENTITY info1b.label ".">
+<!ENTITY info2.label "Pertama sekali, anda perlu melatih Mel untuk mengenal pasti mel remeh dengan menandakan mesej sebagai mel remeh atau tidak, dengan menggunakan butang dalam bar alatan Mel Remeh.">
+<!ENTITY info3.label "Apabila Mel sudah dapat mengenal pasti mel remeh dengan betul, anda boleh gunakan Kawalan Mel Remeh yang secara automatik akan memindahkan mel remeh masuk ke dalam folder Mel Remeh.">
+<!ENTITY info4.label "Untuk maklumat lanjut, klik Bantuan.">
diff --git a/l10n-ms/suite/chrome/mailnews/localMsgs.properties b/l10n-ms/suite/chrome/mailnews/localMsgs.properties
new file mode 100644
index 0000000000..094d2e5e05
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/localMsgs.properties
@@ -0,0 +1,132 @@
+# 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 are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=Ralat dengan akaun %S
+
+# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S"
+# and "%2$S" below. Place the word %1$S where the user name should appear, and
+# %2$S where the host name should appear.
+pop3EnterPasswordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+# LOCALIZATION NOTE(pop3PreviouslyEnteredPasswordIsInvalidPrompt): Do not
+# translate the words "%1$S" and "%2$S" below. Place the word %1$S where the
+# user name should appear, and %2$S where the host name should appear.
+pop3PreviouslyEnteredPasswordIsInvalidPrompt=Masukkan kata laluan baru untuk %1$S dalam %2$S:
+
+# Status - Downloading message n of m
+# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines.
+# Place the word %1$S where the number of messages downloaded so far should appear.
+# Place the word %2$S where the total number of messages to receive should appear;
+receivingMessages=Memuat turun mesej %1$S daripada %2$S…
+
+# Status - connecting to host
+hostContact=Dapat menghubungi hos, menghantar maklumat log masuk…
+
+# Status - no messages to download
+noNewMessages=Tiada mesej baru.
+
+# Status - messages received after the download
+#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line.
+# %1$S will receive the number of messages received
+# %2$S will receive the total number of messages
+receivedMsgs=Menerima %1$S daripada %2$S mesej
+
+# Status - parsing folder
+#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line.
+# Place the word %S where the name of the mailbox should appear
+buildingSummary=Membina fail ringkasan untuk %S…
+
+# Status - parsing folder
+localStatusDocumentDone=Siap
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=Ada ralat dengan pelayan mel POP3.
+
+# Status - pop3 user name failed
+pop3UsernameFailure=Tidak berjaya menghantar nama pengguna.
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=Tidak berjaya menghantar kata laluan untuk %1$S.
+
+# Status - write error occurred
+pop3MessageWriteError=Tidak dapat menulis e-mel ke dalam peti mel. Pastikan sistem fail mengizinkan anda menulis, dan ada ruang cakera yang cukup untuk menyalin ke dalam peti mel.
+
+# Status - pop3 server or folder busy
+# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
+# Place %S where the account name should appear.
+pop3ServerBusy=Akaun %S sedang diproses. Sila tunggu sehingga proses ini selesai mendapatkan mesej.
+
+# Status - retr failure from the server
+pop3RetrFailure=Arahan RETR tidak berjaya. Ralat semasa mendapatkan mesej.
+
+# Status - password undefined
+pop3PasswordUndefined=Ralat mendapatkan kata laluan mel.
+
+# Status - username undefined
+pop3UsernameUndefined=Anda tidak memberikan nama pengguna untuk pelayan ini. Sila berikannya dalam menu penetapan akaun dan cuba lagi.
+
+# Status - list failure
+pop3ListFailure=Arahan LIST tidak berjaya. Ralat semasa mendapatkan ID dan saiz mesej.
+
+# Status - delete error
+pop3DeleFailure=Arahan DELE tidak berjaya. Ralat semasa menandakan mesej sebagai sudah dibuang.
+
+# Status - stat failed
+pop3StatFail=Arahan STAT tidak berjaya. Ralat semasa mendapatkan nombor dan saiz mesej.
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= Pelayan mel %S memberikan respons:
+
+copyingMessagesStatus=Menyalin %S daripada %S mesej ke %S
+
+movingMessagesStatus=Memindahkan %S daripada %S mesej ke %S
+
+pop3TmpDownloadError=Ada ralat semasa memuat turun mesej berikut: \nDaripada: %S\n Subjek: %S\n Mesej ini mungkin mengandungi virus atau ruang cakera tidak mencukupi. Abaikan mesej ini?
+
+# Status - the server doesn't support UIDL…
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "UIDL"
+pop3ServerDoesNotSupportUidlEtc=Pelayan mel POP3 (%S) tidak menyokong UIDL atau XLST XTND, yang diperlukan untuk melaksanakan pilihan ``Tinggalkan pada Pelayan'', ``Saiz Mesej Maksimum'' atau ``Ambil Pengepala Sahaja''. Untuk memuat turun mel, nyahaktifkan pilihan ini dalam Tetapan Pelayan dalam tetingkap Tetapan Akaun.
+
+# Status - the server doesn't support the top command
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "TOP"
+pop3ServerDoesNotSupportTopCommand=Pelayan mel POP3 (%S) tidak menyokong arahan TOP. Tanpa sokongan pelayan, kami tidak boleh melaksanakan keutamaan ``Saiz Mesej Maksimum'' atau ``Ambil Pengepala Sahaja''. Pilihan ini telah dinyahaktifkan, dan mesej akan dimuat turun tanpa mengira saiznya.
+
+nsErrorCouldNotConnectViaTls=Tidak dapat melaksanakan sambungan TLS ke pelayan POP3. Pelayan mungkin tergendala atau tidak dikonfigurasi dengan betul. Sila pastikan konfigurasi ini betul dengan Tetapan Pelayan untuk pelayan mel anda dalam tetingkap Tetapan Akaun, dan cuba lagi.
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the name of the folder.
+pop3MoveFolderToTrash=Adakah anda pasti mahu menghapuskan folder '%S'?
+
+pop3DeleteFolderDialogTitle=Buang Folder
+
+pop3DeleteFolderButtonLabel=&Buang Folder
+
+pop3AuthInternalError=Ralat keadaan dalaman semasa pengesahan pelayan POP3. Ini adalah ralat dalaman dan tidak dijangkakan di dalam aplikasi, sila laporkan sebagai pepijat.
+
+pop3AuthChangeEncryptToPlainNoSSL=Pelayan POP3 ini mungkin tidak menyokong kata laluan enkripsi. Jika anda baru sahaja menetapkan akaun, sila tukar ke 'Kata laluan, dihantar secara tidak selamat' sebagai 'Kaedah Pengesahan' dalam 'Tetapan Akaun | Tetapan Pelayan'. Jika tiada masalah ini sebelum ini dan tiba-tiba kali ini gagal, ini adalah senario lazim bagaimana seseorang boleh mencuri kata laluan anda.
+
+pop3AuthChangeEncryptToPlainSSL=Pelayan POP3 ini mungkin tidak menyokong kata laluan enkripsi. Jika anda baru sahaja menetapkan akaun, sila tukar ke 'Kata laluan Normal' sebagai 'Kaedah Pengesahan' dalam 'Tetapan Akaun | Tetapan Pelayan'. Jika tiada masalah ini sebelum ini dan tiba-tiba kali ini gagal, sila hubungi pentadbir atau penyedia e-mel anda.
+
+pop3AuthChangePlainToEncrypt=Pelayan POP3 ini tidak mengizinkan kata laluan teks biasa. Sila ubah kepada 'Kata laluan Enkripsi' sebagai 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=Pelayan ini tidak menyokong kaedah pengesahan yang dipilih. Sila ubah 'Kaedah pengesahan' dalam 'Tetapan Akaun | Tetapan pelayan'.
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=Tiket Kerberos/GSSAPI tidak diterima oleh pelayan POP. Sila semak bahawa anda telah log masuk ke Kerberos/GSSAPI.
diff --git a/l10n-ms/suite/chrome/mailnews/mailEditorOverlay.dtd b/l10n-ms/suite/chrome/mailnews/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..5e10cd4b92
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailEditorOverlay.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!ENTITY sendPage.label "Hantar Halaman…">
+<!ENTITY sendPage.accesskey "l">
diff --git a/l10n-ms/suite/chrome/mailnews/mailKeysOverlay.dtd b/l10n-ms/suite/chrome/mailnews/mailKeysOverlay.dtd
new file mode 100644
index 0000000000..b365b972d6
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailKeysOverlay.dtd
@@ -0,0 +1,26 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY markAsReadCmd.label "Sebagai sudah Dibaca">
+<!ENTITY markAsReadCmd.accesskey "D">
+<!ENTITY markAsReadCmd.key "m">
+
+<!ENTITY markFlaggedCmd.label "Tanda">
+<!ENTITY markFlaggedCmd.accesskey "T">
+<!ENTITY markFlaggedCmd.key "i">
+
+<!ENTITY openMessageWindowCmd.label "Buka Mesej">
+<!ENTITY openMessageWindowCmd.accesskey "B">
+<!ENTITY openMessageWindowCmd.key "o">
+
+<!ENTITY tagCmd0.key "0">
+<!ENTITY tagCmd1.key "1">
+<!ENTITY tagCmd2.key "2">
+<!ENTITY tagCmd3.key "3">
+<!ENTITY tagCmd4.key "4">
+<!ENTITY tagCmd5.key "5">
+<!ENTITY tagCmd6.key "6">
+<!ENTITY tagCmd7.key "7">
+<!ENTITY tagCmd8.key "8">
+<!ENTITY tagCmd9.key "9">
diff --git a/l10n-ms/suite/chrome/mailnews/mailOverlay.dtd b/l10n-ms/suite/chrome/mailnews/mailOverlay.dtd
new file mode 100644
index 0000000000..6fe6dcaa3a
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailOverlay.dtd
@@ -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/. -->
+
+
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Mesej">
+<!ENTITY newMessageCmd.accesskey "j">
+
+<!ENTITY newContactCmd.label "Kenalan…">
+<!ENTITY newContactCmd.accesskey "K">
+
diff --git a/l10n-ms/suite/chrome/mailnews/mailTasksOverlay.dtd b/l10n-ms/suite/chrome/mailnews/mailTasksOverlay.dtd
new file mode 100644
index 0000000000..adad86c1ec
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailTasksOverlay.dtd
@@ -0,0 +1,23 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- LOCALIZATION NOTE (messengerCmd.label): DONT_TRANSLATE -->
+<!ENTITY messengerCmd.label "Mel &amp; Kumpulan berita">
+<!ENTITY messengerCmd.accesskey "m">
+<!ENTITY messengerCmd.commandkey "2">
+<!ENTITY addressBookCmd.label "Buku Alamat">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.commandkey "5">
+
+<!ENTITY taskMessenger.tooltip "Mel &amp; Kumpulan berita">
+<!ENTITY taskAddressBook.tooltip "Buku Alamat">
+
+<!-- searchAddressesCmd is also used by addressbook -->
+<!ENTITY searchAddressesCmd.label "Cari Alamat…">
+<!ENTITY searchAddressesCmd.accesskey "A">
+
+<!ENTITY searchMailCmd.label "Cari Mesej…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
diff --git a/l10n-ms/suite/chrome/mailnews/mailViewList.dtd b/l10n-ms/suite/chrome/mailnews/mailViewList.dtd
new file mode 100644
index 0000000000..4667b781fe
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailViewList.dtd
@@ -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 msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewListTitle.label "Penyesuaian Paparan Mesej">
+<!ENTITY viewName.label "Papar Nama">
+
diff --git a/l10n-ms/suite/chrome/mailnews/mailViewSetup.dtd b/l10n-ms/suite/chrome/mailnews/mailViewSetup.dtd
new file mode 100644
index 0000000000..7af48d607a
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailViewSetup.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY mailViewSetupTitle.label "Menetapkan Paparan Mesej">
+<!ENTITY mailViewHeading.label "Nama paparan mesej:">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "Apabila paparan ini dipilih, papar hanya mesej yang:">
+
diff --git a/l10n-ms/suite/chrome/mailnews/mailviews.properties b/l10n-ms/suite/chrome/mailnews/mailviews.properties
new file mode 100644
index 0000000000..c3c4babac0
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mailviews.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/.
+
+#
+# Mail Views
+#
+
+mailViewPeopleIKnow=Yang Saya Kenal
+mailViewRecentMail=Mel Terkini
+mailViewLastFiveDays=5 hari lepas
+mailViewNotJunk=Bukan Mel Remeh
+mailViewHasAttachments=Ada Lampiran
diff --git a/l10n-ms/suite/chrome/mailnews/mapi/mapi.properties b/l10n-ms/suite/chrome/mailnews/mapi/mapi.properties
new file mode 100644
index 0000000000..43ce7f1bb5
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mapi/mapi.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/.
+
+# MAPI Messages
+loginText=Sila masukkan kata laluan anda untuk %S:
+loginTextwithName=Sila masukkan nama pengguna dan kata laluan
+loginTitle=Mel %S
+PasswordTitle=Mel %S
+
+# MAPI Security Messages
+mapiBlindSendWarning=Ada aplikasi lain sedang cuba menghantar mel menggunakan profil pengguna anda. Adakah anda pasti mahu menghantar mel?
+mapiBlindSendDontShowAgain=Beri amaran apabila ada aplikasi lain cuba menghantar e-mel bagi pihak saya
diff --git a/l10n-ms/suite/chrome/mailnews/markByDate.dtd b/l10n-ms/suite/chrome/mailnews/markByDate.dtd
new file mode 100644
index 0000000000..6d1ea77968
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/markByDate.dtd
@@ -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/. -->
+
+<!ENTITY messageMarkByDate.label "Tandakan Mesej sebagai sudah Dibaca mengikut Tarikh">
+<!ENTITY markByDateLower.label "Tandakan mesej sebagai dibaca daripada:">
+<!ENTITY markByDateLower.accesskey "D">
+<!ENTITY markByDateUpper.accesskey "K">
+<!ENTITY markByDateUpper.label "Kepada:">
diff --git a/l10n-ms/suite/chrome/mailnews/messenger.dtd b/l10n-ms/suite/chrome/mailnews/messenger.dtd
new file mode 100644
index 0000000000..f1b5c80a07
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/messenger.dtd
@@ -0,0 +1,531 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY messengerWindow.title "Mel &amp; Kumpulan berita">
+<!ENTITY titleModifier.label "&brandShortName;">
+<!ENTITY titleSeparator.label " - ">
+
+<!-- tabmail -->
+<!ENTITY tabmailClose.label "Tutup Tab">
+<!ENTITY tabmailClose.tooltip "Tutup tab">
+<!ENTITY tabmailNewButton.tooltip "Duplikasi tab semasa">
+<!ENTITY tabmailCloseButton.tooltip "Tutup tab semasa">
+<!ENTITY tabmailAllTabs.tooltip "Senarai semua tab">
+
+<!-- menu items: the . means that the menu item isn't implemented yet -->
+
+<!-- File menu items -->
+<!ENTITY newMessage.label "Mesej Baru">
+<!ENTITY newMessage.accesskey "B">
+<!ENTITY newFolderCmd.label "Folder…">
+<!ENTITY newFolderCmd.accesskey "F">
+<!ENTITY newVirtualFolderCmd.label "Carian Tersimpan…">
+<!ENTITY newVirtualFolderCmd.accesskey "C">
+<!ENTITY newTabCmd.label "Duplikasi Tab">
+<!ENTITY newTabCmd.accesskey "T">
+<!ENTITY newTabCmd.key "t">
+<!ENTITY closeTabCmd.label "Tutup Tab">
+<!ENTITY closeTabCmd.accesskey "p">
+<!ENTITY newAccountCmd.label "Akaun…">
+<!ENTITY newAccountCmd.accesskey "A">
+<!ENTITY openMessageFileCmd.label "Buka Fail…">
+<!ENTITY openMessageFileCmd.accesskey "B">
+<!ENTITY openAttachmentCmd.label "Lampiran">
+<!ENTITY openAttachmentCmd.accesskey "n">
+<!ENTITY saveAsMenu.label "Simpan Sebagai">
+<!ENTITY saveAsMenu.accesskey "S">
+<!ENTITY saveAsFileCmd.label "Fail">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "Templat">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY getNewMsgCmd.label "Dapatkan Mesej Baru">
+<!ENTITY getNewMsgCmd.accesskey "D">
+<!ENTITY getNewMsgCmd2.key "d">
+<!ENTITY getNewMsgForCmd.label "Dapatkan Mesej Baru untuk">
+<!ENTITY getNewMsgForCmd.accesskey "u">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "Semua Akaun">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "A">
+<!ENTITY getAllNewMsgCmd2.key "d">
+<!ENTITY getNextNMsgCmd.label "Dapatkan 500 Mesej Berita Seterusnya">
+<!ENTITY getNextNMsgCmd.accesskey "t">
+<!ENTITY sendUnsentCmd.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY sendUnsentCmd.accesskey "h">
+<!ENTITY subscribeCmd.label "Langgan…">
+<!ENTITY subscribeCmd.accesskey "g">
+<!ENTITY renameFolder.label "Namakan semula Folder…">
+<!ENTITY renameFolder.accesskey "N">
+<!ENTITY compactFolders.label "Padatkan Folder">
+<!ENTITY compactFolders.accesskey "F">
+<!ENTITY emptyTrashCmd.label "Buang Sampah">
+<!ENTITY emptyTrashCmd.accesskey "h">
+<!ENTITY offlineMenu.label "Luar talian">
+<!ENTITY offlineMenu.accesskey "l">
+<!ENTITY synchronizeOfflineCmd.label "Muat turun/Sync Sekarang…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd.label "Tetapan Luar talian…">
+<!ENTITY settingsOfflineCmd.accesskey "e">
+<!ENTITY downloadSelectedCmd.label "Dapatkan Mesej yang Dipilih">
+<!ENTITY downloadSelectedCmd.accesskey "t">
+<!ENTITY downloadFlaggedCmd.label "Cari Mesej Ditanda">
+<!ENTITY downloadFlaggedCmd.accesskey "D">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "Buang Mesej">
+<!ENTITY deleteMsgCmd.accesskey "B">
+<!ENTITY undeleteMsgCmd.label "Batal buang Mesej">
+<!ENTITY undeleteMsgCmd.accesskey "b">
+<!ENTITY cancelNewsMsgCmd.label "Batal Mesej">
+<!ENTITY cancelNewsMsgCmd.accesskey "j">
+<!ENTITY deleteMsgsCmd.label "Buang Mesej yang Dipilih">
+<!ENTITY deleteMsgsCmd.accesskey "B">
+<!ENTITY undeleteMsgsCmd.label "Batal buang Mesej yang Dipilih">
+<!ENTITY undeleteMsgsCmd.accesskey "g">
+<!ENTITY deleteFolderCmd.label "Buang Folder">
+<!ENTITY deleteFolderCmd.accesskey "B">
+<!ENTITY unsubscribeNewsgroupCmd.label "Batal langganan">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "n">
+<!ENTITY selectMenu.label "Pilih">
+<!ENTITY selectMenu.accesskey "P">
+<!ENTITY selectThreadCmd.label "Thread">
+<!ENTITY selectThreadCmd.accesskey "T">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "Mesej Ditanda">
+<!ENTITY selectFlaggedCmd.accesskey "D">
+<!ENTITY folderPropsCmd.label "Sifat…">
+<!ENTITY folderPropsFolderCmd.label "Sifat Folder…">
+<!ENTITY folderPropsNewsgroupCmd.label "Sifat Kumpulan berita…">
+<!ENTITY folderPropsCmd.accesskey "f">
+<!ENTITY accountManagerCmd.label "Tetapan Akaun Mel &amp; Kumpulan berita…">
+<!ENTITY accountManagerCmd.accesskey "M">
+<!ENTITY undoDeleteMsgCmd.label "Batal Membuang Mesej">
+<!ENTITY redoDeleteMsgCmd.label "Ulang Buang Mesej">
+<!ENTITY undoMoveMsgCmd.label "Batal Memindahkan Mesej">
+<!ENTITY redoMoveMsgCmd.label "Ulang Pindah Mesej">
+<!ENTITY undoCopyMsgCmd.label "Batal Menyalin Mesej">
+<!ENTITY redoCopyMsgCmd.label "Ulang Salin Mesej">
+<!ENTITY undoMarkAllCmd.label "Batal Semua Tanda Sudah Dibaca">
+<!ENTITY redoMarkAllCmd.label "Ulang Tanda Semua Sudah Dibaca">
+<!ENTITY undoDefaultCmd.label "Batal">
+<!ENTITY redoDefaultCmd.label "Ulang">
+
+<!-- View Menu -->
+<!ENTITY showMessengerToolbarCmd.label "Bar alatan Mel">
+<!ENTITY showMessengerToolbarCmd.accesskey "M">
+<!ENTITY showSearchToolbarCmd.label "Bar Carian">
+<!ENTITY showSearchToolbarCmd.accesskey "a">
+<!ENTITY showTabsToolbarCmd.label "Bar alatan Tab">
+<!ENTITY showTabsToolbarCmd.accesskey "T">
+
+<!ENTITY messagePaneLayoutStyle.label "Susun atur">
+<!ENTITY messagePaneLayoutStyle.accesskey "S">
+<!ENTITY messagePaneClassic.label "Paparan Klasik">
+<!ENTITY messagePaneClassic.accesskey "K">
+<!ENTITY messagePaneWide.label "Paparan Melebar">
+<!ENTITY messagePaneWide.accesskey "M">
+<!ENTITY messagePaneVertical.label "Paparan Menegak">
+<!ENTITY messagePaneVertical.accesskey "P">
+<!ENTITY showMessagePaneCmd.label "Anak tetingkap Mesej">
+<!ENTITY showMessagePaneCmd.accesskey "M">
+<!ENTITY showThreadPaneCmd.label "Anak tetingkap Thread">
+<!ENTITY showThreadPaneCmd.accesskey "T">
+<!ENTITY showFolderPaneCmd.label "Anak tetingkap Folder">
+<!ENTITY showFolderPaneCmd.accesskey "F">
+
+<!-- sortMenu is also used by addressbook -->
+<!ENTITY sortMenu.label "Susun mengikut">
+<!ENTITY sortMenu.accesskey "t">
+
+<!ENTITY sortByDateCmd.label "Tarikh">
+<!ENTITY sortByDateCmd.accesskey "a">
+<!ENTITY sortByReceivedCmd.label "Diterima">
+<!ENTITY sortByReceivedCmd.accesskey "e">
+<!ENTITY sortByFlagCmd.label "Tanda">
+<!ENTITY sortByFlagCmd.accesskey "d">
+<!ENTITY sortByPriorityCmd.label "Prioriti">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "Saiz">
+<!ENTITY sortBySizeCmd.accesskey "z">
+<!ENTITY sortByStatusCmd.label "Status">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "Tag">
+<!ENTITY sortByTagsCmd.accesskey "g">
+<!ENTITY sortByJunkStatusCmd.label "Status Mel remeh">
+<!ENTITY sortByJunkStatusCmd.accesskey "R">
+<!ENTITY sortBySubjectCmd.label "Subjek">
+<!ENTITY sortBySubjectCmd.accesskey "S">
+<!ENTITY sortByFromCmd.label "Daripada">
+<!ENTITY sortByFromCmd.accesskey "D">
+<!ENTITY sortByRecipientCmd.label "Penerima">
+<!ENTITY sortByRecipientCmd.accesskey "n">
+<!ENTITY sortByUnreadCmd.label "Dibaca">
+<!ENTITY sortByUnreadCmd.accesskey "D">
+<!ENTITY sortByOrderReceivedCmd.label "Susunan Diterima">
+<!ENTITY sortByOrderReceivedCmd.accesskey "S">
+<!ENTITY sortByAttachmentsCmd.label "Lampiran">
+<!ENTITY sortByAttachmentsCmd.accesskey "m">
+<!ENTITY sortAscending.label "Menaik">
+<!ENTITY sortAscending.accesskey "M">
+<!ENTITY sortDescending.label "Menurun">
+<!ENTITY sortDescending.accesskey "n">
+<!ENTITY sortThreaded.label "Thread">
+<!ENTITY sortThreaded.accesskey "T">
+<!ENTITY sortUnthreaded.label "Bukan-thread">
+<!ENTITY sortUnthreaded.accesskey "k">
+<!ENTITY groupBySort.label "Dikumpulkan Mengikut Susunan">
+<!ENTITY groupBySort.accesskey "D">
+<!ENTITY msgsMenu.label "Mesej">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "Thread">
+<!ENTITY threads.accesskey "e">
+<!ENTITY allMsgsCmd.label "Semua">
+<!ENTITY allMsgsCmd.accesskey "S">
+<!ENTITY expandAllThreadsCmd.label "Kembangkan Semua Thread">
+<!ENTITY expandAllThreadsCmd.accesskey "K">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "Runtuh Semua Thread">
+<!ENTITY collapseAllThreadsCmd.accesskey "R">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "Belum Dibaca">
+<!ENTITY unreadMsgsCmd.accesskey "B">
+<!ENTITY threadsWithUnreadCmd.label "Thread Belum Dibaca">
+<!ENTITY threadsWithUnreadCmd.accesskey "T">
+<!ENTITY watchedThreadsWithUnreadCmd.label "Ikuti Thread Belum Dibaca">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "I">
+<!ENTITY ignoredThreadsCmd.label "Thread Diabaikan">
+<!ENTITY ignoredThreadsCmd.accesskey "i">
+
+<!ENTITY headersMenu.label "Pengepala">
+<!ENTITY headersMenu.accesskey "P">
+<!ENTITY headersAllCmd.label "Semua">
+<!ENTITY headersAllCmd.accesskey "S">
+<!ENTITY headersNormalCmd.label "Normal">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "Kandungan Mesej Sebagai">
+<!ENTITY bodyMenu.accesskey "K">
+<!ENTITY bodyAllowHTML.label "HTML Asal">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "HTML Mudah">
+<!ENTITY bodySanitized.accesskey "M">
+<!ENTITY bodyAsPlaintext.label "Teks Biasa">
+<!ENTITY bodyAsPlaintext.accesskey "B">
+<!ENTITY bodyAllParts.label "Semua Bahagian Kandungan">
+<!ENTITY bodyAllParts.accesskey "S">
+
+<!ENTITY bodyMenuFeed.label "Kandungan Mesej Suapan Sebagai">
+<!ENTITY bodyMenuFeed.accesskey "K">
+<!ENTITY viewFeedWebPage.label "Halaman Web">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Ringkasan">
+<!ENTITY viewFeedSummary.accesskey "s">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Format Piawai">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "P">
+
+<!ENTITY viewAttachmentsInlineCmd.label "Papar Lampiran Sebaris">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "P">
+<!ENTITY reloadCmd.label "Muat semula">
+<!ENTITY reloadCmd.accesskey "M">
+<!ENTITY stopCmd.label "Berhenti">
+<!ENTITY stopCmd.accesskey "B">
+<!ENTITY pageSourceCmd.label "Sumber Mesej">
+<!ENTITY pageSourceCmd.accesskey "u">
+<!ENTITY pageSourceCmd.key "u">
+
+<!ENTITY findCmd.label "Cari dalam Mesej Ini…">
+
+<!-- LOCALIZATION NOTE (quickFilterBar.show.key2):
+ This is the key used to show the Lightning quick filter bar. -->
+<!ENTITY quickFilterBar.show.key2 "K">
+
+<!-- Go Menu -->
+
+<!ENTITY goMenu.label "Teruskan">
+<!ENTITY goMenu.accesskey "T">
+<!ENTITY nextMenu.label "Berikut">
+<!ENTITY nextMenu.accesskey "B">
+<!ENTITY nextMsgCmd.label "Mesej">
+<!ENTITY nextMsgCmd.accesskey "M">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "Mesej Belum Dibaca">
+<!ENTITY nextUnreadMsgCmd.accesskey "B">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextFlaggedMsgCmd.label "Mesej Ditanda">
+<!ENTITY nextFlaggedMsgCmd.accesskey "D">
+<!ENTITY nextUnreadThread.label "Thread Belum Dibaca">
+<!ENTITY nextUnreadThread.accesskey "T">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "Dahulu">
+<!ENTITY prevMenu.accesskey "D">
+<!ENTITY prevMsgCmd.label "Mesej">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "Mesej Belum Dibaca">
+<!ENTITY prevUnreadMsgCmd.accesskey "B">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goBackCmd.label "Undur">
+<!ENTITY goBackCmd.accesskey "U">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.label "Seterusnya">
+<!ENTITY goForwardCmd.accesskey "S">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY prevFlaggedMsgCmd.label "Mesej Ditanda">
+<!ENTITY prevFlaggedMsgCmd.accesskey "D">
+<!ENTITY startPageCmd.label "Halaman Permulaan Mel">
+<!ENTITY startPageCmd.accesskey "P">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "Mesej">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "Mesej Baru">
+<!ENTITY newMsgCmd.accesskey "B">
+<!ENTITY newNewMsgCmd.label "Mesej">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY replyMsgCmd.label "Balas">
+<!ENTITY replyMsgCmd.accesskey "B">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replyListCmd.label "Balas mengikut Senarai">
+<!ENTITY replyListCmd.accesskey "s">
+<!ENTITY replyNewsgroupCmd.label "Balas kepada Kumpulan Berita">
+<!ENTITY replyNewsgroupCmd.accesskey "s">
+<!ENTITY replySenderCmd.label "Balas kepada Pengirim Sahaja">
+<!ENTITY replySenderCmd.accesskey "B">
+<!ENTITY replyToAllMsgCmd.label "Balas kepada Semua">
+<!ENTITY replyToAllMsgCmd.accesskey "s">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToSenderAndNewsgroupCmd.label "Balas kepada Pengirim dan Kumpuan Berita">
+<!ENTITY replyToSenderAndNewsgroupCmd.accesskey "k">
+<!ENTITY replyToAllRecipientsCmd.label "Balas kepada Semua Penerima">
+<!ENTITY replyToAllRecipientsCmd.accesskey "a">
+<!ENTITY forwardMsgCmd.label "Kirim semula">
+<!ENTITY forwardMsgCmd.accesskey "K">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "Kirim Semula Sebagai">
+<!ENTITY forwardAsMenu.accesskey "r">
+<!ENTITY forwardAsInline.label "Sebaris">
+<!ENTITY forwardAsInline.accesskey "S">
+<!ENTITY forwardAsAttachmentCmd.label "Lampiran">
+<!ENTITY forwardAsAttachmentCmd.accesskey "L">
+<!ENTITY createFilter.label "Cipta Penapis Daripada Mesej…">
+<!ENTITY createFilter.accesskey "a">
+<!ENTITY archiveMsgCmd.label "Arkib">
+<!ENTITY archiveMsgCmd.accesskey "A">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY moveMsgToMenu.label "Pindah Ke">
+<!ENTITY moveMsgToMenu.accesskey "P">
+<!ENTITY copyMessageLocation.label "Salin Lokasi Mesej">
+<!ENTITY copyMessageLocation.accesskey "M">
+<!ENTITY copyMsgToMenu.label "Salin Ke">
+<!ENTITY copyMsgToMenu.accesskey "S">
+<!ENTITY moveCopyMsgRecentMenu.label "Terbaru">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "T">
+<!ENTITY killThreadMenu.label "Abaikan Thread">
+<!ENTITY killThreadMenu.accesskey "A">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "Abaikan Sub-thread">
+<!ENTITY killSubthreadMenu.accesskey "S">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "Ikuti Thread">
+<!ENTITY watchThreadMenu.accesskey "I">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY fileHereMenu.label "Failkan Di sini">
+<!ENTITY fileHereMenu.accesskey "F">
+<!ENTITY copyHereMenu.label "Salin Sini">
+<!ENTITY copyHereMenu.accesskey "S">
+<!ENTITY tagMenu.label "Tag">
+<!ENTITY tagMenu.accesskey "g">
+<!ENTITY tagCustomize.label "Penyesuaian…">
+<!ENTITY tagCustomize.accesskey "P">
+<!ENTITY markMenu.label "Tandakan">
+<!ENTITY markMenu.accesskey "k">
+<!ENTITY markThreadAsReadCmd.label "Thread Sebagai sudah Dibaca">
+<!ENTITY markThreadAsReadCmd.accesskey "T">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "Sebagai sudah Dibaca mengikut Tarikh…">
+<!ENTITY markReadByDateCmd.accesskey "D">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "Semua sudah Dibaca">
+<!ENTITY markAllReadCmd.accesskey "S">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markAsJunkCmd.label "Sebagai Mel Remeh">
+<!ENTITY markAsJunkCmd.accesskey "R">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "Sebagai Bukan Mel Remeh">
+<!ENTITY markAsNotJunkCmd.accesskey "B">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "Laksanakan Kawalan Mel Remeh">
+<!ENTITY recalculateJunkScoreCmd.accesskey "K">
+<!ENTITY markAsShowRemoteCmd.label "Papar Kandungan Jauh">
+<!ENTITY markAsShowRemoteCmd.accesskey "p">
+<!ENTITY markAsShowRemoteCmd.key "r">
+<!ENTITY markAsNotPhishCmd.label "Sebagai Bukan Penipuan">
+<!ENTITY markAsNotPhishCmd.accesskey "S">
+<!ENTITY markAsNotPhishCmd.key "p">
+<!ENTITY openFeedMessage.label "Buka Mesej Suapan">
+<!ENTITY openFeedMessage.accesskey "B">
+<!ENTITY openFeedWebPageInWindow.label "Halaman Web dalam Tetingkap Baru">
+<!ENTITY openFeedWebPageInWindow.accesskey "W">
+<!ENTITY openFeedSummaryInWindow.label "Ringkasan dalam Tetingkap Baru">
+<!ENTITY openFeedSummaryInWindow.accesskey "R">
+<!ENTITY openFeedWebPageInMP.label "Togol Halaman Web dan Ringkasan dalam Anak tetingkap Mesej">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
+
+<!-- Tools Menu -->
+<!ENTITY searchMailCmd.label "Cari Mesej…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "s">
+<!ENTITY searchAddressesCmd.label "Cari Alamat…">
+<!ENTITY searchAddressesCmd.accesskey "r">
+<!ENTITY filtersCmd.label "Tapis Mesej…">
+<!ENTITY filtersCmd.accesskey "T">
+<!ENTITY filtersApply.label "Laksanakan Penapis pada Folder">
+<!ENTITY filtersApply.accesskey "L">
+<!ENTITY filtersApplyToSelection.label "Laksanakan Penapis pada Mesej Dipilih">
+<!ENTITY filtersApplyToSelection.accesskey "k">
+<!ENTITY filtersApplyToMessage.label "Laksanakan Penapis pada Mesej">
+<!ENTITY filtersApplyToMessage.accesskey "k">
+<!ENTITY runJunkControls.label "Laksanakan Kawalan Mel Remeh dalam Folder">
+<!ENTITY runJunkControls.accesskey "s">
+<!ENTITY deleteJunk.label "Buang Mel yang Ditanda sebagai Mel remeh dalam Folder">
+<!ENTITY deleteJunk.accesskey "e">
+<!ENTITY importCmd.label "Import…">
+<!ENTITY importCmd.accesskey "I">
+
+<!-- Folder Pane -->
+<!ENTITY nameColumn.label "Nama">
+<!ENTITY unreadColumn.label "Belum Dibaca">
+<!ENTITY totalColumn.label "Jumlah">
+
+<!-- Toolbar items -->
+<!ENTITY getMsgButton.label "Dptkn Msj">
+<!ENTITY getAllNewMsgCmd.label "Dapatkan Semua Mesej Baru">
+<!ENTITY newMsgButton.label "Karang">
+<!ENTITY newHTMLMessageCmd.label "Karang dalam HTML">
+<!ENTITY newHTMLMessageCmd.accesskey "H">
+<!ENTITY newPlainTextMessageCmd.label "Karang dalam Teks Biasa">
+<!ENTITY newPlainTextMessageCmd.accesskey "B">
+<!ENTITY replyButton.label "Balas">
+<!ENTITY replyAllButton.label "Balas Semua">
+<!ENTITY forwardButton.label "Kirim semula">
+<!ENTITY fileButton.label "Fail">
+<!ENTITY nextButton.label "Berikut">
+<!ENTITY goBackButton.label "Undur">
+<!ENTITY goForwardButton.label "Langkau">
+<!ENTITY deleteButton.label "Buang">
+<!ENTITY undeleteButton.label "Batalkan membuang">
+<!ENTITY markButton.label "Tandakan">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY junkButton.label "Mel Remeh">
+<!ENTITY notJunkButton.label "Bukan Mel Remeh">
+<!ENTITY searchButton.title "Carian Lanjutan">
+
+<!-- Tooltips -->
+<!ENTITY menuBar.tooltip "Bar Menu">
+<!ENTITY mailToolbar.tooltip "Bar alatan Mel">
+<!ENTITY searchToolbar.tooltip "Bar Carian">
+<!ENTITY advancedButton.tooltip "Carian mesej lanjutan">
+<!ENTITY getMsgButton.tooltip "Dapatkan mesej baru">
+<!ENTITY newMsgButton.tooltip "Cipta mesej baru">
+<!ENTITY replyButton.tooltip "Balas mesej">
+<!ENTITY replyAllButton.tooltip "Balas kepada pengirim dan semua penerima">
+<!ENTITY replyAllButtonNews.tooltip "Balas kepada pengirim dan kumpuan berita">
+<!ENTITY forwardButton.tooltip "Kirim semula mesej yang dipilih">
+<!ENTITY fileButton.tooltip "Failkan mesej yang dipilih">
+<!ENTITY nextButton.tooltip "Pindah ke mesej belum dibaca seterusnya">
+<!ENTITY goBackButton.tooltip "Undur satu mesej">
+<!ENTITY goForwardButton.tooltip "Langkau satu mesej">
+<!ENTITY deleteButton.tooltip "Buang mesej atau folder yang dipilih">
+<!ENTITY undeleteButton.tooltip "Batal buang mesej yang dipilih">
+<!ENTITY markButton.tooltip "Tandakan mesej">
+<!ENTITY stopButton.tooltip "Hentikan pemindahan semasa">
+<!ENTITY junkButton.tooltip "Tandakan mesej yang dipilih sebagai mel remeh">
+<!ENTITY notJunkButton.tooltip "Tandakan mesej yang dipilih sebagai bukan mel remeh">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "Papar kandungan jauh mesej ini">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "P">
+<!ENTITY editRemoteContentSettings.label "Edit keizinan kandungan jauh…">
+<!ENTITY editRemoteContentSettings.accesskey "E">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Siap">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextOpenNewWindow.label "Buka Mesej dalam Tetingkap Baru">
+<!ENTITY contextOpenNewWindow.accesskey "T">
+<!ENTITY contextOpenNewTab.label "Buka Mesej dalam Tab Baru">
+<!ENTITY contextOpenNewTab.accesskey "T">
+<!ENTITY contextReplySender.label "Balas kepada Pengirim Sahaja">
+<!ENTITY contextReplySender.accesskey "S">
+<!ENTITY contextReplyList.label "Balas mengikut Senarai">
+<!ENTITY contextReplyList.accesskey "s">
+<!ENTITY contextReplyNewsgroup.label "Balas kepada Kumpulan Berita">
+<!ENTITY contextReplyNewsgroup.accesskey "s">
+<!ENTITY contextReplyAll.label "Balas kepada Semua">
+<!ENTITY contextReplyAll.accesskey "B">
+<!ENTITY contextReplySenderAndNewsgroup.label "Balas kepada Pengirim dan Kumpuan Berita">
+<!ENTITY contextReplySenderAndNewsgroup.accesskey "l">
+<!ENTITY contextForward.label "Kirim semula">
+<!ENTITY contextForward.accesskey "K">
+<!ENTITY contextForwardAsAttachment.label "Kirim semula sebagai Lampiran">
+<!ENTITY contextForwardAsAttachment.accesskey "r">
+<!ENTITY contextArchive.label "Arkib">
+<!ENTITY contextArchive.accesskey "A">
+<!ENTITY contextMoveMsgMenu.label "Pindah Ke">
+<!ENTITY contextMoveMsgMenu.accesskey "P">
+<!ENTITY contextCopyMsgMenu.label "Salin Ke">
+<!ENTITY contextCopyMsgMenu.accesskey "S">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "Terbaru">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "T">
+<!ENTITY contextSaveAs.label "Simpan Sebagai…">
+<!ENTITY contextSaveAs.accesskey "S">
+<!ENTITY contextPrint.label "Cetak…">
+<!ENTITY contextPrint.accesskey "C">
+<!ENTITY contextPrintPreview.label "Previu Cetakan">
+<!ENTITY contextPrintPreview.accesskey "v">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "Dapatkan Mesej untuk Akaun">
+<!ENTITY folderContextGetMessages.accesskey "D">
+<!ENTITY folderContextOpenNewWindow.label "Buka dalam Tetingkap Mel Baru">
+<!ENTITY folderContextOpenNewWindow.accesskey "B">
+<!ENTITY folderContextOpenNewTab.label "Buka dalam Tab Baru">
+<!ENTITY folderContextOpenNewTab.accesskey "T">
+<!ENTITY folderContextRename.label "Namakan semula">
+<!ENTITY folderContextRename.accesskey "N">
+<!ENTITY folderContextRemove.label "Buang">
+<!ENTITY folderContextRemove.accesskey "B">
+<!ENTITY folderContextCompact.label "Padatkan Folder Ini">
+<!ENTITY folderContextCompact.accesskey "F">
+<!ENTITY folderContextEmptyTrash.label "Buang Sampah">
+<!ENTITY folderContextEmptyTrash.accesskey "h">
+<!ENTITY folderContextEmptyJunk.label "Buang Mel Remeh">
+<!ENTITY folderContextEmptyJunk.accesskey "R">
+<!ENTITY folderContextSendUnsentMessages.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY folderContextSendUnsentMessages.accesskey "r">
+<!ENTITY folderContextUnsubscribe.label "Batal langganan">
+<!ENTITY folderContextUnsubscribe.accesskey "B">
+<!ENTITY folderContextMarkNewsgroupRead.label "Tandakan Kumpulan berita sudah Dibaca">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "k">
+<!ENTITY folderContextMarkMailFolderRead.label "Tandakan Folder sudah Dibaca">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "k">
+<!ENTITY folderContextNew.label "Sub-folder Baru…">
+<!ENTITY folderContextNew.accesskey "B">
+<!ENTITY folderContextSubscribe.label "Langgan…">
+<!ENTITY folderContextSubscribe.accesskey "g">
+<!ENTITY folderContextSearchMessages.label "Cari Mesej…">
+<!ENTITY folderContextSearchMessages.accesskey "C">
+<!ENTITY folderContextProperties.label "Sifat…">
+<!ENTITY folderContextProperties.accesskey "S">
+<!ENTITY folderContextSettings.label "Tetapan…">
+<!ENTITY folderContextSettings.accesskey "e">
+
+<!-- focusSearchInput.key also used by addressbook -->
+<!ENTITY focusSearchInput.key "k">
+<!ENTITY advancedButton.label "Lanjutan…">
+<!ENTITY advancedButton.accesskey "L">
+<!ENTITY searchButton.label "Cari Mesej…">
+<!ENTITY searchButton.accesskey "C">
+
+<!ENTITY all.label "Semua">
+<!ENTITY all.accesskey "S">
diff --git a/l10n-ms/suite/chrome/mailnews/messenger.properties b/l10n-ms/suite/chrome/mailnews/messenger.properties
new file mode 100644
index 0000000000..2500e03ec2
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/messenger.properties
@@ -0,0 +1,479 @@
+# 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 are used by the messenger application
+
+# LOCALIZATION NOTE(statusMessage):
+# Do not translate the words %1$S and %2$S below. Place the word %1$S where the
+# account name should appear and %2$S where the status message should appear.
+# EXAMPLE: Jim's Account: Downloading messages...
+statusMessage=%1$S: %2$S
+
+renameFolder=Namakan semula Folder…
+removeAccount=Buang Akaun…
+removeFolder=Buang Folder
+newFolderMenuItem=Folder…
+newSubfolderMenuItem=Sub-folder…
+newFolder=Folder Baru…
+newSubfolder=Sub-folder Baru…
+folderProperties=Sifat Folder
+getMessages=Dapatkan Mesej
+getMessagesFor=Dapatkan Mesej Untuk Akaun
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=Dapatkan #1 Mesej Berita Seterusnya
+advanceNextPrompt=Langkau ke mesej belum dibaca seterusnya dalam %S?
+titleNewsPreHost=pada
+titleMailPreHost=untuk
+replyToSender=Balas kepada Pengirim
+reply=Balas
+EMLFiles=Fail Mel
+OpenEMLFiles=Buka Mesej
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=message.eml
+SaveMailAs=Simpan Mesej Sebagai
+SaveAttachment=Simpan Lampiran
+SaveAllAttachments=Simpan Semua Lampiran
+DetachAttachment=Buang Lampiran
+DetachAllAttachments=Buang Semua Lampiran
+ChooseFolder=Pilih Folder
+LoadingMessageToPrint=Memuatkan mesej untuk dicetak…
+MessageLoaded=Mesej sudah dimuatkan…
+PrintingMessage=Mencetak mesej…
+PrintPreviewMessage=Cetak Previu mesej…
+PrintingContact=Mencetak kenalan…
+PrintPreviewContact=Cetak Previu kenalan…
+PrintingAddrBook=Mencetak Buku Alamat…
+PrintPreviewAddrBook=Cetak Previu Buku Alamat…
+PrintingComplete=Siap.
+PreviewTitle=%S - %S
+LoadingMailMsgForPrint=(Memuatkan kandungan untuk Cetakan)
+LoadingMailMsgForPrintPreview=(Memuatkan kandungan untuk Previu Cetakan)
+saveAttachmentFailed=Tidak dapat menyimpan lampiran. Sila semak nama fail dan cuba lagi.
+saveMessageFailed=Tidak dapat menyimpan mesej. Sila semak nama fail dan cuba lagi.
+fileExists=%S sudah wujud. Adakah anda mahu menggantikannya?
+
+downloadingNewsgroups=Memuat turun Kumpulan berita untuk Penggunaan Luar talian
+downloadingMail=Memuat turun Mel untuk Penggunaan Luar talian
+sendingUnsent=Menghantar Mesej yang Tidak Dihantar
+
+folderExists=Folder dengan nama ini telah wujud. Sila pilih nama lain.
+# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name
+confirmDuplicateFolderRename=Sub-folder dengan nama '%1$S' telah wujud dalam folder '%2$S'. Adakah anda mahu pindahkan folder ini dengan menggunakan nama baru '%3$S'?
+folderCreationFailed=Folder tidak dapat dicipta kerana nama folder yang anda nyatakan mengandungi aksara yang tidak dikenali. Sila pilih nama lain dan cuba lagi.
+
+compactingFolder=Memadatkan folder %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=Selesai memadatkan (penjimatan %1$S).
+autoCompactAllFoldersTitle=Padatkan Folder
+
+confirmFolderDeletionForFilter=Menghapuskan folder '%S' akan menyahaktifkan tapisan yang dikaitkan dengannya. Adakah ada pasti mahu menghapuskan folder ini?
+alertFilterChanged=Tapisan yang dikaitkan dengan folder ini akan dikemaskini.
+filterDisabled=Folder '%S' tidak ditemui, maka tapisan yang dikaitkan dengan folder ini akan dinyahaktifkan. Pastikan bahawa folder ini wujud dan menapis folder sasaran yang sah.
+filterFolderDeniedLocked=Mesej tidak dapat ditapis ke dalam folder '%S' kerana ada operasi lain yang sedang dilaksanakan.
+parsingFolderFailed=Tidak dapat membuka folder %S kerana sedang digunakan oleh operasi lain. Sila tunggu sehingga operasi ini selesai dan kemudian pilih folder ini sekali lagi.
+deletingMsgsFailed=Tidak dapat menghapuskan mesej dalam folder %S kerana sedang digunakan oleh operasi lain. Sila tunggu sehingga operasi ini selesai dan kemudian pilih folder ini sekali lagi.
+alertFilterCheckbox=Jangan beri amaran lagi.
+compactFolderDeniedLock=Folder '%S' tidak dapat dimampatkan kerana sedang melaksanakan operasi lain. Sila cuba lagi nanti.
+compactFolderWriteFailed=Folder '%S' tidak dapat dimampatkan kerana gagal menulis ke dalamnya. Pastikan bahawa ruang cakera mencukupi dan anda ada akses untuk menulis sistem fail dan kemudian cuba lagi.
+compactFolderInsufficientSpace=Beberapa folder (contoh,'%S') tidak dapat dimampatkan kerana ruang cakera tidak mencukupi. Sila buang beberapa fail dan cuba lagi.
+filterFolderHdrAddFailed=Mesej tidak dapat ditapis ke dalam folder '%S' kerana gagal memasukkan mesej berkenaan. Pastikan bahawa folder berkenaan dipaparkan dengan betul atau baikinya dalam sifat folder.
+filterFolderWriteFailed=Mesej tidak dapat ditapis ke dalam folder '%S' kerana gagal menulis dalam folder berkenaan. Pastikan bahawa ruang cakera mencukupi dan anda ada kebenaran menulis sistem fail, dan kemudian cuba lagi.
+copyMsgWriteFailed=Mesej tidak dapat dipindahkan atau disalin ke dalam folder '%S' kerana gagal ditulis dalam folder. Untuk mendapatkan ruang cakera, dalam menu Fail, pilih Buang Sampah, dan kemudian pilih Padatkan Folder, dan cuba lagi.
+cantMoveMsgWOBodyOffline=Semasa luar talian, anda tidak boleh pindah atau salin mesej yang belum dimuat turun. Dalam tetingkap Mel, buka menu Fail, pilih Luar talian, kemudian buang tanda Kerja Luar talian, dan cuba lagi.
+operationFailedFolderBusy=Operasi gagal kerana operasi lain sedang menggunakan folder. Sila tunggu sehingga operasi berkenaan selesai dan kemudian cuba lagi.
+folderRenameFailed=Folder tidak dapat dinamakan semula. Mungkin kerana sedang dihuraikan, atau nama baru itu bukan nama folder yang sah.
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S dalam %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=Ada ralat semasa meringkaskan Peti Masuk selepas menapis mesej ke dalam folder '%1$S'. Anda perlu tutup %2$S dan buang INBOX.msf.
+
+mailboxTooLarge=Folder %S sudah penuh dan tidak boleh terima mesej lagi. Untuk memberikan ruang, buang mel lama atau yang tidak dikehendaki dan mampatkan folder.
+outOfDiskSpace=Ruang cakera tidak cukup untuk memuat turun mesej baru. Cuba buang mel lama atau kosongkan folder Sampah, dan padatkan folder mel, dan kemudian cuba lagi.
+errorGettingDB=Tidak dapat membuka fail ringkasan '%S'. Mungkin kerana ada ralat cakera, atau laluan penuh terlalu panjang.
+
+defaultServerTag=(Piawai)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=Belum Dibaca
+messageHasFlag=Ditanda
+messageHasAttachment=Ada Lampiran
+messageJunk=Mel Remeh
+messageExpanded=Dikembangkan
+messageCollapsed=Diruntuhkan
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<tidak dinyatakan>
+smtpServer-ConnectionSecurityType-0=Tiada
+smtpServer-ConnectionSecurityType-1=STARTTLS, jika ada
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=Buang Pelayan
+smtpServers-confirmServerDeletion=Adakah anda pasti mahu membuang pelayan: \n %S?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=Tiada pengesahan
+authOld=Kata laluan, kaedah asal (tidak selamat)
+authPasswordCleartextInsecurely=Kata laluan, dihantar secara tidak selamat
+authPasswordCleartextViaSSL=Kata laluan normal
+authPasswordEncrypted=Kata laluan enkripsi
+authKerberos=Kerberos / GSSAPI
+authExternal=Sijil TLS
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=Apa sahaja kaedah yang selamat (sangat tidak disyorkan)
+authAny=Apa sahaja kaedah (tidak selamat)
+
+# OAuth2 window title
+# LOCALIZATION NOTE(oauth2WindowTitle):
+# %1$S is the username (or full email address) used for authentication.
+# %2$S is the hostname of the account being authenticated.
+oauth2WindowTitle=Masukkan wasikah %1$S dalam %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=Pelayan Berita (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=Pelayan Mel POP
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=Pelayan Mel IMAP
+serverType-none=Storan Mel Lokal
+
+sizeColumnTooltip2=Susun mengikut saiz
+sizeColumnHeader=Saiz
+linesColumnTooltip2=Susun mengikut baris
+linesColumnHeader=Baris
+
+# status feedback stuff
+documentDone=
+documentLoading=Memuatkan Mesej…
+
+unreadMsgStatus=Belum Dibaca: %S
+selectedMsgStatus=Dipilih: %S
+totalMsgStatus=Jumlah: %S
+
+# localized folder names
+
+localFolders=Folder Lokal
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=Peti masuk
+trashFolderName=Sampah
+sentFolderName=Dihantar
+draftsFolderName=Draf
+templatesFolderName=Templat
+outboxFolderName=Peti keluar
+junkFolderName=Mel Remeh
+archivesFolderName=Arkib
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=Paling rendah
+priorityLow=Rendah
+priorityNormal=Normal
+priorityHigh=Tinggi
+priorityHighest=Paling tinggi
+
+#Group by date thread pane titles
+today=Hari ini
+yesterday=Semalam
+lastWeek=Minggu Lepas
+last7Days=7 Hari Lepas
+twoWeeksAgo=Dua Minggu Lepas
+last14Days=14 Hari Lepas
+older=Mel Lama
+futureDate=Akan datang
+
+#Grouped By Tags
+untaggedMessages=Mesej tanpa Tag
+
+# Grouped by status
+messagesWithNoStatus=Tiada Status
+
+#Grouped by priority
+noPriority=Tiada Prioriti
+
+#Grouped by has attachments
+noAttachments=Tiada Lampiran
+attachments=Lampiran
+
+#Grouped by flagged
+notFlagged=Tiada Tanda
+groupFlagged=Ditanda
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=Buang Semua Tag
+mailnews.labels.description.1=Penting
+mailnews.labels.description.2=Kerja
+mailnews.labels.description.3=Peribadi
+mailnews.labels.description.4=Perlu Buat
+mailnews.labels.description.5=Kemudian
+
+# Format definition tag menu texts.
+# This is necessary in order to get the accesskeys to be the on the first
+# character of the menu text instead of after the menu text.
+# If a key definition exists for the tag at index n, that key's key will be
+# taken as the accesskey, eg.
+# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/>
+# makes the third tag have the accesskey &tagCmd3.key;.
+# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be
+# replaced by the tag label.
+mailnews.tags.format=%1$S %2$S
+
+replied=Dibalas
+forwarded=Dikirim semula
+new=Baru
+read=Dibaca
+flagged=Ditanda
+
+# for junk status picker in search and mail views
+junk=Mel Remeh
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=Plugin
+junkScoreOriginFilter=Tapis
+junkScoreOriginWhitelist=Senarai putih
+junkScoreOriginUser=Pengguna
+junkScoreOriginImapFlag=Tanda IMAP
+
+# for the has attachment picker in search and mail views
+hasAttachments=Ada Lampiran
+
+# for the Tag picker in search and mail views.
+tag=Tag
+
+# mailnews.js
+mailnews.send_default_charset=UTF-8
+mailnews.view_default_charset=ISO-8859-1
+
+# whether to generate display names in last first order
+# LOCALIZATION NOTE(mail.addr_book.displayName.lastnamefirst):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.displayName.lastnamefirst=false
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=false
+
+# valid format options are:
+# 1: yyyy/mm/dd
+# 2: yyyy/dd/mm
+# 3: mm/dd/yyyy
+# 4: mm/yyyy/dd
+# 5: dd/mm/yyyy
+# 6: dd/yyyy/mm
+#
+# 0: auto-detect the current locale format
+# a separator has to be either '/', '-', '.' and the year in Chistian year
+# otherwise mm/dd/yyyy (option 3) is used
+#
+mailnews.search_date_format=0
+# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero
+mailnews.search_date_separator=
+# leading zeros for day and month values, not used if mailnews.search_date_format is not zero
+mailnews.search_date_leading_zeros=true
+
+# offline msg
+nocachedbodybody2=Kandungan mesej ini tidak dimuat turun daripada \
+pelayan untuk kegunaan luar talian. Untuk membaca mesej ini, \
+anda mesti sambung semula rangkaian, pilih Luar talian dalam \
+menu Fail dan kemudian buang tanda Kerja Luar talian. \
+Pada masa akan datang, anda boleh pilih mesej atau folder untuk bacaan luar talian. \
+Untuk melakukannya, pilih Luar talian dalam menu fail dan pilih Muat turun/Sync Sekarang. \
+Anda boleh ubah keutamaan Ruang Cakera untuk menghalang memuat turun mesej \
+bersaiz besar.
+
+# accountCentral
+mailnews.account_central_page.url=chrome://messenger/content/msgAccountCentral.xul
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%1$S %2$S - %3$S
+mailAcctType=Mel
+newsAcctType=Berita
+feedsAcctType=Suapan
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>Perlu Atas Talian Untuk Memaparkan Mesej Ini</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=Sahkan membatalkan langganan
+confirmUnsubscribeText=Adakah anda pasti mahu membatalkan langganan %S?
+
+# msgHdrViewOverlay.js
+deleteAttachments=Lampiran berikut akan dihapuskan secara kekal daripada mesej ini:\n%S\nTindakan ini tidak boleh dibatalkan. Adakah anda mahu meneruskan?
+detachAttachments=Lampiran berikut telah berjaya disimpan dan sekarang akan dihapuskan secara kekal daripada mesej ini:\n%S\nTindakan ini tidak boleh dibatalkan. Adakah anda mahu meneruskan?
+deleteAttachmentFailure=Gagal menghapuskan lampiran yang dipilih.
+
+# This is the format for prepending accesskeys to the
+# each of the attachments in the file|attachments menu:
+# ie: 1 file.txt
+# 2 another file.txt
+attachmentDisplayNameFormat=%S %S
+
+# This is the heading for the attachment summary when printing an email
+attachmentsPrintHeader=Lampiran:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=Gagal disambung ke pelayan %S.
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=Tidak dapat disambung ke pelayan %S; sambungan ditolak.
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=Sambungan ke pelayan %S telah tamat tempoh.
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=Sambungan ke pelayan %S telah ditetapkan semula.
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=Sambungan ke pelayan %S telah terganggu.
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=ada %1$S mesej baru
+biffNotification_messages=ada %1$S mesej baru
+
+# LOCALIZATION NOTE(macBiffNotification is Mac only):
+# %1$S is the number of new messages
+# %2$S is a list of names and/or email addresses separated by biffNotification_separator
+# %3$S is the number of new messages not displayed in the biff alert
+macBiffNotification_message=%1$S mesej baru daripada %2$S.
+macBiffNotification_messages=%1$S mesej baru daripada %2$S.
+macBiffNotification_messages_extra=%1$S mesej baru daripada %2$S dan lagi %3$S.
+# Used to separate names/email addresses in a list. Note the trailing space ', '
+macBiffNotification_separator=,\u0020
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S telah menerima %2$S mesej baru
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S telah menerima %2$S mesej baru
+
+# LOCALIZATION NOTE(newMailAlert_message):
+# Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the name of the account, #2 is the number of new messages
+newMailAlert_message=#1 telah menerima #2 mesej baru
+
+quotaPercentUsed=%S%% penuh
+
+# for message views
+confirmViewDeleteTitle=Sahkan
+confirmViewDeleteMessage=Adakah anda pasti yang mahu menghapuskan paparan ini?
+
+# for virtual folders
+confirmSavedSearchDeleteTitle=Buang Carian Disimpan
+confirmSavedSearchDeleteMessage=Adakah anda pasti mahu menghapuskan carian yang disimpan ini?
+confirmSavedSearchDeleteButton=&Buang Carian Disimpan
+
+## @name ENTER_PASSWORD_PROMPT
+## @loc None
+# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below.
+# Place the word "%S" in your translation where the email address
+# or the username should appear
+passwordPrompt=Masukkan kata laluan %1$S dalam %2$S:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=Kata laluan Pelayan Mel Diperlukan
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=Sahkan
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=Membuka #1 mesej mungkin jadi perlahan. Teruskan?;Membuka #1 mesej mungkin jadi perlahan. Teruskan?
+
+# for warning the user that a tag he's trying to create already exists
+tagExists=Tag dengan nama ini sudah wujud!
+
+# for checking if the user really wants to delete the adaptive filter training set
+confirmResetJunkTrainingTitle=Sahkan
+confirmResetJunkTrainingText=Adakah anda pasti mahu mengeset semula data latihan tapisan yang boleh diubah?
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=Edit Sifat Carian yang Disimpan untuk %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=#1 folder yang dipilih;#1 folder yang dipilih
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=Anda mesti pilih sekurang-kurangnya satu folder untuk mencari folder carian yang disimpan.
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f bait
+kiloByteAbbreviation2=%.*f KB
+megaByteAbbreviation2=%.*f MB
+gigaByteAbbreviation2=%.*f GB
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=Ralat membuka id-mesej
+errorOpenMessageForMessageIdMessage=Mesej untuk id-mesej %S tidak dijumpai
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=Amaran Penipuan E-mel
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl1=%1$S menganggap laman web ini mencurigakan! Mungkin cuba menyamar halaman web yang anda mahu layari. Laman web yang sah menggunakan nama, bukannya nombor. Adakah anda mahu melayari %2$S?
+confirmPhishingUrl2=%1$S menganggap laman web ini mencurigakan! Mungkin cuba menyamar halaman web yang anda mahu layari. Adakah anda mahu melayari %2$S?
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S meminta untuk dimaklumkan apabila anda sudah membaca mesej ini.
+#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to
+mdnBarMessageAddressDiffers=%1$S meminta untuk dimaklumkan di %2$S apabila anda sudah membaca mesej ini.
+
+# mailCommands.js
+emptyJunkTitle=Sahkan
+emptyJunkMessage=Adakah anda pasti mahu menghapuskan secara kekal semua mesej dan sub-folder dalam folder Mel Remeh?
+emptyJunkDontAsk=Jangan tanya lagi.
+emptyTrashTitle=Sahkan
+emptyTrashMessage=Adakah anda pasti mahu menghapuskan secara kekal semua mesej dan sub-folder dalam folder Sampah?
+emptyTrashDontAsk=Jangan tanya lagi.
+
+# junkCommands.js
+junkAnalysisPercentComplete=Analisa Mel Remeh %S selesai
+processingJunkMessages=Memproses Mesej Remeh
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = Fail Tidak Ditemui
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = Fail %S tidak wujud.
+
+confirmMsgDelete.title=Sahkan Membuang
+confirmMsgDelete.collapsed.desc=Ini akan menghapuskan mesej dalam thread yang diruntuhkan. Adakah anda pasti mahu meneruskan?
+confirmMsgDelete.deleteNoTrash.desc=Mesej akan dibuang dengan serta-merta tanpa membuat salinan dalam Sampah. Adakah anda mahu meneruskan?
+confirmMsgDelete.deleteFromTrash.desc=Mesej dalam Sampah akan dihapuskan secara kekal. Adakah anda pasti mahu meneruskan?
+confirmMsgDelete.dontAsk.label=Jangan tanya lagi.
+confirmMsgDelete.delete.label=Buang
+
+mailServerLoginFailedTitle=Gagal Log masuk
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=Gagal log masuk ke akaun "%S"
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=Gagal log masuk ke pelayan %1$S dengan nama pengguna %2$S.
+mailServerLoginFailedRetryButton=&Cuba lagi
+mailServerLoginFailedEnterNewPasswordButton=&Masukkan Kata laluan Baru
+
+# LOCALIZATION NOTE (junkBarMessage): %S is the brandname
+junkBarMessage=%S menganggap mesej ini sebagai remeh.
+junkBarButton=Bukan Mel Remeh
+junkBarButtonKey=N
+junkBarInfoButton=?
+junkBarInfoButtonKey=?
+# LOCALIZATION NOTE (remoteContentBarMessage): %S is the brandname
+remoteContentBarMessage=Untuk melindungi privasi anda, %S telah menyekat kandungan jauh mesej ini.
+remoteContentPrefLabel=Pilihan
+remoteContentPrefAccesskey=P
+# LOCALIZATION NOTE(remoteContentAllow): %S is host name
+remoteContentAllow=Izinkan kandungan jauh dari %S
+
+# LOCALIZATION NOTE (phishingBarMessage): %S is the brandname
+phishingBarMessage=%S menganggap mesej ini sebagai penipuan e-mel.
+phishingBarIgnoreButton=Abaikan Amaran
+phishingBarIgnoreButtonKey=I
+mdnBarMessage=Pengirim mesej meminta untuk dimaklumkan apabila anda sudah membaca mesej ini. Adakah anda mahu memaklumkan pengirim?
+mdnBarIgnoreButton=Abaikan Permintaan
+mdnBarIgnoreButtonKey=I
+mdnBarSendReqButton=Hantar Resit Pemberitahuan Serahan
+mdnBarSendReqButtonKey=S
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=Fail %S
diff --git a/l10n-ms/suite/chrome/mailnews/mime.properties b/l10n-ms/suite/chrome/mailnews/mime.properties
new file mode 100644
index 0000000000..021d19f382
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mime.properties
@@ -0,0 +1,156 @@
+# 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 are used by libmime to emit header display in HTML
+#
+
+# Mail subject
+## @name MIME_MHTML_SUBJECT
+## @loc None
+1000=Subjek
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=Komen-Dihantar semula
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=Tarikh-Dihantar semula
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Pengirim-Dihantar semula
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=Daripada-Dihantar semula
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=Kepada-Dihantar semula
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+# LOCALIZATION NOTE (1006): Do not translate "CC" below.
+1006=CC-Dihantar semula
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=Tarikh
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Pengirim
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=Daripada
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=Balas-Kepada
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=Organisasi
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=Kepada
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+# LOCALIZATION NOTE (1013): Do not translate "CC" below.
+1013=CC
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=Kumpulan berita
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=Susulan-Kepada
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=Rujukan
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=ID-Mesej
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=BCC
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=Pautan ke Dokumen
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>Info Dokumen:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=Lampiran
+
+# default attachment name
+## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
+## @loc
+# LOCALIZATION NOTE (1040): Do not translate "%s" below.
+# Place the %s where you wish the part number of the attachment to appear
+1040=Bahagian %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- Mesej Asal --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=Diringkaskan!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=Mesej ini melebihi Saiz Mesej Maksimum yang ditetapkan dalam Tetapan Akaun, jadi kami hanya memuat turun beberapa baris pertama daripada pelayan mel.
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=Tidak Dimuat turun
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Hanya pengepala mesej ini dimuat turun daripada pelayan mel.
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=Muat turun bahagian lain mesej ini.
diff --git a/l10n-ms/suite/chrome/mailnews/mimeheader.properties b/l10n-ms/suite/chrome/mailnews/mimeheader.properties
new file mode 100644
index 0000000000..8a07c4a7c0
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/mimeheader.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/.
+
+#
+# The following are used by libmime for header display in XML & HTML
+#
+TO=Kepada
+# LOCALIZATION NOTE (BCC); DONT_TRANSLATE
+BCC=BCC
+# LOCALIZATION NOTE (CC); DONT_TRANSLATE
+CC=CC
+DATE=Tarikh
+DISTRIBUTION=Pengedaran
+# LOCALIZATION NOTE (FCC); DONT_TRANSLATE
+FCC=FCC
+FOLLOWUP-TO=Susulan-Kepada
+FROM=Daripada
+STATUS=Status
+LINES=Baris
+MESSAGE-ID=ID-Mesej
+MIME-VERSION=Versi-MIME
+NEWSGROUPS=Kumpulan berita
+ORGANIZATION=Organisasi
+REFERENCES=Rujukan
+REPLY-TO=Balas-Kepada
+RESENT-COMMENTS=Komen-Dihantar semula
+RESENT-DATE=Tarikh-Dihantar semula
+RESENT-FROM=Daripada-Dihantar semula
+RESENT-MESSAGE-ID=ID-Mesej-Dihantar semula
+RESENT-SENDER=Pengirim-Dihantar semula
+RESENT-TO=Kepada-Dihantar semula
+# LOCALIZATION NOTE (RESENT-CC); Do not translate "CC"
+RESENT-CC=CC-Dihantar semula
+SENDER=Pengirim
+SUBJECT=Subjek
+APPROVED-BY=Diluluskan-Oleh
+USER-AGENT=Ejen-Pengguna
+FILENAME=Nama fail
diff --git a/l10n-ms/suite/chrome/mailnews/msgAccountCentral.dtd b/l10n-ms/suite/chrome/mailnews/msgAccountCentral.dtd
new file mode 100644
index 0000000000..fcaabe3760
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgAccountCentral.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY emailSectionHdr.label "E-mel">
+<!ENTITY readMsgsLink.label "Mesej yang dibaca">
+<!ENTITY composeMsgLink.label "Tulis mesej baru">
+
+<!ENTITY newsSectionHdr.label "Kumpulan berita">
+<!ENTITY subscribeNewsLink.label "Urus langganan kumpulan berita">
+
+<!ENTITY accountsSectionHdr.label "Akaun">
+<!ENTITY subscribeImapFolders.label "Urus langganan folder">
+<!ENTITY settingsLink.label "Papar tetapan untuk akaun ini">
+<!ENTITY newAcctLink.label "Cipta akaun baru">
+
+<!ENTITY advFeaturesSectionHdr.label "Ciri Lanjutan">
+<!ENTITY searchMsgsLink.label "Cari mesej">
+<!ENTITY filtersLink.label "Urus tapisan mesej">
+<!ENTITY junkSettings.label "Tetapan mel remeh">
+<!ENTITY offlineLink.label "Tetapan luar talian">
+
+<!ENTITY feedsSectionHdr.label "Suapan">
+<!ENTITY subscribeFeeds.label "Urus langganan">
+
diff --git a/l10n-ms/suite/chrome/mailnews/msgHdrViewOverlay.dtd b/l10n-ms/suite/chrome/mailnews/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..4f87ba3999
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgHdrViewOverlay.dtd
@@ -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/. -->
+
+<!ENTITY toField.label "Kepada: ">
+<!ENTITY fromField.label "Daripada: ">
+<!ENTITY senderField.label "Pengirim: ">
+<!ENTITY organizationField.label "Organisasi: ">
+<!ENTITY replyToField.label "Balas-Kepada: ">
+
+<!ENTITY subjectField.label "Subjek: ">
+<!--# LOCALIZATION NOTE (ccField.label): DONT_TRANSLATE -->
+<!ENTITY ccField.label "Cc: ">
+<!ENTITY bccField.label "Bcc: ">
+<!ENTITY newsgroupsField.label "Kumpulan berita: ">
+<!ENTITY followupToField.label "Susulan-Kepada: ">
+
+<!ENTITY tagsHdr.label "Tag: ">
+<!ENTITY dateField.label "Tarikh: ">
+<!ENTITY userAgentField.label "Ejen pengguna: ">
+<!ENTITY referencesField.label "Rujukan: ">
+<!ENTITY messageIdField.label "ID-Mesej: ">
+<!ENTITY inReplyToField.label "Untuk-Membalas-Kepada: ">
+<!ENTITY originalWebsite.label "Laman web: ">
+
+<!ENTITY attachmentsTree.label "Lampiran:">
+<!ENTITY attachmentsTree.accesskey "p">
+<!ENTITY openAttachmentCmd.label "Buka">
+<!ENTITY openAttachmentCmd.accesskey "B">
+<!ENTITY viewAttachmentCmd.label "Papar Sumber">
+<!ENTITY viewAttachmentCmd.accesskey "P">
+<!ENTITY saveAsAttachmentCmd.label "Simpan Sebagai…">
+<!ENTITY saveAsAttachmentCmd.accesskey "S">
+<!ENTITY detachAttachmentCmd.label "Buang…">
+<!ENTITY detachAttachmentCmd.accesskey "g">
+<!ENTITY deleteAttachmentCmd.label "Buang">
+<!ENTITY deleteAttachmentCmd.accesskey "u">
+<!ENTITY saveAllAttachmentsCmd.label "Simpan Semua…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "S">
+<!ENTITY detachAllAttachmentsCmd.label "Buang Semua…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "B">
+<!ENTITY deleteAllAttachmentsCmd.label "Buang Semua…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "e">
diff --git a/l10n-ms/suite/chrome/mailnews/msgHdrViewPopup.dtd b/l10n-ms/suite/chrome/mailnews/msgHdrViewPopup.dtd
new file mode 100644
index 0000000000..7eb82ca231
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgHdrViewPopup.dtd
@@ -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/. -->
+
+<!-- Message Header View Popup -->
+<!ENTITY AddToAddressBook.label "Tambah Dalam Buku Alamat…">
+<!ENTITY AddToAddressBook.accesskey "B">
+<!ENTITY EditContact.label "Edit Kenalan…">
+<!ENTITY EditContact.accesskey "E">
+<!ENTITY ViewContact.label "Papar Kenalan">
+<!ENTITY ViewContact.accesskey "P">
+<!ENTITY SendMailTo.label "Karang E-mel Kepada…">
+<!ENTITY SendMailTo.accesskey "r">
+<!ENTITY CopyEmailAddress.label "Salin Alamat E-mel">
+<!ENTITY CopyEmailAddress.accesskey "S">
+<!ENTITY CreateFilterFrom.label "Cipta Penapisan Daripada…">
+<!ENTITY CreateFilterFrom.accesskey "D">
+<!ENTITY openInBrowser.label "Buka dalam Pelayar">
+<!ENTITY openInBrowser.accesskey "B">
+<!ENTITY bookmarkLinkCmd.label "Tandabuku Pautan Ini…">
+<!ENTITY bookmarkLinkCmd.accesskey "T">
+<!ENTITY copyLinkCmd.label "Salin Lokasi Pautan">
+<!ENTITY copyLinkCmd.accesskey "S">
+<!ENTITY CopyMessageId.label "Salin ID-Mesej">
+<!ENTITY CopyMessageId.accesskey "S">
+<!ENTITY OpenMessageForMsgId.label "Buka Mesej Untuk ID">
+<!ENTITY OpenMessageForMsgId.accesskey "B">
+<!ENTITY OpenBrowserWithMsgId.label "Buka Pelayar Dengan ID-Mesej">
+<!ENTITY OpenBrowserWithMsgId.accesskey "B">
diff --git a/l10n-ms/suite/chrome/mailnews/msgPrintEngine.dtd b/l10n-ms/suite/chrome/mailnews/msgPrintEngine.dtd
new file mode 100644
index 0000000000..08139ffaf8
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgPrintEngine.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (printCmd.key, closeCmd.key):
+ As defined in msgPrintEngine.xul, Ctrl plus the command keys defined here
+ will be the keyboard shortcuts effective in print preview, e.g. Ctrl+P
+ -->
+
+<!ENTITY printCmd.key "P">
+<!ENTITY closeCmd.key "W">
diff --git a/l10n-ms/suite/chrome/mailnews/msgSynchronize.dtd b/l10n-ms/suite/chrome/mailnews/msgSynchronize.dtd
new file mode 100644
index 0000000000..f69d6b9f2f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgSynchronize.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOffline.xul-->
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul-->
+
+<!ENTITY MsgSynchronize.label "Muat turun dan Sync Mesej">
+<!ENTITY MsgSelect.label "Item untuk Penggunaan Luar talian">
+<!ENTITY MsgSyncDesc.label "Jika anda sudah pilih folder mel atau kumpulan berita untuk penggunaan luar talian, anda boleh memuat turun dan/atau selaraskan sekarang. Jika belum, gunakan butang &quot;Pilih&quot; untuk memilih folder mel dan kumpulan berita untuk penggunaan luar talian.">
+<!ENTITY MsgSyncDirections.label "Muat turun dan/atau selaraskan yang berikut:">
+<!ENTITY syncTypeMail.label "Mesej mel">
+<!ENTITY syncTypeMail.accesskey "M">
+<!ENTITY syncTypeNews.label "Mesej kumpulan berita">
+<!ENTITY syncTypeNews.accesskey "M">
+<!ENTITY sendMessage.label "Hantar Mesej yang Tidak Dihantar">
+<!ENTITY sendMessage.accesskey "H">
+<!ENTITY workOffline.label "Kerja luar talian selepas muat turun dan/atau sync selesai">
+<!ENTITY workOffline.accesskey "K">
+<!ENTITY selectButton.label "Pilih…">
+<!ENTITY selectButton.accesskey "P">
+<!ENTITY MsgSelectDesc.label "Pilih folder mel dan kumpulan berita untuk penggunaan luar talian.">
+<!ENTITY MsgSelectInd.label "Muat turun">
+<!ENTITY MsgSelectItems.label "Folder dan Kumpulan berita">
diff --git a/l10n-ms/suite/chrome/mailnews/msgViewPickerOverlay.dtd b/l10n-ms/suite/chrome/mailnews/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..920d82d97c
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgViewPickerOverlay.dtd
@@ -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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+<!ENTITY viewPicker.label "Papar:">
+<!ENTITY viewPicker.accesskey "p">
+<!ENTITY viewAll.label "Semua">
+<!ENTITY viewAll.accesskey "S">
+<!ENTITY viewUnread.label "Belum Dibaca">
+<!ENTITY viewUnread.accesskey "B">
+<!ENTITY viewNotDeleted.label "Tidak Dibuang">
+<!ENTITY viewNotDeleted.accesskey "D">
+<!ENTITY viewTags.label "Tag">
+<!ENTITY viewTags.accesskey "T">
+<!ENTITY viewCustomViews.label "Paparan Penyesuaian">
+<!ENTITY viewCustomViews.accesskey "P">
+<!ENTITY viewVirtualFolder.label "Simpan Paparan sebagai Folder…">
+<!ENTITY viewVirtualFolder.accesskey "S">
+<!ENTITY viewCustomizeView.label "Penyesuaian…">
+<!ENTITY viewCustomizeView.accesskey "P">
diff --git a/l10n-ms/suite/chrome/mailnews/msgmdn.properties b/l10n-ms/suite/chrome/mailnews/msgmdn.properties
new file mode 100644
index 0000000000..2762a9da3e
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/msgmdn.properties
@@ -0,0 +1,18 @@
+# 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/.
+## Msg Mdn Report strings
+MsgMdnDisplayed=Nota: Resit Pemberitahu Serahan ini hanya memperakui bahawa mesej telah dipaparkan dalam komputer penerima. Tiada jaminan bahawa penerima telah membaca atau memahami kandungan mesej.
+MsgMdnDispatched=Mesej ini samada telah dicetak, difaks, atau dikirim semula tanpa dipaparkan kepada penerima. Tiada jaminan bahawa penerima akan membaca mesej ini kemudian.
+MsgMdnProcessed=Mesej ini telah diproses oleh klien mel penerima tanpa dipaparkan. Tiada jaminan bahawa mesej ini akan dibaca kemudian.
+MsgMdnDeleted=Mesej telah dihapuskan. Penerima mungkin sudah atau belum melihatnya. Mereka mungkin membatalkan menghapuskan mesej dan membacanya kemudian.
+MsgMdnDenied=Penerima mesej tidak mahu menghantar resit pemberitahu serahan kepada anda.
+MsgMdnFailed=Ada kegagalan. Resit pemberitahu serahan yang sepatutnya tidak boleh dijana atau dihantar kepada anda.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=Ini adalah Resit Pemberitahu Serahan untuk mel yang anda hantar kepada %S.
+MdnDisplayedReceipt=Resit Pemberitahu Serahan (dipaparkan)
+MdnDispatchedReceipt=Resit Pemberitahu Serahan (dihantar)
+MdnProcessedReceipt=Resit Pemberitahu Serahan (diproses)
+MdnDeletedReceipt=Resit Pemberitahu Serahan (dibuang)
+MdnDeniedReceipt=Resit Pemberitahu Serahan (ditolak)
+MdnFailedReceipt=Resit Pemberitahu Serahan (gagal)
diff --git a/l10n-ms/suite/chrome/mailnews/newFolderDialog.dtd b/l10n-ms/suite/chrome/mailnews/newFolderDialog.dtd
new file mode 100644
index 0000000000..5b4440c266
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/newFolderDialog.dtd
@@ -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/. -->
+
+<!-- Labels -->
+<!ENTITY newFolderDialog.title "Folder Baru">
+<!ENTITY name.label "Nama:">
+<!ENTITY name.accesskey "m">
+<!ENTITY description.label "Cipta sebagai sub-folder kepada:">
+<!ENTITY description.accesskey "s">
+<!ENTITY folderRestriction1.label "Pelayan ini menghadkan dua jenis folder khas.">
+<!ENTITY folderRestriction2.label "Izinkan folder baru untuk mengandungkan:">
+<!ENTITY foldersOnly.label "Folder Sahaja">
+<!ENTITY messagesOnly.label "Mesej Sahaja">
+<!ENTITY accept.label "Cipta Folder">
+<!ENTITY accept.accesskey "r">
diff --git a/l10n-ms/suite/chrome/mailnews/news.properties b/l10n-ms/suite/chrome/mailnews/news.properties
new file mode 100644
index 0000000000..0d6910db97
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/news.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=Muat turun Pengepala
+downloadHeadersInfoText=Ada %S pengepala mesej baru untuk dimuat turun bagi kumpulan berita ini.
+cancelDisallowed=Mesej ini bukan milik anda. Anda hanya boleh batalkan post sendiri, bukan yang disiarkan oleh orang lain.
+cancelConfirm=Adakah anda pasti mahu membatalkan mesej ini?
+messageCancelled=Mesej dibatalkan.
+enterUserPassTitle=Nama Pengguna Pelayan Berita dan Kata laluan Diperlukan
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=Sila masukkan nama pengguna dan kata laluan untuk %S:
+# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set
+# the password for; %2$S is the server from which the newsgroup is accessed
+enterUserPassGroup=Sila masukkan nama pengguna dan kata laluan untuk %1$S dalam %2$S:
+okButtonText=Muat turun
+
+noNewMessages=Tiada mesej baru pada pelayan.
+# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current
+# header being downloaded, %2$S is the number of headers to be downloaded, and
+# %3$S is the newsgroup whose headers are being downloaded.
+newNewsgroupHeaders=Memuat turun %1$S daripada %2$S pengepala untuk %3$S
+# LOCALIZATION NOTE (newNewsgroupFilteringHeaders): %1$S is the name of the MIME
+# header being filtered on, %2$S is the number of the current header being
+# downloaded, %3$S is the number of headers to be downloaded, and %4$S is the
+# newsgroup whose headers are being downloaded.
+newNewsgroupFilteringHeaders=Mendapatkan pengepala untuk menapis: %1$S (%2$S/%3$S) dalam %4$S
+downloadingArticles=Memuat turun artikel %S-%S
+bytesReceived=Muat turun kumpulan berita: %S diterima (%SKB dibaca dalam %S/saat)
+downloadingArticlesForOffline=Memuat turun artikel %S-%S dalam %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=Kumpulan berita %1$S mungkin tidak wujud dalam hos %2$S. Adakah anda mahu membatalkan langganan?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=Adakah anda mahu melanggan %1$S?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=Ada ralat (NNTP) Berita:
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=Ada ralat Berita. Pengimbasan semua kumpulan berita tidak lengkap. Cuba Papar Semua Kumpulan berita sekali lagi
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=Ada ralat pengesahan. Cuba masukkan nama dan/atau kata laluan anda sekali lagi.
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=Ada ralat komunikasi. Cuba sambung semula. Ralat TCP:
diff --git a/l10n-ms/suite/chrome/mailnews/newsError.dtd b/l10n-ms/suite/chrome/mailnews/newsError.dtd
new file mode 100644
index 0000000000..e38e7ab4e8
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/newsError.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page.
+ Not generally visible. -->
+<!ENTITY newsError.title "Masalah Memuatkan Artikel">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "Artikel tidak ditemui">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "Pelayan kumpulan berita tidak dapat mencari artikel.">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "Pelayan kumpulan berita memberikan respons:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "Mungkin artikel sudah lapuk?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "Cuba cari artikel:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "Buang Semua Artikel Lapuk">
diff --git a/l10n-ms/suite/chrome/mailnews/newsblog/am-newsblog.dtd b/l10n-ms/suite/chrome/mailnews/newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..dccbdebd99
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/newsblog/am-newsblog.dtd
@@ -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/. -->
+
+<!ENTITY biffAll.label "Aktifkan kemaskini semua suapan">
+<!ENTITY biffAll.accesskey "A">
+
+<!ENTITY newFeedSettings.label "Tetapan Piawai untuk Suapan Berita">
+
+<!ENTITY manageSubscriptions.label "Urus Langganan…">
+<!ENTITY manageSubscriptions.accesskey "U">
+
+<!-- entities from rss.rdf -->
+<!ENTITY feeds.accountName "Blog &amp; Suapan Berita">
+<!ENTITY feeds.wizardShortName "Suapan">
+<!ENTITY feeds.wizardLongName "Blog &amp; Suapan Berita">
+<!ENTITY feeds.wizardLongName.accesskey "S">
diff --git a/l10n-ms/suite/chrome/mailnews/newsblog/feed-subscriptions.dtd b/l10n-ms/suite/chrome/mailnews/newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..f85160e617
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/newsblog/feed-subscriptions.dtd
@@ -0,0 +1,55 @@
+<!-- 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/. -->
+
+<!-- Subscription Dialog -->
+<!ENTITY feedSubscriptions.label "Langganan Suapan">
+<!ENTITY learnMore.label "Ketahui selanjutnya perihal Suapan">
+
+<!ENTITY feedTitle.label "Tajuk:">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "URL Suapan:">
+<!ENTITY feedLocation.accesskey "S">
+<!ENTITY feedLocation2.placeholder "Masukkan url suapan yang sah">
+<!ENTITY locationValidate.label "Sahkan">
+<!ENTITY validateText.label "Semak pengesahan dan dapatkan url yang sah.">
+
+<!ENTITY feedFolder.label "Simpan Artikel dalam:">
+<!ENTITY feedFolder.accesskey "S">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "Semak artikel baru setiap ">
+<!ENTITY biffStart.accesskey "k">
+<!ENTITY biffMinutes.label "minit">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "hari">
+<!ENTITY biffDays.accesskey "h">
+<!ENTITY recommendedUnits.label "Disyorkan penerbit:">
+
+<!ENTITY quickMode.label "Papar ringkasan artikel, bukan memuatkan halaman web">
+<!ENTITY quickMode.accesskey "p">
+
+<!ENTITY autotagEnable.label "Cipta tag secara automatik daripada suapan &lt;kategori&gt;">
+<!ENTITY autotagEnable.accesskey "o">
+<!ENTITY autotagUsePrefix.label "Awalan tag dengan:">
+<!ENTITY autotagUsePrefix.accesskey "A">
+<!ENTITY autoTagPrefix.placeholder "Masukkan awalan tag">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "Tambah">
+<!ENTITY button.addFeed.accesskey "T">
+<!ENTITY button.verifyFeed.label "Sahkan">
+<!ENTITY button.verifyFeed.accesskey "S">
+<!ENTITY button.updateFeed.label "Kemaskini">
+<!ENTITY button.updateFeed.accesskey "K">
+<!ENTITY button.removeFeed.label "Buang">
+<!ENTITY button.removeFeed.accesskey "B">
+<!ENTITY button.importOPML.label "Import">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "Eksport">
+<!ENTITY button.exportOPML.accesskey "E">
+<!ENTITY button.exportOPML.tooltip "Eksport Suapan dalam struktur folder; klik ctrl atau ctrl enter untuk mengeksport Suapan sebagai satu senarai">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "Tutup">
diff --git a/l10n-ms/suite/chrome/mailnews/newsblog/newsblog.properties b/l10n-ms/suite/chrome/mailnews/newsblog/newsblog.properties
new file mode 100644
index 0000000000..47b3116c02
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/newsblog/newsblog.properties
@@ -0,0 +1,93 @@
+# 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/.
+
+subscribe-validating-feed=Mengesahkan suapan…
+subscribe-cancelSubscription=Adakah anda pasti mahu membatalkan langganan suapan semasa?
+subscribe-cancelSubscriptionTitle=Melanggan Suapan…
+subscribe-feedAlreadySubscribed=Anda sudah melanggan suapan ini.
+subscribe-errorOpeningFile=Tidak dapat membuka fail.
+subscribe-feedAdded=Suapan ditambah.
+subscribe-feedUpdated=Suapan dikemaskini.
+subscribe-feedMoved=Langganan suapan dipindahkan.
+subscribe-feedCopied=Langganan suapan disalin.
+subscribe-feedRemoved=Langganan suapan dibatalkan.
+subscribe-feedNotValid=URL Suapan ini tidak sah.
+subscribe-feedVerified=URL Suapan sudah disahkan.
+subscribe-networkError=URL Suapan tidak dapat ditemui. Sila semak nama dan cuba lagi.
+subscribe-noAuthError=URL Suapan ini tidak diberi kuasa.
+subscribe-loading=Memuatkan, sila tunggu…
+
+subscribe-OPMLImportTitle=Pilih fail OPML untuk diimport
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=Eksport %S sebagai fail OPML - Senarai suapan
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=Eksport %S sebagai fail OPML - Suapan dengan struktur folder
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=%1$S Mengeksport OPML - %2$S
+## LOCALIZATION NOTE(subscribe-OPMLExportDefaultFileName):
+## %1$S is the brandShortName (Thunderbird for example), %2$S is the account name.
+## The default extension (.opml) is added here as it is not automatically appended in the file picker on MacOS.
+subscribe-OPMLExportDefaultFileName=Suapan%1$S-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=Fail %S mungkin bukan fail OPML yang sah.
+## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of new imported entries.
+subscribe-OPMLImportFeedCount=#1 suapan baru telah diimport.
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=#1 suapan baru yang masih belum anda langgan telah diimport;#1 suapan baru yang masih belum anda langgan telah diimport;
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(daripada #1 entri yang ditemui);(daripada #1 entri yang ditemui)
+## LOCALIZATION NOTE(subscribe-OPMLImportStatus):
+## This is the concatenation of the two strings defined above to compose 1 sentence.
+## %1$S = subscribe-OPMLImportUniqueFeeds
+## %2$S = subscribe-OPMLImportFoundFeeds
+subscribe-OPMLImportStatus=%1$S %2$S.
+
+subscribe-OPMLExportOPMLFilesFilterText=Fail OPML
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=Suapan dalam akaun ini telah dieksport ke %S.
+
+subscribe-confirmFeedDeletionTitle=Buang Suapan
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=Adakah anda pasti mahu berhenti melanggan daripada suapan: \n %S?
+
+## LOCALIZATION NOTE(subscribe-gettingFeedItems):
+## - The first %S is the number of articles processed so far;
+## - The second %S is the total number of items
+subscribe-gettingFeedItems=Memuat turun artikel suapan (%S daripada %S)…
+
+newsblog-noNewArticlesForFeed=Tiada artikel baru daripada suapan ini.
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=%S tidak dapat ditemui. Sila semak nama dan cuba lagi.
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S bukan suapan yang sah.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S menggunakan sijil keselamatan yang tidak sah.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S tidak diberi kuasa.
+newsblog-getNewMsgsCheck=Menyemak item baru suapan…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=Blog & Suapan Berita
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=Lampiran MIME ini disimpan berasingan daripada mesej.
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* Akaun Baru *
+ImportFeedsNewAccount=Cipta dan import ke dalam akaun Suapan baru
+ImportFeedsExistingAccount=Import ke dalam akaun Suapan sedia ada
+## LOCALIZATION NOTE(ImportFeedsDone):
+## - The first %S is the import file name;
+## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting;
+## - The third %S is the feed account name.
+ImportFeedsNew=baru
+ImportFeedsExisting=sedia ada
+ImportFeedsDone=Proses mengimport langganan suapan daripada fail %1$S ke dalam akaun '%3$S' %2$S telah selesai.
diff --git a/l10n-ms/suite/chrome/mailnews/offline.properties b/l10n-ms/suite/chrome/mailnews/offline.properties
new file mode 100644
index 0000000000..0aaa08090d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/offline.properties
@@ -0,0 +1,51 @@
+# 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 :
+# do not localize "\n". use "\n" to make the text fit nicely in the dialog.
+
+#
+# Download Messages Prompt
+#
+downloadMessagesWindowTitle=Kerja Luar Talian
+
+# LOCALIZATION NOTE :
+# do not localize "\n". use "\n" to make the text fit nicely in the dialog.
+downloadMessagesLabel=Adakah anda mahu memuat turun mesej \nuntuk penggunaan luar talian?\n\n
+
+downloadMessagesCheckboxLabel=Tanya sebelum saya ke luar talian
+downloadMessagesDownloadButtonLabel=Muat turun
+downloadMessagesNoDownloadButtonLabel=Jangan Muat turun
+downloadMessagesCancelButtonLabel=Batal
+
+#
+# Send Messages Prompt
+#
+sendMessagesWindowTitle=Kerja Atas Talian
+
+sendMessagesLabel2=Adakah anda mahu hantar mesej yang belum dihantar sekarang?
+sendMessagesCheckboxLabel=Tanya sebelum saya ke atas talian
+sendMessagesSendButtonLabel=Hantar
+sendMessagesNoSendButtonLabel=Jangan Hantar
+sendMessagesCancelButtonLabel=Batal
+
+#
+# GetMessages Offline Prompt
+#
+getMessagesOfflineWindowTitle=Dapatkan Mesej
+
+# LOCALIZATION NOTE :
+# do not localize "\n". use "\n" to make the text fit nicely in the dialog.
+getMessagesOfflineLabel=Anda di luar talian buat masa ini. Adakah anda mahu \nke atas talian untuk mendapatkan mesej baru?\n\n
+getMessagesOfflineGoButtonLabel=Pergi atas talian
+
+#
+# Send Messages Offline Prompt
+#
+sendMessagesOfflineWindowTitle=Hantar Mesej
+
+# LOCALIZATION NOTE :
+# do not localize "\n". use "\n" to make the text fit nicely in the dialog.
+sendMessagesOfflineLabel=Anda di luar talian buat masa ini. Adakah anda mahu \nke atas talian untuk mendapatkan mesej baru?\n\n
+sendMessagesOfflineGoButtonLabel=Pergi atas talian
diff --git a/l10n-ms/suite/chrome/mailnews/offlineStartup.properties b/l10n-ms/suite/chrome/mailnews/offlineStartup.properties
new file mode 100644
index 0000000000..ea30089c9b
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/offlineStartup.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/.
+
+title=Kerja Atas Talian
+desc=Adakah anda mahu ke atas talian sekarang?\n\n(Jika anda pilih untuk bekerja luar talian, dan mahu ke atas talian nanti - pilih 'Luar talian' dalam menu 'Fail', dan buang tanda pada 'Kerja Luar talian'.)
+workOnline=Kerja Atas Talian
+workOffline=Kerja Luar Talian
diff --git a/l10n-ms/suite/chrome/mailnews/outlookImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/outlookImportMsgs.properties
new file mode 100644
index 0000000000..c8aacd8a9e
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/outlookImportMsgs.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/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the Outlook import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OUTLOOKIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook
+
+# Description of import module
+## @name OUTLOOKIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook"
+2010=Mel, buku alamat dan tetapan Outlook
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=Peti masuk %S, mengimport %d mesej
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Parameter rosak tidak boleh mengimport peti masuk.
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=Ralat mengimport peti mel %S, tidak semua mesej dapat diimport daripada peti mel ini.
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Buku alamat Outlook
+
+# Description
+## @name OUTLOOKIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2006=Buku alamat %S yang diimport
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=Parameter rosak tidak boleh mengimport buku alamat.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Ralat mengakses fail buku alamat %S.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
+
+
+
+
+
diff --git a/l10n-ms/suite/chrome/mailnews/pgpmime.properties b/l10n-ms/suite/chrome/mailnews/pgpmime.properties
new file mode 100644
index 0000000000..ede824fc48
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pgpmime.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/.
+
+#
+# The following are used by the pgpmime content type handler
+#
+
+# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
+# %S is the url to Enigmail on AMO supplied from preferences.
+pgpMimeNeedsAddon=Inil adalah mesej enkripsi OpenPGP.<br>Untuk dekripsi mel ini, anda perlu pasang <a href="%S">add-on OpenPGP</a>.
+
+
diff --git a/l10n-ms/suite/chrome/mailnews/pref/AccountManager.dtd b/l10n-ms/suite/chrome/mailnews/pref/AccountManager.dtd
new file mode 100644
index 0000000000..d09d445aea
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/AccountManager.dtd
@@ -0,0 +1,26 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from AccountManager.xul -->
+
+<!ENTITY accountManagerTitle.label "Tetapan Akaun Mel &amp; Kumpulan berita">
+
+<!ENTITY addAccountButton.label "Tambah Akaun…">
+<!ENTITY addAccountButton.accesskey "A">
+<!ENTITY setDefaultButton.label "Tetapkan sebagai Piawai">
+<!ENTITY setDefaultButton.accesskey "s">
+<!ENTITY removeButton.label "Buang Akaun">
+<!ENTITY removeButton.accesskey "B">
+
+<!-- AccountManager.xul -->
+<!-- LOCALIZATION NOTE : this is part of an inline-style attribute on the account
+ setting dialog, which specifies the width and height in em units of the dialog.
+ Localizers ONLY can increase these widths if they are having difficulty getting
+ panel content to fit.
+ 1ch = The width of the "0" (ZERO, U+0030) glyph for the current font.
+ 1em = The height of the font.
+ XUL/FE DEVELOPERS: DO NOT MODIFY THIS VALUE. It represents the correct size of
+ this window for en-US. -->
+<!ENTITY accountManager.size "width: 105ch; height: 55em;">
+<!ENTITY accountTree.width "width: 32ch;">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/AccountWizard.dtd b/l10n-ms/suite/chrome/mailnews/pref/AccountWizard.dtd
new file mode 100644
index 0000000000..50be9fb87f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/AccountWizard.dtd
@@ -0,0 +1,124 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "Bestari Akaun">
+<!ENTITY accountWizard.size "width: 40em; height: 38em;">
+
+<!-- Entities for Account Type page -->
+
+<!ENTITY accountSetupInfo2.label "Untuk menerima mesej, anda terlebih dahulu perlu menyediakan akaun.">
+<!ENTITY accountTypeTitle.label "Penyediaan Akaun Baru">
+<!ENTITY accountTypeDesc2.label "Bestari ini akan mengumpulkan maklumat yang diperlukan untuk menyediakan akaun. Jika anda tidak tahu maklumat yang diminta, sila hubungi Penyedia Perkhidmatan Internet atau Pentadbir Sistem anda.">
+<!ENTITY accountTypeDirections.label "Pilih jenis akaun yang anda mahu sediakan:">
+<!ENTITY accountTypeMail.label "Akaun e-mel">
+<!ENTITY accountTypeMail.accesskey "m">
+<!ENTITY accountTypeNews.label "Akaun kumpulan berita">
+<!ENTITY accountTypeNews.accesskey "b">
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "Identiti">
+<!ENTITY identityDesc.label "Setiap akaun ada identiti sendiri, iaitu maklumat untuk mengenal pasti akaun apabila mesej diterima.">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "Masukkan nama yang anda mahu paparkan dalam medan &quot;Daripada&quot; untuk mesej keluar">
+<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line
+ 1, do not translate two of "&quot;"
+ 2, Use localized full name instead of "John Smith"
+-->
+<!ENTITY fullnameExample.label "(sebagai contoh, &quot;Ahmad Abdullah&quot;).">
+<!ENTITY fullnameLabel.label "Nama Anda:">
+<!ENTITY fullnameLabel.accesskey "A">
+
+<!ENTITY emailLabel.label "Alamat E-mel:">
+<!ENTITY emailLabel.accesskey "E">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "Maklumat Pelayan Masuk">
+<!ENTITY incomingServerTypeDesc.label "Pilih jenis pelayan masuk yang anda gunakan.">
+<!-- LOCALIZATION NOTE (imapType.label) : Do not translate "IMAP" in below line -->
+<!ENTITY imapType.label "IMAP">
+<!ENTITY imapType.accesskey "I">
+<!-- LOCALIZATION NOTE (popType.label) : Do not translate "POP" in below line -->
+<!ENTITY popType.label "POP">
+<!ENTITY popType.accesskey "P">
+<!ENTITY portNum.label "Port:">
+<!ENTITY portNum.accesskey "o">
+<!ENTITY defaultPortLabel.label "Piawai:">
+<!ENTITY defaultPortValue.label "">
+<!-- LOCALIZATION NOTE (incomingServerNameDesc.label) : Do not translate "&quot;pop.example.net&quot;" in below line -->
+<!ENTITY incomingServer.description "Masukkan nama pelayan masuk (sebagai contoh, &quot;mail.example.net&quot;).">
+<!ENTITY incomingServer.label "Pelayan Masuk:">
+<!ENTITY incomingServer.accesskey "P">
+<!ENTITY leaveMsgsOnSrvr.label "Tinggalkan mesej pada pelayan">
+<!ENTITY leaveMsgsOnSrvr.accesskey "T">
+<!-- LOCALIZATION NOTE (incomingUsername.description) : do not translate "&quot;jsmith&quot;" in below line -->
+<!ENTITY incomingUsername.description "Masukkan nama pengguna masuk yang diberikan oleh penyedia e-mel (sebagai contoh, &quot;jsmith&quot;).">
+<!ENTITY incomingUsername.label "Nama Pengguna:">
+<!ENTITY incomingUsername.accesskey "N">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "Masukkan nama pelayan berita (NNTP) (sebagai contoh, &quot;news.example.net&quot;).">
+<!ENTITY newsServerLabel.label "Pelayan Kumpulan berita:">
+<!ENTITY newsServerLabel.accesskey "P">
+
+<!-- Entities for Outgoing Server page -->
+
+<!ENTITY outgoingTitle.label "Maklumat Pelayan Keluar">
+<!-- LOCALIZATION NOTE (outgoingServer.description) : Do not translate "SMTP" and "&quot;smtp.example.net&quot;" in below line -->
+<!ENTITY outgoingServer.description "Masukkan nama pelayan keluar (SMTP) (sebagai contoh, &quot;smtp.example.net&quot;).">
+<!ENTITY outgoingServer.label "Pelayan Keluar:">
+<!ENTITY outgoingServer.accesskey "K">
+<!ENTITY outgoingUsername.description "Masukkan nama pengguna keluar yang diberikan oleh penyedia e-mel (biasanya nama yang sama seperti nama pengguna masuk).">
+<!ENTITY outgoingUsername.label "Nama Pengguna Keluar:">
+<!ENTITY outgoingUsername.accesskey "N">
+
+<!-- LOCALIZATION NOTE (modifyOutgoing.suffix) : This string will be appended after each of
+ haveSmtp1.suffix3, haveSmtp2.suffix3, haveSmtp3.suffix3 .
+-->
+<!ENTITY modifyOutgoing.suffix "Anda boleh mengubah suai tetapan pelayan keluar dari dalam Tetapan Akaun Mel &amp; Kumpulan berita.">
+<!-- LOCALIZATION NOTE (haveSmtp1.prefix and haveSmtp1.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp1.prefix and haveSmtp1.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp1.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp1.prefix "Pelayan keluar sekarang (SMTP), &quot;">
+<!ENTITY haveSmtp1.suffix3 "&quot;, akan digunakan.">
+<!-- LOCALIZATION NOTE (haveSmtp2.prefix and haveSmtp2.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp2.prefix and haveSmtp2.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp2.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp2.prefix "Nama pengguna keluar sekarang (SMTP), &quot;">
+<!ENTITY haveSmtp2.suffix3 "&quot;, akan digunakan.">
+<!-- LOCALIZATION NOTE (haveSmtp3.prefix and haveSmtp3.suffix3) : Do not translate "SMTP" and "&quot;" in
+ these variables. Also, translate haveSmtp3.prefix and haveSmtp3.suffix3 as a single sentence, inserting
+ text after the "&quot;" entity in haveSmtp3.suffix3, if required grammatically.
+-->
+<!ENTITY haveSmtp3.prefix "Pelayan keluar (SMTP), &quot;">
+<!ENTITY haveSmtp3.suffix3 "&quot; sama dengan pelayan masuk, maka nama pengguna masuk akan digunakan untuk mengaksesnya.">
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "Nama Akaun">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "Masukkan nama akaun yang mahu dijadikan rujukan (sebagai contoh, &quot;Akaun Kerja&quot;, &quot;Akaun Utama&quot; atau &quot;Akaun Berita&quot;).">
+<!ENTITY accnameLabel.label "Nama Akaun:">
+<!ENTITY accnameLabel.accesskey "A">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "Tahniah!">
+<!ENTITY completionText.label "Sila sahkan bahawa maklumat di bawah adalah betul.">
+<!ENTITY serverTypePrefix.label "Jenis Pelayan Masuk:">
+<!ENTITY serverNamePrefix.label "Nama Pelayan Masuk:">
+<!ENTITY smtpServerNamePrefix.label "Nama Pelayan Keluar (SMTP):">
+<!ENTITY newsServerNamePrefix.label "Nama Pelayan Berita (NNTP):">
+<!ENTITY downloadOnLogin.label "Muat turun mesej sekarang">
+<!ENTITY downloadOnLogin.accesskey "M">
+<!ENTITY deferStorageDesc.label "Tandakan kotak semakan ini untuk menyimpan mel untuk akaun ini dalam tempatan folder Global. Jika tidak akaun muncul sebagai satu akaun peringkat tinggi dan mel yang disimpan dalam direktori sendiri.">
+<!ENTITY deferStorage.label "Guna Peti Masuk Global (menyimpan mel dalam Folder Lokal)">
+<!ENTITY deferStorage.accesskey "G">
+<!ENTITY clickFinish.label "Klik Selesai untuk menyimpan tetapan dan keluar daripada Bestari Akaun.">
+<!ENTITY clickFinish.labelMac "Klik Siap untuk menyimpan tetapan dan keluar daripada Bestari Akaun.">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-addressing.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-addressing.dtd
new file mode 100644
index 0000000000..75a43c7b9f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-addressing.dtd
@@ -0,0 +1,49 @@
+<!-- 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/. -->
+
+<!-- extracted from am-addressing.xul -->
+
+<!ENTITY addressing.label "Karangan &amp; Alamat">
+<!ENTITY addressingGroupTitle.label "Alamat">
+<!ENTITY autocompleteToMyDomain.label "Domain ditambah secara automatik ke dalam alamat">
+<!ENTITY autocompleteToMyDomain.accesskey "o">
+<!ENTITY addressingText.label "Apabila mencari alamat:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "Guna keutamaan pelayan LDAP global untuk akaun ini">
+<!ENTITY useGlobal.accesskey "G">
+<!ENTITY editDirectories.label "Edit Direktori…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Guna pelayan LDAP lain:">
+<!ENTITY directories.accesskey "l">
+<!ENTITY directoriesNone.label "Tiada">
+
+<!-- am-addressing.xul -->
+
+<!ENTITY compositionGroupTitle.label "Karangan">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "Karang mesej dalam format HTML">
+<!ENTITY useHtml.accesskey "K">
+<!ENTITY autoQuote.label "Petik mesej asal secara automatik apabila membalas">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "Apabila memetik,">
+<!ENTITY quoting.accesskey "m">
+<!ENTITY aboveQuote.label "mulakan balasan di atas petikan tadi">
+<!ENTITY belowQuote.label "mulakan balasan di bawah petikan tadi">
+<!ENTITY selectAndQuote.label "pilih petikan">
+<!ENTITY place.label "dan letakkan tandatangan">
+<!ENTITY place.accesskey "t">
+<!ENTITY belowText.label "di bawah petikan (disyorkan)">
+<!ENTITY aboveText.label "di bawah balasan (di atas petikan tadi)">
+<!ENTITY includeSigOnReply.label "Sertakan tandatangan bagi setiap balasan">
+<!ENTITY includeSigOnReply.accesskey "S">
+<!ENTITY includeSigOnForward.label "Sertakan tandatangan bagi kiriman semula">
+<!ENTITY includeSigOnForward.accesskey "k">
+
+<!ENTITY globalComposingPrefs.label "Keutamaan Karangan Global…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "Keutamaan Pengalamatan Global…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-advanced.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-advanced.dtd
new file mode 100644
index 0000000000..3460dd1f46
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-advanced.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "Tetapan Pelayan Keluar (SMTP)">
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "Apabila menguruskan identiti, anda boleh guna pelayan dalam senarai dengan memilihnya sebagai Pelayan Keluar (SMTP), atau gunakan pelayan piawai dalam senarai ini dengan memilih &quot;Guna Pelayan Piawai&quot;.">
+
+<!ENTITY smtpListAdd.label "Tambah…">
+<!ENTITY smtpListAdd.accesskey "h">
+<!ENTITY smtpListEdit.label "Edit…">
+<!ENTITY smtpListEdit.accesskey "E">
+<!ENTITY smtpListDelete.label "Buang">
+<!ENTITY smtpListDelete.accesskey "g">
+<!ENTITY smtpListSetDefault.label "Tetapkan Piawai">
+<!ENTITY smtpListSetDefault.accesskey "t">
+
+<!ENTITY serverDetails.label "Butiran pelayan yang dipilih:">
+<!ENTITY serverDescription.label "Keterangan: ">
+<!ENTITY serverName.label "Nama Pelayan: ">
+<!ENTITY serverPort.label "Port: ">
+<!ENTITY userName.label "Nama Pengguna: ">
+<!ENTITY connectionSecurity.label "Keselamatan Sambungan: ">
+<!ENTITY authMethod.label "Kaedah pengesahan: ">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-archiveoptions.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-archiveoptions.dtd
new file mode 100644
index 0000000000..56e9b8792d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-archiveoptions.dtd
@@ -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/. -->
+
+<!-- extracted from am-archiveoptions.xul -->
+
+<!ENTITY dialogTitle.label "Pilihan Arkib">
+<!ENTITY archiveGranularityPrefix.label "Apabila mengarkib mesej, letakkan dalam:">
+<!ENTITY archiveFlat.label "Folder tunggal">
+<!ENTITY archiveFlat.accesskey "t">
+<!ENTITY archiveYearly.label "Folder arkib tahunan">
+<!ENTITY archiveYearly.accesskey "F">
+<!ENTITY archiveMonthly.label "Folder arkib bulanan">
+<!ENTITY archiveMonthly.accesskey "b">
+<!ENTITY keepFolderStructure.label "Kekalkan struktur folder yang ada untuk mengarkib mesej">
+<!ENTITY keepFolderStructure.accesskey "K">
+<!ENTITY archiveExample.label "Contoh">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "Arkib">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "Peti masuk">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-copies.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-copies.dtd
new file mode 100644
index 0000000000..b175087f1e
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-copies.dtd
@@ -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/. -->
+
+<!-- extracted from am-copies.xul -->
+
+<!ENTITY copyAndFolderTitle.label "Salinan &amp; Folder">
+<!ENTITY sendingPrefix.label "Apabila menghantar mesej:">
+<!ENTITY fccMailFolder.label "Secara automatik letakkan salinan dalam:">
+<!ENTITY fccMailFolder.accesskey "u">
+<!ENTITY fccReplyFollowsParent.label "Letakkan balasan dalam folder mesej yang dibalas">
+<!ENTITY fccReplyFollowsParent.accesskey "L">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Cc kepada alamat e-mel berikut:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "Pisahkan alamat dengan tanda koma">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "Bcc kepada alamat e-mel berikut:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "Pisahkan alamat dengan tanda koma">
+<!ENTITY saveMessageDlg.label "Papar dialog pengesahan apabila mesej sudah disimpan">
+<!ENTITY saveMessageDlg.accesskey "p">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "Folder &quot;Dihantar&quot; dalam:">
+<!ENTITY sentFolderOn.accesskey "D">
+<!ENTITY sentInOtherFolder.label "Folder Lain:">
+<!ENTITY sentInOtherFolder.accesskey "L">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "Arkib Mesej">
+<!ENTITY keepArchives.label "Simpan arkib mesej dalam:">
+<!ENTITY keepArchives.accesskey "S">
+<!ENTITY archiveHierarchyButton.label "Pilihan arkib…">
+<!ENTITY archiveHierarchyButton.accesskey "n">
+<!ENTITY archivesFolderOn.label "Folder &quot;Arkib&quot; dalam:">
+<!ENTITY archivesFolderOn.accesskey "b">
+<!ENTITY archiveInOtherFolder.label "Folder Lain:">
+<!ENTITY archiveInOtherFolder.accesskey "l">
+<!ENTITY specialFolders.label "Draf dan Templat">
+<!ENTITY keepDrafts2.label "Simpan mesej draf dalam:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "Folder &quot;Draf&quot; dalam:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "Folder Lain:">
+<!ENTITY draftInOtherFolder.accesskey "i">
+<!ENTITY keepTemplates.label "Simpan templat mesej dalam:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "Folder &quot;Templat&quot; dalam:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "Folder Lain:">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-identities-list.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-identities-list.dtd
new file mode 100644
index 0000000000..949595ca95
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-identities-list.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identitiesListManageDesc.label "Urus identiti akaun ini. Identiti pertama yang digunakan secara piawai.">
+<!ENTITY identitiesListAdd.label "Tambah…">
+<!ENTITY identitiesListAdd.accesskey "T">
+<!ENTITY identitiesListEdit.label "Edit…">
+<!ENTITY identitiesListEdit.accesskey "E">
+<!ENTITY identitiesListDefault.label "Tetapkan Piawai">
+<!ENTITY identitiesListDefault.accesskey "T">
+<!ENTITY identitiesListDelete.label "Buang">
+<!ENTITY identitiesListDelete.accesskey "B">
+<!ENTITY identitiesListClose.label "Tutup">
+<!ENTITY identitiesListClose.accesskey "T">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-identity-edit.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-identity-edit.dtd
new file mode 100644
index 0000000000..709bb6c0e9
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-identity-edit.dtd
@@ -0,0 +1,18 @@
+<!-- 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 (identityDialog.style): This value should be roughly
+ equal to the value of accountManager.size entity minus the value
+ of accountTree.width entity. -->
+<!ENTITY identityDialog.style "min-width: 75ch;">
+<!ENTITY identityListDesc.label "Konfigurasi tetapan identiti ini:">
+
+<!ENTITY settingsTab.label "Tetapan">
+<!ENTITY copiesFoldersTab.label "Salinan &amp; Folder">
+<!ENTITY addressingTab.label "Karangan &amp; Alamat">
+
+<!ENTITY publicData.label "Data Umum">
+<!ENTITY privateData.label "Data Peribadi">
+<!ENTITY identityAlias.label "Label Identiti:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-junk.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-junk.dtd
new file mode 100644
index 0000000000..3c32fce8ed
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-junk.dtd
@@ -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/. -->
+
+<!ENTITY junkSettings.label "Tetapan Mel Remeh">
+<!ENTITY trainingDescription.label "Jika diaktifkan, anda perlu melatih &brandShortName; untuk mengenal pasti mel remeh dengan menggunakan butang bar alatan Mel Remeh untuk menandakan samada sesuatu mesej itu remeh atau tidak. Anda perlu mengenal pasti mesej yang remeh atau sebaliknya. Selepas itu, &brandShortName; akan boleh menandakan mel remeh secara automatik.">
+<!ENTITY level.label "Aktifkan kawalan mudah suai mel remeh untuk akaun ini">
+<!ENTITY level.accesskey "A">
+
+<!ENTITY move.label "Pindah mesej remeh baru ke:">
+<!ENTITY move.accesskey "P">
+<!ENTITY junkFolderOn.label "Folder &quot;Mel Remeh&quot; dalam:">
+<!ENTITY junkFolderOn.accesskey "M">
+<!ENTITY otherFolder.label "Lain-lain:">
+<!ENTITY otherFolder.accesskey "L">
+<!ENTITY purge1.label "Buang secara automatik mel remeh yang melebihi">
+<!ENTITY purge1.accesskey "u">
+<!ENTITY purge2.label "hari">
+
+<!ENTITY whitelistHeader.label "Jangan tandakan secara automatik mel remeh jika pengirim ada di dalam: ">
+<!ENTITY whitelistHeader.accesskey "J">
+
+<!ENTITY ispHeadersWarning.label "Jika diaktifkan, &brandShortName; akan secara automatik mempertimbangkan mesej yang ditanda oleh pengelas luar ini sebagai remeh.">
+<!ENTITY ispHeaders.label "Percaya pengepala mel remeh yang ditetapkan oleh: ">
+<!ENTITY ispHeaders.accesskey "P">
+
+<!ENTITY junkClassification.label "Pemilihan">
+<!ENTITY junkActions.label "Destinasi dan Pengekalan">
+
+<!ENTITY globalJunkPrefs.label "Keutamaan Mel Remeh Global…">
+<!ENTITY globalJunkPrefs.accesskey "G">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-main.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-main.dtd
new file mode 100644
index 0000000000..251ee26138
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-main.dtd
@@ -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/. -->
+
+<!-- extracted from am-main.xul -->
+
+<!ENTITY accountTitle.label "Tetapan Akaun">
+<!ENTITY accountName.label "Nama Akaun:">
+<!ENTITY accountName.accesskey "N">
+<!ENTITY identityTitle.label "Identiti Piawai">
+<!ENTITY identityDesc.label "Setiap akaun ada identiti sendiri, iaitu maklumat yang boleh dilihat apabila penerima membaca mesej anda.">
+<!ENTITY name.label "Nama Anda:">
+<!ENTITY name.accesskey "A">
+<!ENTITY email.label "Alamat E-mel:">
+<!ENTITY email.accesskey "E">
+<!ENTITY replyTo.label "Alamat Balas-kepada:">
+<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.placeholder "Penerima akan membalas ke alamat yang lain">
+<!ENTITY organization.label "Organisasi:">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "Teks tandatangan:">
+<!ENTITY signatureText.accesskey "t">
+<!ENTITY signatureHtml.label "Gunakan HTML">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "Lampir sahaja tandatangan dari fail:">
+<!ENTITY signatureFile.accesskey "f">
+<!ENTITY choose.label "Pilih…">
+<!ENTITY choose.accesskey "P">
+<!ENTITY editVCard.label "Edit Kad…">
+<!ENTITY editVCard.accesskey "d">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "Lampir vCard dalam mesej">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "Urus Identiti…">
+<!ENTITY manageIdentities.accesskey "U">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "Pelayan Keluar (SMTP):">
+<!ENTITY smtpName.accesskey "u">
+<!ENTITY smtpDefaultServer.label "Guna Pelayan Piawai">
+
+<!ENTITY smtpServerEdit.label "Edit pelayan SMTP…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-mdn.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-mdn.dtd
new file mode 100644
index 0000000000..e73b1e825b
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-mdn.dtd
@@ -0,0 +1,33 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pane.title "Resit Pemberitahu Serahan">
+<!ENTITY useGlobalPrefs.label "Guna keutamaan resit pemberitahu serahan global untuk akaun ini">
+<!ENTITY useGlobalPrefs.accesskey "G">
+<!ENTITY globalReceipts.label "Keutamaan Global…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "Sesuaikan resit pemberitahu serahan untuk akaun ini">
+<!ENTITY useCustomPrefs.accesskey "S">
+<!ENTITY requestReceipt.label "Apabila menghantar mesej, sentiasa minta resit pemberitahu serahan">
+<!ENTITY requestReceipt.accesskey "A">
+<!ENTITY receiptArrive.label "Apabila resit pemberitahuan serahan diterima:">
+<!ENTITY leaveIt.label "Biarkan dalam Peti Masuk">
+<!ENTITY leaveIt.accesskey "B">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "Pindahkan ke dalam folder &quot;Dihantar&quot;">
+<!ENTITY moveToSent.accesskey "P">
+<!ENTITY requestMDN.label "Apabila saya diminta menyerahkan resit pemberitahu serahan:">
+<!ENTITY returnSome.label "Izinkan resit pemberitahu serahan dihantar kepada sesetengah mesej">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "Jangan sesekali hantar resit pemberitahu serahan">
+<!ENTITY never.accesskey "J">
+<!ENTITY notInToCc.label "Jika saya tiada dalam Kepada atau Cc mesej:">
+<!ENTITY notInToCc.accesskey "K">
+<!ENTITY outsideDomain.label "Jika pengirim dari luar domain saya:">
+<!ENTITY outsideDomain.accesskey "s">
+<!ENTITY otherCases.label "Dalam hal yang lain:">
+<!ENTITY otherCases.accesskey "h">
+<!ENTITY askMe.label "Tanya saya">
+<!ENTITY alwaysSend.label "Sentiasa hantar">
+<!ENTITY neverSend.label "Jangan sesekali hantar">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-mdn.properties b/l10n-ms/suite/chrome/mailnews/pref/am-mdn.properties
new file mode 100644
index 0000000000..61864da618
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-mdn.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/.
+
+## Strings used in prefs.
+prefPanel-mdn=Resit Pemberitahu Serahan
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-offline.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-offline.dtd
new file mode 100644
index 0000000000..52c53587b5
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-offline.dtd
@@ -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/. -->
+
+<!ENTITY doNotDownloadPop3Movemail.label "Untuk menjimatkan ruang cakera, jangan muat turun:">
+<!ENTITY doNotDownloadNntp.label "Untuk menjimatkan ruang cakera, jangan muat turun bagi kegunaan luar talian:">
+<!ENTITY doNotDownloadImap.label "Untuk menjimatkan ruang cakera, memuat turun mesej daripada pelayan dan menyimpan salinan lokal bagi kegunaan luar talian boleh dihadkan mengikut tempoh dan saiz.">
+<!ENTITY allFoldersOffline2.label "Simpan mesej dalam semua folder untuk akaun ini dalam komputer ini.">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "Nota: Perubahan ini memberi kesan kepada semua folder dalam akaun ini. Untuk menetapkan folder individu, gunakan butang Lanjutan….">
+<!ENTITY offlineNotDownload.label "Mesej yang melebihi">
+<!ENTITY offlineNotDownload.accesskey "M">
+<!ENTITY autosyncNotDownload.label "Jangan muat turun mesej yang melebihi">
+<!ENTITY autosyncNotDownload.accesskey "m">
+<!ENTITY kb.label "KB">
+<!ENTITY daysOld.label "hari lepas">
+<!ENTITY message.label "mesej">
+<!ENTITY nntpNotDownloadRead.label "Mesej yang dibaca">
+<!ENTITY nntpNotDownloadRead.accesskey "d">
+<!ENTITY nntpDownloadMsg.label "Mesej yang melebihi">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal.">
+<!ENTITY retentionCleanupImap.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, kedua-dua salinan lokal dan mesej asal dalam pelayan.">
+<!ENTITY retentionCleanupPop.label "Untuk memulihkan ruang cakera, mesej lama boleh dihapuskan secara kekal, termasuk mesej asal dalam pelayan.">
+<!ENTITY retentionKeepMsg.label "Buang mesej yang melebihi">
+<!ENTITY retentionKeepMsg.accesskey "g">
+<!ENTITY retentionKeepAll.label "Jangan buang apa-apa mesej">
+<!ENTITY retentionKeepAll.accesskey "n">
+<!ENTITY retentionKeepRecent.label "Buang semua kecuali yang terkini">
+<!ENTITY retentionKeepRecent.accesskey "k">
+<!ENTITY retentionApplyToFlagged.label "Sentiasa simpan mesej bertanda">
+<!ENTITY retentionApplyToFlagged.accesskey "b">
+<!ENTITY nntpRemoveMsgBody.label "Buang kandungan mesej yang melebihi">
+<!ENTITY nntpRemoveMsgBody.accesskey "m">
+<!ENTITY offlineSelectNntp.label "Pilih kumpulan berita bagi kegunaan luar talian…">
+<!ENTITY offlineSelectNntp.accesskey "P">
+<!ENTITY offlineImapAdvancedOffline.label "Lanjutan…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "j">
+<!ENTITY syncGroupTitle.label "Menyelaraskan Mesej">
+<!ENTITY diskspaceGroupTitle.label "Ruang Cakera">
+
+<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label):
+ The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear
+ on a single line within the scope of useAutosync.ByAge as follows:
+
+ &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label;
+-->
+<!ENTITY allAutosync.label "Selaras semua mesej lokal tanpa mengira tempoh">
+<!ENTITY allAutosync.accesskey "s">
+<!ENTITY ageAutosyncBefore.label "Selaras yang terkini">
+<!ENTITY ageAutosync.accesskey "S">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "Hari">
+<!ENTITY weekAgeInterval.label "Minggu">
+<!ENTITY monthAgeInterval.label "Bulan">
+<!ENTITY yearAgeInterval.label "Tahun">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-server-advanced.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-server-advanced.dtd
new file mode 100644
index 0000000000..74013b9f96
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-server-advanced.dtd
@@ -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/. -->
+
+<!ENTITY serverAdvanced.label "Tetapan Akaun Lanjutan">
+<!-- LOCALIZATION NOTE (serverDirectory.label): DONT_TRANSLATE "IMAP" -->
+<!ENTITY serverDirectory.label "Direktori pelayan IMAP:">
+<!ENTITY serverDirectory.accesskey "p">
+<!ENTITY usingSubscription.label "Papar folder yang dilanggan sahaja">
+<!ENTITY usingSubscription.accesskey "r">
+<!ENTITY dualUseFolders.label "Folder sokongan pelayan yang mengandungi sub-folder dan mesej">
+<!ENTITY dualUseFolders.accesskey "f">
+<!ENTITY maximumConnectionsNumber.label "Bilangan cache maksimum sambungan pelayan">
+<!ENTITY maximumConnectionsNumber.accesskey "B">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): DONT_TRANSLATE "IMAP" -->
+<!ENTITY namespaceDesc.label "Keutamaan berikut menentukan ruang nama dalam pelayan IMAP">
+<!ENTITY personalNamespace.label "Ruang nama peribadi:">
+<!ENTITY personalNamespace.accesskey "R">
+<!ENTITY publicNamespace.label "Umum (dikongsi):">
+<!ENTITY publicNamespace.accesskey "u">
+<!ENTITY otherUsersNamespace.label "Pengguna Lain:">
+<!ENTITY otherUsersNamespace.accesskey "L">
+<!ENTITY overrideNamespaces.label "Izinkan pelayan mengatasi nama ruang ini">
+<!ENTITY overrideNamespaces.accesskey "I">
+<!ENTITY pop3DeferringDesc.label "Apabila memuat turun mel daripada pelayan akaun ini, guna folder berikut untuk menyimpan mesej baru:" >
+<!ENTITY accountInbox.label "Peti masuk akaun ini">
+<!ENTITY accountInbox.accesskey "s">
+<!ENTITY deferToServer.label "Peti masuk akaun lain">
+<!ENTITY deferToServer.accesskey "l">
+<!ENTITY deferGetNewMail.label "Sertakan pelayan ini apabila mendapatkan mel baru">
+<!ENTITY deferGetNewMail.accesskey "I">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-server-top.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-server-top.dtd
new file mode 100644
index 0000000000..a3e1b70c4b
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-server-top.dtd
@@ -0,0 +1,91 @@
+<!-- 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/. -->
+
+<!-- extracted from am-server-top.xul -->
+
+<!ENTITY messageStorage.label "Storan Mesej">
+<!ENTITY securitySettings.label "Tetapan Keselamatan">
+<!ENTITY serverSettings.label "Tetapan Pelayan">
+<!ENTITY serverType.label "Jenis Pelayan:">
+<!ENTITY serverName.label "Nama Pelayan:">
+<!ENTITY serverName.accesskey "P">
+<!ENTITY userName.label "Nama Pengguna:">
+<!ENTITY userName.accesskey "N">
+<!ENTITY port.label "Port:">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "Piawai:">
+<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammer dependency
+ For example, in Japanese cases:
+ biffStart.label "every"
+ biffEnd.label "minutes for new messages Check"
+-->
+<!ENTITY biffStart.label "Semak mesej baru setiap ">
+<!ENTITY biffStart.accesskey "p">
+<!ENTITY biffEnd.label "minit">
+<!ENTITY useIdleNotifications.label "Izinkan pelayan menghantar notifikasi segera apabila ada mesej baru">
+<!ENTITY useIdleNotifications.accesskey "k">
+<!ENTITY connectionSecurity.label "Keselamatan sambungan:">
+<!ENTITY connectionSecurity.accesskey "u">
+<!ENTITY connectionSecurityType-0.label "Tiada">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, jika ada">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "Kaedah pengesahan:">
+<!ENTITY authMethod.accesskey "p">
+<!ENTITY leaveOnServer.label "Tinggalkan mesej pada pelayan">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "Ambil pengepala sahaja">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "Untuk yang paling">
+<!ENTITY deleteByAgeFromServer.accesskey "y">
+<!ENTITY daysEnd.label "hari">
+<!ENTITY deleteOnServer2.label "Sehingga saya buang">
+<!ENTITY deleteOnServer2.accesskey "b">
+<!ENTITY downloadOnBiff.label "Muat turun mesej baru secara automatik">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "Apabila saya buang mesej:">
+<!ENTITY modelMoveToTrash.label "Pindahkan ke dalam folder ini:">
+<!ENTITY modelMoveToTrash.accesskey "f">
+<!ENTITY modelMarkDeleted.label "Hanya tandakan sebagai dibuang">
+<!ENTITY modelMarkDeleted.accesskey "k">
+<!ENTITY modelDeleteImmediately.label "Buang serta-merta">
+<!ENTITY modelDeleteImmediately.accesskey "s">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "Hapus (&quot;Buangan&quot;) Peti masuk apabila Keluar">
+<!ENTITY expungeOnExit.accesskey "B">
+<!ENTITY emptyTrashOnExit.label "Buang Sampah apabila Keluar">
+<!ENTITY emptyTrashOnExit.accesskey "a">
+<!ENTITY loginAtStartup.label "Semak mesej baru pada permulaan">
+<!ENTITY loginAtStartup.accesskey "S">
+<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
+ maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
+ of messages between them
+-->
+<!ENTITY maxMessagesStart.label "Tanya saya sebelum memuat turun lebih daripada">
+<!ENTITY maxMessagesStart.accesskey "m">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "mesej">
+<!ENTITY alwaysAuthenticate.label "Sentiasa minta pengesahan semasa menyambung ke pelayan ini">
+<!ENTITY alwaysAuthenticate.accesskey "t">
+<!ENTITY newsrcFilePath.label "fail newsrc:">
+<!ENTITY newsrcPicker.label "Pilih Fail newsrc">
+<!ENTITY abbreviate.label "Papar nama kumpulan berita dalam anak tetingkap Folder Mel sebagai:">
+<!ENTITY abbreviateOn.label "Nama penuh (sebagai contoh, 'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "Nama singkatan (Sebagai contoh, 'n.p.m .mail-news')">
+<!ENTITY advancedButton.label "Lanjutan…">
+<!ENTITY serverDefaultCharset2.label "Pengekodan Teks Piawai:">
+<!ENTITY advancedButton.accesskey "j">
+<!ENTITY localPath.label "Direktori lokal:">
+<!ENTITY localFolderPicker.label "Pilih Direktori Lokal">
+<!ENTITY browseFolder.label "Cari…">
+<!ENTITY browseFolder.accesskey "C">
+<!ENTITY browseNewsrc.label "Cari…">
+<!ENTITY browseNewsrc.accesskey "i">
+
+<!ENTITY accountTitle.label "Tetapan Akaun">
+<!ENTITY accountSettingsDesc.label "Yang berikut adalah akaun istimewa. Tiada identiti yang dikaitkan dengannya.">
+<!ENTITY storeType.label "Jenis Storan Mesej:">
+<!ENTITY storeType.accesskey "S">
+<!ENTITY mboxStore2.label "Fail setiap folder (mbox)">
+<!ENTITY maildirStore.label "Fail setiap mesej (maildir)">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd b/l10n-ms/suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..fb3d3ec078
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd
@@ -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/. -->
+
+<!ENTITY accountName.label "Nama Akaun:">
+<!ENTITY accountName.accesskey "N">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/mailPrefsOverlay.dtd b/l10n-ms/suite/chrome/mailnews/pref/mailPrefsOverlay.dtd
new file mode 100644
index 0000000000..9181783b8f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/mailPrefsOverlay.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- These are added to the Window menu -->
+<!ENTITY mail.label "Mel &amp; Kumpulan berita">
+<!ENTITY mail.accesskey "M">
+<!ENTITY addressbook.label "Buku Alamat">
+<!ENTITY addressbook.accesskey "A">
+
+<!-- These are added to Preferences dialog -->
+<!ENTITY viewingMessages.label "Paparan Mesej">
+<!ENTITY notifications.label "Notifikasi">
+<!ENTITY composingMessages.label "Karangan">
+<!ENTITY format.label "Format Dihantar">
+<!ENTITY address.label "Alamat">
+<!ENTITY junk.label "Mel Remeh &amp; Mencurigakan">
+<!ENTITY tags.label "Tag">
+<!ENTITY return.label "Resit Pemberitahu Serahan">
+<!ENTITY characterEncoding2.label "Pengekodan Teks">
+<!ENTITY networkStorage.label "Rangkaian &amp; Storan">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-addressing.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-addressing.dtd
new file mode 100644
index 0000000000..159da6f468
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-addressing.dtd
@@ -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/. -->
+
+<!ENTITY pref.addressing.title "Alamat">
+<!ENTITY emailCollectiontitle.label "Koleksi Alamat E-mel">
+<!ENTITY emailCollectionPicker.label "Tambah alamat e-mel ke dalam:">
+<!ENTITY emailCollectionPicker.accesskey "d">
+<!ENTITY emailCollectiontext.label "Alamat e-mel daripada mesej keluar boleh ditambahkan secara automatik ke dalam buku alamat lokal.">
+
+<!-- Autocompletion -->
+<!ENTITY addressingTitle.label "Alamat Auto-lengkap">
+<!ENTITY highlightNonMatches.label "Serlahkan alamat yang tidak auto-lengkap">
+<!ENTITY highlightNonMatches.accesskey "a">
+<!ENTITY addressingEnable.label "Buku Alamat Lokal">
+<!ENTITY addressingEnable.accesskey "L">
+<!ENTITY autocompleteText.label "Apabila mengalamatkan mesej, cari entri yang sepadan dalam:">
+<!ENTITY directories.label "Pelayan Direktori:">
+<!ENTITY directories.accesskey "D">
+<!ENTITY directoriesNone.label "Tiada">
+<!ENTITY editDirectories.label "Edit Direktori…">
+<!ENTITY editDirectories.accesskey "E">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-character_encoding.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-character_encoding.dtd
new file mode 100644
index 0000000000..7c0f76d8aa
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-character_encoding.dtd
@@ -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/. -->
+
+<!ENTITY pref.character.encoding2.title "Pengekodan Teks">
+<!ENTITY messageDisplay.caption "Paparan Mesej">
+<!ENTITY viewFallbackCharset2.label "Pengekodan Teks Unduran:">
+<!ENTITY viewFallbackCharset2.accesskey "U">
+<!ENTITY viewFallbackCharset.desc "(Digunakan untuk kandungan legasi yang gagal mengisytiharkan pengekodan.)">
+
+<!ENTITY composingMessages.caption "Mengarang Mesej">
+<!ENTITY useMIME.label "Untuk mesej yang mengandungi aksara 8-bit, gunakan pengekodan MIME 'petikan boleh-dicetak'. Biarkan sahaja kotak semakan tanpa tanda.">
+<!ENTITY useMIME.accesskey "U">
+<!ENTITY sendDefaultCharset2.label "Pengekodan Teks Piawai:">
+<!ENTITY sendDefaultCharset2.accesskey "T">
+<!ENTITY replyInDefaultCharset3.label "Jika boleh, gunakan pengekodan teks piawai apabila membalas. (Apabila kotak semakan dibiarkan tanpa tanda, hanya mesej baru akan menggunakan tetapan piawai ini.)">
+<!ENTITY replyInDefaultCharset3.accesskey "J">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-composing_messages.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-composing_messages.dtd
new file mode 100644
index 0000000000..aeba8d1ed4
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-composing_messages.dtd
@@ -0,0 +1,56 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.composing.messages.title "Karangan">
+<!ENTITY generalComposing.label "Umum">
+<!ENTITY forwardMsg.label "Mesej kirim semula:">
+<!ENTITY inline.label "Sebaris">
+<!ENTITY inline.accesskey "b">
+<!ENTITY asAttachment.label "Sebagai Lampiran">
+<!ENTITY asAttachment.accesskey "L">
+
+<!ENTITY replyQuoteInline.label "Petik lampiran yang dipaparkan sebaris dalam balasan">
+<!ENTITY replyQuoteInline.accesskey "P">
+<!ENTITY warnOnSendAccelKey.label "Sahkan dahulu sebelum menghantar mesej apabila menggunakan pintasan papan kekunci">
+<!ENTITY warnOnSendAccelKey.accesskey "k">
+<!-- LOCALIZATION NOTE (autoSave.label): This will concatenate with
+ "xxx minutes", using a number and (autoSaveEnd.label). -->
+<!ENTITY autoSave.label "Simpan mesej secara automatik setiap">
+<!ENTITY autoSave.accesskey "u">
+<!ENTITY autoSaveEnd.label "minit">
+<!-- LOCALIZATION NOTE (wrapOutMsg.label): This will concatenate with "xxx characters", using a number and (char.label). -->
+<!ENTITY wrapOutMsg.label "Balut mesej teks biasa pada">
+<!ENTITY wrapOutMsg.accesskey "B">
+<!ENTITY char.label "aksara">
+
+<!ENTITY defaultMessagesHeader.label "Mesej HTML Piawai">
+<!ENTITY font.label "Fon:">
+<!ENTITY font.accesskey "F">
+<!ENTITY size.label "Saiz:">
+<!ENTITY size.accesskey "S">
+<!ENTITY fontColor.label "Teks:">
+<!ENTITY fontColor.accesskey "T">
+<!ENTITY bgColor.label "Latar belakang:">
+<!ENTITY bgColor.accesskey "L">
+<!ENTITY defaultCompose.label "Format karangan piawai:">
+<!ENTITY defaultBodyText.label "Teks Kandungan (Kekunci Enter akan mencipta baris baru)">
+<!ENTITY defaultBodyText.accesskey "d">
+<!ENTITY defaultParagraph.label "Perenggan (Kekunci Enter mencipta perenggan baru)">
+<!ENTITY defaultParagraph.accesskey "P">
+
+<!ENTITY selectHeaderType.label "Pilih jenis tajuk balasan:">
+<!ENTITY selectHeaderType.accesskey "j">
+<!ENTITY noReplyOption.label "Tiada Pengepala Balasan">
+<!-- LOCALIZATION NOTE (authorWroteOption.label): this is tied to the
+ mailnews.reply_header_authorwrotesingle preference. [Author] needs to be
+ translated. -->
+<!ENTITY authorWroteOption.label "[Pengarang] menulis:">
+<!-- LOCALIZATION NOTE (onDateAuthorWroteOption.label): this is tied to the
+ mailnews.reply_header_ondateauthorwrote preference. [Author] and [date]
+ need to be translated. -->
+<!ENTITY onDateAuthorWroteOption.label "Pada [tarikh], [Pengarang] menulis:">
+<!-- LOCALIZATION NOTE (onDateAuthorWroteOption.label): this is tied to the
+ mailnews.reply_header_authorwroteondate preference. [Author] and [date]
+ need to be translated. -->
+<!ENTITY authorWroteOnDateOption.label "[Penulis] menulis pada [tarikh]:">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-directory-add.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-directory-add.dtd
new file mode 100644
index 0000000000..8463d6c623
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-directory-add.dtd
@@ -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/. -->
+
+<!ENTITY directoryName.label "Nama: ">
+<!ENTITY directoryName.accesskey "m">
+<!ENTITY directoryHostname.label "Nama hos: ">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "Base DN: ">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "Cari">
+<!ENTITY findButton.accesskey "i">
+<!ENTITY directorySecure.label "Guna sambungan selamat (SSL)">
+<!ENTITY directorySecure.accesskey "G">
+<!ENTITY directoryLogin.label "Bind DN: ">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "Umum">
+<!ENTITY Offline.tab "Luar talian">
+<!ENTITY Advanced.tab "Lanjutan">
+<!ENTITY portNumber.label "Nombor port: ">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "Tapis carian: ">
+<!ENTITY searchFilter.accesskey "c">
+<!ENTITY scope.label "Skop: ">
+<!ENTITY scope.accesskey "k">
+<!ENTITY scopeOneLevel.label "Satu Tahap">
+<!ENTITY scopeOneLevel.accesskey "T">
+<!ENTITY scopeSubtree.label "Sub-pepohon">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "Jangan kembalikan lebih daripada">
+<!ENTITY return.accesskey "k">
+<!ENTITY results.label "hasil">
+<!ENTITY offlineText.label "Anda boleh muat turun salinan lokal direktori ini supaya boleh digunakan apabila di luar talian.">
+<!ENTITY saslMechanism.label "Kaedah log masuk: ">
+<!ENTITY saslMechanism.accesskey "m">
+<!ENTITY saslOff.label "Ringkas">
+<!ENTITY saslOff.accesskey "k">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+<!ENTITY newDirectoryWidth "36em">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-directory.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-directory.dtd
new file mode 100644
index 0000000000..0929695cca
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-directory.dtd
@@ -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 (window.title) : do not translate "LDAP" in below line -->
+<!ENTITY pref.ldap.window.title "Pelayan Direktori LDAP">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Pelayan Direktori LDAP:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "Pilih Pelayan Direktori LDAP:">
+<!ENTITY directoriesText.accesskey "P">
+<!ENTITY addDirectory.label "Tambah">
+<!ENTITY addDirectory.accesskey "a">
+<!ENTITY editDirectory.label "Edit">
+<!ENTITY editDirectory.accesskey "e">
+<!ENTITY deleteDirectory.label "Buang">
+<!ENTITY deleteDirectory.accesskey "g">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-formatting.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-formatting.dtd
new file mode 100644
index 0000000000..ab7c56addd
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-formatting.dtd
@@ -0,0 +1,42 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.formatting.title "Format Dihantar">
+<!ENTITY sendMaildesc.label "Apabila menghantar mesej dalam format (HTML) dan lebih daripada seorang penerima tidak disenaraikan sebagai boleh menerima HTML:">
+<!ENTITY askMe.label "Tanya saya untuk tindakan lanjut (Mel akan meminta format yang mahu dipilih)">
+<!ENTITY askMe.accesskey "t">
+<!ENTITY convertPlain2.label "Tukar mesej ke teks biasa (format mungkin hilang)">
+<!ENTITY convertPlain2.accesskey "T">
+<!ENTITY sendHTML2.label "Hantar mesej sebagai HTML sahaja (boleh menyebabkan masalah paparan)">
+<!ENTITY sendHTML2.accesskey "H">
+<!ENTITY sendBoth2.label "Hantar mesej dalam teks biasa dan HTML (saiz lebih besar)">
+<!ENTITY sendBoth2.accesskey "n">
+
+<!-- Html and Plain Text Domains -->
+<!ENTITY domain.title "Domain HTML dan Teks Biasa">
+<!ENTITY domaindesc.label "Apabila anda menghantar mesej ke alamat dengan salah satu nama domain yang disenaraikan di bawah, Mel akan secara automatik menghantar mesej dalam format yang diutamakan (teks berformat atau teks biasa).">
+<!ENTITY HTMLdomaintitle.label "Domain HTML">
+<!ENTITY HTMLdomaintitle.accesskey "M">
+<!ENTITY PlainTexttitle.label "Domain Teks Biasa">
+<!ENTITY PlainTexttitle.accesskey "B">
+<!ENTITY AddButton.label "Tambah…">
+<!ENTITY AddHtmlDomain.accesskey "T">
+<!ENTITY AddPlainText.accesskey "h">
+<!ENTITY DeleteButton.label "Buang">
+<!ENTITY DeleteHtmlDomain.accesskey "g">
+<!ENTITY DeletePlainText.accesskey "u">
+
+<!-- Add Domain Name -->
+<!ENTITY add.htmltitle "Tambah Nama Domain HTML">
+<!ENTITY add.htmldomain "Nama Domain HTML:">
+<!ENTITY add.plaintexttitle "Tambah Nama Domain Teks Biasa">
+<!ENTITY add.plaintextdomain "Nama Domain Teks Biasa:">
+
+<!ENTITY domainnameError.title "Ralat Nama Domain">
+<!-- LOCALIZATION NOTE: do not translate @string@ -->
+<!ENTITY invalidEntryError.label "Nama domain @string @ tidak sah dan akan diabaikan. Nama domain yang sah perlu ada sekurang-kurangnya satu '.' dan aksara pada kedua-dua bahagian.">
+
+<!-- Global auto-detect switch -->
+<!ENTITY autoDowngrade.label "Hantar mesej secara automatik sebagai teks biasa jika tiada format yang ketara (mengatasi pilihan lain)">
+<!ENTITY autoDowngrade.accesskey "o">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-junk.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-junk.dtd
new file mode 100644
index 0000000000..864a54d872
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-junk.dtd
@@ -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/. -->
+
+<!ENTITY pref.junk.title "Mel Remeh &amp; Mencurigakan">
+<!ENTITY junkSettings.caption "Tetapan Mel Remeh Global">
+<!ENTITY junkMail.intro "Pergi ke Tetapan Akaun untuk menetapkan tetapan akaun khusus mel remeh.">
+
+<!-- Junk Mail Controls -->
+<!ENTITY manualMark.label "Apabila saya tandakan mesej sebagai remeh:">
+<!ENTITY manualMark.accesskey "A">
+<!ENTITY manualMarkModeMove.label "Pindahkan ke dalam folder akaun &quot;Mel Remeh&quot;">
+<!ENTITY manualMarkModeMove.accesskey "P">
+<!ENTITY manualMarkModeDelete.label "Buang">
+<!ENTITY manualMarkModeDelete.accesskey "B">
+
+<!ENTITY markAsRead.intro "Tandakan mesej sebagai dibaca:">
+<!ENTITY autoMarkAsRead.label "Apabila &brandShortName; mempertimbangkan mesej sebagai remeh">
+<!ENTITY autoMarkAsRead.accesskey "r">
+<!ENTITY manualMarkAsRead.label "Apabila secara manual saya tandakan sebagai remeh">
+<!ENTITY manualMarkAsRead.accesskey "k">
+
+<!ENTITY enableJunkLogging.label "Aktifkan log tapisan mel remeh">
+<!ENTITY enableJunkLogging.accesskey "A">
+<!ENTITY openJunkLog.label "Papar log">
+<!ENTITY openJunkLog.accesskey "P">
+<!ENTITY resetTrainingData.label "Mengeset semula data latihan">
+<!ENTITY resetTrainingData.accesskey "M">
+
+<!ENTITY pref.suspectMail.caption "Mel Mencurigakan">
+
+<!-- Phishing Detector -->
+<!ENTITY pref.phishing.caption "Penipuan E-mel">
+<!ENTITY enablePhishingDetector.label "Maklumkan saya jika mesej yang sedang dibaca disyaki sebagai penipuan e-mel">
+<!ENTITY enablePhishingDetector.accesskey "M">
+
+<!-- Anti Virus -->
+<!ENTITY pref.antivirus.caption "Anti-virus">
+<!ENTITY antiVirus.label "Izinkan klien anti-virus supaya lebih mudah mengimbas mesej masuk">
+<!ENTITY antiVirus.accesskey "I">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-mailnews.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-mailnews.dtd
new file mode 100644
index 0000000000..436213aa6b
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-mailnews.dtd
@@ -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/. -->
+
+<!ENTITY pref.mailnews.title "Mel &amp; Kumpulan berita">
+<!ENTITY generalSettings.caption "Tetapan Umum">
+<!ENTITY confirmMove.label "Sahkan apabila mengalih folder ke Sampah">
+<!ENTITY confirmMove.accesskey "S">
+<!ENTITY preserveThreading.label "Kekalkan thread apabila menyusun mesej">
+<!ENTITY preserveThreading.accesskey "k">
+<!ENTITY mailBiffOnNewWindow.label "Hanya semak mel baru selepas membuka Mel &amp; Kumpulan berita">
+<!ENTITY mailBiffOnNewWindow.accesskey "H">
+
+<!ENTITY messengerStartPage.caption "Halaman Permulaan Mel">
+<!ENTITY enableStartPage.label "Apabila Mel dilancarkan, papar Halaman Permulaan dalam ruang mesej">
+<!ENTITY enableStartPage.accesskey "A">
+<!ENTITY location.label "Lokasi:">
+<!ENTITY location.accesskey "L">
+<!ENTITY useDefault.label "Pulih Piawai">
+<!ENTITY useDefault.accesskey "P">
+<!ENTITY rememberLastMsg.label "Ingat mesej terbaru yang dipilih">
+<!ENTITY rememberLastMsg.accesskey "I">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-notifications.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-notifications.dtd
new file mode 100644
index 0000000000..8b246d3b9f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-notifications.dtd
@@ -0,0 +1,46 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.notifications.title "Notifikasi">
+<!ENTITY notifications.caption "Notifikasi">
+<!ENTITY newMessagesArrive.label "Apabila ada mesej baru:">
+
+<!-- LOCALIZATION NOTE: (showAlertFor.label, showAlertTimeEnd.label)
+ showAlertFor.label is associated with the checkbox to show the alert,
+ leading into a numerical field to enter a time in seconds, followed by
+ showAlertTimeEnd.label which in en-US is the unit of the value -->
+
+<!ENTITY showAlertFor.label "Papar makluman selama">
+<!ENTITY showAlertFor.accesskey "P">
+<!ENTITY showAlertTimeEnd.label "saat">
+
+<!ENTITY showAlertPreviewText.label "Papar previu teks mesej">
+<!ENTITY showAlertPreviewText.accesskey "v">
+<!ENTITY showAlertSubject.label "Papar subjek">
+<!ENTITY showAlertSubject.accesskey "u">
+<!ENTITY showAlertSender.label "Papar pengirim">
+<!ENTITY showAlertSender.accesskey "n">
+<!ENTITY useSystemAlert.label "Guna sistem notifikasi pengoperasian dekstop">
+<!ENTITY useSystemAlert.accesskey "d">
+<!ENTITY useBuiltInAlert.label "Guna tetingkap notifikasi &brandShortName;">
+<!ENTITY useBuiltInAlert.accesskey "t">
+
+<!ENTITY showTrayIcon.label "Papar ikon dulang">
+<!ENTITY showTrayIcon.accesskey "d">
+<!ENTITY showBalloon.label "Papar belon makluman">
+<!ENTITY showBalloon.accesskey "o">
+<!ENTITY bounceSystemDockIcon.label "Animasi ikon Dok">
+<!ENTITY bounceSystemDockIcon.accesskey "A">
+
+<!ENTITY playSound.label "Mainkan bunyian">
+<!ENTITY playSound.accesskey "M">
+<!ENTITY playButton.label "Main">
+<!ENTITY playButton.accesskey "n">
+<!ENTITY systemsound.label "Bunyian Mel Baru Sistem">
+<!ENTITY systemsound.accesskey "M">
+<!ENTITY customsound.label "Penyesuaian fail bunyian">
+<!ENTITY customsound.accesskey "P">
+<!ENTITY browse.label "Cari…">
+<!ENTITY browse.accesskey "i">
+<!ENTITY browse.title "Pilih fail">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-offline.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-offline.dtd
new file mode 100644
index 0000000000..e98c09553f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-offline.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from content/pref-offline.xul -->
+
+<!--LOCALIZATION NOTE : FILE The 'Offline' preferences dialog -->
+<!ENTITY pref.network.title "Rangkaian &amp; Storan">
+<!ENTITY pref.offline.caption "Luar talian">
+<!ENTITY textStartUp "Apabila memulakan:">
+<!ENTITY textStartUp.accesskey "A">
+<!ENTITY menuitemRememberPrevState "Ingati keadaan atas talian terdahulu">
+<!ENTITY menuitemAskMe "Tanya saya untuk keadaan atas talian semasa permulaan">
+<!ENTITY menuitemAlwaysOnline "Sentiasa memulakan atas talian">
+<!ENTITY menuitemAlwaysOffline "Sentiasa memulakan luar talian">
+<!ENTITY menuitemAutomatic "Dikesan secara automatik (jika ada)">
+<!ENTITY textGoingOnline "Hantar mesej yang tidak dihantar apabila atas talian?">
+<!ENTITY radioAutoSend "Ya">
+<!ENTITY radioAutoSend.accesskey "Y">
+<!ENTITY radioNotSend "Tidak">
+<!ENTITY radioNotSend.accesskey "T">
+<!ENTITY radioAskUnsent "Tanya saya">
+<!ENTITY radioAskUnsent.accesskey "s">
+<!ENTITY textGoingOffline "Muat turun mesej untuk kegunaan luar talian apabila ke luar talian?">
+<!ENTITY radioAutoDownload "Ya">
+<!ENTITY radioAutoDownload.accesskey "a">
+<!ENTITY radioNotDownload "Tidak">
+<!ENTITY radioNotDownload.accesskey "k">
+<!ENTITY radioAskDownload "Tanya saya">
+<!ENTITY radioAskDownload.accesskey "y">
+<!ENTITY mailConnections.caption "Sambungan Mel">
+<!ENTITY mailnewsTimeout.label "Tempoh sambungan:">
+<!ENTITY mailnewsTimeout.accesskey "m">
+<!ENTITY mailnewsTimeoutSeconds.label "saat">
+<!ENTITY Diskspace "Ruang Cakera">
+<!ENTITY offlineCompactFolders.label "Padatkan semua folder apabila dapat menjimatkan">
+<!ENTITY offlineCompactFolders.accesskey "P">
+<!ENTITY offlineCompactFoldersMB.label "MB secara keseluruhan">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-receipts.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-receipts.dtd
new file mode 100644
index 0000000000..efab896213
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-receipts.dtd
@@ -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/. -->
+
+<!-- LOCALIZATION NOTE pref-receipts.dtd: UI for Mail/News Return Receipts prefs -->
+<!ENTITY pref.receipts.title "Resit Pemberitahu Serahan">
+<!ENTITY prefReceipts.caption "Resit Pemberitahu Serahan">
+<!ENTITY requestReceipt.label "Apabila menghantar mesej, sentiasa minta resit pemberitahu serahan">
+<!ENTITY requestReceipt.accesskey "A">
+<!ENTITY receiptArrive.label "Apabila resit pemberitahuan serahan diterima:">
+<!ENTITY leaveIt.label "Biarkan dalam Peti Masuk">
+<!ENTITY leaveIt.accesskey "B">
+<!ENTITY moveToSent.label "Pindahkan ke dalam folder &quot;Dihantar&quot;">
+<!ENTITY moveToSent.accesskey "P">
+<!ENTITY requestMDN.label "Apabila saya diminta menyerahkan resit pemberitahu serahan:">
+<!ENTITY returnSome.label "Izinkan resit pemberitahu serahan dihantar kepada sesetengah mesej">
+<!ENTITY returnSome.accesskey "I">
+<!ENTITY never.label "Jangan sesekali hantar resit pemberitahu serahan">
+<!ENTITY never.accesskey "J">
+<!ENTITY notInToCc.label "Jika saya tiada dalam Kepada atau Cc mesej:">
+<!ENTITY notInToCc.accesskey "K">
+<!ENTITY outsideDomain.label "Jika pengirim dari luar domain saya:">
+<!ENTITY outsideDomain.accesskey "p">
+<!ENTITY otherCases.label "Dalam hal yang lain:">
+<!ENTITY otherCases.accesskey "l">
+<!ENTITY askMe.label "Tanya saya">
+<!ENTITY alwaysSend.label "Sentiasa hantar">
+<!ENTITY neverSend.label "Jangan sesekali hantar">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-tags.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-tags.dtd
new file mode 100644
index 0000000000..5706edc91d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-tags.dtd
@@ -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/. -->
+
+<!ENTITY pref.tags.title "Tag">
+<!ENTITY pref.tags.caption "Penyesuaian Tag">
+<!ENTITY pref.tags.description "Tag boleh digunakan untuk mengelaskan dan mengutamakan mesej. Ubah penampilan dan kepentingan tag menggunakan tetapan di bawah. Tag yang di atas adalah lebih penting daripada yang di bawah.">
+<!ENTITY tagColumn.label "Tag">
+<!ENTITY colorColumn.label "Warna">
+<!ENTITY defaultTagName.label "Tag Tiada Tajuk">
+<!ENTITY addTagButton.label "Tambah">
+<!ENTITY addTagButton.accesskey "T">
+<!ENTITY deleteTagButton.label "Buang">
+<!ENTITY deleteTagButton.accesskey "B">
+<!ENTITY raiseTagButton.label "Tingkatkan Kepentingan">
+<!ENTITY raiseTagButton.accesskey "K">
+<!ENTITY lowerTagButton.label "Kepentingan Lebih Rendah">
+<!ENTITY lowerTagButton.accesskey "R">
+<!ENTITY restoreButton.label "Pulih Piawai">
+<!ENTITY restoreButton.accesskey "h">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/pref-viewing_messages.dtd b/l10n-ms/suite/chrome/mailnews/pref/pref-viewing_messages.dtd
new file mode 100644
index 0000000000..ae22a7ac58
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/pref-viewing_messages.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pref.viewing.messages.title "Paparan Mesej">
+<!ENTITY style.label "Gaya:">
+<!ENTITY style.accesskey "G">
+<!ENTITY regular.label "Biasa">
+<!ENTITY bold.label "Tebal">
+<!ENTITY italic.label "Italik">
+<!ENTITY boldItalic.label "Italik Tebal">
+<!ENTITY size.label "Saiz:">
+<!ENTITY size.accesskey "z">
+<!ENTITY bigger.label "Lebih besar">
+<!ENTITY smaller.label "Lebih kecil">
+<!ENTITY color.label "Warna:">
+<!ENTITY color.accesskey "W">
+<!ENTITY displayPlainText.caption "Mesej teks biasa">
+<!ENTITY fontPlainText.label "Fon:">
+<!ENTITY fontPlainText.accesskey "F">
+<!ENTITY displayQuoted.label "Tetapan untuk mesej petikan:">
+<!ENTITY wrapInMsg.label "Balut teks untuk memenuhi lebar tingkap">
+<!ENTITY wrapInMsg.accesskey "B">
+<!-- LOCALIZATION NOTE : (convertEmoticons.label) 'Emoticons' are also known as 'Smileys', e.g. :-) -->
+<!ENTITY convertEmoticons.label "Papar ikon emotif sebagai grafik">
+<!ENTITY convertEmoticons.accesskey "P">
+<!ENTITY generalMessageDisplay.caption "Umum">
+<!ENTITY autoMarkAsRead.label "Tandakan mesej secara automatik sebagai sudah dibaca">
+<!ENTITY autoMarkAsRead.accesskey "T">
+<!-- LOCALIZATION NOTE (markAsReadAfter.label): This will concatenate to
+ "Only after displaying for [___] seconds",
+ using (markAsReadAfter.label) and a number (secondsLabel.label). -->
+<!ENTITY markAsReadAfter.label "Selepas dipaparkan selama">
+<!ENTITY markAsReadAfter.accesskey "d">
+<!ENTITY secondsLabel.label "saat">
+
+<!ENTITY openingMessages.label "Apabila membuka mesej, paparkan dalam:">
+<!ENTITY newWindowRadio.label "Tetingkap mesej baru">
+<!ENTITY newWindowRadio.accesskey "b">
+<!ENTITY existingWindowRadio.label "Tetingkap mesej sedia ada">
+<!ENTITY existingWindowRadio.accesskey "s">
+<!ENTITY disableContent.label "Sekat imej dan kandungan lain daripada sumber jauh">
+<!ENTITY disableContent.accesskey "S">
+<!ENTITY showCondensedAddresses.label "Papar nama paparan kenalan dalam buku alamat sahaja">
+<!ENTITY showCondensedAddresses.accesskey "p">
+<!ENTITY closeMsgWindowOnDelete.label "Tutup tetingkap mesej apabila menghapuskan mesej">
+<!ENTITY closeMsgWindowOnDelete.accesskey "t">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/prefs.properties b/l10n-ms/suite/chrome/mailnews/pref/prefs.properties
new file mode 100644
index 0000000000..b4915d6946
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/prefs.properties
@@ -0,0 +1,90 @@
+# 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 are used by the Account Wizard
+#
+enterValidEmail=Sila masukkan alamat e-mel yang sah.
+accountNameExists=Akaun dengan nama ini sudah wujud. Sila masukkan nama akaun yang lain.
+accountNameEmpty=Nama akaun tidak boleh kosong.
+modifiedAccountExists=Akaun dengan nama pengguna dan nama pelayan ini sudah wujud. Sila masukkan nama pengguna dan/atau nama pelayan yang lain.
+userNameChanged=Nama Pengguna Anda sudah dikemaskini. Anda juga perlu kemaskini Alamat E-mel dan/atau Nama Pengguna yang dikaitkan dengan akaun ini.
+serverNameChanged=Tetapan nama pelayan telah diubah, Pastikan folder yang digunakan oleh penapis wujud dalam pelayan baru.
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=Tetapan akaun Mel remeh "%1$S" mungkin ada masalah. Adakah anda mahu semak semula sebelum menyimpan Tetapan Akaun?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S perlu dimulakan semula sekarang supaya perubahan diterapkan kepada tetapan direktori Lokal.
+localDirectoryRestart=Mula semula
+userNameEmpty=Nama pengguna tidak boleh kosong.
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=Laluan Direktori Lokal "%1$S" tidak sah. Silih pilih direktori yang lain.
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=Laluan Direktori Lokal "%1$S" tidak sesuai untuk storan mesej. Silih pilih direktori yang lain.
+# if the user chooses to cancel the wizard when no accounts are there throw a message
+# LOCALIZATION NOTE (cancelWizard)
+# do not localize "\n\n"
+cancelWizard=Adakah anda pasti mahu keluar daripada Bestari Akaun?\n\nJika anda keluar, apa-apa maklumat yang anda masukkan akan hilang dan akaun tidak dicipta.
+accountWizard=Bestari Akaun
+WizardExit=Keluar
+WizardContinue=Batal
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=Sila masukkan nama pelayan yang sah.
+failedRemoveAccount=Gagal menghapuskan akaun ini.
+#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
+accountName=%1$S - %2$S
+
+# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
+confirmDeferAccountWarning=Jika anda simpan akaun mel baru ini dalam Peti Masuk akaun yang lain, anda tidak lagi akan dapat mengakses e-mel yang sudah dimuat turun untuk akaun ini. Jika anda ada mel dalam akaun ini, sila salin dahulu ke dalam akaun lain.\n\nJika anda ada penapis yang menapis mel ke dalam akaun ini, anda perlu nyahaktifkan atau tukar folder destinasi. Jika ada folder khas dalam akaun ini (Dihantar, Draf, Templat, Arkib, Mel Remeh), anda perlu pindahkan ke dalam akaun lain.\n\nAdakah anda masih mahu simpan e-mel akaun ini dalam akaun lain?
+confirmDeferAccountTitle=Tangguhkan Akaun?
+
+directoryAlreadyUsedByOtherAccount=Direktori yang ditentukan dalam tetapan Direktori Lokal sudah digunakan oleh akaun "%S". Sila pilih direktori yang lain.
+directoryParentUsedByOtherAccount=Direktori induk yang ditentukan dalam tetapan Direktori Lokal sudah digunakan oleh akaun "%S". Sila pilih direktori yang lain.
+directoryChildUsedByOtherAccount=Sub-direktori untuk direktori yang dinyatakan dalam tetapan Direktori Lokal telah digunakan oleh akaun "%S". Silih pilih direktori yang lain.
+#Provide default example values for sample email address
+exampleEmailUserName=pengguna
+exampleEmailDomain=example.net
+emailFieldText=Alamat E-mel:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=Masukkan alamat e-mel anda. Ini adalah alamat yang akan digunakan oleh pengirim untuk menghantar e-mel kepada anda (sebagai contohnya, "%1$S@%2$S").
+#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
+customizedEmailText=Masukkan %1$S %2$S (sebagai contoh, jika alamat e-mel %1$S ialah "%3$S", %2$S anda ialah "%4$S").
+
+# account manager stuff
+prefPanel-server=Tetapan Pelayan
+prefPanel-copies=Salinan & Folder
+prefPanel-synchronization=Penyelarasan & Storan
+prefPanel-diskspace=Ruang Cakera
+prefPanel-addressing=Karangan & Alamat
+prefPanel-junk=Tetapan Mel Remeh
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=Pelayan Keluar (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=Identiti untuk %1$S
+
+identityDialogTitleAdd=Identiti Baru
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Edit %S
+
+identity-edit-req=Anda mesti tentukan alamat e-mel yang sah untuk identiti ini.
+identity-edit-req-title=Ralat Mencipta Identiti
+
+## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
+# and should be put on a new line. The new line is produced with the "\n" string.
+identity-delete-confirm=Adakah anda pasti mahu menghapuskan identiti\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=Menghapuskan identiti %S
+identity-delete-confirm-button=Buang
+
+choosefile=Pilih fail
+
+forAccount=Untuk akaun "%S"
+
+removeFromServerTitle=Sahkan supaya mesej dihapuskan secara kekal dan automatik
+removeFromServer=Tetapan ini akan menghapuskan mesej lama secara kekal daripada pelayan jauh DAN storan lokal anda. Adakah anda pasti mahu meneruskan?
+
+confirmSyncChangesTitle=Sahkan perubahan penyelarasan
+confirmSyncChanges=Tetapan Penyelarasan Mesej telah diubah.\n\n Adakah anda mahu menyimpannya?
+confirmSyncChangesDiscard=Buang
diff --git a/l10n-ms/suite/chrome/mailnews/pref/removeAccount.dtd b/l10n-ms/suite/chrome/mailnews/pref/removeAccount.dtd
new file mode 100644
index 0000000000..59460abbf8
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/removeAccount.dtd
@@ -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/. -->
+
+<!ENTITY dialogTitle "Buang Akaun dan Data">
+<!ENTITY removeButton.label "Buang">
+<!ENTITY removeButton.accesskey "B">
+<!ENTITY removeAccount.label "Buang maklumat akaun">
+<!ENTITY removeAccount.accesskey "a">
+<!ENTITY removeAccount.desc "Buang hanya akaun yang diketahui &brandShortName;. Tidak memberikan kesan kepada akaun dalam pelayan.">
+<!ENTITY removeData.label "Buang data mesej">
+<!ENTITY removeData.accesskey "d">
+<!ENTITY removeDataChat.label "Buang data perbualan">
+<!ENTITY removeDataChat.accesskey "d">
+<!ENTITY removeDataLocalAccount.desc "Buang semua mesej, folder dan tapisan yang dikaitkan dengan akaun ini dari dalam cakera lokal. Ini tidak memberikan kesan kepada mesej yang masih disimpan di dalam pelayan. Jangan pilih pilihan ini jika anda mahu arkib data lokal tersebut atau gunakannya semula dalam &brandShortName;.">
+<!ENTITY removeDataServerAccount.desc "Buang semua mesej, folder dan tapisan yang dikaitkan dengan akaun ini dari dalam cakera lokal. Mesej dan folder anda masih disimpan di dalam pelayan.">
+<!ENTITY removeDataChatAccount.desc "Buang semua log perbualan yang disimpan oleh akaun ini dalam cakera lokal.">
+<!ENTITY showData.label "Papar lokasi data">
+<!ENTITY showData.accesskey "P">
+<!ENTITY progressPending "Menghapuskan data yang dipilih…">
+<!ENTITY progressSuccess "Berjaya menghapuskan.">
+<!ENTITY progressFailure "Gagal menghapuskan.">
diff --git a/l10n-ms/suite/chrome/mailnews/pref/removeAccount.properties b/l10n-ms/suite/chrome/mailnews/pref/removeAccount.properties
new file mode 100644
index 0000000000..9139e279de
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/removeAccount.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/.
+
+removeQuestion=Adakah anda pasti mahu menghapuskan akaun "%S"?
diff --git a/l10n-ms/suite/chrome/mailnews/pref/replicationProgress.properties b/l10n-ms/suite/chrome/mailnews/pref/replicationProgress.properties
new file mode 100644
index 0000000000..b311be1690
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/replicationProgress.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+replicationStarted=Replikasi bermula…
+changesStarted=Mula mereplikakan perubahan…
+replicationSucceeded=Berjaya mereplikakan
+replicationFailed=Gagal mereplikakan
+replicationCancelled=Replikasi dibatalkan
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=Mereplikakan entri direktori: %S
+
+downloadButton=Muat turun Sekarang
+downloadButton.accesskey=M
+cancelDownloadButton=Batal Muat Turun
+cancelDownloadButton.accesskey=B
+
+directoryTitleNew=Direktori LDAP Baru
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=Sifat %S
diff --git a/l10n-ms/suite/chrome/mailnews/pref/smtpEditOverlay.dtd b/l10n-ms/suite/chrome/mailnews/pref/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..96c34d6310
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/pref/smtpEditOverlay.dtd
@@ -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/. -->
+
+<!ENTITY settings.caption "Tetapan">
+<!ENTITY security.caption "Keselamatan dan Pengesahan">
+<!ENTITY serverName.label "Nama Pelayan:">
+<!ENTITY serverName.accesskey "P">
+<!ENTITY serverDescription.label "Keterangan:">
+<!ENTITY serverDescription.accesskey "K">
+<!ENTITY serverPort.label "Port:">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "Nama Pengguna:">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "Keselamatan sambungan:">
+<!ENTITY connectionSecurity.accesskey "n">
+<!ENTITY connectionSecurityType-0.label "Tiada">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, jika ada">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "Pelayan SMTP">
+<!ENTITY serverPortDefault.label "Piawai:">
+<!ENTITY authMethod.label "Kaedah pengesahan:">
+<!ENTITY authMethod.accesskey "p">
diff --git a/l10n-ms/suite/chrome/mailnews/renameFolderDialog.dtd b/l10n-ms/suite/chrome/mailnews/renameFolderDialog.dtd
new file mode 100644
index 0000000000..42d81cdb20
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/renameFolderDialog.dtd
@@ -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/. -->
+
+<!ENTITY renameFolderDialog.title "Namakan semula Folder">
+<!ENTITY rename.label "Masukkan nama baru untuk folder anda:">
+<!ENTITY rename.accesskey "M">
+<!ENTITY accept.label "Namakan semula">
+<!ENTITY accept.accesskey "N">
diff --git a/l10n-ms/suite/chrome/mailnews/search-attributes.properties b/l10n-ms/suite/chrome/mailnews/search-attributes.properties
new file mode 100644
index 0000000000..cefee542f1
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/search-attributes.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 http://mozilla.org/MPL/2.0/.
+
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=Subjek
+From=Daripada
+Body=Kandungan
+Date=Tarikh
+Priority=Prioriti
+Status=Status
+To=Kepada
+Cc=Cc
+ToOrCc=Kepada atau Cc
+AgeInDays=Tempoh Dalam Hari
+SizeKB=Saiz (KB)
+Tags=Tag
+# for AB and LDAP
+AnyName=Apa-apa Nama
+DisplayName=Nama Paparan
+Nickname=Nama gelaran
+ScreenName=Nama Skrin
+Email=E-mel
+AdditionalEmail=E-mel Tambahan
+AnyNumber=Apa-apa Nombor
+WorkPhone=Telefon Kerja
+HomePhone=Telefon Rumah
+Fax=Faks
+Pager=Kelui
+Mobile=Mudah alih
+City=Bandar
+Street=Jalan
+Title=Jawatan
+Organization=Organisasi
+Department=Jabatan
+# more mailnews
+FromToCcOrBcc=Daripada, Kepada, Cc atau Bcc
+JunkScoreOrigin=Asal Skor Mel remeh
+JunkPercent=Peratus Mel remeh
+AttachmentStatus=Status Lampiran
+JunkStatus=Status Mel remeh
+Label=Label
+Customize=Penyesuaian…
+MissingCustomTerm=Terma Penyesuaian yang Hilang
diff --git a/l10n-ms/suite/chrome/mailnews/search-operators.properties b/l10n-ms/suite/chrome/mailnews/search-operators.properties
new file mode 100644
index 0000000000..451cadb8de
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/search-operators.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/.
+
+0=mengandungi
+1=tidak mengandungi
+2=adalah
+3=bukan
+4=adalah kosong
+
+5=adalah sebelum
+6=adalah selepas
+
+7=adalah lebih tinggi daripada
+8=adalah lebih rendah daripada
+
+9=bermula dengan
+10=berakhir dengan
+
+11=seperti
+12=LdapDwim
+
+13=adalah lebih besar daripada
+14=adalah kurang daripada
+
+15=NameCompletion
+16=ada dalam buku alamat saya
+17=tiada dalam buku alamat saya
+18=tidak kosong
+19=sepadan
+20=tidak sepadan
diff --git a/l10n-ms/suite/chrome/mailnews/search.properties b/l10n-ms/suite/chrome/mailnews/search.properties
new file mode 100644
index 0000000000..00abe4b9db
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/search.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# search and filter strings
+#
+# these are the fields that get inserted in the search line
+# for "and" searches, this looks like:
+#
+# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4
+#
+# for example, in english this looks like:
+# and the [Sender ] [doesn't contain] [John]
+#
+# TODO: need to special-case the first line (filterindex==0)
+
+# filter stuff
+searchingMessage=Mencari…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=#1 padanan ditemui
+noMatchesFound=Tiada padanan ditemui
+labelForStopButton=Berhenti
+labelForSearchButton=Cari
+labelForStopButton.accesskey=B
+labelForSearchButton.accesskey=C
+
+moreButtonTooltipText=Tambah peraturan baru
+lessButtonTooltipText=Buang peraturan ini
diff --git a/l10n-ms/suite/chrome/mailnews/searchTermOverlay.dtd b/l10n-ms/suite/chrome/mailnews/searchTermOverlay.dtd
new file mode 100644
index 0000000000..928cb829d5
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/searchTermOverlay.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY matchAll.label "Sepadan semua yang berikut">
+<!ENTITY matchAll.accesskey "S">
+<!ENTITY matchAny.label "Sepadan mana-mana yang berikut">
+<!ENTITY matchAny.accesskey "a">
+<!ENTITY matchAllMsgs.label "Sepadan semua mesej">
+<!ENTITY matchAllMsgs.accesskey "p">
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the search widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!ENTITY searchTermListAttributesFlexValue "1">
+<!ENTITY searchTermListOperatorsFlexValue "1">
+<!ENTITY searchTermListValueFlexValue "3">
diff --git a/l10n-ms/suite/chrome/mailnews/shutdownWindow.properties b/l10n-ms/suite/chrome/mailnews/shutdownWindow.properties
new file mode 100644
index 0000000000..43e98a4346
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/shutdownWindow.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/.
+
+
+# These strings are loaded and represented by the XUL dialog.
+shutdownDialogTitle=Tetingkap Kemajuan Penutupan
+taskProgress=Memproses %1$S daripada %2$S Tugasan
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/l10n-ms/suite/chrome/mailnews/smime.properties b/l10n-ms/suite/chrome/mailnews/smime.properties
new file mode 100644
index 0000000000..1ce087502f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime.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/.
+
+#
+# The following are used by the smime content type handler
+#
+
+## @name NS_MSG_UNABLE_TO_OPEN_FILE
+## LOCALIZATION NOTE: the text can contain HTML tags.
+1000=Ini adalah mesej <B>ENKRIPSI</B> atau <B>DITANDATANGANI</B>.<br> Aplikasi Mel ini tidak menyokong mel enkripsi atau ditandatangani.
+
+
diff --git a/l10n-ms/suite/chrome/mailnews/smime/am-smime.dtd b/l10n-ms/suite/chrome/mailnews/smime/am-smime.dtd
new file mode 100644
index 0000000000..3966bb34dc
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/am-smime.dtd
@@ -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/. -->
+
+<!ENTITY securityTitle.label "Keselamatan">
+<!ENTITY securityTab.label "Keselamatan">
+<!ENTITY securityHeading.label "Untuk menghantar dan menerima mesej bertandatangan atau dienkripsi, anda perlu menetapkan kedua-dua sijil bertandatangan digital dan sijil dienkripsi.">
+<!ENTITY encryptionGroupTitle.label "Enkripsi">
+<!ENTITY encryptionChoiceLabel.label "Tetapan enkripsi piawai semasa menghantar mesej:">
+<!ENTITY neverEncrypt.label "Jangan sekali-kali (jangan guna enkripsi)">
+<!ENTITY neverEncrypt.accesskey "J">
+<!ENTITY alwaysEncryptMessage.label "Dikehendaki (tidak boleh menghantar mesej kecuali semua penerima ada sijil)">
+<!ENTITY alwaysEncryptMessage.accesskey "k">
+<!ENTITY encryptionCert.message "Guna sijil ini untuk enkripsi &amp; dekripsi mesej yang dihantar kepada anda:">
+<!ENTITY digitalSign.certificate.button "Pilih…">
+<!ENTITY digitalSign.certificate.accesskey "P">
+<!ENTITY digitalSign.certificate_clear.button "Buang">
+<!ENTITY digitalSign.certificate_clear.accesskey "B">
+<!ENTITY encryption.certificate.button "Pilih…">
+<!ENTITY encryption.certificate.accesskey "h">
+<!ENTITY encryption.certificate_clear.button "Buang">
+<!ENTITY encryption.certificate_clear.accesskey "g">
+<!ENTITY signingGroupTitle.label "Tandatangan Digital">
+<!ENTITY signMessage.label "Mesej bertandatangan digital (piawai)">
+<!ENTITY signMessage.accesskey "M">
+<!ENTITY signingCert.message "Guna sijil ini untuk tandatangan mesej digital yang anda hantar:">
+
+<!ENTITY certificates.label "Sijil">
+<!ENTITY manageCerts2.label "Urus Sijil…">
+<!ENTITY manageCerts2.accesskey "U">
+<!ENTITY manageDevices.label "Urus Peranti Keselamatan…">
+<!ENTITY manageDevices.accesskey "s">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Pilih Sijil">
+<!ENTITY certPicker.info "Sijil:">
+<!ENTITY certPicker.detailsLabel "Butiran sijil yang dipilih:">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/am-smime.properties b/l10n-ms/suite/chrome/mailnews/smime/am-smime.properties
new file mode 100644
index 0000000000..ed186e25c7
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/am-smime.properties
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=Anda menyatakan bahawa mesej ini perlu ditandatangani secara digital, tapi gagal dilaksanakan kerana samada gagal mencari sijil bertandatangan seperti yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita anda, ataupun sijil telah tamat tempoh.
+NoSenderEncryptionCert=Anda menyatakan bahawa mesej ini perlu enkripsi, tapi gagal dilaksanakan kerana samada gagal mencari sijil enkripsi seperti yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita anda, ataupun sijil telah tamat tempoh.
+MissingRecipientEncryptionCert=Anda menyatakan bahawa mesej ini perlu enkripsi, tapi gagal dilaksanakan kerana gagal mencari sijil enkripsi untuk %S.
+ErrorEncryptMail=Tidak dapat mengenkripsi mesej. Sila pastikan bahawa anda ada sijil e-mel yang sah untuk setiap penerima. Pastikan juga bahawa sijil yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita adalah sah dan dipercayai untuk akaun mel ini.
+ErrorCanNotSignMail=Tidak dapat menandatangani mesej. Sila pastikan bahawa sijil yang dinyatakan dalam tetapan Akaun Mel & Kumpulan berita adalah sah dan dipercayai untuk akaun mel ini.
+
+## Strings used for in the prefs.
+prefPanel-smime=Keselamatan
+NoSigningCert=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan untuk menandatangani mesej anda secara digital.
+NoSigningCertForThisAddress=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan untuk menandatangani mesej anda secara digital di <%S>.
+NoEncryptionCert=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan oleh pengirim untuk menghantar mesej e-mel enkripsi kepada anda.
+NoEncryptionCertForThisAddress=Pengurus Sijil gagal mencari sijil yang sah yang boleh digunakan oleh pengirim untuk menghantar mesej e-mel enkripsi kepada anda di <%S>.
+
+encryption_needCertWantSame=Anda juga perlu menyatakan sijil yang boleh digunakan oleh pengirim apabila menghantar mesej enkripsi kepada anda. Adakah anda mahu menggunakan sijil yang sama untuk enkripsi & dekripsi mesej yang dihantar kepada anda?
+encryption_wantSame=Adakah anda mahu menggunakan sijil yang sama untuk enkripsi & dekripsi mesej yang dihantar kepada anda?
+encryption_needCertWantToSelect=Anda juga perlu menyatakan sijil yang boleh digunakan oleh pengirim apabila menghantar mesej enkripsi kepada anda. Adakah anda mahu mengkonfigurasikan sijil enkripsi sekarang?
+signing_needCertWantSame=Anda juga perlu menyatakan sijil yang boleh digunakan untuk menandatangani mesej anda secara digital. Adakah anda mahu menggunakan sijil yang sama untuk menandatangani mesej anda secara digital?
+signing_wantSame=Adakah anda mahu menggunakan sijil yang sama untuk menandatangani mesej anda secara digital?
+signing_needCertWantToSelect=Anda juga perlu menyatakan sijil yang boleh digunakan untuk menandatangani mesej anda secara digital. Adakah anda mahu mengkonfigurasikan sijil untuk menandatangani mesej anda secara digital sekarang?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=Mesej Enkripsi S/MIME
+mime_smimeSignatureContentDesc=Tandatangan Kriptografi S/MIME
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Dikeluarkan kepada:
+CertInfoIssuedBy=Dikeluarkan oleh:
+CertInfoValid=Sah
+CertInfoFrom=daripada
+CertInfoTo=hingga
+CertInfoPurposes=Tujuan
+CertInfoEmail=E-mel
+CertInfoStoredIn=Disimpan dalam:
+NicknameExpired=(luput)
+NicknameNotYetValid=(masih belum sah)
diff --git a/l10n-ms/suite/chrome/mailnews/smime/certFetchingStatus.dtd b/l10n-ms/suite/chrome/mailnews/smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..8c312e6e55
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/certFetchingStatus.dtd
@@ -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 shown while obtaining certificates from a directory -->
+
+<!ENTITY title.label "Memuat turun Sijil">
+<!ENTITY info.message "Mencari direktori sijil penerima. Ini akan mengambil masa beberapa minit.">
+<!ENTITY stop.label "Hentikan Mencari">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd b/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..b9e2de0ade
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
+
+<!ENTITY menu_securityEncryptRequire.label "Enkrip Mesej Ini">
+<!ENTITY menu_securityEncryptRequire.accesskey "E">
+
+<!ENTITY menu_securitySign.label "Tandatangani Mesej Ini Secara Digital">
+<!ENTITY menu_securitySign.accesskey "M">
+
+<!ENTITY menu_securityStatus.label "Papar Info Keselamatan">
+<!ENTITY menu_securityStatus.accesskey "I">
+
+<!ENTITY securityButton.label "Keselamatan">
+<!ENTITY securityButton.tooltip "Papar atau tukar tetapan keselamatan">
+
+<!ENTITY menu_viewSecurityStatus.label "Info Keselamatan Mesej">
+<!ENTITY menu_viewSecurityStatus.accesskey "I">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.properties b/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.properties
new file mode 100644
index 0000000000..fe50819154
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgCompSMIMEOverlay.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/.
+
+## S/MIME mail compose window error strings.
+NeedSetup=Anda perlu menetapkan satu atau lebih sijil peribadi sebelum anda boleh menggunakan ciri keselamatan ini. Adakah anda mahu melakukannya sekarang?
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd b/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..e4324aa40f
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd
@@ -0,0 +1,18 @@
+<!-- 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 msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "Keselamatan Mesej">
+<!ENTITY subject.plaintextWarning "Sila ambil perhatian: Baris subjek mesej e-mel tidak akan dienkrip.">
+<!ENTITY status.heading "Kandungan mesej anda akan dihantar seperti berikut:">
+<!ENTITY status.signed "Ditandatangani secara digital:">
+<!ENTITY status.encrypted "Dienkrip:">
+<!ENTITY status.certificates "Sijil:">
+<!ENTITY view.label "Papar">
+<!ENTITY view.accesskey "P">
+<!ENTITY tree.recipient "Penerima">
+<!ENTITY tree.status "Status">
+<!ENTITY tree.issuedDate "Dikeluarkan">
+<!ENTITY tree.expiresDate "Luput">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.properties b/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..a663e53fb4
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgCompSecurityInfo.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/.
+
+StatusNotFound=Tidak Ditemui
+StatusValid=Sah
+StatusExpired=Sudah Luput
+StatusUntrusted=Tidak Dipercayai
+StatusRevoked=Dibatalkan
+StatusInvalid=Tidak sah
+StatusYes=Ya
+StatusNo=Tidak
+StatusNotPossible=Tidak mungkin
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd b/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd
new file mode 100644
index 0000000000..52721928bb
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd
@@ -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 msgReadSMIMEOverlay.dtd UI for s/mime hooks in message reading -->
+
+<!ENTITY menu_securityStatus.label "Info Keselamatan Mesej">
+<!ENTITY menu_securityStatus.accesskey "I">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties b/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..51d577ddf4
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties
@@ -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/.
+
+ImapOnDemand=Mesej yang dipaparkan telah ditandatangani secara digital, tapi tidak semua lampiran telah dimuat turun. Oleh itu, tandatangan ini tidak boleh disahkan. Klik OK untuk memuat turun mesej secara lengkap dan mengesahkan tandatangan.
+#
+#NOTE To translater, anything between %..% and <..> should not be translated.
+# the former will be replaced by java script, and the latter is HTML formatting.
+#
+CantDecryptTitle=%brand% tidak dapat mengenkrip mesej ini
+CantDecryptBody=Pengirim mengenkripsi mesej kepada anda ini menggunakan salah satu daripada sijil digital anda, tapi %brand% tidak dapat mencari sijil ini dan kunci yang berkaitan.<br>Penyelesaian yang boleh dibuat:<br><ul><li>Jika anda ada kad pintar, sila sisipkan sekarang.<li>Jika anda menggunakan mesin yang baru, atau menggunakan profil %brand% baru, anda perlu pulihkan kunci peribadi dan sijil anda daripada sandaran. Sijil sandaran biasanya berakhir dengan ".p12".</ul>
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd b/l10n-ms/suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..43faedea14
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd
@@ -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 msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "Keselamatan Mesej">
+<!ENTITY signatureCert.label "Papar Sijil Bertandatangan">
+<!ENTITY encryptionCert.label "Papar Sijil Dienkripsi">
+
+<!ENTITY signer.name "Ditandatangani oleh:">
+<!ENTITY recipient.name "Dienkripsi untuk:">
+<!ENTITY email.address "Alamat e-mel:">
+<!ENTITY issuer.name "Sijil dikeluarkan oleh:">
diff --git a/l10n-ms/suite/chrome/mailnews/smime/msgSecurityInfo.properties b/l10n-ms/suite/chrome/mailnews/smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..5817d5b36d
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/smime/msgSecurityInfo.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/.
+
+## Signature Information strings
+SINoneLabel=Mesej Tiada Tandatangan Digital
+SINone=Mesej ini tidak disertakan dengan tandatangan digital pengirim. Ini bermakna, mesej ini mungkin dihantar oleh seseorang yang menyamar memiliki alamat e-mel ini. Mungkin juga, mesej ini telah diubah semasa penghantaran melalui rangkaian. Tapi, ada juga kemungkinan bahawa perkara di atas tidak berlaku.
+
+SIValidLabel=Mesej Ada Tandatangan
+SIValid=Mesej ini disertakan dengan tandatangan digital. Mesej ini tidak diubah sejak dihantar.
+
+SIInvalidLabel=Tandatangan Digital Tidak Sah
+SIInvalidHeader=Mesej ini disertakan dengan tandatangan digital, tapi tandatangan ini tidak sah.
+
+SIContentAltered=Tandatangan tidak sepadan dengan kandungan mesej dengan betul. Mesej ini mungkin telah diubah selepas ditandatangani oleh pengirim. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SIExpired=Sijil yang digunakan untuk menandatangani mesej ini sudah luput. Pastikan jam komputer anda ditetapkan dengan betul.
+SIRevoked=Sijil yang digunakan untuk menandatangani mesej ini telah dibatalkan. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SINotYetValid=Sijil yang digunakan untuk menandatangani mesej ini masih belum disahkan. Pastikan jam komputer anda ditetapkan dengan betul.
+SIUnknownCA=Sijil yang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti sijil yang tidak diketahui.
+SIUntrustedCA=Sijil yang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti sijil yang anda tidak percaya untuk mengeluarkan sijil jenis ini.
+SIExpiredCA=Sijil yang digunakan untuk menandatangani mesej itu telah dikeluarkan oleh autoriti sijil yang sijilnya sendiri sudah luput. Pastikan jam komputer anda ditetapkan dengan betul.
+SIRevokedCA=Sijil ayang digunakan untuk menandatangani mesej ini dikeluarkan oleh autoriti yang sijilnya sendiri sudah dibatalkan. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+SINotYetValidCA=Sijil yang digunakan untuk menandatangani mesej itu telah dikeluarkan oleh autoriti sijil yang sijilnya sendiri masih belum disahkan. Pastikan jam komputer anda ditetapkan dengan betul.
+SIInvalidCipher=Mesej ini telah ditandatangani menggunakan kekuatan enkripsi yang tidak disokong oleh versi perisian anda.
+SIClueless=Ada masalah yang tidak diketahui dengan tandatangan digital. Anda tidak sewajarnya mempercayai kesahihan mesej ini sehingga anda mengesahkan kandungannya terlebih dahulu daripada pengirim.
+
+SIPartiallyValidLabel=Mesej telah ditandatangani
+SIPartiallyValidHeader=Walaupun tandatangan digital ini sah, tapi tidak diketahui samada pengirim dan penandatangan adalah pihak yang sama.
+
+SIHeaderMismatch=Alamat e-mel yang disenaraikan dalam sijil penandatangan berbeza daripada alamat e-mel yang digunakan untuk menghantar mesej ini. Sila lihat butiran tandatangan sijil untuk mengetahui penandatangan mesej ini.
+SICertWithoutAddress=Sijil yang digunakan untuk menandatangani mesej tidak mengandungi alamat e-mel. Sila lihat butiran tandatangan sijil untuk mengetahui penandatangan mesej ini.
+
+## Encryption Information strings
+EINoneLabel2=Mesej Tidak Dienkripsi
+EINone=Mesej ini tidak dienkripsi sebelum dihantar. Maklumat yang dihantar melalui Internet tanpa enkripsi boleh dilihat oleh pihak lain semasa dalam penghantaran.
+
+EIValidLabel=Mesej Dienkripsi
+EIValid=Mesej ini dienkripsi sebelum dihantar kepada anda. Enkripsi menjadikan pihak lain sangat sukar untuk memaparkan kandungan maklumat semasa dihantar melalui rangkaian.
+
+EIInvalidLabel=Mesej Tidak Boleh Didekripsi
+EIInvalidHeader=Mesej ini telah dienkripsi sebelum dihantar kepada anda, tetapi tidak boleh didekripsi.
+
+EIContentAltered=Kandungan mesej mungkin telah diubah semasa penghantaran.
+EIClueless=Ada masalah yang tidak diketahui dengan mesej yang dienkripsi ini.
diff --git a/l10n-ms/suite/chrome/mailnews/start.dtd b/l10n-ms/suite/chrome/mailnews/start.dtd
new file mode 100644
index 0000000000..6164d608fb
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/start.dtd
@@ -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/. -->
+
+<!ENTITY startpage.title "Selamat datang ke Mel &amp; Kumpulan berita &brandShortName;">
+<!--# LOCALIZATION NOTE (headline.label): the URL for <a id="vendorURL"> is fetched from brand.properties -->
+<!ENTITY headline.label
+'Selamat datang ke Mel &amp; Kumpulan berita &brandShortName; <a id="vendorURL" href=""></a>!'>
+<!ENTITY description.label
+"Mel &amp; Kumpulan berita &brandShortName; adalah klien mel dan berita
+sumber terbuka yang menyokong ciri mengesan mel remeh dan ciri berguna lain.">
+<!ENTITY features.title "Ciri">
+<!ENTITY feat_multiacc.label "Menyokong berbilang akaun">
+<!ENTITY feat_junk.label "Pengesanan Mel Remeh">
+<!ENTITY feat_feeds.label "Pembaca Suapan">
+<!ENTITY feat_filters.label "Tapis Mesej">
+<!ENTITY feat_htmlmsg.label "Menyokong mesej HTML">
+<!ENTITY feat_abook.label "Buku Alamat">
+<!ENTITY feat_tags.label "Penyesuaian Tab dan Paparan Mel">
+<!ENTITY feat_integration.label
+"Integrasi dengan suit aplikasi &brandShortName;">
+<!ENTITY dict.title "Kamus">
+<!ENTITY dict_intro.label "Kamus digunakan untuk menyemak ejaan dalam mesej anda.">
+<!ENTITY dict_info.label2
+'Pelbagai bahasa tambahan boleh dipasang dari bahagian
+<a id="dictURL" href="">kamus</a>
+<a href="https://addons.thunderbird.net/seamonkey/">SeaMonkey dan Add-ons Thunderbird</a>.'>
+<!ENTITY info.title "Maklumat Lanjut">
diff --git a/l10n-ms/suite/chrome/mailnews/subscribe.dtd b/l10n-ms/suite/chrome/mailnews/subscribe.dtd
new file mode 100644
index 0000000000..5fe8d5f506
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/subscribe.dtd
@@ -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/. -->
+
+<!ENTITY subscribeDialog.title "Langgan">
+<!ENTITY subscribeButton.label "Langgan">
+<!ENTITY subscribeButton.accesskey "L">
+<!ENTITY unsubscribeButton.label "Batal langganan">
+<!ENTITY unsubscribeButton.accesskey "B">
+<!ENTITY newGroupsTab.label "Kumpulan Baru">
+<!ENTITY newGroupsTab.accesskey "B">
+<!ENTITY refreshButton.label "Muat semula">
+<!ENTITY refreshButton.accesskey "M">
+<!ENTITY stopButton.label "Berhenti">
+<!ENTITY stopButton.accesskey "B">
+<!ENTITY server.label "Akaun:">
+<!ENTITY server.accesskey "A">
+<!ENTITY subscribedHeader.label "Langgan">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "Papar item yang mengandungi:">
+<!ENTITY namefield.accesskey "P">
diff --git a/l10n-ms/suite/chrome/mailnews/subscribe.properties b/l10n-ms/suite/chrome/mailnews/subscribe.properties
new file mode 100644
index 0000000000..f48c261834
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/subscribe.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/.
+columnHeader-nntp=Nama kumpulan berita
+columnHeader-imap=Nama folder
+currentListTab-nntp.label=Senarai Kumpulan Semasa
+currentListTab-nntp.accesskey=S
+currentListTab-imap.label=Senarai Folder
+currentListTab-imap.accesskey=S
+pleaseWaitString=Sila tunggu…
diff --git a/l10n-ms/suite/chrome/mailnews/textImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/textImportMsgs.properties
new file mode 100644
index 0000000000..7d340fe6a0
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/textImportMsgs.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the text import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=Fail teks (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=Import buku alamat daripada fail teks, termasuk: LDIF (.ldif, .ldi), tab-delimited (.tab, .txt) atau format dipisahkan-tanda koma (.csv).
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=Teks Buku Alamat
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=Buku alamat %S yang diimport
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=Parameter rosak tidak boleh mengimport buku alamat.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=Ralat mengakses fail buku alamat %S.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
+
+
+
diff --git a/l10n-ms/suite/chrome/mailnews/threadpane.dtd b/l10n-ms/suite/chrome/mailnews/threadpane.dtd
new file mode 100644
index 0000000000..89fabb20ea
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/threadpane.dtd
@@ -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/. -->
+
+<!ENTITY threadColumn.label "Thread">
+<!ENTITY fromColumn.label "Daripada">
+<!ENTITY recipientColumn.label "Penerima">
+<!ENTITY attachmentColumn.label "Lampiran">
+<!ENTITY subjectColumn.label "Subjek">
+<!ENTITY dateColumn.label "Tarikh">
+<!ENTITY priorityColumn.label "Prioriti">
+<!ENTITY tagsColumn.label "Tag">
+<!ENTITY accountColumn.label "Akaun">
+<!ENTITY statusColumn.label "Status">
+<!ENTITY sizeColumn.label "Saiz">
+<!ENTITY junkStatusColumn.label "Status Mel remeh">
+<!ENTITY unreadColumn.label "Thread Belum Dibaca">
+<!ENTITY totalColumn.label "Jumlah dalam Thread">
+<!ENTITY readColumn.label "Dibaca">
+<!ENTITY receivedColumn.label "Diterima">
+<!ENTITY flagColumn.label "Tanda">
+<!ENTITY locationColumn.label "Lokasi">
+<!ENTITY idColumn.label "Susunan Diterima">
+
+<!--Tooltips-->
+<!ENTITY columnChooser2.tooltip "Pilih lajur paparan">
+<!ENTITY threadColumn2.tooltip "Papar thread mesej">
+<!ENTITY fromColumn2.tooltip "Susun mengikut daripada">
+<!ENTITY recipientColumn2.tooltip "Susun mengikut penerima">
+<!ENTITY attachmentColumn2.tooltip "Susun mengikut lampiran">
+<!ENTITY subjectColumn2.tooltip "Susun mengikut subjek">
+<!ENTITY dateColumn2.tooltip "Susun mengikut tarikh">
+<!ENTITY priorityColumn2.tooltip "Susun mengikut prioriti">
+<!ENTITY tagsColumn2.tooltip "Susun mengikut tag">
+<!ENTITY accountColumn2.tooltip "Susun mengikut akaun">
+<!ENTITY statusColumn2.tooltip "Susun mengikut status">
+<!ENTITY sizeColumn2.tooltip "Susun mengikut saiz">
+<!ENTITY junkStatusColumn2.tooltip "Susun mengikut status mel remeh">
+<!ENTITY unreadColumn2.tooltip "Bilangan mesej belum dibaca dalam thread">
+<!ENTITY totalColumn2.tooltip "Bilangan mesej dalam thread">
+<!ENTITY readColumn2.tooltip "Susun mengikut sudah dibaca">
+<!ENTITY receivedColumn2.tooltip "Susun mengikut tarikh diterima">
+<!ENTITY flagColumn2.tooltip "Susun mengikut ditanda">
+<!ENTITY locationColumn2.tooltip "Susun mengikut lokasi">
+<!ENTITY idColumn2.tooltip "Susun mengikut susunan diterima">
diff --git a/l10n-ms/suite/chrome/mailnews/vCardImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/vCardImportMsgs.properties
new file mode 100644
index 0000000000..28be77c808
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/vCardImportMsgs.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the vCard import code to display status, error, and
+# informational messages
+#
+
+vCardImportName=Fail vCard (.vcf)
+
+vCardImportDescription=Import buku alamat daripada format vCard
+
+vCardImportAddressName=Buku Alamat vCard
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=Buku alamat %S yang diimport
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=Ralat mengakses fail buku alamat %S.
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
diff --git a/l10n-ms/suite/chrome/mailnews/viewLog.dtd b/l10n-ms/suite/chrome/mailnews/viewLog.dtd
new file mode 100644
index 0000000000..b057782fcf
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/viewLog.dtd
@@ -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/. -->
+
+<!ENTITY viewLog.title "Tapis Log">
+<!ENTITY viewLogInfo.text "Log Tapisan mendokumenkan tapisan yang telah dilaksanakan dalam akaun ini. Tandakan dalam kotak semakan di bawah untuk mengaktifkan log.">
+<!ENTITY clearLog.label "Buang Log">
+<!ENTITY clearLog.accesskey "B">
+<!ENTITY enableLog.label "Aktifkan Log Tapisan">
+<!ENTITY enableLog.accesskey "A">
+<!ENTITY closeLog.label "Tutup">
+<!ENTITY closeLog.accesskey "t">
diff --git a/l10n-ms/suite/chrome/mailnews/virtualFolderListDialog.dtd b/l10n-ms/suite/chrome/mailnews/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..f31129aeda
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/virtualFolderListDialog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderListTitle.title "Pilih Folder">
+<!ENTITY virtualFolderDesc.label "Pilih folder yang mahu dicari:">
+
+
+<!ENTITY folderName.label "Nama folder">
+<!ENTITY folderSearch.label "Cari">
diff --git a/l10n-ms/suite/chrome/mailnews/virtualFolderProperties.dtd b/l10n-ms/suite/chrome/mailnews/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..393cd43987
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/virtualFolderProperties.dtd
@@ -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/. -->
+
+<!ENTITY virtualFolderProperties.title "Folder Carian Disimpan Baru">
+<!ENTITY name.label "Nama:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "Cipta sebagai sub-folder kepada:">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "Tetapkan kriteria yang digunakan untuk folder carian disimpan ini: ">
+
+<!ENTITY folderSelectionCaption.label "Pilih folder yang mahu dicari: ">
+<!ENTITY chooseFoldersButton.label "Pilih…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "Carian Atas Talian (Memberikan hasil carian IMAP dan folder Berita yang sentiasa terkini, tapi menambah tempoh yang diambil untuk membuka folder)">
+<!ENTITY searchOnline.accesskey "C">
+<!ENTITY newFolderButton.label "Cipta">
+<!ENTITY newFolderButton.accesskey "t">
+<!ENTITY editFolderButton.label "Kemaskini">
+<!ENTITY editFolderButton.accesskey "K">
diff --git a/l10n-ms/suite/chrome/mailnews/wmImportMsgs.properties b/l10n-ms/suite/chrome/mailnews/wmImportMsgs.properties
new file mode 100644
index 0000000000..da27ba2231
--- /dev/null
+++ b/l10n-ms/suite/chrome/mailnews/wmImportMsgs.properties
@@ -0,0 +1,76 @@
+# 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 are used by the windows live mail import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name WMIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Windows Live Mail
+
+# Description of import module
+## @name WMIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail"
+2001=Tetapan Windows Live Mail
+
+# Success message
+## @name WMIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d"
+## The variable %1$S will contain the name of the Mailbox
+## The variable %2$d will contain the number of messages
+2002=Peti masuk %1$S, mengimport %2$d mesej
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Parameter rosak tidak boleh mengimport peti masuk.
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=Ralat mengakses fail peti mel %S.
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=Ralat mengimport peti mel %S, tidak semua mesej dapat diimport daripada peti mel ini.
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Buku Alamat Windows Live Mail
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Buku alamat Windows Live Mail (buku alamat windows)
+
+# Description
+## @name WMIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Buku alamat %S yang diimport
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Ralat mengimport buku alamat %S, mungkin tidak semua alamat dapat diimport.
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=Parameter rosak tidak boleh mengimport buku alamat.
diff --git a/l10n-ms/suite/chrome/mozldap/ldap.properties b/l10n-ms/suite/chrome/mozldap/ldap.properties
new file mode 100644
index 0000000000..734d89095a
--- /dev/null
+++ b/l10n-ms/suite/chrome/mozldap/ldap.properties
@@ -0,0 +1,261 @@
+#
+# 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 two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=Kata laluan Pelayan LDAP Diperlukan
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=Sila masukkan kata laluan anda untuk %1$S.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=Ralat operasi
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=Ralat protokol
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=Melebihi had masa
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=Melebihi had saiz
+
+## @name COMPARE_FALSE
+## @loc none
+5=Compare false
+
+## @name COMPARE_TRUE
+## @loc none
+6=Compare true
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=Kaedah pengesahan tidak disokong
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=Perlu pengesahan rapi
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=Sebahagian hasil dan rujukan diterima
+
+## @name REFERRAL
+## @loc none
+10=Rujukan diterima
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=Melebihi had pentadbiran
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=Sambungan penting tidak tersedia
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=Kerahsiaan diperlukan
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=Ikatan SASL sedang dilaksanakan
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=Tiada atribut sebegini
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=Jenis atribut tidak ditakrif
+
+## @name INAPPROPRIATE MATCHIN
+## @loc none
+18=Padanan tidak sesuai
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=Kesalahan kekangan
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=Jenis atau nilai wujud
+
+## @name INVALID_SYNTAX
+## @loc none
+21=Sintaks tidak sah
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=Tiada objek sebegini
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=Masalah alias
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=Sintaks DN tidak sah
+
+## @name IS_LEAF
+## @loc none
+35=Objek adalah dedaun
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=Masalah membuang rujukan alias
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=Pengesahan tidak sesuai
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=Wasikah tidak sah
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=Akses tidak mencukupi
+
+## @name BUSY
+## @loc none
+51=Pelayan LDAP sedang sibuk
+
+## @name UNAVAILABLE
+## @loc none
+52=Pelayan LDAP tidak tersedia
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=Pelayan LDAP tidak mahu melaksana
+
+## @name LOOP_DETECT
+## @loc none
+54=Gelung dikesan
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=Susun mengikut kehilangan Kawalan
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=Hasil carian melebihi julat yang ditentukan oleh ofset
+
+## @name NAMING_VIOLATION
+## @loc none
+64=Kesalahan menamakan
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=Kesalahan kelas objek
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=Operasi tidak diizinkan dalam bukan-dedaun
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=Operasi tidak diizinkan dalam RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=Sudah wujud
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=Tidak dapat mengubah kelas objek
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=Hasil terlalu besar
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=Memberi kesan kepada berbilang pelayan
+
+## @name OTHER
+## @loc none
+80=Ralat tidak diketahui
+
+## @name SERVER_DOWN
+## @loc none
+81=Tidak dapat menghubungi pelayan LDAP
+
+## @name LOCAL_ERROR
+## @loc none
+82=Ralat lokal
+
+## @name ENCODING_ERROR
+## @loc none
+83=Ralat pengekodan
+
+## @name DECODING_ERROR
+## @loc none
+84=Ralat menyahkod
+
+## @name TIMEOUT
+## @loc none
+85=Pelayan LDAP tamat tempoh
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=Kaedah pengesahan tidak diketahui
+
+## @name FILTER_ERROR
+## @loc none
+87=Tapisan carian tidak sah
+
+## @name USER_CANCELLED
+## @loc none
+88=Operasi dibatalkan pengguna
+
+## @name PARAM_ERROR
+## @loc none
+89=Parameter rosak untuk rutin LDAP
+
+## @name NO_MEMORY
+## @loc none
+90=Kehabisan memori
+
+## @name CONNECT_ERROR
+## @loc none
+91=Tidak dapat menyambung ke pelayan LDAP
+
+## @name NOT_SUPPORTED
+## @loc none
+92=Tidak disokong versi protokol LDAP ini
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=Kawalan LDAP yang diminta tidak ditemui
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=Tiada hasil yang dikembalikan
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=Lebih banyak hasil akan dikembalikan
+
+## @name CLIENT_LOOP
+## @loc none
+96=Klien mengesan gelung
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=Melebihi had hop rujukan
diff --git a/l10n-ms/suite/crashreporter/crashreporter-override.ini b/l10n-ms/suite/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..03289e34cb
--- /dev/null
+++ b/l10n-ms/suite/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=SeaMonkey ada masalah dan ranap. Kami akan cuba pulihkan tab dan tetingkap anda apabila dimulakan semula.\n\nMalangnya, pelapor ranap tidak dapat menghantar laporan ranap.\n\nButiran: %s
+CrashReporterDescriptionText2=SeaMonkey ada masalah dan ranap. Kami akan cuba pulihkan tab dan tetingkap anda apabila dimulakan semula.\n\nUntuk membantu kami mencari punca masalah ini dan membaikinya, anda boleh hantarkan laporan ranap.
diff --git a/l10n-ms/suite/defines.inc b/l10n-ms/suite/defines.inc
new file mode 100644
index 0000000000..72ee22520d
--- /dev/null
+++ b/l10n-ms/suite/defines.inc
@@ -0,0 +1,9 @@
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR mozilla.org
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>
+
+#unfilter emptyLines
diff --git a/l10n-ms/suite/installer/windows/custom.properties b/l10n-ms/suite/installer/windows/custom.properties
new file mode 100644
index 0000000000..87f26adde3
--- /dev/null
+++ b/l10n-ms/suite/installer/windows/custom.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.
+
+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.
+OPTIONAL_COMPONENTS_TITLE=Pilih Komponen Pilihan
+OPTIONAL_COMPONENTS_SUBTITLE=Pilih ciri $BrandFullNameDA yang anda mahu pasang.
+OPTIONAL_COMPONENTS_LABEL=Komponen Pilihan:
+DEBUGQA_TITLE=Nyahpepijat dan QA UI
+DEBUGQA_TEXT=Menyediakan tambahan nyahpepijat dan QA UI untuk pembangunan $BrandShortName.
+CONTEXT_OPTIONS=&Pilihan $BrandShortName
+CONTEXT_SAFE_MODE=&Mod Selamat $BrandShortName
+SAFE_MODE=Mod Selamat
+# MAILNEWS_TEXT appears in Windows (All) Programs menu as "SeaMonkey $(MAILNEWS_TEXT)"
+MAILNEWS_TEXT=Mel
+PROFILE_TEXT=Pengurus Profil
+OPTIONS_PAGE_TITLE=Jenis Penetapan
+OPTIONS_PAGE_SUBTITLE=Pilih pilihan penetapan
+SHORTCUTS_PAGE_TITLE=Penetapan Pintasan
+SHORTCUTS_PAGE_SUBTITLE=Cipta Ikon Atur cara
+SUMMARY_PAGE_TITLE=Ringkasan
+SUMMARY_PAGE_SUBTITLE=Sedia untuk memulakan pemasangan $BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName akan dipasang di lokasi berikut:
+SUMMARY_CLICK=Klik Pasang untuk meneruskan.
+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.
+SURVEY_TEXT=&Maklumkan kami pendapat anda berkenaan $BrandShortName
+LAUNCH_TEXT=&Lancarkan $BrandFullNameDA 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_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_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_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_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_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName perlu ditutup untuk meneruskan 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_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName perlu ditutup untuk meneruskan nyah-pemasangan.\n\nSila tutup $BrandShortName untuk meneruskan.
+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_CLICK=Klik Nyahpasang untuk meneruskan.
+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:
+
+STATUS_INSTALL_APP=Memasang $BrandShortName…
+STATUS_INSTALL_LANG=Memasang Fail Bahasa (${AB_CD})…
+STATUS_INSTALL_OPTIONAL=Memasang Komponen Pilihan…
+STATUS_UNINSTALL_MAIN=Menyahpasang $BrandShortName…
+STATUS_CLEANUP=Melakukan Sedikit Pembersihan…
+
+BANNER_CHECK_EXISTING=Memeriksa pemasangan yang sedia ada…
+
+# _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
+# One line
+OPTION_COMPLETE_DESC=$BrandShortName akan dipasang dengan semua pilihan yang ada.
+OPTION_COMPLETE_RADIO=S&elesai
+# Two lines
+OPTION_CUSTOM_DESC=Anda boleh buat pilihan individu yang mahu dipasang. Disarankan untuk pengguna berpengalaman.
+OPTION_CUSTOM_RADIO=&Penyesuaian
diff --git a/l10n-ms/suite/installer/windows/mui.properties b/l10n-ms/suite/installer/windows/mui.properties
new file mode 100644
index 0000000000..7dc6abe716
--- /dev/null
+++ b/l10n-ms/suite/installer/windows/mui.properties
@@ -0,0 +1,64 @@
+# 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_LICENSE_TITLE=Perjanjian Lesen
+MUI_TEXT_LICENSE_SUBTITLE=Sila semak terma lesen sebelum memasang $BrandFullNameDA.
+MUI_INNERTEXT_LICENSE_TOP=Tekan Halaman Bawah untuk melihat bahagian lain perjanjian ini.
+MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX=Jika bersetuju dengan terma perjanjian, klik kotak semakan di bawah. Anda mesti menerima perjanjian untuk memasang $BrandFullNameDA. $_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/l10n-ms/suite/installer/windows/override.properties b/l10n-ms/suite/installer/windows/override.properties
new file mode 100644
index 0000000000..9f220809b7
--- /dev/null
+++ b/l10n-ms/suite/installer/windows/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/l10n-ms/suite/profile/bookmarks.inc b/l10n-ms/suite/profile/bookmarks.inc
new file mode 100644
index 0000000000..82dc57a3d9
--- /dev/null
+++ b/l10n-ms/suite/profile/bookmarks.inc
@@ -0,0 +1,87 @@
+#filter emptyLines
+
+# LOCALIZATION NOTE: The 'en-US' strings in some 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 personal_toolbarfolder Folder Bar alatan Peribadi
+
+#define seamonkey_and_mozilla SeaMonkey dan Mozilla
+
+# LOCALIZATION NOTE (seamonkey):
+# link title for https://www.seamonkey-project.org/ (in the personal toolbar)
+#define seamonkey SeaMonkey
+
+# LOCALIZATION NOTE (seamonkey_long):
+# link title for https://www.seamonkey-project.org/ (in normal bookmarks)
+#define seamonkey_long Projek SeaMonkey
+
+# LOCALIZATION NOTE (mozilla_org):
+# link title for http://www.mozilla.org/ (in the personal toolbar)
+#define mozilla_org mozilla.org
+
+# LOCALIZATION NOTE (mozilla_org_long):
+# link title for https://www.mozilla.org/ (in normal bookmarks)
+#define mozilla_org_long Pertubuhan Mozilla
+
+# LOCALIZATION NOTE (mozilla_projects):
+# link title for http://www.mozilla.org/projects/
+#define mozilla_projects Projek Mozilla
+
+# LOCALIZATION NOTE (mozilla_about):
+# link title for http://www.mozilla.org/about/
+#define mozilla_about Perihal Mozilla
+
+#define extend_seamonkey Mengembangkan SeaMonkey
+
+# LOCALIZATION NOTE (seamonkey_addons):
+# link title for https://addons.thunderbird.net/en-US/seamonkey/
+#define seamonkey_addons Add-ons SeaMonkey
+
+# LOCALIZATION NOTE (seamonkey_themes):
+# link title for https://addons.thunderbird.net/en-US/seamonkey/themes
+#define seamonkey_themes Tema SeaMonkey
+
+# LOCALIZATION NOTE (seamonkey_dictionaries):
+# link title for https://addons.thunderbird.net/en-US/seamonkey/dictionaries
+#define seamonkey_dictionaries Kamus Penyemak Ejaan
+
+# LOCALIZATION NOTE (seamonkey_plugins):
+# link title for https://addons.thunderbird.net/en-US/seamonkey/plugins
+#define seamonkey_plugins Plugin untuk SeaMonkey
+
+# LOCALIZATION NOTE (mozdev):
+# link title for http://www.mozdev.org/
+#define mozdev mozdev.org
+
+# LOCALIZATION NOTE (mozdev_seamonkey):
+# link title for http://www.mozdev.org/projects/applications/SeaMonkey.html
+#define mozdev_seamonkey Ekstensi SeaMonkey daripada mozdev.org
+
+#define community_support Komuniti &amp; Sokongan
+
+# LOCALIZATION NOTE (seamonkey_community):
+# link title for https://www.seamonkey-project.org/community
+#define seamonkey_community Komuniti SeaMonkey
+
+# LOCALIZATION NOTE (mozillazine):
+# link title for http://www.mozillazine.org/
+#define mozillazine mozillaZine
+
+# LOCALIZATION NOTE (seamonkey_support):
+# link title for the mozillaZine SeaMonkey Support forum
+#define seamonkey_support Forum Sokongan SeaMonkey (mozillaZine)
+
+# LOCALIZATION NOTE (seamonkey_l10n):
+# insert full bookmark line for localized SeaMonkey page (personal toolbar)
+# e.g. #define seamonkey_l10n <DT><A HREF="https://www.seamonkey.tlh/">SeaMonkey tlhIngan</a>
+#define seamonkey_l10n
+
+ # LOCALIZATION NOTE (seamonkey_l10n_long):
+# insert full bookmark line for localized SeaMonkey page (normal bookmark)
+# e.g. #define seamonkey_l10n_long <DT><A HREF="https://www.seamonkey.tld/">tlhIngan Hol SeaMonkey</a>
+#define seamonkey_l10n_long
+
+#unfilter emptyLines
diff --git a/l10n-ms/suite/updater/updater.ini b/l10n-ms/suite/updater/updater.ini
new file mode 100644
index 0000000000..4891276b51
--- /dev/null
+++ b/l10n-ms/suite/updater/updater.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+TitleText=Kemaskini %MOZ_APP_DISPLAYNAME%
+InfoText=%MOZ_APP_DISPLAYNAME% sedang memasang kemaskini dan akan mula semula sebentar lagi…
diff --git a/l10n-ms/toolkit/chrome/alerts/alert.dtd b/l10n-ms/toolkit/chrome/alerts/alert.dtd
new file mode 100644
index 0000000000..633e9443c7
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/alerts/alert.dtd
@@ -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/. -->
+
+<!ENTITY closeAlert.tooltip "Tutup notifikasi ini">
+<!ENTITY settings.label "Tetapan">
diff --git a/l10n-ms/toolkit/chrome/alerts/alert.properties b/l10n-ms/toolkit/chrome/alerts/alert.properties
new file mode 100644
index 0000000000..6eb78ed169
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Tutup
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Nyahdayakan notifikasi dari %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=via %1$S
+webActions.settings.label = Tetapan notifikasi
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Jeda notifikasi hingga %S mula semula
diff --git a/l10n-ms/toolkit/chrome/autoconfig/autoconfig.properties b/l10n-ms/toolkit/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..748ddaab06
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/autoconfig/autoconfig.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/.
+
+readConfigTitle = Ralat Konfigurasi
+readConfigMsg = Gagal membaca fail konfigurasi. Sila hubungi pentadbir sistem anda.
+
+autoConfigTitle = AutoConfig Waspada
+autoConfigMsg = Netscape.cfg/AutoConfig gagal. Sila hubungi pentadbir sistem anda. \n Ralat: %S telah gagal:
+
+emailPromptTitle = Alamat E-mel
+emailPromptMsg = Masukkan alamat e-mel anda
diff --git a/l10n-ms/toolkit/chrome/global-platform/mac/intl.properties b/l10n-ms/toolkit/chrome/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/mac/intl.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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-ms/toolkit/chrome/global-platform/mac/platformKeys.properties b/l10n-ms/toolkit/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..e0704f96c9
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/mac/platformKeys.properties
@@ -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/.
+
+#mac
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=\u21e7
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=⌘
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=⌥
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=⌃
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Kembali
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/l10n-ms/toolkit/chrome/global-platform/unix/intl.properties b/l10n-ms/toolkit/chrome/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/unix/intl.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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-ms/toolkit/chrome/global-platform/unix/platformKeys.properties b/l10n-ms/toolkit/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..8b9f9d9f01
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/unix/platformKeys.properties
@@ -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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Masuk
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-ms/toolkit/chrome/global-platform/win/intl.properties b/l10n-ms/toolkit/chrome/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/win/intl.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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-ms/toolkit/chrome/global-platform/win/platformKeys.properties b/l10n-ms/toolkit/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..11a65e258b
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global-platform/win/platformKeys.properties
@@ -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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Masuk
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-ms/toolkit/chrome/global/aboutReader.properties b/l10n-ms/toolkit/chrome/global/aboutReader.properties
new file mode 100644
index 0000000000..0c538be973
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/aboutReader.properties
@@ -0,0 +1,49 @@
+# 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 (aboutReader.loading2):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+aboutReader.loading2=Memuatkan…
+aboutReader.loadError=Gagal memuatkan artikel daripada halaman
+
+aboutReader.colorScheme.light=Cerah
+aboutReader.colorScheme.dark=Gelap
+aboutReader.colorScheme.sepia=Sepia
+aboutReader.colorScheme.auto=Auto
+
+# LOCALIZATION NOTE (aboutReader.estimatedReadTimeValue1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of minutes it is estimated to take to read the article
+# example: `3 minutes`
+aboutReader.estimatedReadTimeValue1=#1 minit
+
+#LOCALIZATION NOTE (aboutReader.estimatedReadingTimeRange1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# When there is some uncertainty in how long the article will take to read show a range of
+# minutes it is expected to take.
+# #1 is the number of minutes it is estimated to take to read the article for a fast reader
+# #2 is the number of minutes it is estimated to take to read the article for a slow reader
+# #2 is the variable used to determine the plural form to use.
+# example: `5-8 minutes`
+aboutReader.estimatedReadTimeRange1=#1-#2 minit
+
+# LOCALIZATION NOTE (aboutReader.fontType.serif, aboutReader.fontType.sans-serif):
+# These are the styles of typeface that are options in the reader view controls.
+aboutReader.fontType.serif=Serif
+aboutReader.fontType.sans-serif=Sans-serif
+
+# LOCALIZATION NOTE (aboutReader.fontTypeSample): String used to sample font types.
+aboutReader.fontTypeSample=Aa
+
+aboutReader.toolbar.close=Tutup Reader View
+aboutReader.toolbar.typeControls=Jenis kawalan
+
+# These are used for the Reader View toolbar button and the menuitem within the
+# View menu.
+readerView.enter=Masuk Reader View
+readerView.enter.accesskey=R
+readerView.close=Tutup Reader View
+readerView.close.accesskey=R
+
diff --git a/l10n-ms/toolkit/chrome/global/aboutStudies.properties b/l10n-ms/toolkit/chrome/global/aboutStudies.properties
new file mode 100644
index 0000000000..7ab3653100
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Kajian Shield
+removeButton = Buang
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Kajian aktif
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Kajian sudah dilengkapkan
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Aktif
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Selesai
+
+updateButtonWin = Kemas kini Pilihan
+updateButtonUnix = Kemas kini Keutamaan
+learnMore = Ketahui selanjutnya
+noStudies = Anda tidak menyertai apa-apa kajian.
+disabledList = Ini ialah senarai kajian yang telah anda sertai. Tiada kajian baru dijalankan.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Apakah ini? %S mungkin memasang dan melaksanakan kajian dari semasa ke semasa.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Kajian ini menetapkan %1$S ke %2$S.
diff --git a/l10n-ms/toolkit/chrome/global/appPicker.dtd b/l10n-ms/toolkit/chrome/global/appPicker.dtd
new file mode 100644
index 0000000000..bd65998062
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/appPicker.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY NoAppFound.label "Tiada aplikasi ditemui untuk jenis fail sebegini.">
+<!ENTITY BrowseButton.label "Cari…">
+<!ENTITY SendMsg.label "Hantar butiran ini ke:">
diff --git a/l10n-ms/toolkit/chrome/global/autocomplete.properties b/l10n-ms/toolkit/chrome/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/l10n-ms/toolkit/chrome/global/browser.properties b/l10n-ms/toolkit/chrome/global/browser.properties
new file mode 100644
index 0000000000..7b3efb7960
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = Amaran Keselamatan
+formPostSecureToInsecureWarning.message = Maklumat yang telah anda masukkan di halaman ini akan dihantar melalui sambungan yang tidak selamat dan boleh dibaca oleh pihak ketiga.\n\nAnda pasti mahu menghantar maklumat ini?
+formPostSecureToInsecureWarning.continue = Teruskan
diff --git a/l10n-ms/toolkit/chrome/global/commonDialog.dtd b/l10n-ms/toolkit/chrome/global/commonDialog.dtd
new file mode 100644
index 0000000000..ab7de85f91
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/commonDialog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY editfield0.label "Nama Pengguna:">
+<!ENTITY editfield1.label "Kata laluan:">
+<!ENTITY copyCmd.label "Salin">
+<!ENTITY copyCmd.accesskey "a">
+<!ENTITY selectAllCmd.label "Pilih Semua">
+<!ENTITY selectAllCmd.accesskey "S">
diff --git a/l10n-ms/toolkit/chrome/global/commonDialogs.properties b/l10n-ms/toolkit/chrome/global/commonDialogs.properties
new file mode 100644
index 0000000000..d8a745b435
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/commonDialogs.properties
@@ -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/.
+
+Alert=Amaran
+Confirm=Sahkan
+ConfirmCheck=Sahkan
+Prompt=Gesa
+Select=Pilih
+OK=OK
+Cancel=Batal
+Yes=&Ya
+No=&Tidak
+Save=&Simpan
+Revert=&Kembalikan
+DontSave=&Jangan Simpan
+ScriptDlgGenericHeading=[Aplikasi JavaScript]
+ScriptDlgHeading=Laman pada %S katakan:
+ScriptDialogLabel=Elakkan laman ini dari membuat dialog tambahan
+ScriptDialogPreventTitle=Sahkan Keutamaan Dialog
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterLoginForProxy3=Proksi %2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterUserPasswordFor2=%1$S meminta nama pengguna dan kata laluan anda.
+EnterUserPasswordForCrossOrigin2=%1$S meminta nama pengguna dan kata laluan anda. WARNING: Kata laluan anda tidak akan dihantar ke laman web yang anda sedang layari!
+EnterPasswordFor=Masukkan kata laluan untuk %1$S pada %2$S
diff --git a/l10n-ms/toolkit/chrome/global/contentAreaCommands.properties b/l10n-ms/toolkit/chrome/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..35d553503a
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/contentAreaCommands.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/.
+
+# context menu strings
+
+SaveImageTitle=Simpan Imej
+SaveMediaTitle=Simpan Media
+SaveVideoTitle=Simpan Video
+SaveAudioTitle=Simpan Audio
+SaveLinkTitle=Simpan Sebagai
+DefaultSaveFileName=indeks
+WebPageCompleteFilter=Halaman Laman Web, lengkap
+WebPageHTMLOnlyFilter=Halaman Laman Web, HTML sahaja
+WebPageXHTMLOnlyFilter=Halaman Laman Web, XHTML sahaja
+WebPageSVGOnlyFilter=Halaman Laman Web, SVG sahaja
+WebPageXMLOnlyFilter=Halaman Web, XML sahaja
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_fail
diff --git a/l10n-ms/toolkit/chrome/global/datetimebox.dtd b/l10n-ms/toolkit/chrome/global/datetimebox.dtd
new file mode 100644
index 0000000000..6bca148229
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/datetimebox.dtd
@@ -0,0 +1,35 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Placeholders for input type=time -->
+
+<!ENTITY time.hour.placeholder "--">
+<!ENTITY time.minute.placeholder "--">
+<!ENTITY time.second.placeholder "--">
+<!ENTITY time.millisecond.placeholder "--">
+<!ENTITY time.dayperiod.placeholder "--">
+
+<!-- Field labels for input type=time -->
+
+<!ENTITY time.hour.label "Jam">
+<!ENTITY time.minute.label "Minit">
+<!ENTITY time.second.label "Saat">
+<!ENTITY time.millisecond.label "Milisaat">
+<!ENTITY time.dayperiod.label "AM/PM">
+
+<!-- Placeholders for input type=date -->
+
+<!ENTITY date.year.placeholder "tttt">
+<!ENTITY date.month.placeholder "mm">
+<!ENTITY date.day.placeholder "hh">
+
+<!-- Field labels for input type=date -->
+
+<!ENTITY date.year.label "Tahun">
+<!ENTITY date.month.label "Bulan">
+<!ENTITY date.day.label "Hari">
+
+<!-- Date/time clear button -->
+
+<!ENTITY datetime.reset.label "Buang">
diff --git a/l10n-ms/toolkit/chrome/global/dialog.properties b/l10n-ms/toolkit/chrome/global/dialog.properties
new file mode 100644
index 0000000000..521159473a
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=OK
+button-cancel=Batal
+button-help=Bantuan
+button-disclosure=Info Lanjut
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/l10n-ms/toolkit/chrome/global/dialogOverlay.dtd b/l10n-ms/toolkit/chrome/global/dialogOverlay.dtd
new file mode 100644
index 0000000000..262eefa861
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/dialogOverlay.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- WARNING!!! This file is obsoleted by the dialog.xml widget -->
+<!-- OK Cancel Buttons -->
+
+
+<!ENTITY okButton.label "OK">
+<!ENTITY cancelButton.label "Batal">
diff --git a/l10n-ms/toolkit/chrome/global/editMenuOverlay.dtd b/l10n-ms/toolkit/chrome/global/editMenuOverlay.dtd
new file mode 100644
index 0000000000..821c206bc5
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/editMenuOverlay.dtd
@@ -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/. -->
+
+<!ENTITY findCmd.label "Cari">
+<!ENTITY findCmd.key "F">
+<!ENTITY findCmd.accesskey "r">
+<!ENTITY findAgainCmd.label "Cari Lagi">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findAgainCmd.accesskey "g">
diff --git a/l10n-ms/toolkit/chrome/global/extensions.properties b/l10n-ms/toolkit/chrome/global/extensions.properties
new file mode 100644
index 0000000000..7386c79fa9
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/extensions.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Nyahpasang %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Ekstensi “%S” meminta untuk dinyahpasang. Apa yang mahu anda lakukan?
+
+uninstall.confirmation.button-0.label = Nyahpasang
+uninstall.confirmation.button-1.label = Teruskan Dipasang
+
+saveaspdf.saveasdialog.title = Simpan Sebagai
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Ekstensi, %S, menukar halaman yang anda lihat apabila anda buka tab baru.
+newTabControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Ekstensi, %S, menukar apa yang dilihat apabila anda buka laman dan tetingkap baru.
+homepageControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Ekstensi %1$S sedang menyorokkan beberapa tab. Anda masih boleh akses semua tab dari %2$S.
+tabHideControlled.learnMore = Ketahui selanjutnya
+
diff --git a/l10n-ms/toolkit/chrome/global/fallbackMenubar.properties b/l10n-ms/toolkit/chrome/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..392d4ca0e0
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Keluar
+quitMenuitem.key=q
diff --git a/l10n-ms/toolkit/chrome/global/filepicker.properties b/l10n-ms/toolkit/chrome/global/filepicker.properties
new file mode 100644
index 0000000000..95d6fded42
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/filepicker.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Semua Fail
+htmlTitle=Fail HTML
+textTitle=Fail Teks
+imageTitle=Fail Imej
+xmlTitle=Fail XML
+xulTitle=Fail XUL
+appsTitle=Aplikasi
+audioTitle=Fail Audio
+videoTitle=Fail Video
+
+formatLabel=Format:
+
diff --git a/l10n-ms/toolkit/chrome/global/findbar.properties b/l10n-ms/toolkit/chrome/global/findbar.properties
new file mode 100644
index 0000000000..521990fad6
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/findbar.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/.
+
+# strings used by the Find bar, split from browser.properties
+NotFound=Frasa tidak ditemui
+WrappedToTop=Mencapai bahagian penghujung halaman, sambung dari atas
+WrappedToBottom=Telah mencapai bahagian atas halaman, sambung dari bawah
+NormalFind=Cari dalam halaman
+FastFind=Carian Pantas
+FastFindLinks=Carian Pantas (pautan sahaja)
+CaseSensitive=(Sensitif kes)
+EntireWord=(Perkataan penuh sahaja)
+# LOCALIZATION NOTE (FoundMatches): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is currently selected match and #2 the total amount of matches.
+FoundMatches=#1 daripada #2 padanan
+# LOCALIZATION NOTE (FoundMatchesCountLimit): Semicolon-separated list of plural
+# forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the total amount of matches allowed before counting stops.
+FoundMatchesCountLimit=Lebih daripada #1 padanan
diff --git a/l10n-ms/toolkit/chrome/global/globalKeys.dtd b/l10n-ms/toolkit/chrome/global/globalKeys.dtd
new file mode 100644
index 0000000000..76b9235713
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/globalKeys.dtd
@@ -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/. -->
+
+<!ENTITY openHelp.commandkey "VK_F1">
+<!ENTITY openHelpMac.commandkey "?">
diff --git a/l10n-ms/toolkit/chrome/global/intl.css b/l10n-ms/toolkit/chrome/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/l10n-ms/toolkit/chrome/global/intl.properties b/l10n-ms/toolkit/chrome/global/intl.properties
new file mode 100644
index 0000000000..ce692d2b91
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=ms,en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://mxr.mozilla.org/mozilla/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/l10n-ms/toolkit/chrome/global/keys.properties b/l10n-ms/toolkit/chrome/global/keys.properties
new file mode 100644
index 0000000000..adb597c4cf
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/keys.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Anak Panah Atas
+VK_DOWN=Anak Panah Bawah
+VK_LEFT=Anak Panah Kiri
+VK_RIGHT=Anak Panah Kanan
+VK_PAGE_UP=Halaman Atas
+VK_PAGE_DOWN=Halaman Bawah
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+# LOCALIZATION NOTE : BLOCK maybe GLYPHS
+VK_TAB=Tab
+VK_BACK=Undur ruang
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Laman
+VK_END=Tamat
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/l10n-ms/toolkit/chrome/global/narrate.properties b/l10n-ms/toolkit/chrome/global/narrate.properties
new file mode 100644
index 0000000000..cf7e74c9fa
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/narrate.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/.
+
+back = Undur
+forward = Seterusnya
+speed = Kelajuan
+selectvoicelabel = Suara:
+# Default voice is determined by the language of the document.
+defaultvoice = Piawai
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/l10n-ms/toolkit/chrome/global/notification.dtd b/l10n-ms/toolkit/chrome/global/notification.dtd
new file mode 100644
index 0000000000..9fd2dc5152
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/notification.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- This file is only used by the Firefox Translations extension,
+ - and should be removed once possible.
+ - See: https://bugzilla.mozilla.org/show_bug.cgi?id=1788595 -->
+
+<!-- This file is only used by the Firefox Translations extension
+ - and by dom/tests/mochitest/bugs/test_bug467035.html.
+ - It should be removed once possible.
+ - See: https://bugzilla.mozilla.org/show_bug.cgi?id=1788595 -->
+
+<!ENTITY closeNotification.tooltip "Tutup mesej ini">
+
+<!ENTITY checkForUpdates "Semak kemaskini…">
+
+<!ENTITY defaultButton.label "OK!">
+<!ENTITY defaultButton.accesskey "O">
+
+<!ENTITY moreActionsButton.accessibleLabel "Tindakan selanjutnya">
diff --git a/l10n-ms/toolkit/chrome/global/printdialog.properties b/l10n-ms/toolkit/chrome/global/printdialog.properties
new file mode 100644
index 0000000000..296d8f1a44
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/printdialog.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Cetak
+optionsTabLabelGTK=Pilihan
+
+# Mac titles:
+optionsTitleMac=Pilihan:
+appearanceTitleMac=Penampilan:
+pageHeadersTitleMac=Pengepala Halaman:
+pageFootersTitleMac=Pengaki Halaman:
+
+# Windows titles:
+optionsTitleWindows=Pilihan
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Abaikan Perubahan Skala dan Mengecut Untuk Menyesuaikan Lebar Halaman
+selectionOnly=Cetak Pilihan _Sahaja
+printBGOptions=Cetak latar belakang
+printBGColors=Cetak Warna Latar Belakang
+printBGImages=Cetak I_mej Laman Belakang
+headerFooter=Pengepala dan Pengaki
+left=Kiri
+center=Tengah
+right=Kanan
+headerFooterBlank=--kosong--
+headerFooterTitle=Tajuk
+headerFooterURL=URL
+headerFooterDate=Tarikh/Masa
+headerFooterPage=Halaman #
+headerFooterPageTotal=Halaman # daripada #
+headerFooterCustom=Penyesuaian…
+customHeaderFooterPrompt=Sila masukkan teks tajuk/nota kaki khas anda
+
+summarySelectionOnlyTitle=Cetak Pilihan
+summaryShrinkToFitTitle=Mengecil Untuk Muat
+summaryPrintBGColorsTitle=Cetak warna BG
+summaryPrintBGImagesTitle=Cetak gambar BG
+summaryHeaderTitle=Pengepala Halaman
+summaryFooterTitle=Kaki Laman
+summaryNAValue=N/A
+summaryOnValue=Aktif
+summaryOffValue=Nyahaktif
diff --git a/l10n-ms/toolkit/chrome/global/resetProfile.dtd b/l10n-ms/toolkit/chrome/global/resetProfile.dtd
new file mode 100644
index 0000000000..265459c978
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/resetProfile.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ - You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY refreshProfile.dialog.title "Muat semula &brandShortName;">
+
+<!ENTITY refreshProfile.cleaning.description "Hampir siap…">
diff --git a/l10n-ms/toolkit/chrome/global/resetProfile.properties b/l10n-ms/toolkit/chrome/global/resetProfile.properties
new file mode 100644
index 0000000000..b5f4c4530a
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Anda masih belum memulakan %S. Adakah anda mahu memulakannya semula seperti pengalaman baru? Walau bagaimanapun, selamat kembali!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Anda baru saja memasang semula %S. Anda mahu kami membersihkannya menjadi seperti baru?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Muat semula %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/l10n-ms/toolkit/chrome/global/tree.dtd b/l10n-ms/toolkit/chrome/global/tree.dtd
new file mode 100644
index 0000000000..181f1b2036
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/tree.dtd
@@ -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/. -->
+
+<!ENTITY restoreColumnOrder.label "Pulih Susunan Lajur">
diff --git a/l10n-ms/toolkit/chrome/global/viewSource.properties b/l10n-ms/toolkit/chrome/global/viewSource.properties
new file mode 100644
index 0000000000..07ecb5a1ef
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Pergi ke baris
+goToLineText = Masukkan nombor baris
+invalidInputTitle = Input tidak sah
+invalidInputText = Nombor baris dimasukkan tidak sah.
+outOfRangeTitle = Baris tidak ditemui
+outOfRangeText = Baris ditentukan tidak ditemui.
+viewSelectionSourceTitle = Pemilihan Sumber DOM
+
+context_goToLine_label = Pergi ke Baris…
+context_goToLine_accesskey = B
+context_wrapLongLines_label = Balut Baris Panjang
+context_highlightSyntax_label = Serlahan Sintaks
diff --git a/l10n-ms/toolkit/chrome/global/wizard.properties b/l10n-ms/toolkit/chrome/global/wizard.properties
new file mode 100644
index 0000000000..9bcd01d21a
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=Selamat Datang ke %S
+default-last-title=Menyelesaikan %S
+default-first-title-mac=Pengenalan
+default-last-title-mac=Rumusan
diff --git a/l10n-ms/toolkit/chrome/mozapps/downloads/downloads.properties b/l10n-ms/toolkit/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..aec7f254ec
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/mozapps/downloads/downloads.properties
@@ -0,0 +1,109 @@
+# 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 (shortSeconds): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# s is the short form for seconds
+shortSeconds=s
+
+# LOCALIZATION NOTE (shortMinutes): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# m is the short form for minutes
+shortMinutes=m
+
+# LOCALIZATION NOTE (shortHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# h is the short form for hours
+shortHours=h
+
+# LOCALIZATION NOTE (shortDays): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# d is the short form for days
+shortDays=d
+
+downloadErrorAlertTitle=Ralat Memuat Turun
+downloadErrorGeneric=Muat turun ini tidak boleh disimpan kerana ralat yang tidak diketahui.\n\nSila cuba lagi.
+
+# LOCALIZATION NOTE: we don't have proper plural support in the CPP code; bug 463102
+quitCancelDownloadsAlertTitle=Batalkan Semua Muat turun?
+quitCancelDownloadsAlertMsg=Jika anda keluar sekarang, 1 muaturun akan dibatalkan. Adakah anda pasti untuk keluar?
+quitCancelDownloadsAlertMsgMultiple=Jika anda keluar sekarang, %S muaturun akan dibatalkan. Adakah anda pasti untuk keluar?
+quitCancelDownloadsAlertMsgMac=Jika anda keluar sekarang, 1 muaturun akan dibatalkan. Adakah anda pasti yang anda ingin keluar?
+quitCancelDownloadsAlertMsgMacMultiple=Jika anda keluar sekarang, %S muaturun akan dibatalkan. Adakah anda ingin keluar?
+offlineCancelDownloadsAlertTitle=Batalkan Semua Muat turun?
+offlineCancelDownloadsAlertMsg=Jika anda keluar talian sekarang, 1 muaturunakan dibatalkan. Adakah anda ingin keluar talian sekarang?
+offlineCancelDownloadsAlertMsgMultiple=Jika anda keluar talian sekarang, %S muaturun akan dibatalkan. Adakah anda ingin keluar talian sekarang?
+leavePrivateBrowsingCancelDownloadsAlertTitle=Batalkan Semua Muat turun?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsg2=Jika anda tutup semua tetingkap Pelayaran Peribadi sekarang, 1 muat turun akan dibatalkan. Anda pasti untuk meninggalkan Pelayaran Peribadi?
+leavePrivateBrowsingWindowsCancelDownloadsAlertMsgMultiple2=Jika anda tutup semua tetingkap Pelayaran Peribadi sekarang, %S muat turun akan dibatalkan. Anda pasti untuk meninggalkan Pelayaran Peribadi?
+cancelDownloadsOKText=Batal 1 Muaturun
+cancelDownloadsOKTextMultiple=Batal %S Muaturun
+dontQuitButtonWin=Jangan Keluar
+dontQuitButtonMac=Jangan Keluar
+dontGoOfflineButton=Kekal Dalam Talian
+dontLeavePrivateBrowsingButton2=Teruskan guna Pelayaran Peribadi
+
+# LOCALIZATION NOTE (infiniteRate):
+# If download speed is a JavaScript Infinity value, this phrase is used
+infiniteRate=Sangat laju
+
+# LOCALIZATION NOTE (statusFormat3): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S rate number; %3$S rate unit; %4$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+statusFormat3=%4$S — %1$S (%2$S %3$S/saat)
+
+# LOCALIZATION NOTE (statusFormatInfiniteRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S substitute phrase for Infinity speed; %3$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+statusFormatInfiniteRate=%3$S — %1$S (%2$S)
+
+# LOCALIZATION NOTE (statusFormatNoRate): — is the "em dash" (long dash)
+# %1$S transfer progress; %2$S time left
+# example: 4 minutes left — 1.1 of 11.1 GB
+statusFormatNoRate=%2$S — %1$S
+
+bytes=bait
+kilobyte=KB
+megabyte=MB
+gigabyte=GB
+
+# LOCALIZATION NOTE (transferSameUnits2):
+# %1$S progress number; %2$S total number; %3$S total unit
+# example: 1.1 of 333 MB
+transferSameUnits2=%1$S dari %2$S %3$S
+# LOCALIZATION NOTE (transferDiffUnits2):
+# %1$S progress number; %2$S progress unit; %3$S total number; %4$S total unit
+# example: 11.1 MB of 3.3 GB
+transferDiffUnits2=%1$S %2$S dari %3$S %4$S
+# LOCALIZATION NOTE (transferNoTotal2):
+# %1$S progress number; %2$S unit
+# example: 111 KB
+transferNoTotal2=%1$S %2$S
+
+# LOCALIZATION NOTE (timePair3): %1$S time number; %2$S time unit
+# example: 1m; 11h
+timePair3=%1$S%2$S
+# LOCALIZATION NOTE (timeLeftSingle3): %1$S time left
+# example: 1m left; 11h left
+timeLeftSingle3=%1$S lagi
+# LOCALIZATION NOTE (timeLeftDouble3): %1$S time left; %2$S time left sub units
+# example: 11h 2m left; 1d 22h left
+timeLeftDouble3=%1$S %2$S lagi
+timeFewSeconds2=Lagi beberapa saat
+timeUnknown2=Tempoh masa tidak diketahui
+
+# LOCALIZATION NOTE (doneScheme2): #1 URI scheme like data: jar: about:
+doneScheme2=%1$S sumber
+# LOCALIZATION NOTE (doneFileScheme): Special case of doneScheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+doneFileScheme=fail tempatan
+
+# LOCALIZATION NOTE (yesterday): Displayed time for files finished yesterday
+yesterday=Semalam
+
+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?
+
+# Desktop folder name for downloaded files
+downloadsFolder=Muat turun
diff --git a/l10n-ms/toolkit/chrome/mozapps/downloads/unknownContentType.properties b/l10n-ms/toolkit/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..fbbb6123bf
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,18 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# 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/.
+
+title=Buka %S
+saveDialogTitle=Masukkan nama fail untuk disimpan...
+defaultApp=%S (piawai)
+chooseAppFilePickerTitle=Pilih Aplikasi Helper
+badApp=Aplikasi yang anda pilih ("%S") tidak ditemui. Semak nama fail atau pilih aplikasi lain.
+badApp.title=Aplikasi tidak ditemui
+badPermissions=Fail tidak boleh disimpan kerana anda tidak mempunyai kebenaran yang sepatutnya. Sila pilih direktori simpanan yang lain.
+badPermissions.title=Kebenaran Simpan Yang Tidak Sah
+unknownAccept.label=Simpan Fail
+unknownCancel.label=Batal
+fileType=Fail %S
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
diff --git a/l10n-ms/toolkit/chrome/mozapps/profile/profileSelection.properties b/l10n-ms/toolkit/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..d00896174c
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Tutup %S
+restartMessageUnlocker=%S sedang berjalan, tetapi tidak memberi respon. Proses lama %S mesti ditutup untuk membuka tetingkap baru.
+restartMessageNoUnlockerMac=Satu alinan %S telah dibuka. Hanya satu salinan %S boleh dibuka pada satu masa.
+restartMessageUnlockerMac=Satu salinan %S telah dibuka. Salinan %S yang dilarikan akan keluar bagi membuka yang ini.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Profil: '%S' - Laluan: '%S'
+
+pleaseSelectTitle=Pilih Profil
+pleaseSelect=Sila pilih profil untuk mulakan %S, atau cipta profil baru.
+
+renameProfileTitle=Namakan semula Profil
+renameProfilePrompt=Menamakan profil "%S" kepada:
+
+profileNameInvalidTitle=Nama profil tidak sah
+profileNameInvalid=Nama profil “%S” tidak dibenarkan.
+
+chooseFolder=Pilih Folder Profil
+profileNameEmpty=Nama profil kosong tidak dibenarkan.
+invalidChar=Aksara "%S" tidak dibenarkan dalam nama profil. Sila pilih nama lain.
+
+deleteTitle=Buang Profil
+deleteProfileConfirm=Membuang profil akan mengeluarkan profil daripada senarai profil dan tidak boleh dibatalkan.\nAnda juga boleh pilih untuk buang fail data profil, termasuk tetapan, sijil dan lain-lain data yang berkaitan dengan pengguna. Pilihan ini akan membuang folder “%S” dan tidak boleh dibatalkan.\nAdakah anda mahu buang fail data profil ini?
+deleteFiles=Buang Fail
+dontDeleteFiles=Jangan Buang Profil
+
+profileCreationFailed=Profil tidak dapat dicipta. Kemungkinan folder dipilih tidak boleh ditulis.
+profileCreationFailedTitle=Penciptaan fail gagal
+profileExists=Profil dengan nama ini telah wujud. Sila pilih nama lain.
+profileFinishText=Klik Tamat untuk mencipta profil baru ini.
+profileFinishTextMac=Klik Siap untuk mencipta profil baru ini.
+profileMissing=Profil %S anda tidak dimuatkan. Ianya mungkin hilang atau tidak dapat diakses.
+profileMissingTitle=Profil Hilang
+
+profileDeletionFailed=Profil tidak dapat dihapuskan kerana sedang digunakan.
+profileDeletionFailedTitle=Gagal Membuang
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=Data %S Lama
+
diff --git a/l10n-ms/toolkit/chrome/mozapps/update/updates.properties b/l10n-ms/toolkit/chrome/mozapps/update/updates.properties
new file mode 100644
index 0000000000..43298b3884
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/mozapps/update/updates.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/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=Tidak, Terima kasih
+noThanksButton.accesskey=T
+# NOTE: The restartLaterButton string is also used in
+# mozapps/extensions/content/blocklist.js
+restartLaterButton=Mula semula Kemudian
+restartLaterButton.accesskey=K
+restartNowButton=Mula semula %S
+restartNowButton.accesskey=M
+
+statusFailed=Pemasangan Gagal
+
+installSuccess=Kemaskini telah berjaya dipasang
+installPending=Pemasangan Belum Selesai
+patchApplyFailure=Kemaskini tidak dapat dipasang (gagal menerap tampalan)
+elevationFailure=Anda tidak ada izin yang diperlukan untuk memasang kemaskini ini. Sila hubungi pentadbir sistem anda.
+
+check_error-200=Kemaskini XML file malformed (200)
+check_error-403=akses ditolak (403)
+check_error-404=Kemaskini fail XML tidak ditemui (404)
+check_error-500=Ralat pelayan dalaman (500)
+check_error-2152398849=Gagal (sebab tidak diketahui)
+check_error-2152398861=Sambungan ditolak
+check_error-2152398862=Sambungan tamat masa
+# NS_ERROR_OFFLINE
+check_error-2152398864=Rangkaian di luar talian (pergi ke dalam talian)
+check_error-2152398867=Port tidak dibenarkan
+check_error-2152398868=Tiada data diterima (sila cuba lagi)
+check_error-2152398878=Kemaskini pelayan tidak ditemui (semak sambungan internet anda)
+check_error-2152398890=Pelayan proksi tidak ditemui (semak sambungan internet anda)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Rangkaian di luar talian (pergi ke dalam talian)
+check_error-2152398919=Pemindahan data telah terganggu (sila cuba lagi)
+check_error-2152398920=Sambungan proksi pelayan tidak diterima
+check_error-2153390069=Sijil telah tamat tempoh (sila ubah waktu sistem anda ke tarikh dan masa yang sepatutnya sekiranya ianya tidak betul)
+check_error-verification_failed=Integriti kemaskini tidak dapat disahkan
diff --git a/l10n-ms/toolkit/chrome/passwordmgr/passwordmgr.properties b/l10n-ms/toolkit/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..9518c9e4ef
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rememberPassword = Guna Pengurus Kata laluan untuk mengingati kata laluan ini.
+savePasswordTitle = Sahkan
+saveLoginButtonAllow.label = Simpan
+saveLoginButtonAllow.accesskey = S
+saveLoginButtonDeny.label = Jangan Simpan
+saveLoginButtonDeny.accesskey = J
+updateLoginButtonText = Kemaskini
+updateLoginButtonAccessKey = U
+updateLoginButtonDeny.label = Jangan kemaskini
+updateLoginButtonDeny.accesskey = J
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Adakah anda mahu mengingati kata laluan untuk "%1$S" pada %2$S?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Adakah anda mahu meingati kata laluan pada %S?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Tiada nama pengguna
+togglePasswordLabel=Papar kata laluan
+togglePasswordAccessKey2=p
+notNowButtonText = &Bukan Sekarang
+neverForSiteButtonText = &Tidak Sesekali untuk Laman Ini
+rememberButtonText = &Ingat
+passwordChangeTitle = Sahkan Menukar Kata laluan
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Adakah anda ingin mengemaskini kata kunci yang disimpan untuk "%S"?
+updatePasswordMsgNoUser = Adakah anda mahu mengemaskini kata kunci yang telah disimpan?
+userSelectText2 = Pilih log masuk untuk dikemaskini:
+loginsDescriptionAll2=Log masuk untuk laman web berikut disimpan dalam komputer anda
+
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=Tiada nama pengguna
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2, insecureFieldWarningDescription3):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = Sambungan ini tidak selamat. Log masuk di sini boleh terdedah kepada bahaya. %1$S
+insecureFieldWarningLearnMore = Ketahui Selanjutnya
+
diff --git a/l10n-ms/toolkit/chrome/places/places.properties b/l10n-ms/toolkit/chrome/places/places.properties
new file mode 100644
index 0000000000..9c1a131f49
--- /dev/null
+++ b/l10n-ms/toolkit/chrome/places/places.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+BookmarksMenuFolderTitle=Menu Tandabuku
+BookmarksToolbarFolderTitle=Bar alatan Tandabuku
+OtherBookmarksFolderTitle=Tandabuku Lain
+TagsFolderTitle=Tag
+MobileBookmarksFolderTitle=Tandabuku Telefon
+
+OrganizerQueryHistory=Sejarah
+OrganizerQueryDownloads=Muat turun
+OrganizerQueryAllBookmarks=Semua Tandabuku
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Hari ini
+finduri-AgeInDays-is-1=Semalam
+finduri-AgeInDays-is=%S hari yang lepas
+finduri-AgeInDays-last-is=%S hari yang lalu
+finduri-AgeInDays-isgreater=Lebih dari %S hari
+finduri-AgeInMonths-is-0=Bulan ini
+finduri-AgeInMonths-isgreater=Lebih dari %S bulan
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(local files)
+
+# LOCALIZATION NOTE
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/l10n-ms/toolkit/crashreporter/aboutcrashes.ftl b/l10n-ms/toolkit/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..b3b4a5eb91
--- /dev/null
+++ b/l10n-ms/toolkit/crashreporter/aboutcrashes.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/-
+
+# 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/.
+
+crash-reports-title = Laporan Ranap
+
+delete-button-label = Buang Semua
+delete-confirm-title = Adakah anda pasti?
+delete-unsubmitted-description = Ini akan menghapuskan semua laporan ranap yang belum dihantar dan tidak boleh dibatalkan.
+delete-submitted-description = Ini akan menghapuskan senarai laporan ranap yang dihantar tapi tidak menghapuskan data. Tindakan ini tidak boleh dibatalkan.
+
+crashes-unsubmitted-label = Laporan Ranap Tidak Dihantar
+id-heading = ID Laporan
+date-crashed-heading = Tarikh Ranap
+submit-crash-button-label = Hantar
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Gagal
+
+crashes-submitted-label = Laporan Ranap Dihantar
+date-submitted-heading = Tarikh Dihantar
+view-crash-button-label = Papar
+
+no-reports-label = Tiada laporan ranap yang telah dihantar.
+no-config-label = Aplikasi ini belum ditetapkan untuk memaparkan laporan ranap. Keutamaan <code>breakpad.reportURL</code> mesti ditetapkan.
diff --git a/l10n-ms/toolkit/crashreporter/crashreporter.ini b/l10n-ms/toolkit/crashreporter/crashreporter.ini
new file mode 100644
index 0000000000..6120ea4565
--- /dev/null
+++ b/l10n-ms/toolkit/crashreporter/crashreporter.ini
@@ -0,0 +1,60 @@
+# 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 (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=Pelapor Ranap
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=%s Pelapor Ranap
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=Aplikasi ini mempunya masalah dan ranap. \n\nMalangnya, pelapor ranap tidak dapat menghantarkan laporan untuk ranap ini. \n \nButirannya: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=%s ada masalah dan ranap.\n\n Malangnya, pelapor kerosakan tidak dapat menghantarkan laporan ranap.\n\nButirannya: %s
+CrashReporterSorry=Kami Meminta Maaf
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=%s mempunyai masalah dan ranap. \n\nUntuk membantu kami mendiagnosis dan memperbetulkan masalah tersebut, anda boleh menghantarkan. laporan ranap kepada kami.
+CrashReporterDefault=Aplikasi ini dilaksanakan selepas ranap untuk melaporkan kerosakan kepada penyedia aplikasi. Ini tidak sepatutnya terus dilaksanakan.
+Details=Butiran…
+ViewReportTitle=Kandungan Laporan
+CommentGrayText=Tambah komen (komen disiarkan kepada umum)
+ExtraReportInfo=Laporan ini juga mengandungi informasi teknikal tentang keadaan aplikasi sewaktu ia gagal.
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=Beritahu %s mengenai ranap ini supaya mereka boleh memperbetulkannya
+CheckIncludeURL=Sertakan alamat halaman saya sekarang
+CheckAllowEmail=Izinkan %s untuk menghubungi saya mengenai laporan ini
+EmailGrayText=Masukkan alamat e-mel anda di sini
+ReportPreSubmit2=Laporan ranap anda akan dihantar sebelum anda keluar atau mula semula.
+ReportDuringSubmit2=Laporan anda sedang dihantar...
+ReportSubmitSuccess=Laporan berjaya dihantar!
+ReportSubmitFailed=Masalah ditemui ketika laporan anda dihantar.
+ReportResubmit=Menghantar semula laporan yang gagal untuk dihantar sebelum ini…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=Keluar %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=Mula semula %s
+Ok=OK
+Close=Tutup
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=ID Ranap: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=Anda boleh papar maklumat ranap ini di %s
+ErrorBadArguments=Aplikasi memberi hujah yang tidak sah.
+ErrorExtraFileExists=Aplikasai ini tidak meninggalkan sebuah fail data aplikasi.
+ErrorExtraFileRead=Tidak dapat membaca fail data applikasi.
+ErrorExtraFileMove=Tidak boleh ubah fail data aplikasi.
+ErrorDumpFileExists=Aplikasi ini tidak meninggalkan sebarang fail longgokan ranap.
+ErrorDumpFileMove=Tidak dapat memindahkan longgokan ranap.
+ErrorNoProductName=Aplikasi tidak dapat mengenali dirinya sendiri.
+ErrorNoServerURL=Aplikasi ini tidak menentukan pelayan pelapor ranap.
+ErrorNoSettingsPath=Tidak dapat mencari tetapan pelapor ranap.
+ErrorCreateDumpDir=Proses membuat direktori longgokan sementara tidak berjaya.
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=Versi %s yang anda sedang gunakan sudah lama tidak disokong. Laporan-laporan kerosakan sudah tidak diterima untuk versi ini. Sila pertimbangkan untuk menambahbaik kepada versi yang disokong.
+
diff --git a/l10n-ms/toolkit/defines.inc b/l10n-ms/toolkit/defines.inc
new file mode 100644
index 0000000000..e7ba7df1a6
--- /dev/null
+++ b/l10n-ms/toolkit/defines.inc
@@ -0,0 +1 @@
+#define MOZ_LANG_TITLE Bahasa Melayu (ms)
diff --git a/l10n-ms/toolkit/toolkit/about/aboutAbout.ftl b/l10n-ms/toolkit/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..24b49de5c2
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutAbout.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/.
+
+about-about-title = Tentang Tentang
+about-about-note =
+ Ini ialah senarai “perihal” halaman untuk kemudahan anda.<br/>
+ Sebahagiannya mungkin mengelirukan. Ada hanya untuk tujuan diagnostik.<br/>
+ Dan ada yang dikeluarkan kerana perlukan query strings.
diff --git a/l10n-ms/toolkit/toolkit/about/aboutAddons.ftl b/l10n-ms/toolkit/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..585f849d24
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,245 @@
+# 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/.
+
+addons-page-title = Pengurus Add-ons
+
+search-header =
+ .placeholder = Cari di addons.mozilla.org
+ .searchbuttonlabel = Cari
+
+search-header-shortcut =
+ .key = f
+
+list-empty-installed =
+ .value = Anda tidak mempunyai add-ons jenis ini yang dipasang
+
+list-empty-available-updates =
+ .value = Tiada kemaskini ditemui
+
+list-empty-recent-updates =
+ .value = Anda tidak ada mengemaskini sebarang add-on baru-baru ini
+
+list-empty-find-updates =
+ .label = Semak Kemaskini
+
+list-empty-button =
+ .label = Ketahui selanjutnya mengenai add-ons
+
+help-button = Sokongan Add-ons
+sidebar-help-button-title =
+ .title = Sokongan Add-ons
+
+show-unsigned-extensions-button =
+ .label = Beberapa ekstensi tidak dapat disahkan
+
+show-all-extensions-button =
+ .label = Papar semua ekstensi
+
+detail-version =
+ .label = Versi
+
+detail-last-updated =
+ .label = Kemaskini Terakhir
+
+detail-contributions-description = Pembangun aplikasi tambahan ini meminta anda bantuan untuk menyokong pembangunan yang berterusan dengan memberikan sedikit sumbangan.
+
+detail-update-type =
+ .value = Kemaskini automatik
+
+detail-update-default =
+ .label = Piawai
+ .tooltiptext = Pasang kemaskini secara automatik hanya jika itulah piawai
+
+detail-update-automatic =
+ .label = Aktif
+ .tooltiptext = Pasang kemaskini secara automatik
+
+detail-update-manual =
+ .label = Nyahaktif
+ .tooltiptext = Jangan pasang kemaskini secara automatik
+
+detail-home =
+ .label = Laman
+
+detail-home-value =
+ .value = { detail-home.label }
+
+detail-repository =
+ .label = Profil add-on
+
+detail-repository-value =
+ .value = { detail-repository.label }
+
+detail-check-for-updates =
+ .label = Semak Kemaskini
+ .accesskey = n
+ .tooltiptext = Semak kemaskini add-on ini
+
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Pilihan
+ *[other] Keutamaan
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] P
+ *[other] K
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Tukar pilihan add-on ini
+ *[other] Tukar keutamaan add-on ini
+ }
+
+detail-rating =
+ .value = Kadaran
+
+addon-restart-now =
+ .label = Mula semula sekarang
+
+disabled-unsigned-heading =
+ .value = Beberapa add-ons telah dinyahdayakan
+
+disabled-unsigned-description = Add-ons berikut belum disahkan untuk digunakan dalam { -brand-short-name }. Anda boleh <label data-l10n-name="find-addons">cari pengganti</label> atau tanya pembangun untuk mengesahkannya.
+
+disabled-unsigned-learn-more = Ketahui selanjutnya mengenai usaha kami untuk memastikan anda selamat dalam talian.
+
+disabled-unsigned-devinfo = Pembangun yang berminat untuk mengesahkan add-on mereka boleh meneruskan dengan membaca <label data-l10n-name="learn-more">manual</label>.
+
+plugin-deprecation-description = Ada sesuatu yang tidak kena? Ada plugin yang tidak lagi disokong oleh { -brand-short-name }. <label data-l10n-name="learn-more">Ketahui Selanjutnya.</label>
+
+legacy-warning-show-legacy = Pamerkan ekstensi legasi
+
+legacy-extensions =
+ .value = Ekstensi Legasi
+
+legacy-extensions-description = Ekstensi berikut tidak memenuhi piawai { -brand-short-name } oleh itu dinyahaktifkan. <label data-l10n-name="legacy-learn-more">Ketahui lanjut perubahan add-ons</label>
+
+addon-category-extension = Ekstensi
+addon-category-extension-title =
+ .title = Ekstensi
+addon-category-theme = Tema
+addon-category-theme-title =
+ .title = Tema
+addon-category-plugin = Plugin
+addon-category-plugin-title =
+ .title = Plugin
+addon-category-dictionary = Kamus
+addon-category-dictionary-title =
+ .title = Kamus
+addon-category-locale = Bahasa
+addon-category-locale-title =
+ .title = Bahasa
+addon-category-available-updates = Kemaskini Tersedia
+addon-category-available-updates-title =
+ .title = Kemaskini Tersedia
+addon-category-recent-updates = Kemaskini Terkini
+addon-category-recent-updates-title =
+ .title = Kemaskini Terkini
+
+## These are global warnings
+
+extensions-warning-safe-mode = Semua add-ons telah dinyahdayakan oleh mod selamat.
+extensions-warning-check-compatibility = Pemeriksaan kesesuaian add-on telah dinyahdayakan. Anda mungkin mempunyai add-on yang tidak sesuai.
+extensions-warning-check-compatibility-button = Dayakan
+ .title = Dayakan semakan kesesuaian add-on
+extensions-warning-update-security = Semakan keselamatan kemaskini add-on telah dinyahdayakan. Anda mungkin terdedah kepada bahaya ketika mengemaskini.
+extensions-warning-update-security-button = Dayakan
+ .title = Dayakan semakan keselamatan kemaskini add-on
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Semak Kemaskini
+ .accesskey = e
+addon-updates-view-updates = Papar Kemaskini Terbaru
+ .accesskey = P
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Kemaskini Add-ons secara Automatik
+ .accesskey = A
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Set semula Semua Add-ons untuk Kemaskini Automatik
+ .accesskey = u
+addon-updates-reset-updates-to-manual = Set semula Semua Add-ons Untuk Kemaskini Manual
+ .accesskey = n
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Mengemaskini add-on
+addon-updates-installed = Add-ons anda telah dikemaskini.
+addon-updates-none-found = Tiada kemaskini ditemui
+addon-updates-manual-updates-found = Papar Kemaskini Tersedia
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Pasang Add-ons Dari Fail…
+ .accesskey = I
+addon-install-from-file-dialog-title = Pilih add-on untuk dipasang
+addon-install-from-file-filter-name = Add-ons
+addon-open-about-debugging = Add-ons Nyahpepijat
+ .accesskey = s
+
+## Extension shortcut management
+
+
+## Recommended add-ons page
+
+
+## Add-on actions
+
+
+## Pending uninstall message bar
+
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+
+##
+
+
+## Page headings
+
+extension-heading = Urus ekstensi anda
+theme-heading = Urus tema anda
+plugin-heading = Urus plugin anda
+dictionary-heading = Urus kamus anda
+locale-heading = Urus bahasa anda
+
+addons-heading-search-input =
+ .placeholder = Cari di addons.mozilla.org
+
+addon-page-options-button =
+ .title = Alatan untuk semua add-on
+
+## Detail notifications
+## Variables:
+## $name (String): name of the add-on.
+
+# Variables:
+# $version (String): application version.
+details-notification-incompatible = { $name } tidak serasi dengan { -brand-short-name } { $version }.
+
+details-notification-unsigned-and-disabled = { $name } tidak dapat disahkan untuk digunakan di { -brand-short-name } dan ia telah dinyahdayakan.
+details-notification-unsigned-and-disabled-link = Maklumat Lanjut
+
+details-notification-unsigned = { $name } tidak dapat disahkan untuk digunakan di { -brand-short-name }. Teruskan dengan berhati-hati.
+details-notification-unsigned-link = Maklumat Lanjut
+
+details-notification-blocked = { $name } telah dinyahdayakan kerana isu keselamatan atau kestabilan.
+details-notification-blocked-link = Maklumat Lanjut
+
+details-notification-softblocked = { $name } telah dikenalpasti sebagai punca dalam isu keselamatan dan kestabilan.
+details-notification-softblocked-link = Maklumat Lanjut
+
+details-notification-gmp-pending = { $name } akan dipasang sebentar lagi.
diff --git a/l10n-ms/toolkit/toolkit/about/aboutCompat.ftl b/l10n-ms/toolkit/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..038302869e
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutCompat.ftl
@@ -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/.
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutGlean.ftl b/l10n-ms/toolkit/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..a2108aff19
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutGlean.ftl
@@ -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/.
+
+### "Glean" and "Glean SDK" should remain in English.
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutHttpsOnlyError.ftl b/l10n-ms/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..5cb0c24ec7
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutHttpsOnlyError.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/.
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutLogging.ftl b/l10n-ms/toolkit/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..d6e245298a
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutLogging.ftl
@@ -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/.
+
+about-logging-current-log-file = Fail Log Semasa:
+about-logging-current-log-modules = Modul Log Semasa:
+about-logging-log-tutorial = Rujuk <a data-l10n-name="logging">HTTP Menglog</a> untuk arahan cara menggunakan alatan ini.
+about-logging-set-log-file = Set Fail Log
+about-logging-set-log-modules = Set Modul Log
+about-logging-start-logging = Mulakan Menglog
+about-logging-stop-logging = Hentikan Menglog
+
+-profiler-brand-name = Firefox Profiler
diff --git a/l10n-ms/toolkit/toolkit/about/aboutMozilla.ftl b/l10n-ms/toolkit/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutNetworking.ftl b/l10n-ms/toolkit/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..a336b6b505
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,60 @@
+# 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-networking-title = Tentang Jaringan
+about-networking-http = HTTP
+about-networking-sockets = Soket
+about-networking-dns = DNS
+about-networking-websockets = WebSocket
+about-networking-refresh = Muat semula
+about-networking-auto-refresh = Segarkan secara automatik setiap 3 saat
+about-networking-hostname = Nama hos
+about-networking-port = Port
+about-networking-ssl = SSL
+about-networking-active = Aktif
+about-networking-idle = Melahu
+about-networking-host = Hos
+about-networking-sent = Dihantar
+about-networking-received = Diterima
+about-networking-family = Keluarga
+about-networking-trr = TRR
+about-networking-addresses = Alamat
+about-networking-expires = Luput (Saat)
+about-networking-messages-sent = Mesej Dihantar
+about-networking-messages-received = Mesej Diterima
+about-networking-bytes-sent = Bait Dihantar
+about-networking-bytes-received = Bait Diterima
+about-networking-logging = Menglog
+about-networking-log-tutorial = Rujuk <a data-l10n-name="logging">HTTP Menglog</a> untuk arahan cara menggunakan alatan ini.
+about-networking-current-log-file = Fail Log Semasa:
+about-networking-current-log-modules = Modul Log Semasa:
+about-networking-set-log-file = Set Fail Log
+about-networking-set-log-modules = Set Modul Log
+about-networking-start-logging = Mulakan Menglog
+about-networking-stop-logging = Hentikan Menglog
+about-networking-dns-lookup = Carian DNS
+about-networking-dns-lookup-button = Uraikan
+about-networking-dns-domain = Domain:
+about-networking-dns-lookup-table-column = IP
+about-networking-rcwn = RCWN Stats
+about-networking-rcwn-status = RCWN Status
+about-networking-rcwn-cache-won-count = Cache won count
+about-networking-rcwn-net-won-count = Net won count
+about-networking-total-network-requests = Jumlah bilangan permintaan rangkaian
+about-networking-rcwn-operation = Operasi Cache
+about-networking-rcwn-perf-open = Buka
+about-networking-rcwn-perf-read = Dibaca
+about-networking-rcwn-perf-write = Tulis
+about-networking-rcwn-perf-entry-open = Entri Terbuka
+about-networking-rcwn-avg-short = Purata Pendek
+about-networking-rcwn-avg-long = Purata Panjang
+about-networking-rcwn-std-dev-long = Sisihan Piawai Panjang
+about-networking-rcwn-cache-slow = Kiraan perlahan cache
+about-networking-rcwn-cache-not-slow = Kiraan tidak perlahan cache
+
+## Link is intended as "network link"
+
+
+##
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutPerformance.ftl b/l10n-ms/toolkit/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..c80448662f
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutPerformance.ftl
@@ -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/.
+
+# Page title
+about-performance-title = Pengurus Tugasan
+
+## Column headers
+
+column-name = Nama
+column-type = Jenis
+column-energy-impact = Impak Tenaga
+
+## Special values for the Name column
+
+ghost-windows = Tab terkini ditutup
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Pramuat: { $title }
+
+## Values for the Type column
+
+type-tab = Tab
+type-subframe = Subbingkai
+type-tracker = Penjejak
+type-addon = Add-on
+type-browser = Pelayar
+type-worker = Worker
+type-other = Lain-lain
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = Tinggi ({ $value })
+energy-impact-medium = Medium ({ $value })
+energy-impact-low = Rendah ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Tutup tab
+show-addon =
+ .title = Papar dalam Pengurus Add-ons
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occured for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occured in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ Penghantaran sejak beban: { $totalDispatches } ({ $totalDuration }ms)
+ Penghantaran dalam saat terakhir: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms)
diff --git a/l10n-ms/toolkit/toolkit/about/aboutPlugins.ftl b/l10n-ms/toolkit/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..c1630325cb
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutPlugins.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/.
+
+title-label = Perihal Plugin
+
+installed-plugins-label = Plugin dipasang
+no-plugins-are-installed-label = Tiada plugin terpasang yang ditemui
+
+deprecation-description = Ada sesuatu yang tidak kena? Ada plugin yang tidak lagi disokong. <a data-l10n-name="deprecation-link">Ketahui Selanjutnya.</a>
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">Fail:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Laluan:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Versi:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">Keadaan:</span> Didayakan
+state-dd-enabled-block-list-state = <span data-l10n-name="state">Keadaan:</span> Didayakan ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">Keadaan:</span> Dinyahdayakan
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">Keadaan:</span> Dinyahdayakan ({ $blockListState })
+
+mime-type-label = Jenis MIME
+description-label = Keterangan
+suffixes-label = Akhiran
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Maklumat lesen
+plugins-gmp-privacy-info = Maklumat Privasi
+
+plugins-openh264-name = Kodek Video OpenH264 disediakan oleh Cisco Systems, Inc.
+plugins-openh264-description = Plugin ini dipasang secara automatik oleh Mozilla untuk mematuhi spesifikasi WebRTC dan untuk membolehkan panggilan WebRTC dengan peranti yang memerlukan kodeks video H.264. Layari http://www.openh264.org/ untuk melihat kod sumber kodeks dan ketahui selanjutnya mengenai pelaksanaannya.
+
+plugins-widevine-name = Modul Dekripsi Kandungan Widevine yang disediakan oleh Google Inc.
diff --git a/l10n-ms/toolkit/toolkit/about/aboutProcesses.ftl b/l10n-ms/toolkit/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..a7da2a3725
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutProcesses.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/.
+
+## Tooltips
+
+## Column headers
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+## Isolated process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+
+## Details within processes
+
+## Utility process actor names
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+## Duration units
+
+## Memory units
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutProfiles.ftl b/l10n-ms/toolkit/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..8bebe48f34
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,66 @@
+# 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/.
+
+
+profiles-title = Maklumat Profil
+profiles-subtitle = Halaman ini membantu anda untuk menguruskan profil. Setiap profil adalah entiti berbeza yang mengandungi perkataan, sejarah, tanda buku, tetapan dan add-ons yang berasingan.
+profiles-create = Cipta Profil Baru
+profiles-restart-title = Mula semula
+profiles-restart-in-safe-mode = Mula semula dengan Add-ons Dinyahdayakan…
+profiles-restart-normal = Mula semula secara normal…
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Profil: { $name }
+profiles-is-default = Profil Piawai
+profiles-rootdir = Direktori Root
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = Direktori Lokal
+profiles-current-profile = Ini adalah profil yang sedang digunakan dan tidak boleh dihapuskan.
+profiles-in-use-profile = Profil ini sedang digunakan dalam aplikasi lain dan tidak boleh dibuang.
+
+profiles-rename = Namakan semula
+profiles-remove = Buang
+profiles-set-as-default = Set sebagai profil piawai
+profiles-launch-profile = Lancarkan profil dalam pelayar baru
+
+profiles-yes = ya
+profiles-no = tidak
+
+profiles-rename-profile-title = Namakan semula Profil
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Namakan semula profil { $name }
+
+profiles-invalid-profile-name-title = Nama profil tidak sah
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = Nama profil “{ $name }” tidak dibenarkan.
+
+profiles-delete-profile-title = Buang Profil
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Membuang profil akan mengeluarkan profil daripada senarai profil dan tidak boleh dibatalkan.
+ Anda juga boleh pilih untuk buang fail data profil, termasuk tetapan, sijil dan lain-lain data yang berkaitan dengan pengguna. Pilihan ini akan membuang folder “{ $dir }” dan tidak boleh dibatalkan.
+ Adakah anda mahu buang fail data profil ini?
+profiles-delete-files = Buang Fail
+profiles-dont-delete-files = Jangan Buang Profil
+
+profiles-delete-profile-failed-title = Ralat
+profiles-delete-profile-failed-message = Ada ralat semasa percubaan untuk membuang profil ini.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Papar dalam Finder
+ [windows] Buka Folder
+ *[other] Buka Direktori
+ }
diff --git a/l10n-ms/toolkit/toolkit/about/aboutReader.ftl b/l10n-ms/toolkit/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..b32444408b
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutReader.ftl
@@ -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/.
+
+about-reader-loading = Memuatkan…
+about-reader-load-error = Gagal memuatkan artikel daripada halaman
+# An estimate for how long it takes to read an article,
+# expressed as a range covering both slow and fast readers.
+# Variables:
+# $rangePlural (String): The plural category of the range, using the same set as for numbers.
+# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1".
+about-reader-estimated-read-time = { $range } minit
+
+## These are used as tooltips in Type Control
+
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Serif
+about-reader-font-type-sans-serif = Sans-serif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Tutup Reader View
+about-reader-toolbar-type-controls = Jenis kawalan
diff --git a/l10n-ms/toolkit/toolkit/about/aboutRights.ftl b/l10n-ms/toolkit/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..895ed21cde
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+rights-title = Perihal Hak Anda
+rights-intro = { -brand-full-name } adalah perisian percuma dan sumber terbuka, dibina oleh komuniti yang terdiri daripada ribuan penyumbang dari seluruh dunia. Ada beberapa perkara yang anda perlu tahu:
+rights-intro-point-1 = { -brand-short-name } disediakan untuk anda di bawah terma <a data-l10n-name="mozilla-public-license-link">Lesen Awam Mozilla</a>. Ini bermakna anda boleh guna, salin dan edarkan { -brand-short-name } kepada pihak lain. Anda juga dialu-alukan untuk mengubahsuai kod sumber { -brand-short-name } untuk memenuhi keperluan anda. Lesen Umum Mozilla juga memberikan anda hak untuk mengedarkan versi yang diubah suai.
+rights-intro-point-2 = Anda tidak diberi hak tanda dagangan atau lesen untuk tanda dagangan Mozilla Foundation atau mana-mana pihak, termasuk tidak terhad kepada nama Firefox atau logonya. Maklumat tambahan mengenai tanda dagangan boleh ditemui di <a data-l10n-name="mozilla-trademarks-link">di sini</a>.
+rights-intro-point-3 = Beberapa ciri dalam { -brand-short-name }, seperti Crash Reporter akan memberikan anda pilihan untuk memberikan maklum balas kepada { -vendor-short-name }. Dengan memilih untuk memberikan maklum balas, anda akan memberikan { -vendor-short-name } kebenaran untuk menggunakan maklum balas tersebut untuk menambahbaik produknya, untuk memaparkan maklum balas tersebut di laman web, dan untuk menyebarkan maklum balas tersebut.
+rights-intro-point-4 = Bagaimana kami menggunakan maklumat peribadi dan maklum balas yang dihantar kepada { -vendor-short-name } melalui { -brand-short-name } adalah seperti yang diterangkan di dalam <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } Polisi Privasi</a>.
+rights-intro-point-4-unbranded = Sebarang polisi privasi lain yang diguna pakai untuk produk ini hendaklah disenaraikan di sini.
+rights-intro-point-5 = Beberapa { -brand-short-name } ciri-ciri menggunakan perkhidmatan-perkhidmatan maklumat berlandaskan web, walaubagaimana, kami tidak boleh menjamin bahawa ciri-ciri tersebut 100%; tepat atau tiada ralat. Maklumat lanjut, termasuk maklumat mengenai bagaimana untuk mematikan ciri-ciri yang menggunakan perkhidmatan-perkhidmatan ini, boleh didapati dalamnya <a data-l10n-name="mozilla-service-terms-link">terma perkhidmatan</a>.
+rights-intro-point-5-unbranded = Sekiranya produk ini merangkumi perkhidmatan web, sebarang terma perkhidmatan yang diguna pakai untuk perkhidmatan ini perlu dihubungkan ke <a data-l10n-name="mozilla-website-services-link">Servis Laman Web</a> bahagian.
+rights-intro-point-6 = Untuk main semula sesetengah jenis kandungan video, { -brand-short-name } memuat turun sesetengah modul dekripsi kandungan daripada pihak ketiga.
+rights-webservices-header = { -brand-full-name } Servis Informasi berdasarkan Web
+rights-webservices = { -brand-full-name } menggunakan perkhidmatan maklumat -berasaskan-web ("Perkhidmatans") untuk menyediakan beberapa ciri yang disediakan untuk kegunaan anda dengan versi binari { -brand-short-name } di bawah terma yang dinyatakan dibawah. Jika anda tidak mahu menggunakan salah satu daripada Perkhidmatan atau tidak menerima terma di bawah, anda boleh nyahdayakan mana-mana ciri Perkhidmatan tersebut. Arahan mengenai cara untuk menyahdayakan ciri atau Perkhidmatan tertentu boleh ditemui di <a data-l10n-name="mozilla-disable-service-link">di sini</a>. Ciri lain dan Services boleh dinyahdayakan dalam keutamaan aplikasi.
+rights-safebrowsing = <strong>SafeBrowsing: </strong>Anda tidak disyorkan untuk menyahaktifkan ciri Pelayaran Selamat kerana anda mungkin melayari laman yang tidak selamat. Jika anda mahu menyahaktifkan semua ciri ini, ikuti langkah berikut:
+rights-safebrowsing-term-1 = Buka tetapan keutamaan aplikasi
+rights-safebrowsing-term-2 = Pilih pilihan keselamatan
+rights-safebrowsing-term-3 = Nyahpilih pilihan untuk "{ enableSafeBrowsing-label }"
+enableSafeBrowsing-label = Sekat isi kandung berbahaya dan memperdayakan
+rights-safebrowsing-term-4 = Pelayaran Selamat kini dinyahaktifkan
+rights-locationawarebrowsing = <strong>Pelayaran Sedar Lokasi: </strong>adalah satu ciri pilihan. Tiada maklumat lokasi yang akan dihantar tanpa keizinan anda. Jika anda mahu menyahaktifkan ciri ini secara keseluruhan, ikuti arahan berikut:
+rights-locationawarebrowsing-term-1 = Di bar URL, taip <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Taip geo.enabled
+rights-locationawarebrowsing-term-3 = Klik-dua kali pada keutamaan geo.enabled
+rights-locationawarebrowsing-term-4 = Location-Aware Browsing kini dinyahdayakan
+rights-webservices-unbranded = Gambaran keseluruhan perkhidmatan laman web yang mengandungi produk, berserta arahan untuk menyahdayakannya, jika ada, perlu disertakan di sini.
+rights-webservices-term-unbranded = Apa jua terma perkhidmatan yang diguna pakai bagi produk ini mestilah disenaraikan di sini.
+rights-webservices-term-1 = { -vendor-short-name } serta semua penyumbang, pemberi lesen dan rakan kongsi berusaha untuk menyediakan perkhidmatan yang paling tepat dan terkini.  Walau bagaimanapun, kami tidak dapat menjamin bahawa maklumat ini komprehensif dan bebas daripada ralat. Sebagai contoh, Safe Browsing Service mungkin tidak dapat mengenal pasti beberapa laman berisiko dan mungkin mengenal pasti beberapa laman selamat semasa ralat dan Location Aware Service mengenal pasti semua lokasi yang dikembalikan oleh pembekal perkhidmatan kami hanyalah anggaran sahaja dan kami atau pembekal perkhidmatan kami tidak menjamin ketepatan lokasi yang disediakan.
+rights-webservices-term-2 = { -vendor-short-name } boleh memberhentikan atau mengubah Perkhidmatan mengikut budi bicara.
+rights-webservices-term-3 = Anda dialu-alukan menggunakan Perkhidmatan ini berserta versi iringan { -brand-short-name }, dan { -vendor-short-name } memberikan anda hak berbuat sedemikian.  { -vendor-short-name } dan pemegang lesennya mempunyai semua hak terhadap Perkhidmatan tersebut.  Terma ini tidak bertujuan untuk menghadkan sebarang hak yang diberikan di bawah lesen sumber terbuka { -brand-short-name } dan versi kod sumber yang ada kaitan dengan { -brand-short-name }.
+rights-webservices-term-4 = <strong>Perkhidmatan ini disediakan "mengikut" { -vendor-short-name }, penyumbang, pemberi lesen, dan pengedar, menafikan semua jaminan, sama ada yang dinyatakan atau yang tersirat, termasuk tanpa batasan, jaminan bahawa Perkhidmatan yang boleh diperdagangkan dan sesuai untuk tujuan anda yang tertentu. Anda menanggung risiko secara menyeluruh untuk memilih Perkhidmatan untuk apa jua tujuan anda dan kepada kualiti dan prestasi Perkhidmatan. Sesetengah bidang kuasa tidak membenarkan pengecualian atau batasan jaminan yang tersirat, jadi penafian ini tidak mungkin dikenakan kepada anda.</strong>
+rights-webservices-term-5 = <strong>Kecuali dikehendaki oleh undang-undang, { -vendor-short-name }, para penyumbang, pemberi lesen dan para pengedar tidak bertanggungjawab ke atas mana-mana kerugian sampingan, khusus, tidak sengaja, berbangkit, punitif atau teladan yang terhasil daripada atau cara yang dikaitkan dengan penggunaan { -brand-short-name } dan Perkhidmatan ini. Liabiliti kolektif di bawah terma ini tidak akan melebihi $500 (lima ratus dolar). Sesetengah bidang kuasa tidak membenarkan pengecualian atau had kerugian tertentu, jadi pengecualian ini dan had mungkin tidak dikenakan kepada anda.</strong>
+rights-webservices-term-6 = { -vendor-short-name } mungkin mengemaskini terma ini jika diperlukan daripada masa ke semasa. Terma ini tidak boleh diubah atau dibatalkan tanpa persetujuan bertulis { -vendor-short-name }.
+rights-webservices-term-7 = Terma ini ditadbir oleh undang-undang negeri California, Amerika Syarikat, tidak termasuk konflik peruntukan undang-undang. Jika mana-mana bahagian terma ini diputuskan sebagai tidak sah atau tidak boleh dikuatkuasakan, bahagian yang tinggal akan terus berkuat kuasa dan berkesan sepenuhnya. Sekiranya berlaku percanggahan antara terma versi terjemahan ini dengan versi Bahasa Inggeris, versi Bahasa Inggeris akan diguna pakai.
diff --git a/l10n-ms/toolkit/toolkit/about/aboutServiceWorkers.ftl b/l10n-ms/toolkit/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..ee282a429f
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutServiceWorkers.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/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = Perihal Service Workers
+about-service-workers-main-title = Service Workers Berdaftar
+about-service-workers-warning-not-enabled = Service Workers tidak didayakan.
+about-service-workers-warning-no-service-workers = Tiada Service Workers didaftar.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Asalan: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>Skop:</strong> { $name }
+script-spec = <strong>Spesifikasi Skrip:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>URL Current Worker:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Nama Cache Aktif:</strong> { $name }
+waiting-cache-name = <strong>Menunggu Nama Cache:</strong> { $name }
+push-end-point-waiting = <strong>Dorang Titik akhir:</strong> { waiting }
+push-end-point-result = <strong>Dorang Titik akhir:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Kemaskini
+
+unregister-button = Nyahdaftar
+
+unregister-error = Gagal mendaftar Service Worker ini.
+
+waiting = Menunggu…
diff --git a/l10n-ms/toolkit/toolkit/about/aboutSupport.ftl b/l10n-ms/toolkit/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..8af5d5963d
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,268 @@
+# 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-title = Maklumat Pencarisilapan
+page-subtitle =
+ Halaman ini mengandungi maklumat teknikal yang mungkin berguna apabila anda
+ cuba menyelesaikan masalah. Jika anda mencari jawapan soalan lazim
+ berkenaan { -brand-short-name }, semak di <a data-l10n-name="support-link">support website</a>.
+
+crashes-title = Laporan Ranap
+crashes-id = ID Laporan
+crashes-send-date = Dihantar
+crashes-all-reports = Semua Laporan Ranap
+crashes-no-config = APlikasi ini tidak dikonfigurkan untuk memaparkan laporan nahas.
+support-addons-name = Nama
+support-addons-version = Versi
+support-addons-id = ID
+security-software-title = Perisian Keselamatan
+security-software-type = Jenis
+security-software-name = Nama
+security-software-antivirus = Anti-virus
+security-software-antispyware = Anti-perisian pengintip
+security-software-firewall = Firewall
+features-title = Ciri { -brand-short-name }
+features-name = Nama
+features-version = Versi
+features-id = ID
+app-basics-title = Asas Aplikasi
+app-basics-name = Nama
+app-basics-version = Versi
+app-basics-build-id = ID Binaan
+app-basics-update-channel = Saluran Kemaskini
+app-basics-update-history = Sejarah Kemaskini
+app-basics-show-update-history = Papar Sejarah Kemaskini
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Direktori Profil
+ *[other] Folder Profil
+ }
+app-basics-enabled-plugins = Dayakan Plugins
+app-basics-build-config = Konfigurasi Binaan
+app-basics-user-agent = Ejen pengguna
+app-basics-os = OS
+app-basics-memory-use = Kegunaan Memori
+app-basics-performance = Prestasi
+app-basics-service-workers = Service Workers Berdaftar
+app-basics-profiles = Profil
+app-basics-multi-process-support = Tetingkap Multiproses
+app-basics-enterprise-policies = Polisi Syarikat
+app-basics-key-mozilla = Mozilla Location Service Key
+app-basics-safe-mode = Mod Selamat
+
+show-dir-label =
+ { PLATFORM() ->
+ [macos] Papar dalam Finder
+ [windows] Buka Folder
+ *[other] Buka Direktori
+ }
+modified-key-prefs-title = Pengubahan rujukan pilihan yang penting
+modified-prefs-name = Nama
+modified-prefs-value = Nilai
+user-js-title = Keutamaan user.js
+user-js-description = Profil folder anda mengandungi satu <a data-l10n-name="user-js-link">fail user.js</a>, dimana termasuk tetapan yang tidak dilakukan oleh { -brand-short-name } .
+locked-key-prefs-title = Keutamaan Terkunci Yang Penting
+locked-prefs-name = Nama
+locked-prefs-value = Nilai
+graphics-title = Grafik
+graphics-features-title = Ciri
+graphics-diagnostics-title = Diagnostik
+graphics-failure-log-title = Log Kegagalan
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Log Keputusan
+graphics-crash-guards-title = Ciri Crash Guard Dinyahdayakan
+graphics-workarounds-title = Workarounds
+place-database-title = Tempat Pangkalan Data
+place-database-integrity = Integriti
+place-database-verify-integrity = Sahkan Integriti
+a11y-title = Ketercapaian
+a11y-activated = Diaktifkan
+a11y-force-disabled = Halang Ketercapaian
+a11y-handler-used = Menggunakan Accessible Handler
+a11y-instantiator = Penyegera Ketercapaian
+library-version-title = Versi Pustaka
+copy-text-to-clipboard-label = Salin teks ke klipbod
+copy-raw-data-to-clipboard-label = Salin data mentah kepada klipbod
+sandbox-title = Sandbox
+sandbox-sys-call-log-title = Rejected System Calls
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Beberapa Saat Lepas
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Jenis Proses
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Arguments
+
+## Media titles
+
+audio-backend = Backend Audio
+max-audio-channels = Saluran Max
+sample-rate = Kadar Sampel Diutamakan
+media-title = Media
+media-output-devices-title = Peranti Output
+media-input-devices-title = Peranti Input
+media-device-name = Nama
+media-device-group = Kumpulan
+media-device-vendor = Pembekal
+media-device-state = Negara
+media-device-preferred = Diutamakan
+media-device-format = Format
+media-device-channels = Saluran
+media-device-rate = Kadar
+media-device-latency = Kependaman
+
+##
+
+intl-title = Pengantarabangsaan & Lokalisasi
+intl-app-title = Tetapan Aplikasi
+intl-locales-requested = Lokaliti Diminta
+intl-locales-available = Lokaliti Tersedia
+intl-locales-supported = Lokaliti Aplikasi
+intl-locales-default = Lokaliti Piawai
+intl-os-title = Sistem Pengoperasian
+intl-os-prefs-system-locales = Lokaliti Sistem
+intl-regional-prefs = Keutamaan Wilayah
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days = Laporan Ranap untuk { $days } Hari Terakhir
+
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes = { $minutes } minit yang lalu
+
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours = { $hours } jam yang lalu
+
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days = { $days } hari yang lalu
+
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports = Semua Laporan Ranap (termasuk { $reports } ranap tertangguh dalam julat masa yang diberikan)
+
+raw-data-copied = Data mentah telah disalin pada klipbod
+text-copied = Teks disalin ke klipbod
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Disekat bagi versi pemacu grafik anda.
+blocked-gfx-card = Disekat kerana isu pemacu kad grafik anda yang tidak dapat diselesaikan.
+blocked-os-version = Disekat kerana versi sistem operasi anda.
+blocked-mismatched-version = Disekat kerana versi pemacu grafik anda tidak sepadan dengan registry dan DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Disekat kerana versi pemacu grafik anda. Cuba kemaskini peranti grafik anda kepada versi { $driverVersion } atau yang terkini.
+
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = Parameter ClearType
+
+compositing = Penggubahan
+hardware-h264 = Perkakasan Penyahkodan H264
+main-thread-no-omtc = rantaian utama, tidak OMTC
+yes = Ya
+no = Tidak
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = Found
+missing = Tiada
+
+gpu-description = Keterangan
+gpu-vendor-id = ID Vendor
+gpu-device-id = ID Alatan
+gpu-subsys-id = IS Subsys
+gpu-drivers = Pemacu
+gpu-ram = RAM
+gpu-driver-version = Versi Pemacu
+gpu-driver-date = Tarikh Pemacu
+gpu-active = Aktif
+webgl1-wsiinfo = WebGL 1 Driver WSI Info
+webgl1-renderer = WebGL 1 Driver Renderer
+webgl1-version = WebGL 1 Driver Version
+webgl1-driver-extensions = WebGL 1 Driver Extensions
+webgl1-extensions = WebGL 1 Extensions
+webgl2-wsiinfo = WebGL 2 Driver WSI Info
+webgl2-renderer = Pemapar WebGL2
+webgl2-version = WebGL 2 Driver Version
+webgl2-driver-extensions = WebGL 2 Driver Extensions
+webgl2-extensions = WebGL 2 Extensions
+
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Disenarai-sekat; kod kegagalan { $failureCode }
+
+d3d11layers-crash-guard = Pengatur huruf D3D11
+glcontext-crash-guard = OpenGL
+
+reset-on-next-restart = Set semula pada Mula semula yang Seterusnya
+gpu-process-kill-button = Batalkan Proses GPU
+gpu-device-reset-button = Set semula Trigger Device
+uses-tiling = Menggunakan Jubin
+content-uses-tiling = Guna Jubin (Kandungan)
+off-main-thread-paint-enabled = Tutup Lukisan Thread Utama Didayakan
+off-main-thread-paint-worker-count = Tutup Kiraan Main Thread Painting Worker
+
+min-lib-versions = Versi minimum yang dijangka
+loaded-lib-versions = Versi yang digunakan
+
+has-seccomp-bpf = Seccomp-BPF (sistem panggil penapisan)
+has-seccomp-tsync = Seccomp Thread Synchronization
+has-user-namespaces = User Namespaces
+has-privileged-user-namespaces = User Namespaces untuk keutamaan memproses
+can-sandbox-content = Kandungan proses Sandboxing
+can-sandbox-media = Media Plugin Sandboxing
+content-sandbox-level = Content Process Sandbox Level
+effective-content-sandbox-level = Effective Content Process Sandbox Level
+sandbox-proc-type-content = kandungan
+sandbox-proc-type-file = kandungan fail
+sandbox-proc-type-media-plugin = media plugin
+
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+
+async-pan-zoom = Asynchronous Pan/Zoom
+apz-none = tiada
+wheel-enabled = input wheel didayakan
+touch-enabled = input sentuh didayakan
+drag-enabled = seret scrollbar didayakan
+keyboard-enabled = papan kekunci didayakan
+autoscroll-enabled = auto-skrol diaktifkan
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = async wheel input dinyahdaya kerana pref tidak disokong: { $preferenceKey }
+touch-warning = async touch input dinyahdaya kerana pref tidak disokong: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Tidak aktif
+policies-active = Aktif
+policies-error = Ralat
+
+## Printing section
+
+## Normandy sections
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutTelemetry.ftl b/l10n-ms/toolkit/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..eba126a0f2
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutTelemetry.ftl
@@ -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/.
+
+about-telemetry-ping-data-source = Sumber data ping:
+about-telemetry-show-archived-ping-data = Data ping diarkibkan
+about-telemetry-show-subsession-data = Papar data sub-sesi
+about-telemetry-choose-ping = Pilih ping:
+about-telemetry-archive-ping-type = Jenis Ping
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Hari ini
+about-telemetry-option-group-yesterday = Semalam
+about-telemetry-option-group-older = Lebih lama
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Data Telemetri
+about-telemetry-more-information = Mahu mencari maklumat selanjutnya?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">Dokumentasi Data Firefox</a> mengandungkan panduan perihal cara menggunakan alatan data kami.
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">Firefox Telemetry klien dokumentasi</a> menjelaskan takrif konsep, dokumentasi API dan rujukan data.
+about-telemetry-telemetry-dashboard = <a data-l10n-name="dashboard-link">Papan pemuka Telemetri</a> membolehkan anda menggambarkan data yang diterima oleh Mozilla melalui Telemetri.
+about-telemetry-telemetry-probe-dictionary = <a data-l10n-name="probe-dictionary-link">Probe Dictionary</a> menyediakan butiran dan penjelasan untuk masalah yang dikumpulkan oleh Telemetry.
+about-telemetry-show-in-Firefox-json-viewer = Buka dalam pemapar JSON
+about-telemetry-home-section = Laman
+about-telemetry-general-data-section = Data Umum
+about-telemetry-environment-data-section = Data Persekitaran
+about-telemetry-session-info-section = Maklumat Sesi
+about-telemetry-scalar-section = Skala
+about-telemetry-keyed-scalar-section = Skala Dikunci
+about-telemetry-histograms-section = Histogram
+about-telemetry-keyed-histogram-section = Histogram Dikunci
+about-telemetry-events-section = Acara
+about-telemetry-simple-measurements-section = Pengukuran Mudah
+about-telemetry-slow-sql-section = Penyata SQL Perlahan
+about-telemetry-addon-details-section = Butiran Add-on
+about-telemetry-late-writes-section = Penulisan Lewat
+about-telemetry-raw-payload-section = Muatan Mentah
+about-telemetry-raw = JSON Mentah
+about-telemetry-full-sql-warning = NOTA; Menyahpepijat SQL secara perlahan sedang aktif. String penuh SQL mungkin dipaparkan di bawah ini tapi tidak akan dihantar ke Telemetri.
+about-telemetry-fetch-stack-symbols = Mendapatkan nama fungsi stacks
+about-telemetry-hide-stack-symbols = Papar data susunan mentah
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] data keluaran
+ *[prerelease] data prakeluaran
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] didayakan
+ *[disabled] dinyahdayakan
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Halaman ini memaparkan informasi berkenaan dengan prestasi, perkakasan, penggunaan dan penyesuaian yang diambil oleh Telemetry. Informasi ini dihantar ke { $telemetryServerOwner } untuk membantu meningkatkan { -brand-full-name }.
+about-telemetry-settings-explanation = Telemetri mengumpulkan { about-telemetry-data-type } dan muat naik adalah <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>.
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = Setiap maklumat dihantar bersama ke “<a data-l10n-name="ping-link">ping</a>”. Anda sedang melihat ping { $name }, { $timestamp }.
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = Cari dalam { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Cari dalam semua bahagian
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Hasil untuk “{ $searchTerms }”
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = Maaf! Tiada hasil dalam { $sectionName } untuk “{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Maaf! Tiada hasil dalam mana-mana bahagian untuk “{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Maaf! Buat masa ini tiada data yang boleh didapati dalam “{ $sectionName }”
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = semua
+# button label to copy the histogram
+about-telemetry-histogram-copy = Salin
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Pernyataan SQL Perlahan dalam Thread Utama
+about-telemetry-slow-sql-other = Pernyataan SQL Perlahan dalam Thread Pembantu
+about-telemetry-slow-sql-hits = Hit
+about-telemetry-slow-sql-average = Masa Purata (ms)
+about-telemetry-slow-sql-statement = Penyata
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = ID Add-on
+about-telemetry-addon-table-details = Butiran
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = Penyedia { $addonProvider }
+about-telemetry-keys-header = Sifat
+about-telemetry-names-header = Nama
+about-telemetry-values-header = Nilai
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Lewat Menulis #{ $lateWriteCount }
+about-telemetry-stack-title = Tindanan:
+about-telemetry-memory-map-title = Peta memori:
+about-telemetry-error-fetching-symbols = Ada ralat semasa mendapatkan simbol. Pastikan anda ada sambungan Internet dan cuba sekali lagi.
+about-telemetry-time-stamp-header = cap masa
+about-telemetry-category-header = kategori
+about-telemetry-method-header = kaedah
+about-telemetry-object-header = objek
+about-telemetry-extra-header = tambahan
diff --git a/l10n-ms/toolkit/toolkit/about/aboutThirdParty.ftl b/l10n-ms/toolkit/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutWebrtc.ftl b/l10n-ms/toolkit/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..f394444d3b
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,163 @@
+# 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 for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = Dalaman WebRTC
+
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = simpan about:webrtc sebagai
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = Pengelogan AEC
+about-webrtc-aec-logging-off-state-label = Mulakan Pengelogan AEC
+about-webrtc-aec-logging-on-state-label = Hentikan Pengelogan AEC
+about-webrtc-aec-logging-on-state-msg = Log AEC aktif (berhubunglah dengan pemanggil selama beberapa minit dan kemudian cuba hentikan tangkapan data)
+
+##
+
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = ID PeerConnection:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = SDP Lokal
+about-webrtc-local-sdp-heading-offer = SDP Lokal (Tawaran)
+about-webrtc-local-sdp-heading-answer = SDP Lokal (Jawapan)
+about-webrtc-remote-sdp-heading = SDP Jauh
+about-webrtc-remote-sdp-heading-offer = SDP Jauh (Tawaran)
+about-webrtc-remote-sdp-heading-answer = SDP Jauh (Jawapan)
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = Statistik RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = Keadaan ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = Statistik ICE
+about-webrtc-ice-restart-count-label = ICE mula semula:
+about-webrtc-ice-rollback-count-label = ICE rollbacks:
+about-webrtc-ice-pair-bytes-sent = Bait dihantar:
+about-webrtc-ice-pair-bytes-received = Bait diterima:
+about-webrtc-ice-component-id = ID Komponen
+
+## "Avg." is an abbreviation for Average. These are used as data labels.
+
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = Lokal
+about-webrtc-type-remote = Jauh
+
+##
+
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = Dipilih
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = Dipilih
+
+about-webrtc-save-page-label = Simpan Halaman
+about-webrtc-debug-mode-msg-label = Mod Nyahpepijat
+about-webrtc-debug-mode-off-state-label = Mulakan Mod Nyahpepijat
+about-webrtc-debug-mode-on-state-label = Hentikan Mod Nyahpijat
+about-webrtc-stats-heading = Statistik Sesi
+about-webrtc-stats-clear = Buang Sejarah
+about-webrtc-log-heading = Log Sambungan
+about-webrtc-log-clear = Buang Log
+about-webrtc-log-show-msg = papar log
+ .title = klik untuk kembangkan bahagian ini
+about-webrtc-log-hide-msg = sorok log
+ .title = klik untuk runtuhkan bahagian ini
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (ditutup) { $now }
+
+##
+
+
+about-webrtc-local-candidate = Local Candidate
+about-webrtc-remote-candidate = Calon Jauh
+about-webrtc-raw-candidates-heading = Semua Calon Mentah
+about-webrtc-raw-local-candidate = Calon Lokal Mentah
+about-webrtc-raw-remote-candidate = Calon Jauh Mentah
+about-webrtc-raw-cand-show-msg = papar calon mentah
+ .title = klik untuk kembangkan bahagian ini
+about-webrtc-raw-cand-hide-msg = sorok calon mentah
+ .title = klik untuk runtuhkan bahagian ini
+about-webrtc-priority = Prioriti
+about-webrtc-fold-show-msg = papar butiran
+ .title = klik untuk kembangkan bahagian ini
+about-webrtc-fold-hide-msg = sorok butiran
+ .title = klik untuk runtuhkan bahagian ini
+about-webrtc-decoder-label = Penyahkod
+about-webrtc-encoder-label = Pengekod
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+
+##
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = halaman disimpan di: { $path }
+about-webrtc-debug-mode-off-state-msg = kesan log boleh ditemui di: { $path }
+about-webrtc-debug-mode-on-state-msg = mod nyahpepijat aktif, log disurih di: { $path }
+about-webrtc-aec-logging-off-state-msg = tangkapan data fail log boleh ditemui di: { $path }
+
+##
+
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = Ketaran { $jitter }
+
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Calon yang disusun (tiba selepas jawapan) diserlahkan dalam warna biru
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+
+##
+
+##
+
+
+##
+
diff --git a/l10n-ms/toolkit/toolkit/about/aboutWindowsMessages.ftl b/l10n-ms/toolkit/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-ms/toolkit/toolkit/about/abuseReports.ftl b/l10n-ms/toolkit/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..eac6b4a578
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/abuseReports.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/.
+
+## Panel buttons.
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+## Message bars actions.
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
diff --git a/l10n-ms/toolkit/toolkit/about/certviewer.ftl b/l10n-ms/toolkit/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..06b15f0f7a
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/certviewer.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/.
+
+## Error messages
+
+## Certificate information labels
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+##
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
diff --git a/l10n-ms/toolkit/toolkit/about/config.ftl b/l10n-ms/toolkit/toolkit/about/config.ftl
new file mode 100644
index 0000000000..6bfa5e5c35
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/config.ftl
@@ -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/.
+
+## These strings appear on the warning you see when first visiting about:config.
+
+##
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
diff --git a/l10n-ms/toolkit/toolkit/about/url-classifier.ftl b/l10n-ms/toolkit/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..ba017e9cba
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/about/url-classifier.ftl
@@ -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/.
+
+url-classifier-title = Pengelas Maklumat URL
+url-classifier-provider-title = Pengendali
+url-classifier-provider = Pengendali
+url-classifier-provider-last-update-time = Kali terakhir dikemas kini
+url-classifier-provider-next-update-time = Waktu kemas kini seterusnya
+url-classifier-provider-back-off-time = Tempoh undur
+url-classifier-provider-last-update-status = Status kemas kini terakhir
+url-classifier-provider-update-btn = Kemaskini
+url-classifier-cache-title = Cache
+url-classifier-cache-refresh-btn = Muat semula
+url-classifier-cache-clear-btn = Buang
+url-classifier-cache-table-name = Nama jadual
+url-classifier-cache-ncache-entries = Bilangan cache negatif
+url-classifier-cache-pcache-entries = Bilangan cache positif
+url-classifier-cache-show-entries = Papar entri
+url-classifier-cache-entries = Entri Cache
+url-classifier-cache-prefix = Prefiks
+url-classifier-cache-ncache-expiry = Tempoh tamat cache negatif
+url-classifier-cache-fullhash = Full hash
+url-classifier-cache-pcache-expiry = Tempoh tamat cache positif
+url-classifier-debug-title = Nyahpepijat
+url-classifier-debug-module-btn = Set Modul Log
+url-classifier-debug-file-btn = Set Fail Log
+url-classifier-debug-js-log-chk = Set Log JS
+url-classifier-debug-sb-modules = Modul log Pelayaran Selamat
+url-classifier-debug-modules = Modul log semasa
+url-classifier-debug-sbjs-modules = Log JS Pelayaran Selamat
+url-classifier-debug-file = Fail log semasa
+
+url-classifier-trigger-update = Pencetus Kemas kini
+url-classifier-not-available = N/A
+url-classifier-disable-sbjs-log = Nyahdayakan Log JS Pelayaran Selamat
+url-classifier-enable-sbjs-log = Dayakan Log JS Pelayaran Selamat
+url-classifier-enabled = Didayakan
+url-classifier-disabled = Dinyahdayakan
+url-classifier-updating = mengemas kini
+url-classifier-cannot-update = tidak dapat mengemas kini
+url-classifier-success = berjaya
+url-classifier-update-error = ralat pengemaskinian ({ $error })
+url-classifier-download-error = ralat muat turun ({ $error })
diff --git a/l10n-ms/toolkit/toolkit/downloads/downloadUI.ftl b/l10n-ms/toolkit/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..a6f9999a49
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/downloads/downloadUI.ftl
@@ -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/.
+
+download-ui-confirm-title = Batalkan Semua Muat turun?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jika anda keluar sekarang, 1 muaturun akan dibatalkan. Adakah anda pasti untuk keluar?
+ *[other] Jika anda keluar sekarang, { $downloadsCount } muaturun akan dibatalkan. Adakah anda pasti untuk keluar?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Jika anda keluar sekarang, 1 muaturun akan dibatalkan. Adakah anda pasti yang anda ingin keluar?
+ *[other] Jika anda keluar sekarang, { $downloadsCount } muaturun akan dibatalkan. Adakah anda ingin keluar?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Jangan Keluar
+ *[other] Jangan Keluar
+ }
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jika anda keluar talian sekarang, 1 muaturunakan dibatalkan. Adakah anda ingin keluar talian sekarang?
+ *[other] Jika anda keluar talian sekarang, { $downloadsCount } muaturun akan dibatalkan. Adakah anda ingin keluar talian sekarang?
+ }
+download-ui-dont-go-offline-button = Kekal Dalam Talian
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jika anda tutup semua tetingkap Pelayaran Peribadi sekarang, 1 muat turun akan dibatalkan. Anda pasti untuk meninggalkan Pelayaran Peribadi?
+ *[other] Jika anda tutup semua tetingkap Pelayaran Peribadi sekarang, { $downloadsCount } muat turun akan dibatalkan. Anda pasti untuk meninggalkan Pelayaran Peribadi?
+ }
+download-ui-dont-leave-private-browsing-button = Teruskan guna Pelayaran Peribadi
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Batal 1 Muaturun
+ *[other] Batal { $downloadsCount } Muaturun
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Buka Fail Boleh Laku?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = “{ $executable }” 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 “{ $executable }”?
diff --git a/l10n-ms/toolkit/toolkit/downloads/downloadUtils.ftl b/l10n-ms/toolkit/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..4fd77d2d09
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/downloads/downloadUtils.ftl
@@ -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/.
+
+# Short form for seconds
+download-utils-short-seconds = s
+# Short form for minutes
+download-utils-short-minutes = m
+# Short form for hours
+download-utils-short-hours = h
+# Short form for days
+download-utils-short-days = d
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/saat)
+# If download speed is a JavaScript Infinity value, this phrase is used
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-infinite-rate = { $timeLeft } — { $transfer } (Sangat laju)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } — { $transfer }
+download-utils-bytes = bait
+download-utils-kilobyte = KB
+download-utils-megabyte = MB
+download-utils-gigabyte = GB
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } dari { $total } { $totalUnits }
+# example: 11.1 MB of 3.3 GB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): progress unit.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-diff-units = { $progress } { $progressUnits } dari { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time }{ $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = { $time } lagi
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = { $time1 } { $time2 } lagi
+download-utils-time-few-seconds = Lagi beberapa saat
+download-utils-time-unknown = Tempoh masa tidak diketahui
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme } sumber
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = fail tempatan
+# Displayed time for files finished yesterday
+download-utils-yesterday = Semalam
diff --git a/l10n-ms/toolkit/toolkit/featuregates/features.ftl b/l10n-ms/toolkit/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/featuregates/features.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/global/alert.ftl b/l10n-ms/toolkit/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..d6e8d14127
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/alert.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/.
+
+alert-close =
+ .tooltiptext = Tutup notifikasi ini
+alert-settings-title =
+ .tooltiptext = Tetapan
diff --git a/l10n-ms/toolkit/toolkit/global/appPicker.ftl b/l10n-ms/toolkit/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..3632e9615c
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/appPicker.ftl
@@ -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/.
+
+app-picker-browse-button =
+ .buttonlabelextra2 = Cari…
+app-picker-send-msg =
+ .value = Hantar butiran ini ke:
+app-picker-no-app-found =
+ .value = Tiada aplikasi ditemui untuk jenis fail sebegini.
diff --git a/l10n-ms/toolkit/toolkit/global/browser-utils.ftl b/l10n-ms/toolkit/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/browser-utils.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/global/commonDialog.ftl b/l10n-ms/toolkit/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..8374b31639
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/commonDialog.ftl
@@ -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/.
+
+common-dialog-copy-cmd =
+ .label = Salin
+ .accesskey = a
+common-dialog-select-all-cmd =
+ .label = Pilih Semua
+ .accesskey = S
diff --git a/l10n-ms/toolkit/toolkit/global/createProfileWizard.ftl b/l10n-ms/toolkit/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..da1ff2f7db
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/createProfileWizard.ftl
@@ -0,0 +1,69 @@
+# 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/.
+
+create-profile-window =
+ .title = Bestari Mencipta Profil
+ .style = width: 45em; height: 32em;
+
+create-profile-window2 =
+ .title = Bestari Mencipta Profil
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header =
+ { PLATFORM() ->
+ [macos] Pengenalan
+ *[other] Selamat Datang ke { create-profile-window.title }
+ }
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Pengenalan
+ *[other] Selamat Datang ke { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } menyimpan maklumat perihal tetapan dan keutamaan anda dalam profil peribadi anda.
+
+profile-creation-explanation-2 = Jika anda berkongsi salinan { -brand-short-name } ini dengan pengguna lain, anda boleh gunakan profil untuk kekalkan maklumat pengguna terpisah. Untuk itu, setiap pengguna perlu mencipta profilnya sendiri.
+
+profile-creation-explanation-3 = Jika hanya anda seorang yang menggunakan salinan { -brand-short-name }, anda mesti mempunyai sekurangnya satu profil. Jika anda mahu, anda boleh menipta banyak profil untuk diri anda bagi menyimpan tetapan dan keutamaan yang berbeza. Sebagai ontoh, anda mungkin mahukan profil berasingan untuk kegunaan perniagaan dan peribadi.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] Untuk mula mencipta profil anda, klik Sambung.
+ *[other] Untuk mula mencipta profil anda, klik Berikut.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header =
+ { PLATFORM() ->
+ [macos] Rumusan
+ *[other] Menyelesaikan { create-profile-window.title }
+ }
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Rumusan
+ *[other] Menyelesaikan { create-profile-window2.title }
+ }
+
+profile-creation-intro = Jika anda mencipta beberapa profil anda boleh panggilnya dengan nama profil. Anda boleh gunakan nama yang disediakan atau gunakan nama yang anda pilih.
+
+profile-prompt = Masukkan nama profil baru:
+ .accesskey = a
+
+profile-default-name =
+ .value = Pengguna Piawai
+
+profile-directory-explanation = Tetapan pengguna anda, keutamaan dan data berkaitan pengguna lain akan disimpan di dalam:
+
+create-profile-choose-folder =
+ .label = Pilih Folder…
+ .accesskey = l
+
+create-profile-use-default =
+ .label = Guna Folder Piawai
+ .accesskey = U
diff --git a/l10n-ms/toolkit/toolkit/global/cspErrors.ftl b/l10n-ms/toolkit/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..20e869c4a3
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/cspErrors.ftl
@@ -0,0 +1,32 @@
+# 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:
+# $directive (String): the name of a CSP directive, such as "script-src".
+csp-error-missing-directive = Polisi tidak menemui direktif ‘{ $directive }’ yang diperlukan
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = direktif ‘{ $directive }’ mengandungi kata kunci { $keyword } yang dilarang
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = arahan ‘{ $directive }’ mengandungi { $scheme }: sumber protokol yang ditegah
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: protokol memerlukan hos dalam direktif ‘{ $directive }’
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = ‘{ $directive }’ mesti disertakan sumber { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: sumber bebas dalam arahan ‘{ $directive }’ mesti disertakan dengan subdomain non-generik sekurang-kurangnya sekali (contoh, *.example.com rather than *.com)
diff --git a/l10n-ms/toolkit/toolkit/global/datepicker.ftl b/l10n-ms/toolkit/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/datepicker.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-ms/toolkit/toolkit/global/datetimebox.ftl b/l10n-ms/toolkit/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..870ee39ef8
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/datetimebox.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+# Date/time clear button
+datetime-reset =
+ .aria-label = Buang
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = tttt
+datetime-month-placeholder = mm
+datetime-day-placeholder = hh
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Tahun
+datetime-month =
+ .aria-label = Bulan
+datetime-day =
+ .aria-label = Hari
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Jam
+datetime-minute =
+ .aria-label = Minit
+datetime-second =
+ .aria-label = Saat
+datetime-millisecond =
+ .aria-label = Milisaat
+datetime-dayperiod =
+ .aria-label = AM/PM
diff --git a/l10n-ms/toolkit/toolkit/global/handlerDialog.ftl b/l10n-ms/toolkit/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..a0198d6a27
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/handlerDialog.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/.
+
+
+## Permission Dialog
+## Variables:
+## $host - the hostname that is initiating the request
+## $scheme - the type of link that's being opened.
+## $appName - Name of the application that will be opened.
+
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+
+##
+
+## Chooser dialog
+## Variables:
+## $scheme - the type of link that's being opened.
+
+choose-other-app-description = Pilih aplikasi lain
+choose-app-btn =
+ .label = Pilih…
+ .accessKey = C
+choose-other-app-window-title = Aplikasi lain…
+
diff --git a/l10n-ms/toolkit/toolkit/global/htmlForm.ftl b/l10n-ms/toolkit/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..abbaf7a7f7
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/htmlForm.ftl
@@ -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 string is shown at the end of the tooltip text for
+# <input type='file' multiple> when there are more than 21 files selected
+# (when we will only list the first 20, plus an "and X more" line).
+# Variables:
+# $fileCount (Number): The number of remaining files.
+input-file-and-more-files = dan { $fileCount } lagi
diff --git a/l10n-ms/toolkit/toolkit/global/notification.ftl b/l10n-ms/toolkit/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..80e77d4e38
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/notification.ftl
@@ -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/.
+
+close-notification-message =
+ .tooltiptext = Tutup mesej ini
diff --git a/l10n-ms/toolkit/toolkit/global/popupnotification.ftl b/l10n-ms/toolkit/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..b7146bb3b5
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/popupnotification.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/.
+
+popup-notification-more-actions-button =
+ .aria-label = Tindakan selanjutnya
+popup-notification-default-button =
+ .label = OK!
+ .accesskey = O
diff --git a/l10n-ms/toolkit/toolkit/global/processTypes.ftl b/l10n-ms/toolkit/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..ca495556df
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/processTypes.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/.
+
+##
+## Localization for remote types defined in RemoteType.h
+##
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+##
+## Other
+##
+
diff --git a/l10n-ms/toolkit/toolkit/global/profileDowngrade.ftl b/l10n-ms/toolkit/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/global/profileSelection.ftl b/l10n-ms/toolkit/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..6b9297aefd
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/profileSelection.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+profile-selection-window =
+ .title = { -brand-short-name } - Pilih Profil Pengguna
+
+profile-selection-button-accept =
+ .label = Mulakan { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Keluar
+
+profile-selection-new-button =
+ .label = Cipta Profil…
+ .accesskey = C
+
+profile-selection-rename-button =
+ .label = Namakan semula Profil…
+ .accesskey = R
+
+profile-selection-delete-button =
+ .label = Buang Profil…
+ .accesskey = B
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } menyimpan maklumat perihal tetapan anda, keutamaan, dan item pengguna lain dalam profil pengguna anda.
+
+profile-manager-work-offline =
+ .label = Kerja luar talian
+ .accesskey = l
+
+profile-manager-use-selected =
+ .label = Mengunakan profil yang dipilih tanpa meminta pada permulaan
+ .accesskey = u
diff --git a/l10n-ms/toolkit/toolkit/global/resetProfile.ftl b/l10n-ms/toolkit/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..1bc07950b6
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/resetProfile.ftl
@@ -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/.
+
+refresh-profile-dialog-button =
+ .label = Muat semula { -brand-short-name }
+refresh-profile = Beri { -brand-short-name } talaan
+refresh-profile-button = Muat semula { -brand-short-name }…
+
+refresh-profile-progress =
+ .title = Muat semula { -brand-short-name }
+refresh-profile-progress-description = Hampir siap…
diff --git a/l10n-ms/toolkit/toolkit/global/run-from-dmg.ftl b/l10n-ms/toolkit/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..5be2ba1937
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/run-from-dmg.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/.
+
+## Strings for a dialog that may open on macOS before the app's main window
+## opens. The dialog prompts the user to allow the app to install itself in an
+## appropriate location before relaunching itself from that location if the
+## user accepts.
+
+## Strings for a dialog that opens if the installation failed.
+
+## Strings for a dialog that recommends to the user to start an existing
+## installation of the app in the Applications directory if one is detected,
+## rather than the app that was double-clicked in a .dmg.
+
diff --git a/l10n-ms/toolkit/toolkit/global/tabprompts.ftl b/l10n-ms/toolkit/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..d5b599c1ee
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/tabprompts.ftl
@@ -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/.
+
+tabmodalprompt-username =
+ .value = Nama Pengguna:
+tabmodalprompt-password =
+ .value = Kata laluan:
+
+tabmodalprompt-ok-button =
+ .label = OK
+tabmodalprompt-cancel-button =
+ .label = Batal
diff --git a/l10n-ms/toolkit/toolkit/global/textActions.ftl b/l10n-ms/toolkit/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..d5925ccf6c
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/textActions.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/.
+
+text-action-undo =
+ .label = Batal
+ .accesskey = B
+
+text-action-undo-shortcut =
+ .key = Z
+
+text-action-redo =
+ .label = Ulang
+ .accesskey = U
+
+text-action-redo-shortcut =
+ .key = Y
+
+text-action-cut =
+ .label = Potong
+ .accesskey = t
+
+text-action-cut-shortcut =
+ .key = X
+
+text-action-copy =
+ .label = Salin
+ .accesskey = S
+
+text-action-copy-shortcut =
+ .key = C
+
+text-action-paste =
+ .label = Tampal
+ .accesskey = T
+
+text-action-paste-shortcut =
+ .key = V
+
+text-action-delete =
+ .label = Buang
+ .accesskey = B
+
+text-action-select-all =
+ .label = Pilih Semua
+ .accesskey = S
+
+text-action-select-all-shortcut =
+ .key = A
+
+text-action-search-text-box-clear =
+ .title = Buang
diff --git a/l10n-ms/toolkit/toolkit/global/tree.ftl b/l10n-ms/toolkit/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..8d0fa7381c
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/tree.ftl
@@ -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/.
+
+tree-columnpicker-restore-order =
+ .label = Pulih Susunan Lajur
diff --git a/l10n-ms/toolkit/toolkit/global/unknownContentType.ftl b/l10n-ms/toolkit/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..c86a8df374
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Tetapan boleh diubah di Pilihan { -brand-short-name }.
+ *[other] Tetapan boleh ditukar dalam Keutamaan { -brand-short-name }.
+ }
+
+unknowncontenttype-intro = Anda telah memilih untuk membuka:
+unknowncontenttype-which-is = iaitu:
+unknowncontenttype-from = daripada:
+unknowncontenttype-prompt = Adakah anda ingin menyimpan fail ini?
+unknowncontenttype-action-question = Apa perlu { -brand-short-name } lakukan dengan fail ini?
+unknowncontenttype-open-with =
+ .label = Buka dengan
+ .accesskey = g
+unknowncontenttype-other =
+ .label = Lain-lain...
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Pilih…
+ *[other] Cari…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] i
+ *[other] r
+ }
+unknowncontenttype-save-file =
+ .label = Simpan Fail
+ .accesskey = s
+unknowncontenttype-remember-choice =
+ .label = Lakukan ini secara automatik untuk fail seperti ini mulai sekarang.
+ .accesskey = a
diff --git a/l10n-ms/toolkit/toolkit/global/videocontrols.ftl b/l10n-ms/toolkit/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..343035065c
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/videocontrols.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/.
+
+videocontrols-play-button =
+ .aria-label = Main
+videocontrols-pause-button =
+ .aria-label = Jeda
+videocontrols-mute-button =
+ .aria-label = Senyap
+videocontrols-unmute-button =
+ .aria-label = Nyahsenyap
+videocontrols-enterfullscreen-button =
+ .aria-label = Skrin Penuh
+videocontrols-exitfullscreen-button =
+ .aria-label = Keluar Skrin Penuh
+videocontrols-casting-button-label =
+ .aria-label = Tuang pada Skrin
+videocontrols-closed-caption-off =
+ .offlabel = Nyahaktif
+
+videocontrols-error-aborted = Video yang dimuatkan berhenti.
+videocontrols-error-network = Video ulangan digugurkan kerana kesalahan rangkaian.
+videocontrols-error-decode = Video tidak dapat dimainkan disebabkan fail telah korup.
+videocontrols-error-src-not-supported = Format video atau jenis MIME adalah tidak disokong.
+videocontrols-error-no-source = Tiada video dengan format yang disokong dan jenis MIME yang ditemui.
+videocontrols-error-generic = Pemaparan video diberhentikan kerana masalah yang tidak diketahui.
+
+# This message shows the current position and total video duration
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+#
+# For example, when at the 5 minute mark in a 6 hour long video,
+# $position would be "5:00" and $duration would be "6:00:00", result
+# string would be "5:00 / 6:00:00". Note that $duration is not always
+# available. For example, when at the 5 minute mark in an unknown
+# duration video, $position would be "5:00" and the string which is
+# surrounded by <span> would be deleted, result string would be "5:00".
+videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span>
diff --git a/l10n-ms/toolkit/toolkit/global/wizard.ftl b/l10n-ms/toolkit/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..e1756570dd
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/global/wizard.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/.
+
+wizard-macos-button-back =
+ .label = Undur
+ .accesskey = U
+wizard-linux-button-back =
+ .label = Undur
+ .accesskey = d
+wizard-win-button-back =
+ .label = < Undur
+ .accesskey = U
+
+wizard-macos-button-next =
+ .label = Teruskan
+ .accesskey = a
+wizard-linux-button-next =
+ .label = Berikut
+ .accesskey = B
+wizard-win-button-next =
+ .label = Berikut >
+ .accesskey = B
+
+wizard-macos-button-finish =
+ .label = Siap
+wizard-linux-button-finish =
+ .label = Selesai
+wizard-win-button-finish =
+ .label = Selesai
+
+wizard-macos-button-cancel =
+ .label = Batal
+wizard-linux-button-cancel =
+ .label = Batal
+wizard-win-button-cancel =
+ .label = Batal
diff --git a/l10n-ms/toolkit/toolkit/intl/languageNames.ftl b/l10n-ms/toolkit/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..b6cfc8b7b6
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/intl/languageNames.ftl
@@ -0,0 +1,211 @@
+# 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/.
+
+language-name-aa = Afar
+language-name-ab = Abkhazia
+language-name-ach = Acholi
+language-name-ae = Avestan
+language-name-af = Afrikaans
+language-name-ak = Akan
+language-name-am = Amharic
+language-name-an = Aragon
+language-name-ar = Arabic
+language-name-as = Assamese
+language-name-ast = Asturian
+language-name-av = Avaric
+language-name-ay = Aymara
+language-name-az = Azerbaijan
+language-name-ba = Bashkir
+language-name-be = Belarusian
+language-name-bg = Bulgaria
+language-name-bh = Bihari
+language-name-bi = Bislama
+language-name-bm = Bambara
+language-name-bn = Bengali
+language-name-bo = Tibetan
+language-name-br = Breton
+language-name-bs = Bosnia
+language-name-ca = Catalan
+language-name-cak = Kaqchikel
+language-name-ce = Chechen
+language-name-ch = Chamorro
+language-name-co = Corsican
+language-name-cr = Cree
+language-name-crh = Crimean Tatar
+language-name-cs = Czech
+language-name-csb = Kashubia
+language-name-cu = Church Slavic
+language-name-cv = Chuvash
+language-name-cy = Welsh
+language-name-da = Danish
+language-name-de = Jerman
+language-name-dsb = Lower Sorbian
+language-name-dv = Divehi
+language-name-dz = Bhutani
+language-name-ee = Ewe
+language-name-el = Greek
+language-name-en = Bahasa Inggeris
+language-name-eo = Esperanto
+language-name-es = Sepanyol
+language-name-et = Estonian
+language-name-eu = Basque
+language-name-fa = Parsi
+language-name-ff = Fulah
+language-name-fi = Finnish
+language-name-fj = Fijian
+language-name-fo = Faeroese
+language-name-fr = Perancis
+language-name-fur = Friulian
+language-name-fy = Frisian
+language-name-ga = Irish
+language-name-gd = Scottish Gaelic
+language-name-gl = Galician
+language-name-gn = Guarani
+language-name-gu = Gujarati
+language-name-gv = Manx
+language-name-ha = Hausa
+language-name-haw = Hawaiian
+language-name-he = Hebrew
+language-name-hi = Hindi
+language-name-hil = Hiligaynon
+language-name-ho = Hiri Motu
+language-name-hr = Croatia
+language-name-hsb = Upper Sorbian
+language-name-ht = Haiti
+language-name-hu = Hungarian
+language-name-hy = Armenian
+language-name-hz = Herero
+language-name-ia = Interlingua
+language-name-id = Indonesian
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Sichuan Yi
+language-name-ik = Inupiak
+language-name-io = Ido
+language-name-is = Icelandic
+language-name-it = Italian
+language-name-iu = Inuktitut
+language-name-ja = Japanese
+language-name-jv = Javanese
+language-name-ka = Georgian
+language-name-kab = Kabyle
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazakh
+language-name-kl = Greenland
+language-name-km = Khmer
+language-name-kn = Kannada
+language-name-ko = Korean
+language-name-kok = Konkani
+language-name-kr = Kanuri
+language-name-ks = Kashmir
+language-name-ku = Kurdish
+language-name-kv = Komi
+language-name-kw = Cornish
+language-name-ky = Kirghiz
+language-name-la = Latin
+language-name-lb = Luxembourg
+language-name-lg = Ganda
+language-name-li = Limburgan
+language-name-lij = Ligurian
+language-name-ln = Lingala
+language-name-lo = Laothian
+language-name-lt = Lithuanian
+language-name-ltg = Latgalian
+language-name-lu = Luba-Katanga
+language-name-lv = Latvian
+language-name-mai = Maithili
+language-name-meh = Southwestern Tlaxiaco Mixtec
+language-name-mg = Malagasi
+language-name-mh = Marshallese
+language-name-mi = Maori
+language-name-mix = Mixtepec Mixtec
+language-name-mk = Macedonia
+language-name-ml = Malayalam
+language-name-mn = Mongolia
+language-name-mr = Marathi
+language-name-ms = Melayu
+language-name-mt = Malta
+language-name-my = Burma
+language-name-na = Nauru
+language-name-nb = Norwegian Bokmål
+language-name-nd = Ndebele, Utara
+language-name-ne = Nepal
+language-name-ng = Ndonga
+language-name-nl = Belanda
+language-name-nn = Norwegian Nynorsk
+language-name-no = Norwegian
+language-name-nr = Ndebele, Selatan
+language-name-nso = Sotho, Utara
+language-name-nv = Navajo
+language-name-ny = Chichewa
+language-name-oc = Occitan
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Odia
+language-name-os = Ossetian
+language-name-pa = Punjabi
+language-name-pi = Pali
+language-name-pl = Poland
+language-name-ps = Pashto
+language-name-pt = Portugis
+language-name-qu = Quechua
+language-name-rm = Rhaeto-Romanic
+language-name-rn = Kirundi
+language-name-ro = Rom
+language-name-ru = Russian
+language-name-rw = Kinyarwanda
+language-name-sa = Sanskrit
+language-name-sc = Sardinia
+language-name-sd = Sindhi
+language-name-se = Utara Sami
+language-name-sg = Sangro
+language-name-si = Singhalese
+language-name-sk = Slovak
+language-name-sl = Slovenia
+language-name-sm = Samoa
+language-name-sn = Shona
+language-name-so = Somali
+language-name-son = Songhay
+language-name-sq = Albania
+language-name-sr = Serbia
+language-name-ss = Siswati
+language-name-st = Sotho, Selatan
+language-name-su = Sudanese
+language-name-sv = Sweden
+language-name-sw = Swahili
+language-name-ta = Tamil
+language-name-te = Telugu
+language-name-tg = Tajik
+language-name-th = Thai
+language-name-ti = Tigrinya
+language-name-tig = Tigre
+language-name-tk = Turkmen
+language-name-tl = Tagalog
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonga
+language-name-tr = Turkish
+language-name-ts = Tsonga
+language-name-tt = Tatar
+language-name-tw = Twi
+language-name-ty = Tahiti
+language-name-ug = Uighur
+language-name-uk = Ukrainian
+language-name-ur = Urdu
+language-name-uz = Uzbek
+language-name-ve = Venda
+language-name-vi = Vietnamese
+language-name-vo = Volapük
+language-name-wa = Walloon
+language-name-wen = Sorbia
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Yiddish
+language-name-yo = Yoruba
+language-name-za = Zhuang
+language-name-zam = Miahuatlán Zapotec
+language-name-zh = Chinese
+language-name-zu = Zulu
diff --git a/l10n-ms/toolkit/toolkit/intl/regionNames.ftl b/l10n-ms/toolkit/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..c09cae8208
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# 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/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = Emiriah Arab Bersatu
+region-name-af = Afghanistan
+region-name-ag = Antigua dan Barbuda
+region-name-ai = Anguilla
+region-name-al = Albania
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Antartika
+region-name-ar = Argentina
+region-name-as = Samoa Amerika
+region-name-at = Austria
+region-name-au = Australia
+region-name-aw = Aruba
+region-name-az = Azerbaijan
+region-name-ba = Bosnia dan Herzegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Belgium
+region-name-bf = Burkina Faso
+region-name-bg = Bulgaria
+region-name-bh = Bahrain
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = Saint Barthélemy
+region-name-bm = Bermuda
+region-name-bn = Brunei
+region-name-bo = Bolivia
+region-name-bq = Bonaire, Sint Eustatius, dan Saba
+region-name-br = Brazil
+region-name-bs = Bahamas
+region-name-bt = Bhutan
+region-name-bv = Bouvet Island
+region-name-bw = Botswana
+region-name-by = Belarus
+region-name-bz = Belize
+region-name-ca = Kanada
+region-name-cc = Kepulauan Cocos (Keeling)
+region-name-cd = Congo (Kinshasa)
+region-name-cf = Republik Afrika Tengah
+region-name-cg = Congo (Brazzaville)
+region-name-ch = Switzerland
+region-name-ci = Côte d’Ivoire
+region-name-ck = Kepulauan Cook
+region-name-cl = Chile
+region-name-cm = Cameroon
+region-name-cn = Cina
+region-name-co = Colombia
+region-name-cp = Clipperton Island
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv = Cabo Verde
+region-name-cw = Curaçao
+region-name-cx = Pulau Christmas
+region-name-cy = Cyprus
+region-name-cz = Republik Czech
+region-name-de = Jerman
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Denmark
+region-name-dm = Dominica
+region-name-do = Republik Dominika
+region-name-dz = Algeria
+region-name-ec = Ecuador
+region-name-ee = Estonia
+region-name-eg = Mesir
+region-name-eh = Sahara Barat
+region-name-er = Eritrea
+region-name-es = Sepanyol
+region-name-et = Ethiopia
+region-name-fi = Finland
+region-name-fj = Fiji
+region-name-fk = Kepulauan Falkland (Islas Malvinas)
+region-name-fm = Mikronesia, Persekutuan
+region-name-fo = Kepulauan Faroe
+region-name-fr = Perancis
+region-name-ga = Gabon
+region-name-gb = United Kingdom
+region-name-gd = Grenada
+region-name-ge = Georgia
+region-name-gf = Guiana Perancis
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Greenland
+region-name-gm = Gambia
+region-name-gn = Guinea
+region-name-gp = Guadeloupe
+region-name-gq = Guinea Khatulistiwa
+region-name-gr = Yunani
+region-name-gs = Georgia Selatan dan Kepulauan Sandwich Selatan
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hong Kong
+region-name-hm = Kepulauan Heard dan Kepulauan McDonald
+region-name-hn = Honduras
+region-name-hr = Croatia
+region-name-ht = Haiti
+region-name-hu = Hungary
+region-name-id = Indonesian
+region-name-ie = Ireland
+region-name-il = Israel
+region-name-im = Isle of Man
+region-name-in = India
+region-name-io = Wilayah British Indian Ocean
+region-name-iq = Iraq
+region-name-ir = Iran
+region-name-is = Iceland
+region-name-it = Itali
+region-name-je = Jersey
+region-name-jm = Jamaica
+region-name-jo = Jordan
+region-name-jp = Jepun
+region-name-ke = Kenya
+region-name-kg = Kyrgyzstan
+region-name-kh = Kemboja
+region-name-ki = Kiribati
+region-name-km = Comoros
+region-name-kn = Saint Kitts dan Nevis
+region-name-kp = Korea, Utara
+region-name-kr = Korea, Selatan
+region-name-kw = Kuwait
+region-name-ky = Kepulauan Cayman
+region-name-kz = Kazakhstan
+region-name-la = Laos
+region-name-lb = Lubnan
+region-name-lc = Saint Lucia
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Lithuania
+region-name-lu = Luxembourg
+region-name-lv = Latvia
+region-name-ly = Libya
+region-name-ma = Morocco
+region-name-mc = Monaco
+region-name-md = Moldova
+region-name-me = Montenegro
+region-name-mf = Saint Martin
+region-name-mg = Madagaskar
+region-name-mh = Kepulauan Marshall
+region-name-mk = Macedonia
+region-name-ml = Mali
+region-name-mm = Burma
+region-name-mn = Mongolia
+region-name-mo = Macau
+region-name-mp = Kepulauan Mariana Utara
+region-name-mq = Martinique
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauritius
+region-name-mv = Maldives
+region-name-mw = Malawi
+region-name-mx = Mexico
+region-name-my = Malaysia
+region-name-mz = Mozambique
+region-name-na = Namibia
+region-name-nc = New Caledonia
+region-name-ne = Niger
+region-name-nf = Pulau Norfolk
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Belanda
+region-name-no = Norway
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = New Zealand
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Peru
+region-name-pf = French Polynesia
+region-name-pg = Papua New Guinea
+region-name-ph = Filipina
+region-name-pk = Pakistan
+region-name-pl = Poland
+region-name-pm = Saint Pierre dan Miquelon
+region-name-pn = Kepulauan Pitcairn
+region-name-pr = Puerto Rico
+region-name-pt = Portugal
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Kepulauan Midway
+region-name-qs = Bassas da India
+region-name-qu = Pulau Juan de Nova
+region-name-qw = Pulau Wake
+region-name-qx = Pulau Glorioso
+region-name-qz = Akrotiri
+region-name-re = Reunion
+region-name-ro = Romania
+region-name-rs = Serbia
+region-name-ru = Rusia
+region-name-rw = Rwanda
+region-name-sa = Arab Saudi
+region-name-sb = Kepulauan Solomon
+region-name-sc = Seychelles
+region-name-sd = Sudan
+region-name-se = Sweden
+region-name-sg = Singapura
+region-name-sh = Saint Helena, Ascension dan Tristan da Cunha
+region-name-si = Slovenia
+region-name-sk = Slovakia
+region-name-sl = Sierra Leone
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = Sudan Selatan
+region-name-st = Sao Tome dan Principe
+region-name-sv = El Salvador
+region-name-sx = Sint Maarten
+region-name-sy = Syria
+region-name-sz = Swaziland
+region-name-tc = Kepulauan Turks dan Caicos
+region-name-td = Chad
+region-name-tf = French Southern and Antarctic Lands
+region-name-tg = Togo
+region-name-th = Thailand
+region-name-tj = Tajikistan
+region-name-tk = Tokelau
+region-name-tl = Timor Timur
+region-name-tm = Turkmenistan
+region-name-tn = Tunisia
+region-name-to = Tonga
+region-name-tr = Turki
+region-name-tt = Trinidad
+region-name-tv = Tuvalu
+region-name-tw = Taiwan
+region-name-tz = Tanzania
+region-name-ua = Ukraine
+region-name-ug = Uganda
+region-name-us = Amerika Syarikat
+region-name-uy = Uruguay
+region-name-uz = Uzbekistan
+region-name-va = Vatican City
+region-name-vc = Saint Vincent dan Grenadines
+region-name-ve = Venezuela
+region-name-vg = Kepulauan Virgin, British
+region-name-vi = Kepulauan Virgin, U.S.
+region-name-vn = Vietnam
+region-name-vu = Vanuatu
+region-name-wf = Wallis dan Futuna
+region-name-ws = Samoa
+region-name-xa = Ashmore dan Kepulauan Cartier
+region-name-xb = Pulau Baker
+region-name-xc = Kepulauan Coral Sea
+region-name-xd = Dhekelia
+region-name-xe = Pulau Europa
+region-name-xg = Genting Gaza
+region-name-xh = Pulau Howland
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Palmyra Atoll
+region-name-xm = Kingman Reef
+region-name-xp = Kepulauan Paracel
+region-name-xq = Pulau Jarvis
+region-name-xr = Svalbard
+region-name-xs = Kepulauan Spratly
+region-name-xt = Pulau Tromelin
+region-name-xu = Johnston Atoll
+region-name-xv = Pulau Navassa
+region-name-xw = Tebing Barat
+region-name-ye = Yaman
+region-name-yt = Mayotte
+region-name-za = Afrika Selatan
+region-name-zm = Zambia
+region-name-zw = Zimbabwe
diff --git a/l10n-ms/toolkit/toolkit/main-window/autocomplete.ftl b/l10n-ms/toolkit/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..369d00c7ae
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/main-window/autocomplete.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/.
+
+### Import Logins Autocomplete
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+##
+
diff --git a/l10n-ms/toolkit/toolkit/main-window/findbar.ftl b/l10n-ms/toolkit/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..7e5640fa11
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/main-window/findbar.ftl
@@ -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/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = Cari teks frasa berkenaan yang berikut
+findbar-previous =
+ .tooltiptext = Cari teks frasa berkenaan yang terdahulu
+
+findbar-find-button-close =
+ .tooltiptext = Tutup Bar Carian
+
+findbar-highlight-all2 =
+ .label = Serlahkan Semua
+ .accesskey =
+ { PLATFORM() ->
+ [macos] l
+ *[other] a
+ }
+ .tooltiptext = Serlahkan semua frasa kejadian
+
+findbar-case-sensitive =
+ .label = Huruf Sepadan
+ .accesskey = p
+ .tooltiptext = Cari dengan sensitiviti klausa
+
+findbar-entire-word =
+ .label = Seluruh Perkataan
+ .accesskey = r
+ .tooltiptext = Cari perkataan penuh sahaja
+
+findbar-not-found = Frasa tidak ditemui
+
+findbar-wrapped-to-top = Mencapai bahagian penghujung halaman, sambung dari atas
+findbar-wrapped-to-bottom = Telah mencapai bahagian atas halaman, sambung dari bawah
+
+findbar-normal-find =
+ .placeholder = Cari dalam halaman
+findbar-fast-find =
+ .placeholder = Carian Pantas
+findbar-fast-find-links =
+ .placeholder = Carian Pantas (pautan sahaja)
+
+findbar-case-sensitive-status =
+ .value = (Sensitif kes)
+findbar-entire-word-status =
+ .value = (Perkataan penuh sahaja)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value = { $current } daripada { $total } padanan
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value = Lebih daripada { $limit } padanan
diff --git a/l10n-ms/toolkit/toolkit/neterror/certError.ftl b/l10n-ms/toolkit/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..5938a0bad6
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/neterror/certError.ftl
@@ -0,0 +1,90 @@
+# 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-mitm-intro = Laman web membuktikan identiti melalui sijil yang dikeluarkan oleh pihak berkuasa sijil.
+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 <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+# 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 = Kod ralat: { $error }
+# 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: <a data-l10n-name="error-code-link">{ $error }</a>
+# Variables:
+# $hostname (String) - Hostname of the website with SSL error.
+# $errorMessage (String) - Error message corresponding to the type of error we are experiencing.
+cert-error-ssl-connection-error = Ada ralat semasa menyambung ke { $hostname }. { $errorMessage }
+# 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.
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP Keselamatan Pengangkutan Rapi: { $hasHSTS }
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP Penyematan Kunci Awam: { $hasHPKP }
+cert-error-details-cert-chain-label = Rantaian sijil:
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Tidak dapat menyambung
+deniedPortAccess-title = Alamat ini dihadkan
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmmm. Kami menghadapi masalah untuk mencari laman ini.
+fileNotFound-title = Fail tidak ditemui
+fileAccessDenied-title = Akses kepada fail ditolak
+generic-title = Maaf.
+captivePortal-title = Log masuk ke rangkaian
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmmm. Alamat ini nampaknya tidak betul.
+netInterrupt-title = Sambungan terganggu
+notCached-title = Dokumen Luput
+netOffline-title = Mod luar talian
+contentEncodingError-title = Ralat Pengekodan Kandungan
+unsafeContentType-title = Jenis Fail Tidak Selamat
+netReset-title = Sambungan diset semula
+netTimeout-title = Sambungan telah tamat tempoh
+unknownProtocolFound-title = Alamat tidak difahami
+proxyConnectFailure-title = Pelayan proksi menolak sambungan
+proxyResolveFailure-title = Tidak dapat menemui pelayan proksi
+redirectLoop-title = Halaman tidak diarahkan semula dengan betul
+unknownSocketType-title = Respon tidak dijangka daripada pelayan
+nssFailure2-title = Gagal Disambung Dengan Selamat
+corruptedContentError-title = Ralat Kandungan Rosak
+sslv3Used-title = Tidak dapat Disambung dengan Selamat
+inadequateSecurityError-title = Sambungan internet anda tidak selamat
+blockedByPolicy-title = Halaman Disekat
+clockSkewError-title = Jam komputer anda salah
+networkProtocolError-title = Ralat Protokol Rangkaian
+nssBadCert-title = Amaran: Mungkin Ada Risiko Keselamatan
+nssBadCert-sts-title = Jangan Sambung: Potensi Isu Sekuriti
diff --git a/l10n-ms/toolkit/toolkit/neterror/netError.ftl b/l10n-ms/toolkit/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..65c4b0ab50
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/neterror/netError.ftl
@@ -0,0 +1,123 @@
+# 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 page titles
+
+neterror-page-title = Masalah memuatkan halaman
+certerror-page-title = Amaran: Mungkin Ada Risiko Keselamatan
+certerror-sts-page-title = Jangan Sambung: Potensi Isu Sekuriti
+neterror-blocked-by-policy-page-title = Halaman Disekat
+neterror-captive-portal-page-title = Log masuk ke rangkaian
+neterror-dns-not-found-title = Pelayan Tidak Ditemui
+neterror-malformed-uri-page-title = URL tak sah
+
+## Error page actions
+
+neterror-copy-to-clipboard-button = Salin teks ke klipbod
+neterror-learn-more-link = Ketahui selanjutnya…
+neterror-open-portal-login-page-button = Buka Halaman Log Masuk Rangkaian
+neterror-override-exception-button = Terima Risiko dan Teruskan
+neterror-pref-reset-button = Pulih tetapan piawai
+neterror-return-to-previous-page-button = Undur
+neterror-return-to-previous-page-recommended-button = Undur (Disyorkan)
+neterror-try-again-button = Cuba Lagi
+neterror-view-certificate-link = Papar Sijil
+
+##
+
+neterror-pref-reset = Tetapan keselamatan rangkaian anda mungkin menyebabkan masalah ini. Adakah anda mahu tetapan piawai anda dipulihkan?
+neterror-error-reporting-automatic = Laporkan ralat seperti ini untuk membantu { -vendor-short-name } mengenal pasti dan menyekat laman berbahaya
+
+## Specific error messages
+
+neterror-generic-error = { -brand-short-name } tidak dapat memuat halaman ini atas beberapa alasan.
+
+neterror-load-error-try-again = Laman ini tidak ada buat sementara waktu atau terlalu sibuk. Cuba lagi dalam beberapa ketika.
+neterror-load-error-connection = Jika anda tidak dapat memuatkan sebarang halaman, semak sambungan rangkaian komputer.
+neterror-load-error-firewall = Jika komputer atau rangkaian anda dilindungi firewall atau proksi, sila pastikan bahawa { -brand-short-name } diberi izin mengakses Web.
+
+neterror-captive-portal = Anda perlu log masuk ke rangkaian ini sebelum anda boleh mengakses Internet.
+
+neterror-file-not-found-filename = Semak ralat huruf besar nama fail atau ralat menaip lain.
+neterror-file-not-found-moved = Semak samada fail telah dipindahkan, dinamakan semula atau dibuang.
+
+neterror-access-denied = Mungkin telah dibuang, dipindahkan, atau keizinan fail yang menghalang akses.
+
+neterror-unknown-protocol = Anda mungkin perlu pasang perisian lain untuk membuka alamat ini.
+
+neterror-redirect-loop = Masalah ini kadangkala disebabkan oleh menyahaktifkan atau tidak mahu menerima kuki.
+
+neterror-unknown-socket-type-psm-installed = Semak untuk memastikan sistem sudah ada Pengurus Keselamatan Peribadi yang dipasang.
+neterror-unknown-socket-type-server-config = Ini mungkin kerana konfigurasi bukan-piawai dalam pelayar.
+
+neterror-not-cached-intro = Dokumen yang diminta tidak ada dalam cache { -brand-short-name }.
+neterror-not-cached-sensitive = Sebagai langkah keselamatan, { -brand-short-name } tidak akan meminta semula dokumen yang sensitif secara automatik.
+neterror-not-cached-try-again = Klik Cuba Lagi untuk meminta semula dokumen daripada laman web.
+
+neterror-net-offline = Tekan “Cuba Lagi” untuk bertukar ke mod atas talian dan memuatkan halaman.
+
+neterror-proxy-resolve-failure-settings = Semak tetapan proksi untuk memastikan tetapan adalah betul.
+neterror-proxy-resolve-failure-connection = Pastikan komputer anda ada sambungan rangkaian yang berfungsi.
+neterror-proxy-resolve-failure-firewall = Jika komputer atau rangkaian dilindungi firewall atau proksi, pastikan bahawa { -brand-short-name } diberi izin mengakses Web.
+
+neterror-proxy-connect-failure-settings = Semak tetapan proksi untuk memastikan tetapan itu betul.
+neterror-proxy-connect-failure-contact-admin = Hubungi pentadbir rangkaian untuk memastikan bahawa pelayan proksi berfungsi.
+
+neterror-content-encoding-error = Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+neterror-unsafe-content-type = Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+neterror-nss-failure-not-verified = Halaman yang anda mahu lihat tidak dapat dipaparkan kerana autentisiti data yang diterima tidak dapat disahkan.
+neterror-nss-failure-contact-website = Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } mengesan ada potensi ancaman keselamatan dan tidak meneruskan ke <b>{ $hostname }</b>. Jika anda lawat laman web ini, penyerang boleh cuba untuk mencuri maklumat seperti kata laluan, e-mel atau butiran kad kredit anda.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } mengesan potensi ancaman keselamatan dan tidak terus <b>{ $hostname }</b> kerana laman web ini memerlukan sambungan yang selamat.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } mengesan isu dan tidak terus <b>{ $hostname }</b>. Laman web sama ada salah konfigurasi atau jam komputer ditetapkan mengikut masa yang salah.
+
+neterror-corrupted-content-intro = Halaman yang anda cuba lihat tidak dapat dipaparkan kerana ada ralat dalam transmisi data.
+neterror-corrupted-content-contact-website = Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Info lanjutan: SSL_ERROR_UNSUPPORTED_VERSION
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+neterror-inadequate-security-intro = <b>{ $hostname }</b> 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.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Kod ralat: NS_ERROR_NET_INADEQUATE_SECURITY
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = Komputer anda fikir sekarang ialah { DATETIME($now, dateStyle: "medium") }, yang menghalang { -brand-short-name } membuat sambungan dengan selamat. Untuk melawat <b>{ $hostname }</b>, kemas kini jam komputer dalam tetapan sistem ke tarikh, masa dan zon masa semasa dan mulakan semula <b>{ $hostname }</b>.
+
+neterror-network-protocol-error-intro = Halaman yang anda cuba papar tidak dapat ditunjukkan kerana ada ralat dalam protokol rangkaian.
+neterror-network-protocol-error-contact-website = Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+
+certerror-expired-cert-second-para = Kemungkinan sijil laman web tamat tempoh, yang menghalang { -brand-short-name } menyambung dengan selamat. Jika anda melawat laman web ini, penyerang boleh cuba mencuri maklumat seperti kata laluan, emel atau butiran kad kredit anda.
+certerror-expired-cert-sts-second-para = Kemungkinan sijil laman web tamat tempoh, yang menghalang { -brand-short-name } menyambung dengan selamat.
+
+certerror-what-can-you-do-about-it-title = Apa yang anda boleh lakukan tentangnya?
+
+certerror-unknown-issuer-what-can-you-do-about-it-website = Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = 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.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+certerror-expired-cert-what-can-you-do-about-it-clock = Jam komputer ditetapkan ke { DATETIME($now, dateStyle: "medium") }. Pastikan komputer ditetapkan ke tarikh, masa dan zon masa yang betul dalam tetapan sistem, dan mulakan semula <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = 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.
+
+certerror-bad-cert-domain-what-can-you-do-about-it = Isu ini mungkin berkaitan laman web dan tiada apa yang boleh anda lakukan untuk menyelesaikannya. Anda boleh maklumkan masalah ini kepada pentadbir laman web.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-what-should-i-do-bad-sts-cert-explanation = <b>{ $hostname }</b> ada polisi keselamatan yang dipanggil HTTP Keselamatan Pengangkutan Ketat (HSTS), iaitu { -brand-short-name } boleh menyambung secara selamat sahaja. Anda tidak boleh menambah pengecualian untuk melawat laman ini.
diff --git a/l10n-ms/toolkit/toolkit/neterror/nsserrors.ftl b/l10n-ms/toolkit/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..e503001fa9
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,354 @@
+# 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 ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+# Variables:
+# $hostname (String) - Hostname of the website with SSL error.
+# $errorMessage (String) - Error message corresponding to the type of error we are experiencing.
+ssl-connection-error = Ada ralat semasa menyambung ke { $hostname }. { $errorMessage }
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Kod ralat: { $error }
+
+psmerr-ssl-disabled = Tidak dapat sambung dengan selamat kerana protokol SSL telah dilumpuh.
+psmerr-ssl2-disabled = Tidak dapat sambung dengan selamat kerana laman tersebut menggunakan versi protokol SSL yang lama dan tidak selamat.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Anda menerima sijil yang tidak sah.  Sila hubungi pentadbir pelayan atau e-mel koresponden dan berikan mereka informasi berikut:
+
+ Sijil anda mengandungi nombor siri seperti sijil lain yang dikeluarkan oleh autoriti persijilan.  Sila dapatkan sijil baru yang mengandungi nombor siri yang unik.
+
+ssl-error-export-only-server = Tidak dapat berkomunikasi secara selamat. Rakan tidak menyokong enkripsi gred tinggi.
+ssl-error-us-only-server = Tidak dapat berkomunikasi secara selamat. Rakan memerlukan enkripsi gred tinggi yang tidak disokong.
+ssl-error-no-cypher-overlap = Tidak dapat komunikasi yang selamat dengan rakan: tiada enkripsi algoritma yang sama.
+ssl-error-no-certificate = Tidak dapat mencari sijil tertentu atau kunci keperluan untuk pengesahihan.
+ssl-error-bad-certificate = Tidak dapat komunikasi yang selamat dengan rakan: sijil rakan telah ditolak.
+ssl-error-bad-client = Pelayan mengesan data rosak daripada klien.
+ssl-error-bad-server = Klien mengesan data rosak daripada pelayan.
+ssl-error-unsupported-certificate-type = Jenis sijil tidak disokong.
+ssl-error-unsupported-version = Rakan menggunakan versi protokol sekuriti yang tidak disokong.
+ssl-error-wrong-certificate = Pengesahan klien gagal: kekunci persendirian dalam pangkalan data utama tidak sepadan dengan kekunci umum dalam pangkalan data sijil.
+ssl-error-bad-cert-domain = Tidak dapat komunikasi yang selamat dengan rakan: nama domain yang diminta tidak sepadan dengan sijil pelayan.
+ssl-error-post-warning = Ralat kod SSL yang tidak diketahui.
+ssl-error-ssl2-disabled = Rakan hanya menyokong SSL versi 2, yang dinyahdayakan secara lokal.
+ssl-error-bad-mac-read = SSL menerima satu rekod dengan Message Authentication Code yang tidak betul.
+ssl-error-bad-mac-alert = Rakan SSL melaporkan Kod Pengesahan Mesej yang tidak betul.
+ssl-error-bad-cert-alert = Rakan SSL tidak dapat mengesahkan sijil anda.
+ssl-error-revoked-cert-alert = Rakan SSL menolak sijil anda sebagai ditarik balik.
+ssl-error-expired-cert-alert = Rakan SSL menolak sijil anda kerana sudah luput.
+ssl-error-ssl-disabled = Tidak boleh disambung: SSL dinyahdayakan.
+ssl-error-fortezza-pqg = Tidak dapat menyambung: Rakan SSL berada dalam domain FORTEZZA yang lain.
+ssl-error-unknown-cipher-suite = Satu cip SSL yang tidak diketahui telah diminta.
+ssl-error-no-ciphers-supported = Tiada sifer yang sesuai dan didayakan dalam atur cara ini.
+ssl-error-bad-block-padding = SSL menerima rakaman dengan rekod yang tidak berkualiti.
+ssl-error-rx-record-too-long = SSL telah menerima satu rekod yang telah melebihi kepanjangan maximum yang dibenarkan.
+ssl-error-tx-record-too-long = rekod SSL yang cuba dihantar melebihi panjang yang dibenarkan.
+ssl-error-rx-malformed-hello-request = SSL menerima mesej jabat tangan Hello Request yang cacat.
+ssl-error-rx-malformed-client-hello = SSL menerima mesej jabat tangan Client Hello yang cacat.
+ssl-error-rx-malformed-server-hello = SSL menerima mesej jabat tangan Server Hello yang cacat.
+ssl-error-rx-malformed-certificate = SSL menerima satu kecacatan mesej jabat tangan Sijil.
+ssl-error-rx-malformed-server-key-exch = SSL menerima mesej jabat tangan Server Key Exchange yang cacat.
+ssl-error-rx-malformed-cert-request = SSL menerima mesej jabat tangan Certificate Request yang cacat.
+ssl-error-rx-malformed-hello-done = SSL menerima mesej jabat tangan Server Hello Done yang cacat.
+ssl-error-rx-malformed-cert-verify = SSL menerima satu kecacatan mesej jabat tangan Pengesahan Sijil.
+ssl-error-rx-malformed-client-key-exch = SSL menerima kecacatan mesej jabat tangan Client Key Exchange.
+ssl-error-rx-malformed-finished = SSL menerima mesej jabat tangan Finished yang cacat.
+ssl-error-rx-malformed-change-cipher = SSL menerima satu rekod tukar bentuk Change Cipher Spec.
+ssl-error-rx-malformed-alert = SSL menerima kecacatan rekod amaran.
+ssl-error-rx-malformed-handshake = SSL menerima rekod Jabat tangan yang cacat.
+ssl-error-rx-malformed-application-data = SSL menerima rekod canggaan Application Data.
+ssl-error-rx-unexpected-hello-request = SSL menerima mesej jabat tangan Hello Request yang tidak dijangka.
+ssl-error-rx-unexpected-client-hello = SSL menerima mesej jabat tangan Client Hello yang tidak dijangka.
+ssl-error-rx-unexpected-server-hello = SSL menerima mesej jabat tangan Server Hello yang tidak dijangka.
+ssl-error-rx-unexpected-certificate = SSL menerima mesej jabat tangan Certificate yang tidak dijangka.
+ssl-error-rx-unexpected-server-key-exch = SSL menerima mesej jabat tangan Server Key Exchange yang tidak dijangka.
+ssl-error-rx-unexpected-cert-request = SSL menerima mesej jabat tangan Certificate Request yang tidak dijangka.
+ssl-error-rx-unexpected-hello-done = SSL menerima mesej jabat tangan Server Hello Done yang tidak dijangka.
+ssl-error-rx-unexpected-cert-verify = SSL menerima mesej jabat tangan Certificate Verify yang tidak dijangka.
+ssl-error-rx-unexpected-client-key-exch = SSL menerima mesej jabat tangan Client Key Exchange yang tidak dijangka.
+ssl-error-rx-unexpected-finished = SSL menerima mesej jabat tangan Finished yang tidak dijangka.
+ssl-error-rx-unexpected-change-cipher = SSL menerima satu rekod Change Cipher Spec yang tidak dijangka.
+ssl-error-rx-unexpected-alert = SSL menerima satu rekod Alert yang tidak dijangka.
+ssl-error-rx-unexpected-handshake = SSL menerima rekod Jabat tangan yang tidak dijangka.
+ssl-error-rx-unexpected-application-data = SSL menerima rekod Data Aplikasi yang tidak dijangka.
+ssl-error-rx-unknown-record-type = SSL menerima satu rekod dengan jenis kandungan yang tidak diketahui.
+ssl-error-rx-unknown-handshake = SSL menerima mesej getaran dengan jenis mesej yang tidak diketahui.
+ssl-error-rx-unknown-alert = SSL menerima rakaman peringatan dengan peringatan yang tidak diketahui.
+ssl-error-close-notify-alert = Rakan SSL telah menutup sambungan ini.
+ssl-error-handshake-unexpected-alert = Rakan SSL tidak menjangkakan mesej jabat tangan yang diterima.
+ssl-error-decompression-failure-alert = Rakan SSL tidak berjaya menyahmampatkan rekod SSL yang diterima.
+ssl-error-handshake-failure-alert = Rakan SSL tidak dapat merundingkan set parameter sekuriti yang boleh diterima.
+ssl-error-illegal-parameter-alert = Rakan SSL menolak mesej jabat tangan untuk kandungan yang tidak boleh diterima.
+ssl-error-unsupported-cert-alert = Rakan SSL tidak menyokong jenis sijil yang telah diterima.
+ssl-error-certificate-unknown-alert = Rakan SSL ada beberapa isu yang tidak dinyatakan dengan sijil yang diterima.
+ssl-error-generate-random-failure = SSL mengalami kegagalan menjanakan nombor secara rawak.
+ssl-error-sign-hashes-failure = tidak mampu menanda data secara digital untuk mengesahkan sijil.
+ssl-error-extract-public-key-failure = SSL tidak dapat mengekstrak kunci awam daripada sijil rakan.
+ssl-error-server-key-exchange-failure = Kegagalan yang tidak diketahui semasa memproses jabat tangan Server Key Exchange SSL.
+ssl-error-client-key-exchange-failure = Kegagalan yang tidak ditentukan apabila memproses jabat tangan Client Key Exchange SSL.
+ssl-error-encryption-failure = Algoritma enkripsi data pukal gagal dalam suit sifer yang dipilih.
+ssl-error-decryption-failure = Algoritma penyahsulitan data pukal gagal di ruang penyahsulitan terpilih.
+ssl-error-socket-write-failure = Percubaan untuk menulis data enkripsi pada soket asas gagal.
+ssl-error-md5-digest-failure = Fungsi diges MD5 gagal.
+ssl-error-sha-digest-failure = Fungsi diges SHA-1 gagal.
+ssl-error-mac-computation-failure = Pengiraan MAC gagal.
+ssl-error-sym-key-context-failure = Gagal untuk mencipta konteks Kekunci Simmetrik.
+ssl-error-sym-key-unwrap-failure = Kegagalan untuk membuka kunci Symmetric dalam mesej Client Key Exchange.
+ssl-error-pub-key-size-limit-exceeded = Pelayan SSL mencuba untuk menggunakan kunci tempatan grad domestik dengan ekspot sifer yang sesuai.
+ssl-error-iv-param-failure = Kod PKCS11 gagal untuk menterjemah IV kepada param.
+ssl-error-init-cipher-suite-failure = gagal untuk memastikan pemilihan chiper suite.
+ssl-error-session-key-gen-failure = Klien gagal menghasilkan kunci sesi untuk sesi SSL.
+ssl-error-no-server-key-for-alg = Pelayan tidak mempunyai kekunci untuk melakukan pertukaran kekunci algoritma tersebut.
+ssl-error-token-insertion-removal = Token PKCS#11 telah dimasukkan atau dialih keluar semasa operasi sedang berjalan.
+ssl-error-token-slot-not-found = Tiada token PKCS#11 dapat ditemui untuk melaksanakan operasi yang diperlukan.
+ssl-error-no-compression-overlap = Tidak dapat komunikasi yang selamat dengan rakan: tiada mampatan algorithma yang biasa.
+ssl-error-handshake-not-completed = Tidak berjaya memulakan satu lagi jabat tangan SSL sehingga jabat tangan semasa selesai.
+ssl-error-bad-handshake-hash-value = Menerima nilai cincang jabat tangan yang salah daripada rakan.
+ssl-error-cert-kea-mismatch = Sijil yang diberi tidak boleh digunakan bersama algoritma pertukaran kekunci yang dipilih.
+ssl-error-no-trusted-ssl-client-ca = Tiada penguasa sijil yang dipercayai untuk pengesahan pengguna SSL.
+ssl-error-session-not-found = ID sesi klien SSL tidak ditemui dalam cache sesi pelayan.
+ssl-error-decryption-failed-alert = Rakan tidak dapat menyahsulitkan rekod SSL yang diterima.
+ssl-error-record-overflow-alert = Rakan menerima rekod SSL yang lebih panjang daripada yang dibenarkan.
+ssl-error-unknown-ca-alert = Rakan tidak mengiktiraf dan mempercayai CA yang mengeluarkan sijil anda.
+ssl-error-access-denied-alert = Rakan menerima sijil yang sah, tapi dinafikan akses.
+ssl-error-decode-error-alert = Rakan tidak dapat menyahkod mesej jabat tangan SSL.
+ssl-error-decrypt-error-alert = Rakan melaporkan kegagalan mengesahkan tandatangan atau pertukaran kekunci.
+ssl-error-export-restriction-alert = Rakan melaporkan perundingan yang tidak mematuhi peraturan eksport.
+ssl-error-protocol-version-alert = Rakan melaporkan versi protokol yang tidak serasi atau tidak disokong.
+ssl-error-insufficient-security-alert = Server memerlukan sifer yang lebih selamat daripada yang disokong oleh klien.
+ssl-error-internal-error-alert = Rakan melaporkan ada berlaku ralat dalaman.
+ssl-error-user-canceled-alert = Rakan pengguna membatalkan jabat tangan.
+ssl-error-no-renegotiation-alert = Rakan tidak membenarkan rundingan semula parameter sekuriti SSL.
+ssl-error-server-cache-not-configured = Pelayan cache SSL tidak dikonfigurasi dan tidak dinyahdayakan untuk soket ini.
+ssl-error-unsupported-extension-alert = Rakan SSL tidak menyokong ekstensi hello TLS yang diminta.
+ssl-error-certificate-unobtainable-alert = Rakan SSL tidak berjaya mendapatkan sijil daripada URL yang diberikan.
+ssl-error-unrecognized-name-alert = Rakan SSL tiada sijil pengesahan untuk nama DNS yang diminta.
+ssl-error-bad-cert-status-response-alert = Rakan SSL tidak dapat respons OCSP untuk sijilnya.
+ssl-error-bad-cert-hash-value-alert = Rakan SSL melaporkan nilai cincang sijil yang buruk.
+ssl-error-rx-unexpected-new-session-ticket = SSL menerima mesej jabat tangan New Session Ticket yang tidak dijangka.
+ssl-error-rx-malformed-new-session-ticket = SSL menerima mesej jabat tangan New Session Ticket yang cacat.
+ssl-error-decompression-failure = SSL menerima satu rekod mampat yang tidak boleh dimampat.
+ssl-error-renegotiation-not-allowed = Perundingan adalah dilarang bagi soket SSL.
+ssl-error-unsafe-negotiation = Rakan cuba jabat tangan gaya lama (berpotensi rentan).
+ssl-error-rx-unexpected-uncompressed-record = SSL telah menerima rekod yang tidak dijangka dan tidak tersusun.
+ssl-error-weak-server-ephemeral-dh-key = SSL menerima kekunci sementara Diffie-Hellman yang lemah dalam mesej jabat tangan Server Key Exchange.
+ssl-error-next-protocol-data-invalid = SSL menerima data ekstensi NPN yang tidak sah.
+ssl-error-feature-not-supported-for-ssl2 = Ciri-ciri SSL tidak disokong untuk sambungan SSL 2.0.
+ssl-error-feature-not-supported-for-servers = Ciri-ciri SSL tidak diterima oleh pelayan.
+ssl-error-feature-not-supported-for-clients = Ciri-ciri SSL tidak diterima oleh klien.
+ssl-error-invalid-version-range = Julat versi SSL tidak sah.
+ssl-error-cipher-disallowed-for-version = Rakan SSL memilih suit sifer yang tidak dibenarkan untuk versi protokol yang dipilih.
+ssl-error-rx-malformed-hello-verify-request = SSL menerima mesej jabat tangan Hello Verify Request yang cacat.
+ssl-error-rx-unexpected-hello-verify-request = SSL menerima mesej persetujuan Hello Verify Request yang tidak dijangka.
+ssl-error-feature-not-supported-for-version = Ciri SSL tidak disokong versi protokol.
+ssl-error-rx-unexpected-cert-status = SSL menerima mesej jabat tangan Certificate Status yang tidak dijangka.
+ssl-error-unsupported-hash-algorithm = Algoritma cincang yang tidak disokong telah digunakan oleh rakan TLS.
+ssl-error-digest-failure = Fungsi diges gagal.
+ssl-error-incorrect-signature-algorithm = Algoritma tandatangan yang tidak betul dinyatakan dalam elemen tandatangan-digital.
+ssl-error-next-protocol-no-callback = Ektensi rundingan protokol seterusnya didayakan, tetapi callback telah dibuang sebelum digunakan.
+ssl-error-next-protocol-no-protocol = Pelayan tidak menyokong protokol klien yang mengiklan ektensi dalam ALPN.
+ssl-error-inappropriate-fallback-alert = Pelayan menolak jabat tangan kerana klien menurunkan gred TLS menjadi versi lebih rendah daripada yang disokong oleh pelayan.
+ssl-error-weak-server-cert-key = Sijil pelayan mengandungi kunci umum yang terlalu lemah.
+ssl-error-rx-short-dtls-read = Tidak cukup ruang dalam penimbal untuk rekod DTLS.
+ssl-error-no-supported-signature-algorithm = Tiada konfigurasi untuk algoritma tandatangan TLS yang tidak disokong.
+ssl-error-unsupported-signature-algorithm = Rakan menggunakan kombinasi tandatangan dan algoritma cincang yang tidak disokong.
+ssl-error-missing-extended-master-secret = Rakan cuba menyambung semula tanpa ekstensi extended_master_secret yang betul.
+ssl-error-unexpected-extended-master-secret = Rakan cuba untuk menyambung semula dengan ekstensi extended_master_secret yang tidak dijangka.
+sec-error-io = Kesalahan I/O berlaku semasa pengesahan keselamatan.
+sec-error-library-failure = Kegagalan Sekuriti Perpustakaan.
+sec-error-bad-data = Sekuriti Perpustakaan: menerima data yang buruk.
+sec-error-output-len = perpustakaan keselamatan : kesilapan data.
+sec-error-input-len = pustaka keselamatan pernah mengalami ralat panjang input.
+sec-error-invalid-args = perpustakaan keselamatan : arahan tidak sah
+sec-error-invalid-algorithm = Perpustakaan Keselamatan : Algoritma tidak sah
+sec-error-invalid-ava = Sekuriti Perpustakaan: AVA yang tidak sah.
+sec-error-invalid-time = Format waktu tidak sah.
+sec-error-bad-der = perpustakaan keselamatan: mesej DER-encoded tidak dapat format dengan tertib.
+sec-error-bad-signature = Sijil rakan ada tandatangan tidak sah.
+sec-error-expired-certificate = Sijil Rakan telah luput.
+sec-error-revoked-certificate = Sijil Rakan telah dimansuhkan.
+sec-error-unknown-issuer = Pengeluar Sijil Rakan tidak diiktiraf.
+sec-error-bad-key = Kekunci umum rakan tidak sah.
+sec-error-bad-password = Kata laluan keselamatan yang dimasukkan adalah salah.
+sec-error-retry-password = Kata laluan baru yang dimasukkan tidak betul. Sila cuba lagi.
+sec-error-no-nodelock = pustaka sekuriti: tiada kuncinod.
+sec-error-bad-database = putaka sekuriti: pengkalan data yang tidak elok.
+sec-error-no-memory = pustaka sekuriti: peruntukan memori gagal.
+sec-error-untrusted-issuer = Pengeluar sijil rakan telah ditanda sebagai tidak dapat dipercayai oleh pengguna.
+sec-error-untrusted-cert = Sijil rakan telah ditanda sebagai tidak boleh dipercayai oleh pengguna.
+sec-error-duplicate-cert = Sijil telahpun wujud di dalam pangkalan data anda.
+sec-error-duplicate-cert-name = Nama sijil pengesahan yang telah dimuat turun mempunyai kembar di dalam pangkalan data anda.
+sec-error-adding-cert = Ralat menambah sijil ke pangkalan data.
+sec-error-filing-key = Ralat isi semula kunci bagi sijil ini.
+sec-error-no-key = Kunci peribadi untuk sijil ini tidak dapat ditemui di dalam pengkalan data kunci
+sec-error-cert-valid = Sijil ini adalah sah.
+sec-error-cert-not-valid = Sijil ini adalah tidak sah.
+sec-error-cert-no-response = Sijil Perpustakaan : tiada maklum balas
+sec-error-expired-issuer-certificate = Sijil kepunyaan pengeluar sijil telah luput. Sila semak masa dan tarikh sistem anda.
+sec-error-crl-expired = CRL bagi penerbit sijil telah luput. Mengemaskinikan atau memeriksa tarikh sistem dan masa anda.
+sec-error-crl-bad-signature = CRL bagi penerbit sijil mempunyai tandatangan yang tidak sah.
+sec-error-crl-invalid = CRL baru mempunyai format yang tidak sah.
+sec-error-extension-value-invalid = Nilai ekstensi sijil tidak sah.
+sec-error-extension-not-found = Ekstensi sijil tidak ditemui.
+sec-error-ca-cert-invalid = Pengeluar sijil adalah tidak sah.
+sec-error-path-len-constraint-invalid = Kekangan sebahagian sijil adalah tidak sah.
+sec-error-cert-usages-invalid = Ruang penggunaan sijil tidak sah.
+sec-internal-only = **Modul dalaman SAHAJA**
+sec-error-invalid-key = Kekunci tidak menyokong operasi yang diminta.
+sec-error-unknown-critical-extension = Sijil mengandungi ekstensi kritikal yang tidak diketahui.
+sec-error-old-crl = CRL yang baru adalah bukan baru banding dengan yang terkini.
+sec-error-no-email-cert = Tidak dienkripsi atau ditandatangani: anda belum lagi ada sijil e-mel.
+sec-error-no-recipient-certs-query = Tidak dienkripsi: anda tidak ada sijil untuk setiap penerima.
+sec-error-not-a-recipient = Tidak dapat didekripsi: anda bukan seorang penerima, atau sijil yang sepadan dan kunci peribadi tidak ditemui.
+sec-error-pkcs7-keyalg-mismatch = Tidak dapat dinyahenkripsi: kunci algoritma enkripsi tidak sepadan dengan sijil anda.
+sec-error-pkcs7-bad-signature = Tandatangan penentusahan telah gagal: tidak ada penandatangan , didapati terlalu banyak penandatangan, atau tidak sempurna atau data tercemar.
+sec-error-unsupported-keyalg = Kekunci algoritma tidak disokong atau tidak diketahui.
+sec-error-decryption-disallowed = Tidak dapat dinyahenkripsi: dienkripsi menggunakan algoritma atau saiz kunci yang tidak dibenarkan.
+xp-sec-fortezza-bad-card = Kad Fortezza telah dimulakan dengan betul. Sila alih keluar dan pulangkan semula kepada pengeluar.
+xp-sec-fortezza-no-card = Tiada kad Fortezza ditemui
+xp-sec-fortezza-none-selected = Tiada kad Fortezza dipilih
+xp-sec-fortezza-more-info = Sila pilih satu personaliti untuk mendapatkan maklumat yang lebih lanjut
+xp-sec-fortezza-person-not-found = Personaliti tidak ditemui
+xp-sec-fortezza-no-more-info = Tiada maklumat lanjut tentang personaliti ini
+xp-sec-fortezza-bad-pin = Pin Tidak Sah
+xp-sec-fortezza-person-error = Tidak dapat memulakan personaliti Fortezza.
+sec-error-no-krl = Tiada sijil KRL untuk laman ini yang ditemui.
+sec-error-krl-expired = KRL bagi sijil laman ini telah luput.
+sec-error-krl-bad-signature = KRL bagi sijil laman ini mendapati satu tandatangan yang tidak sah.
+sec-error-revoked-key = Kunci bagi sijil laman ini telah ditarik balik.
+sec-error-krl-invalid = KRL baru mempunyai format yang tidak sah.
+sec-error-need-random = Perpustakaan Keselamatan : memerlukan data secara rawak
+sec-error-no-module = Perpustakaan Keselamatan : Tiada Modul Keselamatan mempunyai operasi permintaan
+sec-error-no-token = Kad sekuriti atau token yang tidak wujud, memerlukan perberian awal, atau perlu dialih.
+sec-error-read-only = Perpustakaan keselamtan: hanya membaca database.
+sec-error-no-slot-selected = Tiada slot atau token telah dipilih.
+sec-error-cert-nickname-collision = Suatu sijil dengan nama panggilan yang sama telahpun wujud.
+sec-error-key-nickname-collision = Suatu kunci dengan nama panggilan yang sama telahpun wujud.
+sec-error-safe-not-created = ralat apabila mencipta objek simpanan
+sec-error-baggage-not-created = ralat semasa mencipta objek bagasi.
+xp-java-remove-principal-error = Tidak dapat mengalih keluar prinsipal
+xp-java-delete-privilege-error = Tidak dapat menghapuskan keistimewaan
+xp-java-cert-not-exists-error = Prinsipal ini tidak mempunyai sijil
+sec-error-bad-export-algorithm = Algoritma yang dikehendaki adalah tidak dibenarkan.
+sec-error-exporting-certificates = Ralat ketika cuba untuk mengeksport sijil-sijil.
+sec-error-importing-certificates = Ralat ketika cuba mengimport sijil-sijil.
+sec-error-pkcs12-decoding-pfx = Tidak dapat mengimport. Ralat penyahkodan. Fail tidak sah.
+sec-error-pkcs12-invalid-mac = Tidak dapat mengimport. MAC tidak sah. Kata laluan salah atau fail rosak.
+sec-error-pkcs12-unsupported-mac-algorithm = Tidak dapat mengimport. Algoritma MAC tidak disokong.
+sec-error-pkcs12-unsupported-transport-mode = Tidak dapat mengimport. Hanya menyokong integriti kata laluan dan mod privasi.
+sec-error-pkcs12-corrupt-pfx-structure = Tidak dapat mengimport. Struktur fail sudah rosak.
+sec-error-pkcs12-unsupported-pbe-algorithm = Tidak dapat mengimport. Algoritma enkripsi tidak disokong.
+sec-error-pkcs12-unsupported-version = Tidak dapat mengimport. Versi fail tidak disokong.
+sec-error-pkcs12-privacy-password-incorrect = Tidak dapat mengimport. Kata laluan privasi tidak betul.
+sec-error-pkcs12-cert-collision = Tidak dapat mengimport. Nama gelaran yang sama sudah ada dalam pangkalan data.
+sec-error-user-cancelled = Pengguna klik butang batal.
+sec-error-pkcs12-duplicate-data = Tidak diimport kerana telah wujud dalam pangkalan data.
+sec-error-message-send-aborted = Mesej tidak dihantar.
+sec-error-inadequate-key-usage = Kunci pensijilan tidak mencukupi untuk percubaan operasi.
+sec-error-inadequate-cert-type = Jenis sijil tidak diluluskan bagi aplikasi.
+sec-error-cert-addr-mismatch = Alamat menandatangani sijil tidak sama dengan alamat pengepala mesej.
+sec-error-pkcs12-unable-to-import-key = Tidak dapat mengimport. Ralat mencuba mengimport kunci peribadi.
+sec-error-pkcs12-importing-cert-chain = Tidak dapat mengimport. Ralat mencuba mengimport rantai sijil.
+sec-error-pkcs12-unable-to-locate-object-by-name = Tidak dapat mengeksport. Tidak dapat mencari sijil atau kunci dengan menggunakan nama samaran.
+sec-error-pkcs12-unable-to-export-key = Tidak dapat mengeksport. Kunci peribadi tidak boleh dicari dan dieksport.
+sec-error-pkcs12-unable-to-write = Tidak dapat mengeksport. Tidak dapat menulis fail yang dieksport.
+sec-error-pkcs12-unable-to-read = Tidak dapat mengimport. Tidak dapat membaca fail yang di import.
+sec-error-pkcs12-key-database-not-initialized = Tidak dapat mengeksport. Pangkalan data utama rosak atau telah dihapuskan.
+sec-error-keygen-fail = Tidak dapat menjana pasangan kekunci awam/swasta.
+sec-error-invalid-password = Kata laluan yang dimasukkan tidak sah. Sila pilih yang lain.
+sec-error-retry-old-password = Kata laluan lama yang dimasukkan tidak betul. Sila cuba lagi.
+sec-error-bad-nickname = nama timangan dalam sijil sudah digunakan.
+sec-error-not-fortezza-issuer = Rantaian rakan FORTEZZA tiada Sijil bukan-FORTEZZA.
+sec-error-cannot-move-sensitive-key = Satu kunci sensitif tidak boleh dialih pada slot yang diperlukan.
+sec-error-js-invalid-module-name = Nama modul tidak sah.
+sec-error-js-invalid-dll = Modul haluan/nama fail tidak sah
+sec-error-js-add-mod-failure = Tidak dapat menambah modul
+sec-error-js-del-mod-failure = Tidak dapat menghapuskan modul
+sec-error-old-krl = KRL yang baru adalah tidak lama banding dengan yang terkini.
+sec-error-ckl-conflict = CKL baru mempunyai pengeluar berbeza daripada CKL semasa. Hapus CKL semasa.
+sec-error-cert-not-in-name-space = Lembaga Persijilan untuk sijil ini tidak membenarkan sijil dengan nama yang sama dibekalkan.
+sec-error-krl-not-yet-valid = Senarai pembatalan bagi sijil ini belum lagi disahkan.
+sec-error-crl-not-yet-valid = Senarai sijil pembatalan bagi sijil ini belum sah.
+sec-error-unknown-cert = Sijil yang diminta tidak dapat ditemui.
+sec-error-unknown-signer = Sijil penandatangan tidak dapat ditemui.
+sec-error-cert-bad-access-location = Lokasi bagi pelayar status sijil mempunyai format yang tidak sah.
+sec-error-ocsp-unknown-response-type = Respond OCSP tidak dapat nyakod dengan lengkap; ia merupakan jenis yang tidak diketahui.
+sec-error-ocsp-bad-http-response = Pelayar OCSP mengembalikan data HTTP yang tidak dapat dijangkai/tidak sah.
+sec-error-ocsp-malformed-request = Pelayar OCSP mendapatkan permintaan untuk mencemarkan atau pembentukan yang tidak sempurna.
+sec-error-ocsp-server-error = Pelayar OCSP mengalami satu ralat pendalaman.
+sec-error-ocsp-try-server-later = Pelaya OCSP memberi cadangan cuba kemudian.
+sec-error-ocsp-request-needs-sig = Pelayar OCSP memerlukan satu tandatangan pada permohonan ini.
+sec-error-ocsp-unauthorized-request = Pelayar OCSP telah menolak permohonan ini sebagai atur cara tanpa izin.
+sec-error-ocsp-unknown-response-status = Pelayar OCSP mengembalikan satu status yang tidak diiktiraf.
+sec-error-ocsp-unknown-cert = Tiada status pada pelayan OCSP untuk sijil tersebut.
+sec-error-ocsp-not-enabled = Anda mesti dayakan OCSP sebelum melakukan operasi ini.
+sec-error-ocsp-no-default-responder = Anda mesti tetapkan OCSP sebagai penggerak balas piawai sebelum melaksanakan operasi ini.
+sec-error-ocsp-malformed-response = Balas dari pelayar OCSP telah cemar atau pembentukan yang tidak wajar.
+sec-error-ocsp-unauthorized-response = Penandatangan bagi balas OCSP tidak mempunyai kuasa untuk memberi status bagi sijil ini.
+sec-error-ocsp-future-response = Balas OCSP masih belum sah (mempunyai satu tarikh pada masa yang akan datang).
+sec-error-ocsp-old-response = OCSP mengandungi informasi yang lama.
+sec-error-digest-not-found = CMS atau PKCS #7 Digest tidak dapat ditemui dalam mesej yang ditandatangani.
+sec-error-unsupported-message-type = Mesej jenis CMS atau PKCS #7 adalah tidak disokong.
+sec-error-module-stuck = Modul PKCS #11 tidak dapat dialih keluar kerana sedang digunakan.
+sec-error-bad-template = Tidak dapat mengekod data ASN.1. Templat tertentu tidak sah.
+sec-error-crl-not-found = Tiada padanan CRL yang ditemui.
+sec-error-reused-issuer-and-serial = Anda sedang mencuba mengimport satu cert dengan satu penerbit/serial yang sama sebagai cert yang telah wujud, tetapi ia bukan cert yang sama.
+sec-error-busy = NSS tidak boleh ditutup. Objek masih lagi sedang digunakan.
+sec-error-extra-input = Mesej DER-encoded mempunyai banyak data yang tidak berguna.
+sec-error-unsupported-elliptic-curve = Lengkung eliptik tidak disokong.
+sec-error-unsupported-ec-point-form = Bentuk titik lengkung eliptik tidak disokong.
+sec-error-unrecognized-oid = Objek yang tidak dikenalpasti.
+sec-error-ocsp-invalid-signing-cert = Sijil penandatangan OCSP yang tidak sah dalam respond OCSP.
+sec-error-revoked-certificate-crl = Sijil telah ditarik balik dalam senarai sijil penarik balik pengisu.
+sec-error-revoked-certificate-ocsp = Pemaklum balas OCSP melaporkan sijil telah ditarik balik.
+sec-error-crl-invalid-version = Senarai sijil penarik balik pengisu mempunyai nombor versi yang tidak diketahui.
+sec-error-crl-v1-critical-extension = Senarai Penarik balik Sijil Pengeluar V1 ada ekstensi kritikal.
+sec-error-crl-unknown-critical-extension = Senarai Penarik balik Sijil Pengeluar V2 ada ekstensi kritikal tidak diketahui.
+sec-error-unknown-object-type = Jenis objek dinyatakan tidak dapat dikenal pasti.
+sec-error-incompatible-pkcs11 = Pemacu PKCS #11 melanggar spesifikasi dalam cara yang tidak sesuai.
+sec-error-no-event = Tiada slot acara baru pada masa ini.
+sec-error-crl-already-exists = CRL telah wujud.
+sec-error-not-initialized = NSS adalah tidak dapat dimulakan.
+sec-error-token-not-logged-in = Operasi gagal kerana token PKCS#11 tidak menglog masuk.
+sec-error-ocsp-responder-cert-invalid = Pemaklum balas OCSP mengkonfigurasi bahawa sijil adalah tidak sah.
+sec-error-ocsp-bad-signature = Pemaklum balas OCSP mempunyai satu tandatangan yang tidak sah.
+sec-error-out-of-search-limits = Pencarian pengesahsahihan cert adalah melebihi had gelintaran
+sec-error-invalid-policy-mapping = Pemetaan polici mempunyai mana-mana polici
+sec-error-policy-validation-failed = Rantai Cert telah menggagalkan had polici
+sec-error-unknown-aia-location-type = Jenis lokasi tidak diketahui dalam ekstensi sijil AIA
+sec-error-bad-http-response = Pelayar menerima maklum balas HTTP yang buruk
+sec-error-bad-ldap-response = Pelayar menerima maklum balas LDAP yang teruk
+sec-error-failed-to-encode-data = Gagal untuk mengekod data dengan pengekod ASN1
+sec-error-bad-info-access-location = Akses maklumat lokasi lapuk dalam ekstensi sijil
+sec-error-libpkix-internal = Ralat pendalaman Libpkix berlaku semasa pengesahsahihan cert.
+sec-error-pkcs11-general-error = Satu PKCS #11 modul mengembalikan CKR_GENERAL_ERROR, menunjukkan sebuah ralat yang tidak dapat dipulihkan telah berlaku.
+sec-error-pkcs11-function-failed = Modul PKCS #11 dikembali CKR_FUNCTION_FAILED, menunjukkan bahawa fungsi yang diminta tidak dapat dilakukan. Mencuba operasi yang sama sekali lagi mungkin akan berjaya.
+sec-error-pkcs11-device-error = Satu PKCS #11 modul mengembalikan CKR_DEVICE_ERROR, menunjukkan satu masalah telah berlaku dengan token atau slot.
+sec-error-bad-info-access-method = Kaedah akses maklumat yang tidak diketahui dalam ekstensi sijil.
+sec-error-crl-import-failed = Ralat ketika cuba mengimport satu CRL.
+sec-error-expired-password = Kata laluan tamat tempoh.
+sec-error-locked-password = Kata laluan dikunci.
+sec-error-unknown-pkcs11-error = Kesilapan PKCS #11 tidak dikenali.
+sec-error-bad-crl-dp-url = URL sah atau tidak disokong nama pusat dalam pembahagian CRL.
+sec-error-cert-signature-algorithm-disabled = Sijil ditandatangan menggunakan algoritma yang dilumpuhkan kerana tidak selamat.
+mozilla-pkix-error-key-pinning-failure = Pelayan menggunakan kep pinning (HPKP) tetapi tiada rantai sijil yang boleh dipercayai dapat dibina sepadan dengan pinset. Pelanggaran key pinning tidak dapat dibatalkan.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Pelayan menggunakan sijil dengan ektensi kekangan asas lalu mengenalpastinya sebagai autoriti sijil. Untuk sijil yang dikeluarkan dengan betul, hal ini tidak seharusnya berlaku.
+mozilla-pkix-error-inadequate-key-size = Pelayan menyerahkan sijil dengan saiz kunci yang terlalu kecil untuk mewujudkan sambungan yang selamat.
+mozilla-pkix-error-v1-cert-used-as-ca = Sijil X.509 versi 1 yang bukannya trust anchor telah digunakan untuk mengeluarkan sijil pelayan. Sijil X.509 versi 1 tidak sesuai dan hendaklah tidak digunakan untuk menandatangani sijil lain.
+mozilla-pkix-error-not-yet-valid-certificate = Pelayan menyerahkan sijil yang masih belum disahkan.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Sijil yang masih belum disahkan telah digunakan untuk mengeluarkan sijil pelayan.
+mozilla-pkix-error-signature-algorithm-mismatch = Algoritma tandatangan dalam medan tandatangan sijil tidak sepadan dengan algoritma dalam bidangnya signatureAlgorithm.
+mozilla-pkix-error-ocsp-response-for-cert-missing = Respon OCSP tidak memasukkan status respon sijil yang sedang disahkan.
+mozilla-pkix-error-validity-too-long = Pelayan menyerahkan sijil yang ada tempoh sah terlalu lama.
+mozilla-pkix-error-required-tls-feature-missing = Ciri TLS yang diperlukan hilang.
+mozilla-pkix-error-invalid-integer-encoding = Pelayan menyerahkan sijil yang mengandungi pengekodan integer yang tidak sah. Punca yang biasa termasuk number siri negatif, modul RSA negatif, dan pengekodan yang sudah tidak diperlukan lagi.
+mozilla-pkix-error-empty-issuer-name = Pelayan menyerahkan sijil tanpa nama unggul pengeluar.
+mozilla-pkix-error-additional-policy-constraint-failed = Kekangan polisi tambahan telah gagal apabila mengesahkan sijil ini.
+mozilla-pkix-error-self-signed-cert = Sijil ini tidak boleh dipercayai kerana ditandatangani sendiri.
diff --git a/l10n-ms/toolkit/toolkit/payments/payments.ftl b/l10n-ms/toolkit/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..3c4a4e4676
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/payments/payments.ftl
@@ -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/.
+
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
diff --git a/l10n-ms/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl b/l10n-ms/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..658c9a84aa
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/pictureinpicture/pictureinpicture.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/.
+
+pictureinpicture-pause =
+ .aria-label = Jeda
+pictureinpicture-play =
+ .aria-label = Main
+
+pictureinpicture-mute =
+ .aria-label = Senyap
+pictureinpicture-unmute =
+ .aria-label = Nyahsenyap
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+##
+
diff --git a/l10n-ms/toolkit/toolkit/preferences/preferences.ftl b/l10n-ms/toolkit/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..1eccaaa880
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/preferences/preferences.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/.
+
+password-not-set =
+ .value = (tidak ditetapkan)
+
+pw-change-success-title = Kata laluan Berjaya Ditukar
+pw-change-failed-title = Kata laluan Gagal Ditukar
+pw-remove-button =
+ .label = Buang
+
+set-password-old-password = Kata laluan semasa:
+set-password-new-password = Masukkan kata laluan baru:
+set-password-reenter-password = Masukkan semula kata laluan:
+set-password-meter = Meter kualiti kata laluan
+set-password-meter-loading = Memuatkan
+
+remove-info =
+ .value = Anda mesti masukkan kata laluan semasa anda untuk meneruskannya:
+remove-password-old-password =
+ .value = Kata laluan semasa:
diff --git a/l10n-ms/toolkit/toolkit/printing/printDialogs.ftl b/l10n-ms/toolkit/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..d0db517651
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/printing/printDialogs.ftl
@@ -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/.
+
+print-setup =
+ .title = Tatacara Halaman
+custom-prompt-title = Penyesuaian…
+custom-prompt-prompt = Masukkan teks adat pengepala/pekaki
+basic-tab =
+ .label = Format & Pilihan
+advanced-tab =
+ .label = Margin & Pengepala/Footer
+format-group-label =
+ .value = Format
+orientation-label =
+ .value = Orientasi:
+portrait =
+ .label = Potret
+ .accesskey = P
+landscape =
+ .label = Lanskap
+ .accesskey = L
+scale =
+ .label = Skala:
+ .accesskey = S
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Kecilkan supaya muat Lebar Halaman
+ .accesskey = c
+options-group-label =
+ .value = Pilihan
+print-bg =
+ .label = Cetak Latar belakang (warna & imej)
+ .accesskey = j
+margin-group-label-inches =
+ .value = Margin (inci)
+margin-group-label-metric =
+ .value = Margin (milimeter)
+margin-top =
+ .value = Atas:
+ .accesskey = T
+margin-top-invisible =
+ .value = Atas:
+margin-bottom =
+ .value = Bawah:
+ .accesskey = B
+margin-bottom-invisible =
+ .value = Bawah:
+margin-left =
+ .value = Kiri:
+ .accesskey = K
+margin-left-invisible =
+ .value = Kiri:
+margin-right =
+ .value = Kanan:
+ .accesskey = n
+margin-right-invisible =
+ .value = Kanan:
+header-footer-label =
+ .value = Pengepala & Pengaki
+hf-left-label =
+ .value = Kiri:
+hf-center-label =
+ .value = Tengah:
+hf-right-label =
+ .value = Kanan:
+header-left-tip =
+ .tooltiptext = Pengepala kiri
+header-center-tip =
+ .tooltiptext = Pengepala tengah
+header-right-tip =
+ .tooltiptext = Pengepala kanan
+footer-left-tip =
+ .tooltiptext = Pekaki kiri
+footer-center-tip =
+ .tooltiptext = Pekaki tengah
+footer-right-tip =
+ .tooltiptext = Pekaki kanan
+hf-blank =
+ .label = --kosong--
+hf-title =
+ .label = Tajuk
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Tarikh/Masa
+hf-page =
+ .label = Halaman #
+hf-page-and-total =
+ .label = Halaman # daripada #
+hf-custom =
+ .label = Penyesuaian…
+print-preview-window =
+ .title = Previu Cetakan
+print-title =
+ .value = Tajuk:
+print-preparing =
+ .value = Menyediakan...
+print-progress =
+ .value = Kemajuan:
+print-window =
+ .title = Mencetak
+print-complete =
+ .value = Mencetak Selesai.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = Batal
+dialog-close-label = Tutup
diff --git a/l10n-ms/toolkit/toolkit/printing/printPreview.ftl b/l10n-ms/toolkit/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..d1f1542509
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/printing/printPreview.ftl
@@ -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/.
+
+printpreview-simplify-page-checkbox =
+ .label = Permudahkan Halaman
+ .accesskey = p
+ .tooltiptext = Laman ini tidak dapat dipermudahkan secara automatik
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Tukar susun atur untuk pembacaan mudah
+printpreview-close =
+ .label = Tutup
+ .accesskey = u
+printpreview-portrait =
+ .label = Potret
+ .accesskey = o
+printpreview-landscape =
+ .label = Lanskap
+ .accesskey = L
+printpreview-scale =
+ .value = Skala:
+ .accesskey = S
+printpreview-shrink-to-fit =
+ .label = Mengecil Untuk Muat
+printpreview-custom =
+ .label = Penyesuaian…
+printpreview-print =
+ .label = Cetak…
+ .accesskey = C
+printpreview-of =
+ .value = daripada
+printpreview-page-setup =
+ .label = Penetapan Halaman…
+ .accesskey = T
+printpreview-page =
+ .value = Halaman:
+ .accesskey = a
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = Halaman pertama
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Halaman dahulu
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Halaman berikut
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Halaman terakhir
+
diff --git a/l10n-ms/toolkit/toolkit/printing/printUI.ftl b/l10n-ms/toolkit/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..295bcdcb84
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/printing/printUI.ftl
@@ -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/.
+
+## The "Format" section, select a version of the website to print. Radio
+## options to select between the original page, selected text only, or a version
+## where the page is processed with "Reader View".
+
+##
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+## Error messages shown when a user has an invalid input
+
diff --git a/l10n-ms/toolkit/toolkit/updates/backgroundupdate.ftl b/l10n-ms/toolkit/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..5501cd4b33
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/updates/backgroundupdate.ftl
@@ -0,0 +1,4 @@
+# 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/.
+
diff --git a/l10n-ms/toolkit/toolkit/updates/elevation.ftl b/l10n-ms/toolkit/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..df891efd00
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/updates/elevation.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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Kemaskini Perisian
+elevation-details-link-label =
+ .value = Butiran
+elevation-error-manual =
+ Anda boleh kemaskini { -brand-short-name } secara manual dengan melayari pautan ini
+ dan memuat turun versi terkini:
+elevation-finished-page = Kemaskini Sedia Dipasang
+elevation-finished-background-page =
+ Kemaskini keselamatan dan kestabilan untuk { -brand-short-name } telah
+ dimuat turun dan sedia untuk dipasang.
+elevation-finished-background = Kemaskini:
+elevation-more-elevated =
+ Kemaskini ini memerlukan keizinan pentadbir. Kemaskini akan
+                                            dipasang apabila { -brand-short-name } bermula. Anda boleh mulakan semula
+                                            { -brand-short-name } sekarang, teruskan bekerja dan memulakan semula kemudian, atau menolak
+                                            pengemaskinian ini.
diff --git a/l10n-ms/toolkit/toolkit/updates/history.ftl b/l10n-ms/toolkit/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..78f1dd9de7
--- /dev/null
+++ b/l10n-ms/toolkit/toolkit/updates/history.ftl
@@ -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/.
+
+history-title = Sejarah Kemaskini
+history-intro = Kemaskini berikut telah dipasang
+
+close-button-label =
+ .buttonlabelcancel = Tutup
+ .title = Sejarah Kemaskini
+
+no-updates-label = Masih tiada kemaskini dipasang
+name-header = Kemaskini Nama
+date-header = Tarikh Pasang
+type-header = Jenis
+state-header = Negara
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = Butiran
+update-installed-on = Dipasang pada: { $date }
+update-status = Status: { $status }