summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/ms
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /thunderbird-l10n/ms
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'thunderbird-l10n/ms')
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/alerts/alert.properties23
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/autoconfig/autoconfig.properties12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-alarms.properties39
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.dtd433
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.properties541
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-extract.properties294
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.properties10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.dtd413
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.properties826
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.dtd51
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/categories.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dateFormat.properties146
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/global.dtd52
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/menuOverlay.dtd50
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/provider-uninstall.dtd12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/timezones.properties482
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.dtd41
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.properties9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/commands.properties27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/contacts.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/conversations.properties80
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/facebook.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/imtooltip.properties10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/irc.properties209
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/logger.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/matrix.properties250
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/status.properties23
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/twitter.properties122
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/xmpp.properties280
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/chat/yahoo.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/communicator/utilityOverlay.dtd43
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/accessibility.properties274
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/animationinspector.properties183
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/boxmodel.properties46
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/changes.properties64
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/components.properties44
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/debugger.properties970
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/device.properties22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/dom.properties27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/filterwidget.properties61
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/font-inspector.properties69
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/har.properties30
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/inspector.properties559
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/jsonview.properties47
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/layout.properties126
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/memory.properties434
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/menus.properties28
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/netmonitor.properties1495
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/network-throttling.properties37
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/responsive.properties173
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/shared.properties25
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/sourceeditor.properties117
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/startup.properties247
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/styleeditor.properties71
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/toolbox.properties258
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/webconsole.properties567
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/accessibility.properties119
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/debugger.properties67
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/eyedropper.properties14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/screenshot.properties146
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/shared.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/styleinspector.properties236
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/accessible.properties72
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/intl.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/platformKeys.properties34
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/accessible.properties22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/intl.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/platformKeys.properties34
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/accessible.properties22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/intl.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/platformKeys.properties34
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties33
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties38
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties47
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties28
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties53
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties442
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties20
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties43
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties79
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties35
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties23
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties146
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties48
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties50
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties26
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties52
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties56
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties124
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties154
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties16
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties39
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning-toolbar.dtd51
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.dtd118
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.properties232
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-mapi/mapi.properties36
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/newsblog.properties93
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-region/region.properties29
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSMIMEOverlay.dtd10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSecurityInfo.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountManager.dtd30
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountWizard.dtd55
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/CustomHeaders.dtd11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterEditor.dtd67
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterListDialog.dtd43
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/SearchDialog.dtd38
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutDownloads.dtd23
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutRights.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutSupportMail.properties15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationModel.properties22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationUtil.properties34
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.properties99
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addbuddy.dtd7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMailListDialog.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMainWindow.dtd17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/addressBook.properties180
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/ldapAutoCompErrs.properties109
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory.dtd17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/replicationProgress.properties20
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-addressing.dtd51
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-advanced.dtd30
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-archiveoptions.dtd25
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-copies.dtd52
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-e2e.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identities-list.dtd15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identity-edit.dtd14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-im.dtd16
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-junk.dtd31
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-main.dtd50
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.dtd33
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-offline.dtd57
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-advanced.dtd31
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-top.dtd92
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.dtd39
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.properties39
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appUpdate.properties40
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appleMailImportMsgs.properties21
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/baseMenuOverlay.dtd17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/beckyImportMsgs.properties19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/charsetTitles.properties84
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.dtd44
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.properties110
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/configEditorOverlay.dtd5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.dtd11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.properties41
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/custom.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.properties11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/downloadheaders.dtd27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.dtd20
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.properties14
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/fieldMapImport.dtd17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/filter.properties109
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderProps.dtd71
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderWidgets.properties12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderpane.dtd7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/gloda.properties176
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaComplete.properties19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.dtd29
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.properties171
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccountWizard.dtd32
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccounts.properties63
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imapMsgs.properties262
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importDialog.dtd56
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importMsgs.properties307
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/joinChat.dtd10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/junkLog.dtd10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/localMsgs.properties139
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailEditorOverlay.dtd6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailOverlay.dtd11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewList.dtd8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewSetup.dtd11
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailviews.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/markByDate.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.dtd950
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.properties763
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdDialogOverlay.dtd17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdNamedAnchorProperties.dtd10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties459
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editor.properties208
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editorOverlay.dtd303
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/messengercompose.dtd308
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.properties21
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.dtd30
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.properties31
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mime.properties154
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mimeheader.properties35
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/morkImportMsgs.properties18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgAccountCentral.dtd26
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgSynchronize.dtd27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgmdn.properties18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.dtd8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.properties67
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newFolderDialog.dtd16
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/news.properties56
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newsError.dtd31
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offline.properties28
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offlineStartup.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/outlookImportMsgs.properties82
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/pgpmime.properties10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applicationManager.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applications.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/messagestyle.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/preferences.properties100
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/prefs.properties90
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/profileDowngrade.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.properties5
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/renameFolderDialog.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/sanitize.dtd36
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-attributes.properties45
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-operators.properties31
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search.properties27
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/searchTermOverlay.dtd19
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/shutdownWindow.properties10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smime.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smtpEditOverlay.dtd24
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/tabmail.dtd9
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/taskbar.properties8
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/telemetry.properties13
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/templateUtils.properties7
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/textImportMsgs.properties53
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/vCardImportMsgs.properties26
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewLog.dtd12
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.dtd87
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.properties17
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewZoomOverlay.dtd30
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderListDialog.dtd10
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderProperties.dtd22
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/wmImportMsgs.properties76
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/downloads.properties6
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/unknownContentType.properties24
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/profile/profileSelection.properties57
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/update/updates.properties48
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/mozldap/ldap.properties272
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/necko/necko.properties98
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/passwordmgr/passwordmgr.properties76
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/nsserrors.properties331
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/pipnss.properties134
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/pippki/pippki.properties75
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/ms/places/places.properties33
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/chrome.properties21
-rw-r--r--thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/viewer.properties253
-rw-r--r--thunderbird-l10n/ms/localization/ms/branding/brand.ftl16
-rw-r--r--thunderbird-l10n/ms/localization/ms/browser/appExtensionFields.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/browser/branding/brandings.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/browser/components/mozSupportLink.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-context-menus.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-delete-prompt.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-editable-item.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-event-dialog-reminder.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-event-listing.ftl65
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-ics-file-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-invitation-panel.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-invitations-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-itip-identity-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-print.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-recurrence-dialog.ftl5
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-summary-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-uri-redirect-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/calendar-widgets.ftl49
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/ms/localization/ms/calendar/preferences.ftl175
-rw-r--r--thunderbird-l10n/ms/localization/ms/crashreporter/aboutcrashes.ftl29
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/application.ftl44
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/compatibility.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/perftools.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/storage.ftl91
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/styleeditor.ftl40
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/toolbox-options.ftl128
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/client/toolbox.ftl34
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/shared/debugger-paused-reasons.ftl55
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/shared/highlighters.ftl16
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/shared/webconsole-commands.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/devtools/startup/key-shortcuts.ftl28
-rw-r--r--thunderbird-l10n/ms/localization/ms/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/ms/localization/ms/dom/media.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/about3Pane.ftl213
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutAddonsExtra.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutDialog.ftl47
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutImport.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutProfilesExtra.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutRights.ftl27
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutSupportCalendar.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutSupportChat.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/aboutSupportMail.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/accountCentral.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/accountManager.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/accountProvisioner.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountHub.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountSetup.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addonNotifications.ftl73
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVDialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVProperties.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addressbook/aboutAddressBook.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addressbook/fieldMapImport.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/addressbook/vcard.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/appmenu.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/chat-verifySession.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/chat.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/compactFoldersDialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/exportDialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/extensionPermissions.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/extensions/popup.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/extensionsUI.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/firefoxAccounts.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/flatpak.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/importDialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/mailWidgets.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/menubar.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/messageheader/headerFields.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/messenger.ftl135
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/messengercompose/messengercompose.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/migration.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/backupKeyPassword.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/changeExpiryDlg.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/composeKeyStatus.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyAssistant.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyWizard.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/msgReadStatus.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/oneRecipientStatus.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp-frontend.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/add-finger.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/am-im-otr.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/auth.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/chat.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/finger-sync.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/finger.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/otr.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/otr/otrUI.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/policies/aboutPolicies.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/policies/policies-descriptions.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/am-copies.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/am-im.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/application-manager.ftl7
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/colors.ftl33
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/connection.ftl58
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/cookies.ftl55
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/dock-options.ftl16
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/fonts.ftl147
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/languages.ftl19
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/new-tag.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/offline.ftl42
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/passwordManager.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/permissions.ftl38
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/preferences.ftl684
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/receipts.ftl15
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/sync-dialog.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl36
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/shortcuts.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/treeView.ftl9
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/troubleshootMode.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbar.ftl31
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbarItems.ftl109
-rw-r--r--thunderbird-l10n/ms/localization/ms/messenger/viewSource.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/security/certificates/certManager.ftl201
-rw-r--r--thunderbird-l10n/ms/localization/ms/security/certificates/deviceManager.ftl132
-rw-r--r--thunderbird-l10n/ms/localization/ms/security/pippki/pippki.ftl83
-rw-r--r--thunderbird-l10n/ms/localization/ms/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAbout.ftl9
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAddons.ftl241
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutCompat.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutGlean.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutHttpsOnlyError.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutLogging.ftl17
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutMozilla.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutNetworking.ftl53
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPerformance.ftl62
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPlugins.ftl42
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProcesses.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProfiles.ftl66
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutReader.ftl26
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutRights.ftl36
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutSupport.ftl270
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutTelemetry.ftl118
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutThirdParty.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebauthn.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebrtc.ftl197
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWindowsMessages.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/abuseReports.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/certviewer.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/config.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/about/url-classifier.ftl48
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/branding/accounts.ftl7
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/branding/brandings.ftl43
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/contentanalysis/contentanalysis.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUtils.ftl90
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/featuregates/features.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/formautofill/formAutofill.ftl16
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/alert.ftl8
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/browser-utils.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/commonDialog.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/cookieBannerHandling.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/datepicker.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/datetimebox.ftl39
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/extensionPermissions.ftl31
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/extensions.ftl85
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/handlerDialog.ftl46
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/htmlForm.ftl10
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/mozFiveStar.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/mozMessageBar.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/mozSupportLink.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/notification.ftl6
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/popupnotification.ftl9
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/processTypes.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/profileDowngrade.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/profileSelection.ftl36
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/resetProfile.ftl12
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/run-from-dmg.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/textActions.ftl52
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/unknownContentType.ftl38
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/videocontrols.ftl42
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/intl/languageNames.ftl211
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/intl/regionNames.ftl275
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/main-window/autocomplete.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/main-window/findbar.ftl61
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/neterror/certError.ftl113
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/neterror/netError.ftl134
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/neterror/nsserrors.ftl349
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/passwordmgr/passwordmgr.ftl23
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/payments/payments.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/pdfviewer/viewer.ftl247
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/pictureinpicture/pictureinpicture.ftl24
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/preferences/preferences.ftl22
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/printing/printPreview.ftl57
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/printing/printUI.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/updates/backgroundupdate.ftl3
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/updates/elevation.ftl22
-rw-r--r--thunderbird-l10n/ms/localization/ms/toolkit/updates/history.ftl29
-rw-r--r--thunderbird-l10n/ms/manifest.json56
512 files changed, 31389 insertions, 0 deletions
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.dtd
new file mode 100644
index 0000000000..a491cb82cd
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.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 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.">
+
+<!-- LOCALIZATION NOTE (brandProductName):
+ This brand name can be used in messages where the product name needs to
+ remain unchanged across different versions (Daily, Beta, etc.). -->
+<!ENTITY brandProductName "Thunderbird">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties b/thunderbird-l10n/ms/chrome/ms/locale/branding/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/branding/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/thunderbird-l10n/ms/chrome/ms/locale/ms/alerts/alert.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/alerts/alert.properties
new file mode 100644
index 0000000000..6eb78ed169
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/autoconfig/autoconfig.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..748ddaab06
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-alarms.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..b2d3fed1b3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..7be740b85c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..0980c484d6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..7ed266e503
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-extract.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..8a5dc4e213
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..2b9458fe67
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..ff2b43899a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-invitations-dialog.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/.
+
+allday-event=All day event
+recurrent-event=Repeating event
+location=Location: %S
+organizer=Organizer: %S
+attendee=Attendee: %S
+none=None
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..3387688239
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..a3df3f11a8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.dtd
new file mode 100644
index 0000000000..0b007395a0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.dtd
@@ -0,0 +1,413 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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">
+
+<!ENTITY calendarproperties.enabled2.label "Enable This Calendar">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.properties
new file mode 100644
index 0000000000..aa19b4f385
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendar.properties
@@ -0,0 +1,826 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=Cannot import from %1$S. There are no importable items in this file.
+# LOCALIZATION NOTE (tooNewSchemaErrorText):
+# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird'
+# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite'
+tooNewSchemaErrorText=Your calendar data is not compatible with this version of %1$S. The calendar data in your profile was updated by a newer version of %1$S. A backup of the data file has been created, named "%2$S". Continuing with a newly created data file.
+# LOCALIZATION NOTE (multiweekViewWeek):
+# 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.
+multiweekViewWeek=W %1$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..c2edd26bd8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..941a9a5b3c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/categories.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/categories.properties
new file mode 100644
index 0000000000..6076089f79
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dateFormat.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dateFormat.properties
new file mode 100644
index 0000000000..a6c90aab86
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..8bf7ed8f82
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/global.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/global.dtd
new file mode 100644
index 0000000000..7917f8b017
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/menuOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..5ad0f95583
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.dtd
new file mode 100644
index 0000000000..fa04183390
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/migration.properties
new file mode 100644
index 0000000000..940d97807c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/provider-uninstall.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..cbeb8fb5b7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/timezones.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/calendar/timezones.properties
new file mode 100644
index 0000000000..15a63d2643
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.dtd
new file mode 100644
index 0000000000..70a9100193
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/accounts.properties
new file mode 100644
index 0000000000..001bcc56a4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/commands.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/commands.properties
new file mode 100644
index 0000000000..2c2f285317
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/contacts.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/contacts.properties
new file mode 100644
index 0000000000..7b2ca7d67c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/conversations.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/conversations.properties
new file mode 100644
index 0000000000..6cc020e858
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/facebook.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/facebook.properties
new file mode 100644
index 0000000000..db9305fa30
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/imtooltip.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/imtooltip.properties
new file mode 100644
index 0000000000..adb50cd41a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/imtooltip.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/.
+
+buddy.username=Nama pengguna
+buddy.account=Akaun
+contact.tags=Tag
+
+encryption.tag=Encryption Status
+message.status=Message encrypted
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/irc.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/irc.properties
new file mode 100644
index 0000000000..25b60aad0a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/logger.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/logger.properties
new file mode 100644
index 0000000000..61dd177f4a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/matrix.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/matrix.properties
new file mode 100644
index 0000000000..90cb8ffcee
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/matrix.properties
@@ -0,0 +1,250 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+# LOCALIZATION NOTE (matrix.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Matrix account.
+matrix.usernameHint=Matrix ID
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.saveToken=Store access token
+options.deviceDisplayName=Device display name
+options.homeserver=Server
+options.backupPassphrase=Key Backup Passphrase
+# LOCALIZATION NOTE (options.encryption.*):
+# These are strings used to build the status information of the encryption
+# storage, shown in the account manager. %S is one of the statuses and the
+# strings are combined with a pipe (|) between.
+options.encryption.enabled=Cryptographic Functions: %S
+options.encryption.secretStorage=Secret Storage: %S
+options.encryption.keyBackup=Encryption Key Backup: %S
+options.encryption.crossSigning=Cross Signing: %S
+options.encryption.statusOk=ok
+options.encryption.statusNotOk=not ready
+options.encryption.needBackupPassphrase=Please enter your backup key passphrase in the protocol options.
+options.encryption.setUpSecretStorage=To set up secret storage, please use another client and afterwards enter the generated backup key passphrase in the "General" tab.
+options.encryption.setUpBackupAndCrossSigning=To activate encryption key backups and cross signing, enter your backup key passphrase in the "General" tab or verify the identity of one of the sessions below.
+# %1$S is the session ID, %2$S is the session display name
+options.encryption.session=%1$S (%2$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.requestAuth=Waiting for your authorization
+connection.requestAccess=Finalizing authentication
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.noSupportedFlow=Server offers no compatible login flow.
+connection.error.authCancelled=You cancelled the authorization process.
+connection.error.sessionEnded=Session was logged out.
+connection.error.serverNotFound=Could not identify the Matrix server for the given Matrix account.
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from the "User" object.
+# The human readable name of the user.
+tooltip.displayName=Display name
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S ago
+tooltip.lastActive=Last activity
+# LOCALIZATION NOTE (powerLevel.*):
+# These are the string representations of different standard power levels and strings.
+# %S are one of the power levels, Default/Moderator/Admin/Restricted/Custom.
+powerLevel.default=Default
+powerLevel.moderator=Moderator
+powerLevel.admin=Admin
+powerLevel.restricted=Restricted
+powerLevel.custom=Custom
+# %1$S is the power level name
+# %2$S is the power level number
+powerLevel.detailed=%1$S (%2$S)
+powerLevel.defaultRole=Default role: %S
+powerLevel.inviteUser=Invite users: %S
+powerLevel.kickUsers=Kick users: %S
+powerLevel.ban=Ban users: %S
+powerLevel.roomAvatar=Change room avatar: %S
+powerLevel.mainAddress=Change main address for the room: %S
+powerLevel.history=Change history visibility: %S
+powerLevel.roomName=Change room name: %S
+powerLevel.changePermissions=Change permissions: %S
+powerLevel.server_acl=Send m.room.server_acl events: %S
+powerLevel.upgradeRoom=Upgrade the room: %S
+powerLevel.remove=Remove messages: %S
+powerLevel.events_default=Events default: %S
+powerLevel.state_default=Change setting: %S
+powerLevel.encryption=Enable Room encryption: %S
+powerLevel.topic=Set room topic: %S
+# LOCALIZATION NOTE (detail.*):
+# These are the string representations of different matrix properties.
+# %S will typically be strings with the actual values.
+# Example placeholder: "Foo bar"
+detail.name=Name: %S
+# Example placeholder: "My first room"
+detail.topic=Topic: %S
+# Example placeholder: "5"
+detail.version=Room Version: %S
+# Example placeholder: "#thunderbird:mozilla.org"
+detail.roomId=RoomID: %S
+# %S are all admin users. Example: "@foo:example.com, @bar:example.com"
+detail.admin=Admin: %S
+# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+detail.moderator=Moderator: %S
+# Example placeholder: "#thunderbird:matrix.org"
+detail.alias=Alias: %S
+# Example placeholder: "can_join"
+detail.guest=Guest Access: %S
+# This is a heading, followed by the powerLevel.* strings
+detail.power=Power Levels:
+# LOCALIZATION 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.ban=%S &lt;userId&gt; [&lt;reason&gt;]: Ban the user with the userId from the room with optional reason message. Requires permission to ban users.
+command.invite=%S &lt;userId&gt;: Invite the user to the room.
+command.kick=%S &lt;userId&gt; [&lt;reason&gt;]: Kick the user with the userId from the room with optional reason message. Requires permission to kick users.
+command.nick=%S &lt;display_name&gt;: Change your display name.
+command.op=%S &lt;userId&gt; [&lt;power level&gt;]: Define the power level of the user. Enter an integer value, User: 0, Moderator: 50 and Admin: 100. Default will be 50 if no argument is provided. Requires permission to change member's power levels. Does not work on admins other than yourself.
+command.deop=%S &lt;userId&gt;: Reset the user to power level 0 (User). Requires permission to change member's power levels. Does not work on admins other than yourself.
+command.leave=%S: Leave the current room.
+command.topic=%S &lt;topic&gt;: Set the topic for the room. Requires permissions to change the room topic.
+command.unban=%S &lt;userId&gt;: Unban a user who is banned from the room. Requires permission to ban users.
+command.visibility=%S [&lt;visibility&gt;]: Set the visibility of the current room in the current Home Server's room directory. Enter an integer value, Private: 0 and Public: 1. Default will be Private (0) if no argument is provided. Requires permission to change room visibility.
+command.guest=%S &lt;guest access&gt; &lt;history visibility&gt;: Set the access and history visibility of the current room for the guest users. Enter two integer values, the first for the guest access (not allowed: 0 and allowed: 1) and the second for the history visibility (not visible: 0 and visible: 1). Requires permission to change history visibility.
+command.roomname=%S &lt;name&gt;: Set the name for the room. Requires permission to change the room name.
+command.detail=%S: Display the details of the room.
+command.addalias=%S &lt;alias&gt;: Create an alias for the room. Expected room alias of the form '#localname:domain'. Requires permission to add aliases.
+command.removealias=%S &lt;alias&gt;: Remove the alias for the room. Expected room alias of the form '#localname:domain'. Requires permission to remove aliases.
+command.upgraderoom=%S &lt;newVersion&gt;: Upgrade room to given version. Requires permission to upgrade the room.
+command.me=%S &lt;action&gt;: Perform an action.
+command.msg=%S &lt;userId&gt; &lt;message&gt;: Send a direct message to the given user.
+command.join=%S &lt;roomId&gt;: Join the given room.
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the name of the user who banned.
+# %2$S is the name of the user who got banned.
+message.banned=%1$S banned %2$S.
+# Same as message.banned but with a reason.
+# %3$S is the reason the user was banned.
+message.bannedWithReason=%1$S banned %2$S. Reason: %3$S
+# %1$S is the name of the user who accepted the invitation.
+# %2$S is the name of the user who sent the invitation.
+message.acceptedInviteFor=%1$S accepted the invitation for %2$S.
+# %S is the name of the user who accepted an invitation.
+message.acceptedInvite=$S accepted an invitation.
+# %1$S is the name of the user who invited.
+# %2$S is the name of the user who got invited.
+message.invited=%1$S invited %2$S.
+# %1$S is the name of the user who changed their display name.
+# %2$S is the old display name.
+# %3$S is the new display name.
+message.displayName.changed=%1$S changed their display name from %2$S to %3$S.
+# %1$S is the name of the user who set their display name.
+# %2$S is the newly set display name.
+message.displayName.set=%1$S set their display name to %2$S.
+# %1$S is the name of the user who removed their display name.
+# %2$S is the old display name which has been removed.
+message.displayName.remove=%1$S removed their display name %2$S.
+# %S is the name of the user who has joined the room.
+message.joined=%S has joined the room.
+# %S is the name of the user who has rejected the invitation.
+message.rejectedInvite=%S has rejected the invitation.
+# %S is the name of the user who has left the room.
+message.left=%S has left the room.
+# %1$S is the name of the user who unbanned.
+# %2$S is the name of the user who got unbanned.
+message.unbanned=%1$S unbanned %2$S.
+# %1$S is the name of the user who kicked.
+# %2$S is the name of the user who got kicked.
+message.kicked=%1$S kicked %2$S.
+# Same as message.kicked but with a third parameter for the reason.
+# %3$S is the reason for the kick.
+message.kickedWithReason=%1$S kicked %2$S. Reason: %3$S
+# %1$S is the name of the user who withdrew invitation.
+# %2$S is the name of the user whose invitation has been withdrawn.
+message.withdrewInvite=%1$S withdrew %2$S's invitation.
+# Same as message.withdrewInvite but with a third parameter for the reason.
+# %3$S is the reason the invite was withdrawn.
+message.withdrewInviteWithReason=%1$S withdrew %2$S's invitation. Reason: %3$S
+# %S is the name of the user who has removed the room name.
+message.roomName.remove=%S removed the room name.
+# %1$S is the name of the user who changed the room name.
+# %2$S is the new room name.
+message.roomName.changed=%1$S changed the room name to %2$S.
+# %1$S is the name of the user who changed the power level.
+# %2$S is a list of "message.powerLevel.fromTo" strings representing power level changes separated by commas
+# power level changes, separated by commas if there are multiple changes.
+message.powerLevel.changed=%1$S changed the power level of %2$S.
+# %1$S is the name of the target user whose power level has been changed.
+# %2$S is the old power level.
+# %2$S is the new power level.
+message.powerLevel.fromTo=%1$S from %2$S to %3$S
+# %S is the name of the user who has allowed guests to join the room.
+message.guest.allowed=%S has allowed guests to join the room.
+# %S is the name of the user who has prevented guests to join the room.
+message.guest.prevented=%S has prevented guests from joining the room.
+# %S is the name of the user who has made future room history visible to anyone.
+message.history.anyone=%S made future room history visible to anyone.
+# %S is the name of the user who has made future room history visible to all room members.
+message.history.shared=%S made future room history visible to all room members.
+# %S is the name of the user who has made future room history visible to all room members, from the point they are invited.
+message.history.invited=%S made future room history visible to all room members, from the point they are invited.
+# %S is the name of the user who has made future room history visible to all room members, from the point they joined.
+message.history.joined=%S made future room history visible to all room members, from the point they joined.
+# %1$S is the name of the user who changed the address.
+# %2$S is the old address.
+# %3$S is the new address.
+message.alias.main=%1$S set the main address for this room from %2$S to %3$S.
+# %1$S is the name of the user who added the address.
+# %2$S is a comma delimited list of added addresses.
+message.alias.added=%1$S added %2$S as alternative address for this room.
+# %1$S is the name of the user who removed the address.
+# %2$S is a comma delimited list of removed addresses.
+message.alias.removed=%1$S removed %2$S as alternative address for this room.
+# %1$S is the name of the user that edited the alias addresses.
+# %2$S is a comma delimited list of removed addresses.
+# %3$S is a comma delmited list of added addresses.
+message.alias.removedAndAdded=%1$S removed %2$S and added %3$S as address for this room.
+message.spaceNotSupported=This room is a space, which is not supported.
+message.encryptionStart=Messages in this conversation are now end-to-end encrypted.
+# %1$S is the name of the user who sent the verification request.
+# %2$S is the name of the user that is receiving the verification request.
+message.verification.request2=%1$S wants to verify %2$S.
+# %1$S is the name of the user who cancelled the verification request.
+# %2$S is the reason given why the verification was cancelled.
+message.verification.cancel2=%1$S cancelled the verification with the reason: %2$S
+message.verification.done=Verification completed.
+message.decryptionError=Could not decrypt the contents of this message. To request encryption keys from your other devices, right click this message.
+message.decrypting=Decrypting…
+message.redacted=Message was redacted.
+# %1$S is the username of the user that reacted.
+# %2$S is the username of the user that sent the message the reaction was added to.
+# %3$S is the content (typically an emoji) of the reaction.
+message.reaction=%1$S reacted to %2$S with %3$S.
+# Label in the message context menu
+message.action.requestKey=Re-request Keys
+message.action.redact=Redact
+message.action.report=Report Message
+message.action.retry=Retry Sending
+message.action.cancel=Cancel Message
+# LOCALIZATION NOTE (error.*)
+# These are strings shown as system messages when an action the user took fails.
+error.sendMessageFailed=An error occurred while sending your message "%1$S".
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/status.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/status.properties
new file mode 100644
index 0000000000..3b325b0c0b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/twitter.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/twitter.properties
new file mode 100644
index 0000000000..32412da5da
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/twitter.properties
@@ -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/.
+
+# 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.
+
+twitter.disabled=Twitter is no longer supported due to Twitter disabling their streaming protocol.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/xmpp.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/xmpp.properties
new file mode 100644
index 0000000000..fa27e105f8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/xmpp.properties
@@ -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/.
+
+# 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.
+
+tooltip.telephone=Telephone number
+# LOCALIZATION NOTE (gtalk.disabled):
+# Google Talk was disabled on June 16, 2022. The message below is a localized
+# error message to be displayed to users with Google Talk accounts.
+gtalk.disabled=Google Talk is no longer supported due to Google disabling their XMPP gateway.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/yahoo.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/chat/yahoo.properties
new file mode 100644
index 0000000000..4bc5431af1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/communicator/utilityOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..9bee6b1c18
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/communicator/utilityOverlay.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/. -->
+
+<!-- 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">
+
+<!ENTITY customizeCmd.label "Customize">
+<!ENTITY customizeCmd.accesskey "t">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/accessibility.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..e009713bba
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/accessibility.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 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.
+
+
+# LOCALIZATION NOTE (accessibility.accessible.selectElement.title): A title text
+# displayed on buttons next to accessible elements in the `relations` section, allowing the
+# user to select the element in the accessibility tree.
+accessibility.accessible.selectElement.title=Click to select the node in the Accessibility Tree
+# LOCALIZATION NOTE (accessibility.accessible.selectNodeInInspector.title): A title text
+# displayed on buttons next to nodes in the sidebar, allowing the user to select the node
+# in the Inspector panel.
+accessibility.accessible.selectNodeInInspector.title=Click to select the node in the inspector
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=Print to JSON
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Checks
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=No checks for this node.
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Color and Contrast
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=Unable to calculate
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=large text
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=Text is 14 point and bold or larger, or 18 point or larger.
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=Meets WCAG AA standards for accessible text. %S
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=Meets WCAG AAA standards for accessible text. %S
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=Does not meet WCAG standards for accessible text. %S
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=Pick a color that is not transparent.
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=Accessibility checks
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=None
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=All Issues
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=Contrast
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=Text Labels
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=Keyboard
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=contrast
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=contrast warning
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=keyboard
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=text label
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=Does not meet WCAG standards for accessible text.
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=Does not meet WCAG standards for keyboard accessibility.
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=Does not meet WCAG standards for text alternative.
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=Check for issues:
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Configure preferences
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Initializing…
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=Checking #1 node;Checking #1 nodes
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Finishing up…
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=Automatically scroll selected node into view
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=Scroll into view
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Documentation…
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=Simulate:
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=Protanopia (no red)
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=Deuteranopia (no green)
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=Tritanopia (no blue)
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=Contrast loss
+# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option.
+accessibility.simulation.achromatopsia=Achromatopsia (no color)
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label
+# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their
+# tabbing order.
+accessibility.toolbar.displayTabbingOrder.label=Show Tabbing Order
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.tooltip): A title text for a checkbox
+# tooltip in the accessibility panel toolbar that turns on/off the overlay of focusable elements in
+# their tabbing order.
+accessibility.toolbar.displayTabbingOrder.tooltip=Show tabbing order of elements and their tabbing index.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/animationinspector.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..016e3b1836
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/boxmodel.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..d5be038269
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/boxmodel.properties
@@ -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/.
+
+# 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
+
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=Hide
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=Show
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=Offset parent of the selected element
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/changes.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/changes.properties
new file mode 100644
index 0000000000..dc75955b37
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/changes.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/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=No changes found.
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=Changes to CSS in Inspector will appear here.
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=Inline %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Element
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=Copy
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+changes.contextmenu.copyAllChanges=Copy All Changes
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=Copy a list of all CSS changes to clipboard.
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Copy Declaration
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=Copy Rule
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=Copy contents of this CSS rule to clipboard.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Select All
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=A
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/components.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/components.properties
new file mode 100644
index 0000000000..13a2fee692
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/components.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 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
+
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=View source in Style Editor → %S
+# LOCALIZATION NOTE (appErrorBoundary.description): This is the information displayed
+# once the panel errors.
+# %S represents the name of panel which has the crash.
+appErrorBoundary.description=The %S panel has crashed.
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=File Bug Report
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=Close and reopen the toolbox to clear this error.
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=Use Regular Expression
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=Match Case
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=Match Whole Word
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/debugger.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/debugger.properties
new file mode 100644
index 0000000000..6565f59c20
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/debugger.properties
@@ -0,0 +1,970 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+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
+
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=Collapse Sources and Outline panes
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Collapse Breakpoints pane
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+collapseAll.label=Collapse all
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=Expand all
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=Ignore
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=Ignore files in this group
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=Unignore files in this group
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=Ignore files outside this group
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=Unignore files outside this group
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=Ignore files in this directory
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=Unignore files in this directory
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=Ignore files outside this directory
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=Unignore files outside this directory
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=Restart frame
+restartFrame.accesskey=r
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=Expand Sources and Outline panes
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Expand Breakpoints pane
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip=Trace all JavaScript frames to %S.\nRight click to change the output.
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+stopTraceButtonTooltip=Stop tracing JavaScript frames.
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+traceInWebConsole=Trace in the web console
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the stdout.
+traceInStdout=Trace in the stdout
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Deactivate breakpoints
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Activate breakpoints
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Threads
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Main Thread
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+ignoredSourcesHidden=Ignored sources are hidden.
+# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the
+# source next to the "ignored sources are hidden" string. Clicking on this link
+# shows all the ignored sources which are currently hidden.
+showIgnoredSources=Show all sources
+# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification
+# link displayed in the sources list footer when ignored sources are hidden.
+showIgnoredSources.tooltip.label=This will show all the ignored sources (which are currently hidden) in the tree.
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Event Listener Breakpoints
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=Right click an element in the %S and select “Break on…” to add a breakpoint
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Inspector
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Filter by event type
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=DOM Mutation Breakpoints
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=Attribute Modification
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Node Removal
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=Subtree Modification
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.label=files to exclude
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown
+# for the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.placeholder=e.g. **/node_modules/**,app.js
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 result;#1 results
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Enable breakpoints
+breakpointHeadingsMenuItem.enableInSource.accesskey=E
+breakpointHeadingsMenuItem.disableInSource.label=Disable breakpoints
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=Remove breakpoints
+breakpointHeadingsMenuItem.removeInSource.accesskey=R
+breakpointMenuItem.disabledbg.label=Never pause here
+breakpointMenuItem.enabledbg.label=Pause here
+breakpointMenuItem.disableAllAtLine.label=Disable breakpoints on line
+breakpointMenuItem.disableAllAtLine.accesskey=K
+breakpointMenuItem.enableAllAtLine.label=Enable breakpoints on line
+breakpointMenuItem.enableAllAtLine.accesskey=L
+breakpointMenuItem.removeAllAtLine.label=Remove breakpoints on line
+breakpointMenuItem.removeAllAtLine.accesskey=X
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=Show %S frames
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=Collapse %S frames
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=%d of #1 result;%d of #1 results
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=No results found
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Add condition
+editor.addConditionBreakpoint.accesskey=c
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Edit condition
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=Add log
+editor.addLogPoint.accesskey=l
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=Edit log
+editor.editLogPoint.accesskey=E
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=Remove log
+editor.removeLogPoint.accesskey=V
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=Breakpoint condition, e.g. items.length > 0
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=Log message, e.g. displayName
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=Download file
+downloadFile.accesskey=d
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=Show inline preview
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=Hide inline preview
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=Inline Variable Preview
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=Show inline preview in the debugger editor
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=Wrap lines
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=Unwrap lines
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=Wrap Lines
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=Wrap lines in the debugger editor
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=Debugger Settings
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=Disable JavaScript
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=Disables JavaScript (Requires refresh)
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=Enable Source Maps to let DevTools load your original sources in addition to your generated ones
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=Source Maps
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+settings.hideIgnoredSources.tooltip=Hides all ignored sources in the Sources panel
+# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item
+# label for hiding all ignored sources when enabled (indicated by the check mark)
+# Ignored sources will be shown when disabled (no check mark).
+settings.hideIgnoredSources.label=Hide Ignored Sources
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item
+# tooltip for ignoring all sources on the sourcemaps ignore list.
+# Note: x_google_ignoreList should not be translated.
+settings.enableSourceMapIgnoreList.tooltip=Ignores all sources on the source map x_google_ignoreList field.
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item
+# label for ignoring all sources on the sourcemaps ignore list when enabled
+# (indicated by the check mark). The sources on the ignore list are un-ignored
+# when disabled (no check mark).
+# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes
+settings.enableSourceMapIgnoreList.label=Ignore Known Third-party Scripts
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=No properties
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=Remove all XHR breakpoints
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=URL contains “%S”
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=Break on…
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=Property get
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=Property set
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=Property get or set
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=Remove watchpoint
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=Remove watchpoint
+sourceTabs.closeTab.key=CmdOrCtrl+W
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is already pretty printed.
+sourceFooter.prettyPrint.isPrettyPrintedMessage=Can’t pretty print, file is already pretty printed
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is an original source.
+sourceFooter.prettyPrint.isOriginalMessage=Can’t pretty print original sources, file is already readable
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources.
+sourceFooter.prettyPrint.hasSourceMapMessage=Can’t pretty print generated sources with valid sourcemaps. Please use the original sources.
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has no content.
+sourceFooter.prettyPrint.noContentMessage=Can’t pretty print, file has no content
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is not JavaScript code.
+sourceFooter.prettyPrint.isNotJavascriptMessage=Can’t pretty print, file is not JavaScript
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=Ignore source
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Unignore source
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=This source is on the ignore list. Please turn off the `Ignore Known Third-party Scripts` option to enable it.
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=Ignore source
+ignoreContextItem.ignore.accesskey=I
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Unignore source
+ignoreContextItem.unignore.accesskey=U
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override=Add script override
+overridesContextItem.override.accesskey=o
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride=Remove script override
+overridesContextItem.removeOverride.accesskey=o
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=Ignore line
+ignoreContextItem.ignoreLine.accesskey=l
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=Unignore line
+ignoreContextItem.unignoreLine.accesskey=n
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=Ignore lines
+ignoreContextItem.ignoreLines.accesskey=i
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=Unignore lines
+ignoreContextItem.unignoreLines.accesskey=u
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%1$S, %2$S)
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(Line %1$S, column %2$S)
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=Map original variable names
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=Log events to the console
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=Log
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=Learn more about map scopes
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=Map
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=Search
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+# 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 (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Edit Conditional Breakpoint
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=Edit Log Point
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=parsed
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=installing
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=installed
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=activating
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=activated
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=redundant
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=unknown
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/device.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/device.properties
new file mode 100644
index 0000000000..c320143827
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/device.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/.
+
+# 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
+
+device.custom=Custom
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/dom.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/dom.properties
new file mode 100644
index 0000000000..fb2b83bda6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/filterwidget.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..771f7914c2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/font-inspector.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..585eead16f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/font-inspector.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/.
+
+# 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
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=Spacing
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/har.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/har.properties
new file mode 100644
index 0000000000..ce0dd6a55a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/inspector.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/inspector.properties
new file mode 100644
index 0000000000..ddcd54fb22
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/inspector.properties
@@ -0,0 +1,559 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=whitespace
+# LOCALIZATION NOTE (markupView.unavailableChildren.label)
+# Used in the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.label=unavailable
+# LOCALIZATION NOTE (markupView.unavailableChildren.title)
+# Title for the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.title=Children of this element are unavailable with the current Browser Toolbox mode
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=This element behaves like a block element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element.
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=This element behaves like an inline element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element.
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=This element behaves like a block element and lays out its content according to the grid model. Click to toggle the grid overlay for this element.
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=This element behaves like an inline element and lays out its content according to the grid model. Click to toggle the grid overlay for this element.
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Show all tabs
+# 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
+inspectorXMLEdit.label=Edit As XML
+inspectorSVGEdit.label=Edit As SVG
+inspectorMathMLEdit.label=Edit As MathML
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+inspectorPseudoClassSubmenu.label=Change Pseudo-class
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=Break on…
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=Subtree Modification
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=Attribute Modification
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=Node Removal
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=Compatibility
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = Toggle print media simulation for the page
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip):
+# This is the tooltip of the light color scheme simulation button in the Rule View
+# toolbar that toggles light color scheme simulation.
+inspector.colorSchemeSimulationLight.tooltip=Toggle light color scheme simulation for the page
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip):
+# This is the tooltip of the dark color scheme simulation button in the Rule View
+# toolbar that toggles dark color scheme simulation.
+inspector.colorSchemeSimulationDark.tooltip=Toggle dark color scheme simulation for the page
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=scroll
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=This element has scrollable overflow.
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=This element has scrollable overflow. Click to reveal elements that are causing the overflow.
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=overflow
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=This element is causing an element to overflow.
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=No associated rule
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=Calculated against background: %S
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=Spectrum
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=Pick color on page
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=Closest to: %S
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=Hue
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=Opacity
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=Contrast %S:
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/jsonview.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..76791e5c58
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/jsonview.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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
+
+
+jsonViewer.ExpandAllSlow=Expand All (slow)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/layout.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/layout.properties
new file mode 100644
index 0000000000..820b90546e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/layout.properties
@@ -0,0 +1,126 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=Back to Flex Container
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=Flex Items
+# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if
+# there are no flex items for the flex container to display.
+flexbox.noFlexItems=No flex items
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=Toggle Flexbox Highlighter
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/memory.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/memory.properties
new file mode 100644
index 0000000000..1dbff60f98
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/menus.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/menus.properties
new file mode 100644
index 0000000000..4098e21a92
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/menus.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/.
+
+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 (devtoolsRemoteDebugging.label): This is the label for the menu item
+# in Tools > Browser Tools. Clicking on this menu item will open about:debugging which
+# acts as a hub for debugging remote devices.
+devtoolsRemoteDebugging.label = Remote Debugging
+devtoolsRemoteDebugging.accesskey = R
+webDeveloperToolsMenu.label = Web Developer Tools
+webDeveloperToolsMenu.accesskey = T
+extensionsForDevelopersCmd.label = Extensions for Developers
+extensionsForDevelopersCmd.accesskey = f
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/netmonitor.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..2f25778036
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/netmonitor.properties
@@ -0,0 +1,1495 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.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.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.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.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.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
+
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=Hide network action
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Show all tabs
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=No messages for this request
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=No response data available for this request
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=No payload for this request
+# LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed
+# on the button in the network details request tab that toggles the
+# view of the network request between the raw data and the formatted display.
+netmonitor.request.raw=Raw
+# LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed
+# on the button in the network details response tab that toggles the
+# view of the network response between the raw data and the formatted display.
+netmonitor.response.raw=Raw
+# LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+netmonitor.response.html=HTML
+# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed
+# in a notification in the response tab of the network details pane
+# when a JSON payload had XSSI escape characters which were removed
+jsonXssiStripped=The string “%S” was removed from the beginning of the JSON shown below
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=Response has been truncated
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=Request has been truncated
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S (raced)
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=#1 message;#1 messages
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=No messages
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=Number of messages
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=Total size of displayed messages
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=%1$S total, %2$S sent, %3$S received
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=Total elapsed time between the first and last displayed messages
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.size.kB=%S kB
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=Blocked
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=Blocked By %S
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=Blocked
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=Request Timing
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=Server Timing
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=Queued: %S
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=Started: %S
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=Downloaded: %S
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=No timings for this request
+# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts (e.g., in the performance analysis view).
+pieChart.ariaLabel=Pie chart representing the size of each type of request in proportion to each other
+# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts slices (e.g., in the performance analysis view).
+# %1$S is the slice label (e.g. "html")
+# %2$S is the percentage (e.g. "33.23%").
+pieChart.sliceAriaLabel=%1$S: %2$S
+# LOCALIZATION NOTE (charts.size.kB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.size.kB=%S kB
+# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSize.kB=%S kB
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=Transferred Size: %S kB
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=Size: %S kB
+# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in
+# the performance analysis view for the number of requests. The label is not visible on screen,
+# but is set in the DOM for accessibility sake.
+charts.requestsNumber=Number of requests
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=Original: %S
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=Decoded: %S
+netmonitor.emptyBrowserToolbox=Perform a request to see detailed information about network activity.
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=Priority
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=URL
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=Initiator
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Size
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=Data
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=Time
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=Event Name
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=Retry
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=Last Event ID
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=Clear
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=Filter Messages
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=Reset Columns
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=All
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=A
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=Sent
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.sent.accesskey=S
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=Received
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.received.accesskey=R
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+netmonitor.ws.context.controlFrames=Control
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.controlFrames.accesskey=o
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+netmonitor.ws.context.copyFrame=Copy Message
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=C
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=Connection Closed
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=Sent
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=Received
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=Raw Data (%S)
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=Find in resources…
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=Close Search Panel
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=Clear Search Results
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=Case Sensitive
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=Searching…
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=Search canceled.
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=Search finished. %1$S %2$S.
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=Found #1 matching line;Found #1 matching lines
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=in #1 file;in #1 files
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=Search error.
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=Request Blocking
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=Blocking
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=Enable Request Blocking
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=Block resource when URL contains
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=Remove pattern
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=Add URL patterns here to block matching requests.
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=Start by adding a pattern or dragging a row from the network table.
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=Remove all
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=Enable all
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=Disable all
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Search
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=New Request
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=#1 message has been truncated to conserve memory;#1 messages have been truncated to conserve memory
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=Keep all future messages
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=Keep all future messages or continue showing truncated messages
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=Data has been truncated
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Messages
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=Request
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=Search
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+netmonitor.toolbar.HTTPCustomRequest=New Request
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=Reset Sorting
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=Resize Column To Fit Content
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=Double-click to fit column to content
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=Block
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Address
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=Status
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Size
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S (%2$S size)
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=Version
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Referrer Policy
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=Blocking
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=Request Priority
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=Raw
+# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed
+# in the notification shown when a request has been blocked by CORS with a more
+# specific reason shown in the parenthesis
+netmonitor.headers.blockedByCORS=Response body is not available to scripts (Reason: %S)
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=Learn more about this CORS error
+# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed
+# in the network details response tab if the font preview could not be generated due to
+# an error.
+netmonitor.response.fontPreviewFailed=Font preview could not be generated
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=Slow server response time (%1$S). The recommended limit is %2$S.
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=Enhanced Tracking Protection
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=Learn more about enhanced tracking protection
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copyValue=Copy Value
+# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+netmonitor.context.copyValue.accesskey=C
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed
+# on the context menu that copies the selected request as a PowerShell command.
+netmonitor.context.copyAsPowerShell=Copy as PowerShell
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key
+# for the Copy as PowerShell menu item displayed in the context menu for a request
+netmonitor.context.copyAsPowerShell.accesskey=S
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+netmonitor.context.copyAsCurl.win=%S (Windows)
+netmonitor.context.copyAsCurl.win.accesskey=C
+netmonitor.context.copyAsCurl.posix=%S (POSIX)
+netmonitor.context.copyAsCurl.posix.accesskey=P
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+netmonitor.context.copyAsFetch=Copy as Fetch
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=Use as Fetch in Console
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=Copy All
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=A
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=Resend
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=n
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+netmonitor.context.blockURL=Block URL
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=Unblock URL
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=URL Parameters
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=Headers
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.name=name
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.value=value
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=Body
+# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed
+# on the textarea body in the new custom request form
+netmonitor.custom.postBody.placeholder=payload
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+netmonitor.custom.clear=Clear
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=Remove item
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=Network Settings
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=Import a HAR file of network data
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=Save network data to HAR file
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=Copy network data to the clipboard
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/network-throttling.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..0c361708d0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/network-throttling.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 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
+
+
+# LOCALIZATION NOTE (throttling.profile.description): Tooltip for the throttling
+# menu button, which gives details about the currently selected profile.
+# %1$S: Download speed value (number)
+# %2$S: Download speed unit (eg "Kbps", "Mbps")
+# %3$S: Upload speed value (number)
+# %4$S: Upload speed unit (eg "Kbps", "Mbps")
+# %5$S: Latency value, (number, in ms)
+throttling.profile.description = download %1$S%2$S, upload %3$S%4$S, latency %5$Sms
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/responsive.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/responsive.properties
new file mode 100644
index 0000000000..5ee52b8213
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/responsive.properties
@@ -0,0 +1,173 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=Add Custom Device…
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=Device Pixel Ratio
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=User Agent String
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=Touch Screen
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=Cancel
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=%1$S on %2$S
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=Size: %1$S x %2$S
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=DPR: %1$S
+# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: user agent
+responsive.deviceDetails.UA=UA: %1$S
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=Touch: %1$S
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=Device Settings
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=Device name already in use
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=Update
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/shared.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/shared.properties
new file mode 100644
index 0000000000..916b9cd5e7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/shared.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/.
+
+# LOCALIZATION NOTE (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S×%S
+
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+boxModelSize.accessibleLabel=Size: Width %1$S, height %2$S
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=Dimensions: Width %1$S, height %2$S, position %3$S
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S: %2$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/sourceeditor.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..a6f0c1b3e6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/startup.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/startup.properties
new file mode 100644
index 0000000000..b274eafed0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/startup.properties
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=JavaScript Debugger (%S)
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=Accessibility (%S)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/styleeditor.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..0df5301c6e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/styleeditor.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/.
+
+# 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
+
+
+# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the
+# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an
+# in-file search; if possible, keep it the same as sources.search.key2.
+focusFilterInput.commandkey=P
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=Show Original Sources
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+showOriginalSources.accesskey=o
+# LOCALIZATION NOTE (showAtRulesSidebar.label): This is the label on the context
+# menu item to toggle showing at-rules shortcuts in a sidebar.
+# "@media" and "@supports" should not be translated as they are CSS rule identifiers.
+showAtRulesSidebar.label=Show At-rules Sidebar (@media, @supports, …)
+# LOCALIZATION NOTE (showAtRulesSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the at-rules sidebar.
+showAtRulesSidebar.accesskey=a
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/toolbox.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..3925d657f7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/toolbox.properties
@@ -0,0 +1,258 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.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:
+
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "everything".
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=Multiprocess Browser Toolbox
+# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+# This Browser Toolbox allows to debug only the parent process resources.
+toolbox.parentProcessBrowserToolboxTitle=Parent process Browser Toolbox
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+options.autoTheme.label=Auto
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=Pick an element from the page (%S)
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=Pick an element from the page (%1$S or %2$S)
+# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip)
+# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar
+# when debugging an Android device
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.androidElementPicker.tooltip=Pick an element from the Android phone (%S)
+# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip)
+# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard
+# shortcuts (Cmd+Shift+C or Cmd+Opt+C)
+# %1$S and %2$S are the keyboard shortcuts that toggle the element picker.
+toolbox.androidElementPicker.mac.tooltip=Pick an element from the Android phone (%1$S or %2$S)
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=Show Split Console
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+toolbox.errorCountButton.description=Show the number of errors on the page
+# 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
+toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S)
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The name of the current runtime/application (brandShorterName): %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel.thisRuntime=This %1$S (%2$S)
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+toolbox.debugTargetInfo.tabTitleRemote=Toolbox (%1$S) - %2$S / %3$S
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=Toolbox - %1$S / %2$S
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=Toolbox - error occurred
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=Network
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=Reload
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=Forward
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=Back
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=Extension
+toolbox.debugTargetInfo.targetType.process=Process
+toolbox.debugTargetInfo.targetType.tab=Tab
+toolbox.debugTargetInfo.targetType.worker=Worker
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = Error
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = Cannot connect to the debug target. See error details below:
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=Deprecated. Learn More…
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=Enable the Multiprocess Browser Toolbox (requires restarting the Browser Toolbox)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/webconsole.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..da8b63fd93
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/client/webconsole.properties
@@ -0,0 +1,567 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+# 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)
+
+
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=Multiprocess Browser Console
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+parentProcessBrowserConsole.title=Parent process Browser Console
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S: %2$Sms - timer ended
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=Logpoints from the debugger
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=JavaScript tracing
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=Blocked by DevTools
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=This message is no longer active, message details are not available
+webconsole.clear.alternativeKeyOSX=Cmd+K
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=Resend Request
+webconsole.menu.resendNetworkRequest.accesskey=n
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+webconsole.menu.openNodeInInspector.label=Reveal in Inspector
+webconsole.menu.openNodeInInspector.accesskey=Q
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.label1=Inspect object in Sidebar
+# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+webconsole.menu.copyAllMessages.label=Copy all Messages
+webconsole.menu.copyAllMessages.accesskey=M
+# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.saveAllMessagesFile.label=Save all Messages to File
+webconsole.menu.saveAllMessagesFile.accesskey=F
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=Stylesheets will be reparsed to check for errors. Refresh the page to also see errors from stylesheets modified from Javascript.
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 hidden;#1 hidden
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=#1 item hidden by text filter;#1 items hidden by text filter
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=Console Settings
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=Compact Toolbar
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=Show Timestamps
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=If you enable this option commands and output in the Web Console will display a timestamp
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=Group Similar Messages
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=When enabled, similar messages are placed into groups
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=Enable Autocompletion
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=If you enable this option the input will display suggestions as you type in it
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Persist Logs
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=If you enable this option the output will not be cleared each time you navigate to a new page
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Instant Evaluation
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=If you enable this option the input will be instantly evaluated as you type in it
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label)
+# Label used in the browser console / browser toolbox console. This label is used for a checkbox that
+# allows the user enable monitoring of network requests.
+browserconsole.enableNetworkMonitoring.label=Enable Network Monitoring
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=Enable this to start listening to network requests
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=Invoke getter %S to retrieve the property list?
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=Invoke (%S)
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=Close (%S)
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=Elements matching selector: %S
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[DEVTOOLS ERROR] We’re sorry, we couldn’t render the message. This shouldn’t have happened - please file a bug at %S with the message metadata in the description.
+# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard)
+# Label displayed when the string is copied to the clipboard as a result of a copy command,
+# in the console, for example, copy({hello: "world"}).
+webconsole.message.commands.copyValueToClipboard=String was copied to clipboard.
+# LOCALIZATION NOTE (webconsole.error.commands.copyError):
+# the error that is displayed when the "copy" command can't stringify an object
+# "copy" should not be translated, because is a function name.
+# Parameters: %S is the original error message
+webconsole.error.commands.copyError=`copy` command failed, object can’t be stringified: %S
+# LOCALIZATION NOTE (webconsole.message.commands.blockedUR)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.blockedURL=Requests to URL containing “%S” are now blocked
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=Removed blocking filter “%S”
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=No filter was specified
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=Copy message metadata to clipboard
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=Run
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=Open History Reverse Search (%S)
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=Close History Reverse Search (%S)
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=Run expression (%S). This won’t clear the input.
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=Pretty print expression
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=Previous Expression
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=Next Expression
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=Switch back to inline mode (%S)
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=Switch to multi-line editor mode (%S)
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) 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 in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 message;#1 messages
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=Iterate on your code faster with the new multi-line editor mode. Use %1$S to add new lines and %2$S to run.
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=Got it!
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Open JavaScript File
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=JavaScript Files
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=Top
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=Select evaluation context
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Some cookies are misusing the “SameSite“ attribute, so it won’t work as expected
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Some cookies are misusing the recommended “SameSite“ attribute
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Content-Security-Policy warnings
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/accessibility.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..29192dd2d8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/accessibility.properties
@@ -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/.
+
+# 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:
+
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=Contrast (large text):
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = Use “alt” attribute to label “area” elements that have the “href” attribute.
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = Dialogs should be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = Documents must have a title.
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = Embedded content must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = Figures with optional captions should be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = “fieldset” elements must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = Use a “legend” element to label a “fieldset”.
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = Form elements must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = Form elements should have a visible text label.
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = “frame” elements must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = Use “alt” attribute to label “mglyph” elements.
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = Headings must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = Headings should have visible text content.
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = Use “title” attribute to describe “iframe” content.
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = Content with images must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = Interactive elements must be labeled.
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = Use a “label” attribute to label an “optgroup”.
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = Toolbars must be labeled when there is more than one toolbar.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=Focusable elements should have interactive semantics.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=Avoid using “tabindex” attribute greater than zero.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=Interactive elements must be able to be activated using a keyboard.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=Interactive elements must be focusable.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=Focusable element may be missing focus styling.
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=Clickable elements must be focusable and should have interactive semantics.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/debugger.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..efda5f4b5c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/eyedropper.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..dc8b093ac2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/screenshot.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..5a4e537917
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/screenshot.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/.
+
+# 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
+
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=The image was cut off to %1$S×%2$S as the resulting image was too large
+# LOCALIZATION NOTE (screenshotDPRDecreasedWarning2) Text displayed to user when
+# taking the screenshot initially failed. When the Device Pixel Ratio is larger
+# than 1.0 a second try immediately after displaying this message is attempted.
+screenshotDPRDecreasedWarning=The device pixel ratio was reduced to 1 as the resulting image was too large
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=Error creating the image. The resulting image was probably too large.
+# LOCALIZATION NOTE (screenshotNoSelectorMatchWarning) Text displayed to user when the
+# provided selector for the screenshot does not match any element on the page.
+# The argument (%1$S) is selector.
+screenshotNoSelectorMatchWarning=The ‘%S’ selector does not match any element on the page.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/shared.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/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/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/styleinspector.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..2c69aaaad3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/devtools/shared/styleinspector.properties
@@ -0,0 +1,236 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+rule.sourceConstructed=constructed
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=Filter Styles
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=Add new rule
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=Toggle pseudo-classes
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=Toggle classes
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+rule.classPanel.newClass.placeholder=Add new class
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+rule.classPanel.noClasses=No classes on this element
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=Toggle print media simulation for the page
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=Toggle color-scheme simulation for the page
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=Collapse
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=Expand
+# LOCALIZATION NOTE (rule.containerQuery.selectContainerButton.tooltip): Text displayed in a
+# tooltip when the mouse is over the icon to select a container in a container query in the rule view.
+rule.containerQuery.selectContainerButton.tooltip=Click to select the container node
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=Copy Declaration
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/accessible.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/accessible.properties
new file mode 100644
index 0000000000..937e99ae4f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/accessible.properties
@@ -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/.
+
+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
+
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Click ancestor
+# Role Description (exposed as AXTitle) for datepickers
+dateField = date field
+dialog = dialog
+# The roleDescription for the html:mark element
+highlight = highlight
+# The roleDescription for the details element
+details = details
+# The roleDescription for the summary element
+summary = summary
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/intl.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/platformKeys.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..e0704f96c9
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/accessible.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/accessible.properties
new file mode 100644
index 0000000000..e827318233
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/accessible.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/.
+
+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
+
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Click ancestor
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/intl.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/platformKeys.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..8b9f9d9f01
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/accessible.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/accessible.properties
new file mode 100644
index 0000000000..e827318233
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/accessible.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/.
+
+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
+
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Click ancestor
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/intl.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/platformKeys.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..11a65e258b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties
new file mode 100644
index 0000000000..7ab3653100
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Kajian Shield
+removeButton = Buang
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Kajian aktif
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Kajian sudah dilengkapkan
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Aktif
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Selesai
+
+updateButtonWin = Kemas kini Pilihan
+updateButtonUnix = Kemas kini Keutamaan
+learnMore = Ketahui selanjutnya
+noStudies = Anda tidak menyertai apa-apa kajian.
+disabledList = Ini ialah senarai kajian yang telah anda sertai. Tiada kajian baru dijalankan.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Apakah ini? %S mungkin memasang dan melaksanakan kajian dari semasa ke semasa.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Kajian ini menetapkan %1$S ke %2$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties
new file mode 100644
index 0000000000..0084421f31
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/appstrings.properties
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Sila semak bahawa URL adalah betul dan cuba lagi.
+fileNotFound=Fail %S tidak ditemui. Sila semak lokasi dan cuba lagi.
+fileAccessDenied=Fail %S tidak boleh dibaca.
+dnsNotFound2=%S tidak dapat ditemui. Sila semak nama dan cuba lagi.
+unknownProtocolFound=Satu daripada (%S) berikut bukanlah protokol yang didaftarkan atau tidak dibenarkan di dalam konteks ini.\u0020
+connectionFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi %S.
+netInterrupt=Sambungan kepada %S telah dihentikan tanpa dijangka. Terdapat data yang telah dipindahkan.
+netTimeout=Operasi telah tamat tempoh ketika cuba menghubungi %S.
+redirectLoop=Had pelencongan untuk URL telah melebihi had. Tidak dapat memuat halaman diminta. Ini mungkin disebabkan oleh kuki yang telah disekat.
+confirmRepostPrompt=Untuk memaparkan halaman ini, aplikasi perlu menghantar maklumat yang memungkinkan berulangnya sebarang aktivi (seperti carian atau pengesahan pesanan) yang telah dibuat sebelum ini.
+resendButton.label=Hantar Semula
+unknownSocketType=Dokumen ini tidak dapat dipaparkan melainkan anda memasang Pengurus Sekuriti Peribadi (PSM). Muaturun dan pasang PSM dan cuba lagi, atau hubungi pentadbir sistem anda.
+netReset=Dokumen tidak mengandungi data.
+notCached=Dokumen ini sudah tiada.
+netOffline=Dokumen ini tidak dapat dipaparkan ketika di luar talian. Untuk pergi atas talian, nyahtanda Kerja Luar talian daripada menu Fail.
+isprinting=Dokumen tidak boleh diubah ketika Mencetak atau dalam Previu Cetak.
+deniedPortAccess=Capaian ke nombor port yang diberi telah dinyahdayakan atas alasan keselamatan.
+proxyResolveFailure=Pelayan proksi yang anda konfigur tidak dapat ditemui. Sila periksa tetapan proksi anda dan cuba lagi.
+proxyConnectFailure=Sambungan telah dinafikan ketika cubaan untuk menghubungi pelayan proksi yang telah anda konfigur. Sila periksa tetapan proksi anda dan cuba lagi.
+contentEncodingError=Halaman yang anda cuba lihat tidak boleh dipaparkan kerana cara pemampatan yang digunakan tidak sah atau tidak disokong.
+unsafeContentType=Halaman yang anda cuba lihat tidak dapat dipaparkan kerana mengandungi fail yang berkemungkinan tidak selamat untuk dibuka. Sila hubungi pemilik laman web untuk memaklumkan masalah ini.
+malwareBlocked=Laman %S telah dilaporkan sebagai laman penyerang dan telah disekat berdasarkan keutamaan keselamatan anda.
+unwantedBlocked=Laman %S telah dilaporkan menyediakan perisian yang tidak diingini dan telah disekat berdasarkan kepada keutamaan anda.
+deceptiveBlocked=Halaman web %S telah dilaporkan sebagai laman mengelirukan dan telah disekat berdasarkan keutamaan keselamatan anda.
+cspBlocked=Halaman ini mengandungi polisi keselamatan kandungan yang mencegah laman dimuatkan sebegini.
+corruptedContentErrorv2=Laman ini %S telah mengalami pencabulan protokol rangkaian yang tidak boleh dibaiki.
+sslv3Used=Keselamatan data anda pada %S tidak dapat dijamin kerana menggunakan SSLv3, protokol keselamatan yang rosak.
+weakCryptoUsed=Pemilik %S telah mengkonfigurasi laman web mereka dengan tidak betul. Untuk meliindungi maklumat anda daripada dicuri, sambungan ke laman web ini tidak dilaksanakan.
+inadequateSecurityError=Laman web cuba menggunakan tahap keselamatan yang tidak sesuai.
+blockedByPolicy=Organisasi anda telah menyekat akses ke halaman atau laman web ini.
+networkProtocolError=Firefox mengalami pelanggaran protokol rangkaian yang tidak dapat diperbaiki.
+
+harmfulBlocked=The site at %S has been reported as a potentially harmful site and has been blocked based on your security preferences.
+xfoBlocked=This page has an X-Frame-Options policy that prevents it from being loaded in this context.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/autocomplete.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties
new file mode 100644
index 0000000000..7b3efb7960
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = Amaran Keselamatan
+formPostSecureToInsecureWarning.message = Maklumat yang telah anda masukkan di halaman ini akan dihantar melalui sambungan yang tidak selamat dan boleh dibaca oleh pihak ketiga.\n\nAnda pasti mahu menghantar maklumat ini?
+formPostSecureToInsecureWarning.continue = Teruskan
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties
new file mode 100644
index 0000000000..f531d9cc24
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/commonDialogs.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=Amaran
+Confirm=Sahkan
+ConfirmCheck=Sahkan
+Prompt=Gesa
+Select=Pilih
+OK=OK
+Cancel=Batal
+Yes=&Ya
+No=&Tidak
+Save=&Simpan
+Revert=&Kembalikan
+DontSave=&Jangan Simpan
+ScriptDlgGenericHeading=[Aplikasi JavaScript]
+ScriptDlgHeading=Laman pada %S katakan:
+ScriptDialogLabel=Elakkan laman ini dari membuat dialog tambahan
+ScriptDialogPreventTitle=Sahkan Keutamaan Dialog
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterLoginForProxy3=Proksi %2$S meminta nama pengguna dan kata laluan anda. Laman ini menyatakan: “%1$S”
+EnterUserPasswordFor2=%1$S meminta nama pengguna dan kata laluan anda.
+EnterUserPasswordForCrossOrigin2=%1$S meminta nama pengguna dan kata laluan anda. WARNING: Kata laluan anda tidak akan dihantar ke laman web yang anda sedang layari!
+EnterPasswordFor=Masukkan kata laluan untuk %1$S pada %2$S
+
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Authentication Required - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Password Required - %S
+ScriptDlgNullPrincipalHeading=This page says:
+ScriptDialogLabelNullPrincipal=Don’t allow this site to prompt you again
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=Don’t allow %S to prompt you again
+EnterCredentials=This site is asking you to sign in.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=This site is asking you to sign in as %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=This site is asking you to sign in. Warning: Your login information will be shared with %S, not the website you are currently visiting.
+SignIn=Sign in
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..3c9b1b87ed
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/contentAreaCommands.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# context menu strings
+
+SaveImageTitle=Simpan Imej
+SaveMediaTitle=Simpan Media
+SaveVideoTitle=Simpan Video
+SaveAudioTitle=Simpan Audio
+SaveLinkTitle=Simpan Sebagai
+WebPageCompleteFilter=Halaman Laman Web, lengkap
+WebPageHTMLOnlyFilter=Halaman Laman Web, HTML sahaja
+WebPageXHTMLOnlyFilter=Halaman Laman Web, XHTML sahaja
+WebPageSVGOnlyFilter=Halaman Laman Web, SVG sahaja
+WebPageXMLOnlyFilter=Halaman Web, XML sahaja
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_fail
+
+# LOCALIZATION NOTE (UntitledSaveFileName):
+# This is the default filename used when saving a file if a filename could
+# not be determined or if a filename was invalid. A period and file
+# extension may be appended to this string.
+UntitledSaveFileName=Untitled
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties
new file mode 100644
index 0000000000..5fa2f7815e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/css.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=Stylesheet %1$S tidak dimuatkan kerana jenis MIME, "%2$S", bukan "text/css".
+MimeNotCssWarn=Gaya-helaian %1$S telah dimuatkan sebagai CSS walaupun ia berjenis MIME, "%2$S", bukan "text/css".
+
+PEDeclDropped=Deklarasi dijatuhkan.
+PEDeclSkipped=Dilangkau kepada deklarasi berikutnya.
+PEUnknownProperty=Ciri tidak diketahui '%1$S'.
+PEValueParsingError=Ralat penghuraian nilai untuk '%1$S'.
+PEUnknownAtRule=at-ruletidak dikenali atau ralat menghurai at-rule '%1$S'.
+PEMQUnexpectedOperator=Pengendali tidak dijangka dalam senarai media.
+PEMQUnexpectedToken=Token ‘%1$S’ tidak dijangka dalam senarai media.
+PEAtNSUnexpected=Token tidak dijangka di antara @namespace: '%1$S' .
+PEKeyframeBadName=Menjangka pengenal untuk nama daripada peraturan @keyframes.
+PEBadSelectorRSIgnored=Set aturan diabaikan kerana pemilih rosak.
+PEBadSelectorKeyframeRuleIgnored=Peraturan keyframe dibiarkan disebabkan oleh pemilih yang buruk.
+PESelectorGroupNoSelector=Pemilih dijangka.
+PESelectorGroupExtraCombinator=Penggabung Berjuntai.
+PEClassSelNotIdent=Menjangka pengenal untuk pemilih kelas tetapi menemui '%1$S'.
+PETypeSelNotType=Menjangka nama elemen atau '*' tetapi menemui '%1$S'.
+PEUnknownNamespacePrefix=Awalan ruang-nama tidak diketahui '%1$S'.
+PEAttributeNameExpected=Menjangka pengenal untuk nama atribut tetapi menemui '%1$S'.
+PEAttributeNameOrNamespaceExpected=MEnjangka nama atribut atau ruang nama tetapi menemui '%1$S'.
+PEAttSelNoBar=Menjangka '|' tetapi menemui '%1$S'.
+PEAttSelUnexpected=Token tidak dijangka dalam pemilih atribut: '%1$S'.
+PEAttSelBadValue=Menjangka pengenal atau rentetan untuk nilai dalam pemilih atribut tetapi menemui '%1$S'.
+PEPseudoSelBadName=Menjangka pengenal untuk pseudo-class atau pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelEndOrUserActionPC=Menjangkakan berakhirnya pemilih atau tindakan pengguna pseudo-class selepas pseudo-element tetapi menemui '%1$S'.
+PEPseudoSelUnknown=Pseudo-class atau pseudo-element tidak diketahui '%1$S'.
+PEPseudoClassArgNotIdent=Dijangkai pengecam untuk parameter kelas-pseudo tetapi mendapati '%1$S'.
+PEColorNotColor=Menjangka warna tetapi menemui '%1$S'.
+PEParseDeclarationDeclExpected=Menjangka deklarasi tetapi menemui '%1$S'.
+PEUnknownFontDesc=Pemerihal ‘%1$S’ tidak diketahui dalam peraturan @font-face.
+PEMQExpectedFeatureName=Dijangka nama ciri media tetapi mendapati '%1$S'.
+PEMQNoMinMaxWithoutValue=Fungsi media yang min- atau max- mesti mempunyai satu nilai.
+PEMQExpectedFeatureValue=Jumpa nilai yang tidak sah untuk ciri media.
+PEExpectedNoneOrURL=Menjangka 'none' atau URL tetapi menemui '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Dijangka 'tiada', URL, atau fungsi penapis tetapi mendapati '%1$S'.
+
+TooLargeDashedRadius=Radius sempadan terlalu besar untuk gaya ‘sempang’ (had ialah 100000 px). Hurai sebagai Padat.
+TooLargeDottedRadius=Radius sempadan terlalu besar untuk gaya ‘titik’ (had ialah 100000 px). Hurai sebagai padat.
+
+PEPRSyntaxFieldEmptyInput=@property syntax descriptor is empty.
+PEPRSyntaxFieldExpectedPipe=@property syntax descriptor ‘%S’ contains components without a pipe between them.
+PEPRSyntaxFieldInvalidNameStart=@property syntax descriptor ‘%S’ contains a component name that starts with an invalid character.
+PEPRSyntaxFieldInvalidName=@property syntax descriptor ‘%S’ contains a component name with an invalid character.
+PEPRSyntaxFieldUnclosedDataTypeName=@property syntax descriptor ‘%S’ contains an unclosed data type name.
+PEPRSyntaxFieldUnexpectedEOF=@property syntax descriptor ‘%S’ is incomplete.
+PEPRSyntaxFieldUnknownDataTypeName=@property syntax descriptor ‘%S’ contains an unknown data type name.
+PEDisallowedImportRule=@import rules are not yet valid in constructed stylesheets.
+PENeverMatchingHostSelector=:host selector in ‘%S’ is not featureless and will never match. Maybe you intended to use :host()?
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties
new file mode 100644
index 0000000000..521159473a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=OK
+button-cancel=Batal
+button-help=Bantuan
+button-disclosure=Info Lanjut
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties
new file mode 100644
index 0000000000..d549bf6cd4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/dom/dom.properties
@@ -0,0 +1,442 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Amaran: Skrip tidak responsif
+KillScriptMessage=Skrip dalam halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, atau biarkan skrip menilai samada skrip akan siap.
+KillScriptWithDebugMessage=Skrip pada halaman ini mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan skrip sekarang, buka skrip dalam penyahpepijat, atau biarkan skrip meneruskannya.
+KillScriptLocation=Skrip: %S
+
+KillAddonScriptTitle=Amaran: Skrip add-on tidak responsif
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Skrip ekstensi “%1$S” sedang dilaksanakan dalam halaman ini, dan membuatkan %2$S tidak responsif.\n\nMungkin sedang sibuk atau berhenti memberikan respons secara kekal. Anda boleh hentikan skrip sekarang, atau teruskan untuk memastikan samada boleh disiapkan atau tidak.
+KillAddonScriptGlobalMessage=Halang skrip ekstensi daripada dilaksanakan dalam halaman ini sehingga dimuatkan semula
+
+StopScriptButton=Henti skrip
+DebugScriptButton=Skrip nyahpijat
+WaitForScriptButton=Teruskan
+DontAskAgain=&Jangan tanya saya lagi
+WindowCloseBlockedWarning=Skrip tidak dapat menutup tetingkap yang bukan dibuka oleh skrip.
+OnBeforeUnloadTitle=Adakah anda pasti?
+OnBeforeUnloadStayButton=Kekal pada Halaman
+OnBeforeUnloadLeaveButton=Tinggalkan Halaman
+EmptyGetElementByIdParam=Rentetan kosong dihantar ke getElementById().
+DocumentWriteIgnored=Panggilan untuk document.write() daripada satu muatan tidak selari skrip luaran telah diabaikan.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Gagal meletakkan fail ke dalam elemen contenteditable: %S.
+FormValidationTextTooLong=Sila pendekkan teks ini kepada kurang atau sama dengan %S aksara (anda sedang menggunakan %S aksara).
+FormValidationTextTooShort=Sila gunakan sekurang-kurangnya %S aksara (anda sekarang menggunakan %S aksara).
+FormValidationValueMissing=Sila isikan ruang ini.
+FormValidationCheckboxMissing=Sila tandakan kotak ini jika anda ingin teruskan.
+FormValidationRadioMissing=Sila pilih salah satu dari pilihan ini.
+FormValidationFileMissing=Sila pilih satu fail.
+FormValidationSelectMissing=Sila pilih salah satu dari senarai.
+FormValidationInvalidEmail=Sila masukkan alamat e-mel.
+FormValidationInvalidURL=Sila masukkan URL.
+FormValidationInvalidDate =Sila masukkan tarikh yang sah.
+FormValidationPatternMismatch=sila padankan format yang diminta.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Sila padankan format yang diminta: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Sila pilih nilai yang tidak melebihi %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Sila pilih nilai yang tidak lewat daripada %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Sila pilih nilai yang tidak kurang daripada %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Sila pilih nilai yang tidak awal daripada %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Silih pilih nilai yang sah. Pilihan sah yang terdekat adalah %S dan %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Sila pilih nilai yang sah. Nilai yang terhampir adalah %S.
+FormValidationBadInputNumber=Sila masukkan nombor.
+FullscreenDeniedDisabled=Permintaan untuk skrin penuh ditolak kerana API Skrin penuh dinyahdayakan dalam keutamaan pengguna.
+FullscreenDeniedFocusedPlugin=Permintaan untuk skrin penuh ditolak kerana plugin tetingkap ditumpukan.
+FullscreenDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+FullscreenDeniedContainerNotAllowed=Meminta kepada skrin penuh telah dihentikan kerana sekurangnya satu daripada satu dokumen mengandungi iframes yang tidak mempunyai satu atribut "allowfullscreen".
+FullscreenDeniedNotInputDriven=Permintaan untuk format ditolak kerana Element.requestFullscreen() tidak dipanggil dari dalam pengendali peristiwa jangka pendek user-generated.
+FullscreenDeniedNotHTMLSVGOrMathML=Permintaan skrin penuh ditolak kerana elemen yang meminta bukan <svg>, <math>, atau HTML.
+FullscreenDeniedNotInDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta tiada lagi dalam dokumen.
+FullscreenDeniedMovedDocument=Permintaan untuk skrin penuh ditolak kerana elemen yang meminta telah memindahkan dokumen.
+FullscreenDeniedLostWindow=Permintaan skrin penuh ditolak kerana kami tidak lagi ada tetingkap.
+FullscreenDeniedSubDocFullscreen=Permintaan skrin penuh ditolak kerana subdokumen kepada dokumen yang meminta skrin penuh sudah pun skrin penuh.
+FullscreenDeniedNotFocusedTab=Permintaan skrin penuh ditolak kerana elemen yang meminta bukanlah tab yang sedang ditumpukan sekarang.
+FullscreenDeniedFeaturePolicy=Permintaan skrin penuh ditolak kerana direktif FeaturePolicy.
+RemovedFullscreenElement=Terkeluar skrin penuh kerana elemen skrin penuh telah dibuang dari dokumen.
+FocusedWindowedPluginWhileFullscreen=Terkeluar skrin penuh kerana plugin tetingkap ditumpukan.
+PointerLockDeniedDisabled=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dinyahdayakan oleh keutamaan pengguna.
+PointerLockDeniedInUse=Permintaan untuk kunci penunjuk ditolak kerana penuding pada masa ini dikawal oleh dokumen yang berlainan.
+PointerLockDeniedNotInDocument=Permintaan untuk kunci penunjuk ditolak kerana unsur meminta tidak dalam dokumen.
+PointerLockDeniedSandboxed=Permintaan untuk kunci penunjuk ditolak kerana API Kunci Penunjuk dihadkan via sandbox.
+PointerLockDeniedHidden=Permintaan untuk skrin penuh ditolak kerana dokumen tidak lagi dipapar.
+PointerLockDeniedNotFocused=Permintaan untuk kunci penunjuk ditolak kerana dokumen tidak difokus.
+PointerLockDeniedMovedDocument=Permintaan untuk kunci penunjuk ditolak kerana elemen yang meminta telah memindahkan dokumen.
+PointerLockDeniedNotInputDriven=Permintaan untuk kunci penunjuk ditolak kerana Element.requestPointerLock() tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna, dan dokumen tidak skrin penuh.
+PointerLockDeniedFailedToLock=Permintaan untuk kunci penunjuk ditolak kerana pelayar gagal mengunci penunjuk.
+HTMLSyncXHRWarning=Permintaan menghuraikan HTML dalam XMLHttp tidak disokong dalam mod segerak.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Percubaan untuk menetapkan forbidden header telah ditolak: %S
+ResponseTypeSyncXHRWarning=Penggunaan atribut XMLHttpRequest's responseType tidak lagi disokong pada mod segerak dalam konteks tetingkap.
+TimeoutSyncXHRWarning=Penggunaan daripada XMLHttpRequest's atribut masa tamat adalah tidak disokong dalam mod sinkronis dalam konteks tetingkap.
+JSONCharsetWarning=Satu percubaan telah dibuat untuk mengisytiharkan pengekodan bukan UTF-8 untuk JSON yang diambil menggunakan XMLHttpRequest. Hanya pengekodan UTF-8 yang disokong JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=HTMLMediaElement yang dihantar ke createMediaElementSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=MediaStream yang dihantar ke createMediaStreamSource ada sumber silang-asalan, output nod akan senyap.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=Tangkapan HTMLMediaElement sedang memainkan MediaStream. Status suara atau senyap tidak disokong pada masa ini.
+MediaLoadExhaustedCandidates=Semua sumber-sumber calon gagal dilaksanakan. Pelaksanaan media diberhentikan sementara.
+MediaLoadSourceMissingSrc=<source> elemen tidak mempunyai "src" atribut. Beban sumber media gagal.
+MediaStreamAudioSourceNodeDifferentRate=Menyambung AudioNodes dari AudioContexts dengan kadar sampel yang berbeza pada masa ini tidak disokong.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=Muatkan HTTP gagal dengan status %1$S. Gagal muatkan sumber media %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI tidak sah. Memuatkan sumber media %S gagal.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Dinyatakan "jenis" sifat "%1$S" tidak disokong. Muatan sumber media %2$S gagal.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=HTTP "Content-Type" tidak disokong oleh "%1$S". Proses muat turun sumber %2$S gagal.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Media sumber %S tidak dapat dinyahkod.
+MediaWidevineNoWMF=Cuba memainkan Widevine tanpa Windows Media Foundation. Lihat https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Untuk memainkan video format %S, anda perlu memasang perisian tambahan Microsoft, rujuk https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Video pada halaman ini tidak boleh dimainkan. Sistem anda mungkin tidak ada kodeks video yang diperlukan untuk: %S
+MediaUnsupportedLibavcodec=Video dalam halaman ini tidak dapat dimainkan. Sistem anda tidak menyokong versi lobavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Sumber media %1$S tidak dapat dinyahkod, ralat: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Sumber media %1$S mungkin boleh dinyahkod, tetapi dengan ralat: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Tidak boleh memainkan media. Tiada dekoder untuk format yang diminta: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Tiada dekorder untuk sebahagian format yang diminta: %S
+MediaCannotInitializePulseAudio=Tidak dapat menggunakan PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Menggunakan Sambungan Media Enkripsi pada %S yang tidak selamat (iaitu bebas-HTTPS) konteks adalah tidak digalakkan dan tidak lama lagi akan dihapuskan. Anda harus mempertimbangkan beralih kepada sumber asal yang selamat seperti HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Penggunaan Mutation Events telah tamat. Sebaliknya, gunakan MutationObserver.
+BlockAutoplayError=Automain hanya diizinkan jika disahkan oleh pengguna, laman diaktifkan oleh pengguna atau media disenyapkan.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Objek Komponen dikecam. Ia akan dikeluarkan tidak lama lagi.
+PluginHangUITitle=Amaran: Skrip tidak responsif
+PluginHangUIMessage=%S mungkin sibuk, atau telah berhenti bertindak balas. Anda boleh menghentikan plugin sekarang, atau biarkan skrip meneruskan untuk melihat jika skrip akan selesai.
+PluginHangUIWaitButton=Teruskan
+PluginHangUIStopButton=Hentikan plugin
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Memanggil detach() pada NodeIterator tidak lagi ada kesan.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Mengabaikan dapatkan atau tetapkan ciri yang mempunyai [LenientThis] kerana objek "this" tidak betul.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Penggunaan captureEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 addEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Penggunaan releaseEvents() dihapuskan. Untuk menaiktaraf kod anda, gunakan cara DOM 2 removeEventListener(). Untuk bantuan lanjut http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=XMLHttp segerak pada tajuk utama dikecam kerana kesan buruknya kepada pengalaman pengguna akhir. Untuk bantuan yang lebih http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers telah diabaikan. Jangan gunakannya untuk mengesan UA.
+ImportXULIntoContentWarning=Mengimport nod XUL kepada kandungan dokumen telah dikecam. Fungsian ini mungkin akan disingkirkan tidak lama lagi.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=Transaksi IndexedDB yang masih belum selesai telah dibatalkan kerana navigasi halaman.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Penggunaan memori Will-change terlalu tinggi. Had bajet pada kawasan permukaan dokumen didarab dengan %1$S (%2$S px). Ulangan will-change ke atas bajet akan diabaikan.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Worker tidak dapat dimulakan dengan serta-merta kerana dokumen lain dalam origin yang sama telah menggunakan bilangan maksimum worker. Worker sekarang dibaris gilir dan akan dimulakan selepas beberapa worker lain sudah siap.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Cache Aplikasi API (AppCache) tidak sesuai dan akan dialih keluar pada masa akan datang.  Sila pertimbangkan menggunakan ServiceWorker untuk sokongan luar talian.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Mencuba mencipta Worker daripada sumber kosong. Ini mungkin tidak disengajakan.
+NavigatorGetUserMediaWarning=pengemudi. mozGetUserMedia telah diganti oleh pengemudi. mediaDevicesmediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams tidak sesuai. Sebaliknya, gunakan RTCPeerConnection.getSenders/getReceivers.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Gagal memuatkan ‘%S’. ServiceWorker telah memintas permintaan dan menemui ralat yang tidak dijangka.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Gagal memuatkan ‘%1$S’ dengan respon ‘%2$S’. ServiceWorker tidak dibenarkan untuk mensintesis Respon cors bagi Permintaan asal-sama.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan opaque Response kepada FetchEvent. respondWith() semasa mengendali ‘%2$S’FetchEvent. Objek Opaque Response hanya sah apabila RequestMode ialah ‘no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Error Response kepada FetchEvent.respondWith(). Ini biasanya bermakna ServiceWorker melaksanakan panggilan fetch() yang tidak sah.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan Response terpakai kepada FetchEvent.respondWith(). Response hanya boleh dibaca sekali sahaja. Gunakan Response.clone() untuk mengaksesnya beberapa kali.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan opaqueredirect Response kepada FetchEvent.respondWith() semasa mengendalikan non-navigasi FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Gagal memuatkan ‘%S’. ServiceWorker memberikan redirected Response kepada FetchEvent.respondWith() manakala RedirectMode pula tidak ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Gagal memuatkan ‘%S’. ServiceWorker membatalkan memuat dengan memanggil FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang ditolak dengan ‘%2$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Gagal memuatkan ‘%1$S’. ServiceWorker memberikan promise kepada FetchEvent.respondWith() yang dselesaikan dengan nilai non-Response ‘%2$S’.
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Gagal mendaftar ServiceWorker: laluan skop yang disediakan ‘%1$S’ tidak di bawah skop maksimum yang dibenarkan ‘%2$S’. Ubah skop, pindahkan skrip Service Worker, atau gunakan pengepala HTTP Service-Worker-Allowed untuk mengizinkan skop.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Gagal mendaftar /update ServiceWorker bagi skop ‘%1$S’: Memuat gagal dengan status %2$S untuk skrip ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Gagal mendaftar/mengemaskini ServiceWorker untuk skop ‘%1$S’: Content-Type rosak ‘%2$S’ diterima untuk skrip ‘%3$S’. Mesti jenis MIME JavaScript.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Gagal mendaftar/kemaskini ServiceWorker untuk skop ‘%S’: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetRegistrationStorageError=Gagal mendapatkan pendaftaran service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+ServiceWorkerGetClientStorageError=Gagal mendapatkan klien service worker: Akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=ServiceWorker bagi skop ‘%S’ gagal melaksanakan 'postMessage' kerana akses storan dihadkan dalam konteks ini kerana tetapan pengguna atau mod pelayaran peribadi.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Menamatkan ServiceWorker bagi skop ‘%1$S’ dengan promises tertangguh waitUntil/respondWith kerana ihsan tamat tempoh.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Fetch event handlers must be added during the worker script’s initial evaluation.
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand(‘cut’/‘copy’) telah ditolak kerana tidak dipanggil dari dalam pengendali acara jangka pendek yang dijana-pengguna.
+ManifestShouldBeObject=Manifes mestilah sebuah objek.
+ManifestScopeURLInvalid=Skop URL tidak sah.
+ManifestScopeNotSameOrigin=Skop URL mesti sama origin dengan dokumen.
+ManifestStartURLOutsideScope=URL permulaan di luar skop, jadi skop in tidak sah.
+ManifestStartURLInvalid=URL permulaan tidak sah.
+ManifestStartURLShouldBeSameOrigin=Permulaan URL mesti sama origin dengan dokumen.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Dijangka %1$S’ %2$S ahli kepada %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S bukan warna CSS yang sah.
+PatternAttributeCompileFailure=Tidak dapat menyemak <input pattern='%S'> kerana bukan corak regexp yang sah: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Gagal melaksanakan ‘postMessage’ pada ‘DOMWindow’: Origin sasaran yang disediakan (‘%S’) tidak sepadan dengan origin tetingkap penerima (‘%S’).
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Menulis semula YouTube Flash gaya lama yang diterap (%S) ke iframe yang diterap (%S). Sila kemaskini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Menulis semula gaya-lama YouTube Flash yang diterap (%S) ke iframe yang diterap (%S). Params tidak disokong oleh iframe yang diterap dan ditukar. Sila kemas kini halaman untuk menggunakan iframe bukannya diterap /object jika boleh.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Encryption’ perlu menyertakan parameter unik ‘salt‘ bagi setiap mesej. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala ‘Crypto-Key’ perlu menyertakan parameter ‘dh‘ yang mengandungi kunci awam pelayan app. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Encryption-Key' perlu menyertakan parameter 'dh'. Pengepala ini tidak sesuai dan akan dialih keluar tidak lama lagi. Sila gunakan 'Crypto-Key' dengan 'Content-Encoding: aesgcm'. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Pengepala 'Content-Encoding' mesti 'aesgcm'. ‘aescgm128‘ dibolehkan, tetapi tidak sesuai dan akan dialih keluar tidak lama lagi. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'dh' dalam pengepala 'Crypto-Key' mesti kunci awam pelayan app Diffie-Hellman, base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C) dan dalam "uncompressed" atau bentuk "raw" (65 bait sebelum pengekodan). Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'salt' dalam pengepala 'Encryption' mesti base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C), dan sekurang-kurangnya 16 bait sebelum pengekodan. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Parameter 'rs' pengepala 'Encryption' mesti di antara %2$S and 2^36-31, atau dibuang. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Rekod dalam mesej yang dienkripsi tidak disertakan dengan betul. Rujuk https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 untuk maklumat lanjut.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=Skop ServiceWorker ‘%1$S’ gagal menyahsulit mesej paksa. Untuk bantuan perihal enkripsi, sila rujuk https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Mengabaikan panggilan ‘preventDefault()’ pada acara jenis ‘%1$S’ daripada pendengar yang didaftarkan sebagai 'passive'.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap tidak sesuai dan akan dialih keluar. Guna ImageBitmapRenderingContext.transferFromImageBitmap.
+IIRFilterChannelCountChangeWarning=IIRFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+BiquadFilterChannelCountChangeWarning=BiquadFilterNode perubahan kiraan saluran boleh menghasilkan glic audio.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=image.png
+GenericFileName=fail
+GeolocationInsecureRequestIsForbidden=A Geolocation request can only be fulfilled in a secure context.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Atribut ‘content’ objek Window tidak sesuai. Sebaliknya, sila gunakan ‘window.top’.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=SVG <%S> dengan ID “%S” ada gelung rujukan.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=Rantai rujukan SVG <%S> yang terlalu panjang telah diabaikan pada elemen dengan ID “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=‘%S’ atribut elemen <script> kosong.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=‘%S’ atribut elemen <script> tidak sah URI: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Gagal memuatkan <script> dengan sumber “%S”.
+ModuleSourceLoadFailed=Gagal memuatkan modul dengan sumber “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=<script> sumber URI rosak: “%S”.
+ModuleSourceMalformed=Sumber modul URI telah rosak: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=<script> sumber URI tidak diizinkan dalam dokumen ini: “%S”.
+ModuleSourceNotAllowed=Modul sumber URI tidak dibenarkan dalam dokumen ini: “%S”.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Nilai keyframe %1$S tidak sah mengikut sintaks “%2$S”.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Gagal membaca data dari ReadableStream: “%S”.
+MotionEventWarning=Penggunaan pengesan pergerakan tidak digalakkan.
+OrientationEventWarning=Penggunaan pengesan orientasi tidak digalakkan.
+ProximityEventWarning=Penggunaan pengesan kehampiran tidak digalakkan.
+AmbientLightEventWarning=Penggunaan pengesan cahaya ambien tidak digalakkan.
+UnsupportedEntryTypesIgnored=Mengabaikan entryTypes: %S yang tidak disokong.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface adalah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() ialah satu kaedah ujian-sahaja dan ini adalah mesej pembatalan pengujiannya.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute ialah antara muka ujian sahaja dan ini adalah mesej pembatalan pengujian.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=Penggunaan CanvasRenderingContext2D dalam createImageBitmap tidak lagi sesuai.
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange tidak dapat digunakan.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror tidak dapat digunakan.
+
+
+OnBeforeUnloadMessage2=This page is asking you to confirm that you want to leave — information you’ve entered may not be saved.
+SpeculationFailed2=An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
+FormValidationInvalidTime=Please enter a valid time.
+FormValidationInvalidDateTime=Please enter valid date and time.
+FormValidationInvalidDateMonth=Please enter a valid month.
+FormValidationInvalidDateWeek=Please enter a valid week.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Please select a value between %1$S and %2$S.
+FullscreenDeniedHTMLDialog=Request for fullscreen was denied because requesting element is a <dialog> element.
+FullscreenDeniedMouseEventOnlyLeftBtn=Request for fullscreen was denied because Element.requestFullscreen() was called from inside a mouse event handler not triggered by left mouse button.
+FullscreenDeniedPopoverOpen=Request for fullscreen was denied because the element is already open as a popover.
+FullscreenExitWindowFocus=Exited fullscreen because a window was focused.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=Use of navigator.sendBeacon instead of synchronous XMLHttpRequest during unload and pagehide improves user experience.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=The MediaStreamTrack passed to createMediaStreamTrackSource is a cross-origin resource, the node will output silence.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=The MediaStream assigned to srcObject comes from a capture of this HTMLMediaElement, forming a cycle, assignment ignored.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed. Trying to load from next <source> element.
+BlockAutoplayWebAudioStartError=An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.
+ManifestIdIsInvalid=The id member did not resolve to a valid URL.
+ManifestIdNotSameOrigin=The id member must have the same origin as the start_url member.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S is not a valid language code.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=%1$S item at index %2$S is invalid. The %3$S member is an invalid URL %4$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=%1$S item at index %2$S lacks a usable purpose. It will be ignored.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=%1$S item at index %2$S includes unsupported purpose(s): %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=%1$S item at index %2$S includes repeated purpose(s): %3$S.
+NotificationsInsecureRequestIsForbidden=The Notification permission may only be requested in a secure context.
+NotificationsCrossOriginIframeRequestIsForbidden=The Notification permission may only be requested in a top-level document or same-origin iframe.
+NotificationsRequireUserGesture=The Notification permission may only be requested from inside a short running user-generated event handler.
+NotificationsRequireUserGestureDeprecationWarning=Requesting Notification permission outside a short running user-generated event handler is deprecated and will not be supported in the future.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement is deprecated and will be removed at a future date. Use SVGElement.viewportElement instead.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement is deprecated and will be removed at a future date.
+WebExtContentScriptModuleSourceNotAllowed=WebExtension content scripts may only load modules with moz-extension URLs and not: “%S”.
+ModuleResolveFailureNoWarn=Error resolving module specifier “%S”.
+ModuleResolveFailureWarnRelative=Error resolving module specifier “%S”. Relative module specifiers must start with “./”, “../” or “/”.
+ImportMapInvalidTopLevelKey=An invalid top-level key “%S” was present in the import map.
+ImportMapEmptySpecifierKeys=Specifier keys cannot be empty strings.
+ImportMapAddressesNotStrings=Addresses need to be strings.
+ImportMapInvalidAddress=Address “%S” was invalid.
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=An invalid address was given for the specifier key “%1$S”; since “%1$S” ended in a slash, the address “%2$S” needs to as well.
+ImportMapScopePrefixNotParseable=The scope prefix URL “%S” was not parseable.
+ImportMapResolutionBlockedByNullEntry=Resolution of specifier “%S” was blocked by a null entry.
+ImportMapResolutionBlockedByAfterPrefix=Resolution of specifier “%S” was blocked since the substring after prefix could not be parsed as a URL relative to the address in the import map.
+ImportMapResolutionBlockedByBacktrackingPrefix=Resolution of specifier “%S” was blocked since the parsed URL does not start with the address in the import map.
+ImportMapResolveInvalidBareSpecifierWarnRelative=The specifier “%S” was a bare specifier, but was not remapped to anything. Relative module specifiers must start with “./”, “../” or “/”.
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+ImportMapExternalNotSupported=External import maps are not supported: <script type='importmap'> with a src attribute is currently not supported.
+ImportMapNotAllowedMultiple=Multiple import maps are not allowed.
+ImportMapNotAllowedAfterModuleLoad=Import maps are not allowed after a module load or preload has started.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Can’t use registerProtocolHandler inside private browsing mode.
+AllEntryTypesIgnored=No valid entryTypes; aborting registration.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=Key event not available on GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=Key event not available on some keyboard layouts: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+DocumentSetDomainNotAllowedWarning=Setting document.domain in a cross-origin isolated environment is not allowed.
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=Use of drawWindow method from CanvasRenderingContext2D is deprecated. Use tabs.captureTab extensions API instead https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider is deprecated.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” and “big” are deprecated values for the mathsize attribute and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” and “veryverythickmathspace” are deprecated values for MathML lengths and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=MathML attributes “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” and “fontweight” are deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Support for rendering stretched MathML operators with STIXGeneral fonts is deprecated and may be removed at a future date. For details about newer fonts that will continue to be supported, see %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=MathML attribute “scriptminsize” is deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=MathML attribute “scriptsizemultiplier” is deprecated and will be removed at a future date.
+FormSubmissionUntrustedEventWarning=Form submission via untrusted submit event is deprecated and will be removed at a future date.
+WebShareAPI_Failed=The share operation has failed.
+WebShareAPI_Aborted=The share operation was aborted.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Prevented navigation to “%1$S” due to an unknown protocol.
+PostMessageSharedMemoryObjectToCrossOriginWarning=Cannot post message containing a shared memory object to a cross-origin window.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=The resource at “%S” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() may not be called on a document with an opaque origin, such as a sandboxed iframe without allow-same-origin in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() may not be called in a sandboxed iframe without allow-storage-access-by-user-activation in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() may not be called in a nested iframe.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() may only be requested from inside a short running user-generated event handler.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Too many calls to Location or History APIs within a short timeframe.
+FolderUploadPrompt.title = Confirm Upload
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Are you sure you want to upload all files from “%S”? Only do this if you trust the site.
+FolderUploadPrompt.acceptButtonLabel = Upload
+InputPickerBlockedNoUserActivation=<input> picker was blocked due to lack of user activation.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe with external protocol was blocked due to lack of user activation, or because not enough time has passed since the last such iframe was loaded.
+MultiplePopupsBlockedNoUserActivation=Opening multiple popups was blocked due to lack of user activation.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Preload of %S was ignored due to unknown “as” or “type” values, or non-matching “media” attribute.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Cannot access blob URL “%S” from a different agent cluster.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() is deprecated. Use Element.setPointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=browser.runtime.lastError value was not checked: %S
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() is deprecated. Use OffscreenCanvas.convertToBlob() instead.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger is deprecated and will be removed in the future.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() is deprecated and will be removed in the future. For more help https://extensionworkshop.com/documentation/publish/self-distribution/
+# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit.
+SelectOptionsLengthAssignmentWarning=Refused to expand <select> option list via assignment to HTMLOptionsCollection.length (value %1$S). The maximum supported size is %2$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties
new file mode 100644
index 0000000000..7386c79fa9
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/extensions.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Nyahpasang %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Ekstensi “%S” meminta untuk dinyahpasang. Apa yang mahu anda lakukan?
+
+uninstall.confirmation.button-0.label = Nyahpasang
+uninstall.confirmation.button-1.label = Teruskan Dipasang
+
+saveaspdf.saveasdialog.title = Simpan Sebagai
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Ekstensi, %S, menukar halaman yang anda lihat apabila anda buka tab baru.
+newTabControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Ekstensi, %S, menukar apa yang dilihat apabila anda buka laman dan tetingkap baru.
+homepageControlled.learnMore = Ketahui selanjutnya
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Ekstensi %1$S sedang menyorokkan beberapa tab. Anda masih boleh akses semua tab dari %2$S.
+tabHideControlled.learnMore = Ketahui selanjutnya
+
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..392d4ca0e0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Keluar
+quitMenuitem.key=q
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties
new file mode 100644
index 0000000000..3a44fbe1fc
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/filepicker.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Semua Fail
+htmlTitle=Fail HTML
+textTitle=Fail Teks
+imageTitle=Fail Imej
+xmlTitle=Fail XML
+xulTitle=Fail XUL
+appsTitle=Aplikasi
+audioTitle=Fail Audio
+videoTitle=Fail Video
+
+formatLabel=Format:
+
+
+selectedFileNotReadableError=Selected file does not have read permission
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties
new file mode 100644
index 0000000000..01f3eb0fbb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Ralat tidak diketahui telah berlaku (%1$S)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties
new file mode 100644
index 0000000000..ce692d2b91
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=ms,en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://mxr.mozilla.org/mozilla/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties
new file mode 100644
index 0000000000..adb597c4cf
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/keys.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Anak Panah Atas
+VK_DOWN=Anak Panah Bawah
+VK_LEFT=Anak Panah Kiri
+VK_RIGHT=Anak Panah Kanan
+VK_PAGE_UP=Halaman Atas
+VK_PAGE_DOWN=Halaman Bawah
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+# LOCALIZATION NOTE : BLOCK maybe GLYPHS
+VK_TAB=Tab
+VK_BACK=Undur ruang
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Laman
+VK_END=Tamat
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties
new file mode 100644
index 0000000000..802ff225ff
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Set semula
+Submit=Kemukakan Pertanyaan
+Browse=Cari…
+FileUpload=Muat Naik Fail
+DirectoryUpload=Pilih Folder untuk Dimuat Naik
+DirectoryPickerOkButtonLabel=Muat naik
+ForgotPostWarning=Borang mengandungi enctype=%S, tetapi tidak mengandungi method=post. Penghantaran biasanya dengan method=GET dan sebaliknya tiada enctype.
+ForgotFileEnctypeWarning=Borang mengandungi input fail, tetapi hilang method=POST dan enctype=multipart/form-data pada borang. Fail tidak akan dihantar.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Pos Borang daripada %S
+CannotEncodeAllUnicode=Borang telah dihantar dalam pengekodan %S yang tidak dapat mengekod semua aksara Unicode, jadi input pengguna boleh rosak. Untuk mengelakkan masalah ini, halaman ini telah ditukar dan borang yang dihantar dalam pengekodan UTF-8 samada dengan mengubah pengekodan halaman itu sendiri kepada UTF-8 atau dengan menyatakan accept-charset=utf-8 dalam elemen borang.
+AllSupportedTypes=Semua jenis disokong
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Tiada fail dipilih.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Tiada direktori dipilih.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S fail dipilih.
+ColorPicker=Pilih warna
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Butiran
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties
new file mode 100644
index 0000000000..a1d467b95b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/MediaDocument.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (%S Image, %S × %S pixels)
+ImageTitleWithoutDimensions=%S (%S Imej)
+ImageTitleWithDimensions2=(%S Image, %Sx%S pixels)
+ImageTitleWithNeitherDimensionsNorFile=(%S Imej)
+MediaTitleWithFile=%S (%S Objek)
+MediaTitleWithNoInfo=(%S Objek)
+
+InvalidImage=Imej “%S” tidak dapat dipaparkan kerana mengandungi ralat.
+ScaledImage=Diskalakan (%S%%)
+
+TitleWithStatus=%S - %S
+
+UnsupportedImage=The image “%S” cannot be displayed because it requires unsupported features.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties
new file mode 100644
index 0000000000..fb4f0f3a8d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/htmlparser.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Pengekodan karakter dokumen berbingkai tidak ditetapkan. Dokumen akan kelihatan berlainan jika dipapar tanpa bingkai dokumen.
+EncMetaUnsupported=Satu pengekodan karakter tidak disokong telah diisytiharkan untuk HTML dokumen menggunakan tag meta. Perisytiharan itu telah diabaikan.
+EncProtocolUnsupported=Sebuah pengekodan karakter tidak disokong telah diisytiharkan pada tahap pemindahan protokol. Perisytiharan itu telah diabaikan.
+EncMetaUtf16=Tag meta telah digunakan untuk mengisytiharkan pengekodan karakter sebagai UTF-16. Ini telah ditafsirkan sebagai UTF-8 perisytiharan sebagai ganti.
+EncMetaUserDefined=Tag meta telah digunakan untuk mengisytiharkan aksara pengkodan sebagai x-user-defined. Sebaliknya ini telah ditafsirkan sebagai pengisytiharan windows-1252 untuk keserasian dengan fon legasi yang disalah kod secara sengaja. Laman ini perlu berhijrah kepada Unicode.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Sampah selepas “</”.
+errLtSlashGt=Terjumpa “</>”. Berkemungkinan punca: Unescaped “<” (escape as “&lt;”) atau tersalah taip end tag.
+errCharRefLacksSemicolon=Rujukan aksara tidak ditamatkan oleh koma bernoktah.
+errNoDigitsInNCR=Tiada digit di dalam rujukan aksara bernombor.
+errGtInSystemId=“>” dalam pengenal sistem.
+errGtInPublicId=“>” di dalam pengenal pasti umum.
+errNamelessDoctype=DOCTYPE yang tidak bernama.
+errConsecutiveHyphens=Sengkang berturut tidak menamatkan komen. “--” tidak dibenarkan dalam satu komen, tetapi cth. “- -” dibenarkan.
+errPrematureEndOfComment=Komen berakhir secara terburu-buru. Gunakan “-->” untuk mengakiri komen dengan sempurna.
+errBogusComment=Komen palsu.
+errUnquotedAttributeLt=“<” pada atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Hilangnya “>” secara tiba-tiba sebelum itu.
+errUnquotedAttributeGrave=“`” dalam nilai atribut yang tidak tertakrif. Penyebab yang mungkin: Menggunakan ciri-ciri karakter yang salah sebagai takrif.
+errUnquotedAttributeQuote=Kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errUnquotedAttributeEquals=“=” kutipan dalam nilai atribut yang tidak diketahui. Kemungkinan penyebab: sifat-sifat berlari bersam atau rentetan URL di dalam nilai atribut tidak diketahui.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=Tiada ruang di antara atribut.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before
+errUnquotedAttributeStartGrave=“`” pada permulaan nilai atribut yang tidak diketahui nilainya. Kemungkinan penyebab: Menggunakan ciri-ciri yang salah sebagai pembida.
+errUnquotedAttributeStartEquals=“=” pada permulaan nilai atribut tanpa petikan. Kemungkinan: duplikasi lilau tanda sama dengan.
+errAttributeValueMissing=Nilai atribut tidak ditemui.
+errBadCharBeforeAttributeNameLt=Menjangkakan nama atribut tetapi “<” ditemui. Berkemungkinan: “>” hilang sebelumnya.
+errEqualsSignBeforeAttributeName=Menjangkakan nama atribut tetapi “=” ditemui. Berkemungkinan: Nama atribut hilang.
+errBadCharAfterLt=Karekter buruk selepas “<”. Berkemungkinan punca Unescaped “<”. Cuba keluarkan ia sebagai “&lt;”.
+errLtGt=Terjumpa “<>”. Berkemungkinan punca: Unescaped “<” (keluar sebagai “&lt;”) atau tersalah taip bermula tag.
+errProcessingInstruction=“<?” ditemui. Berkemungkinan: menggunakan arahan XML dalam arahan HTML. (XML tidak disokong dalam HTML)
+errUnescapedAmpersandInterpretedAsCharacterReference=String ini berikutan “&” telah diinterprasi sebagai lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errNotSemicolonTerminated=Lampiran karekter yang dinamakan telah tidak diberhentikan oleh satu semicolon. (Or “&” harus dikeluarkan sebagai as “&amp;”.)
+errNoNamedCharacterMatch=“&” tidak dapat mula satu lampiran karekter. (“&” berkemungkinan harus dikeluarkan sebagai “&amp;”.)
+errQuoteBeforeAttributeName=Wujudnya satu pembida apabila menjangkakan nama atribut. Kemungkinan punca: “=” hilang secara tiba-tiba sebelumya.
+errLtInAttributeName=“<“ pada nama atribut. Kemungkinan punca: “>“ hilang secara tiba-tiba sebelumya.
+errQuoteInAttributeName=Petikan dalam atribut nama. Mungkin berpunca: Petikan yang bersamaan hilang dimana awalannya.
+errExpectedPublicId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errBogusDoctype=Doctype palsu.
+maybeErrAttributesOnEndTag=tag penutup mempunyai atribut-atribut.
+maybeErrSlashInEndTag=Lilau “/” pada penghujung tag akhir.
+errNcrNonCharacter=Rujukan aksara berkembang kepada bukan-aksara.
+errNcrSurrogate=Rujukan karakter mengembang kepada sifar.
+errNcrControlChar=Rujukan aksara berkembang menjadi aksara kawalan.
+errNcrCr=rujukan aksara bernombor telah berkembang ke destinasi pengembalian
+errNcrInC1Range=Rujukan aksara bernombor telah berkembang ke julat pengawalan C1.
+errEofInPublicId=Penghujung fail di dalam pengenal pasti umum..
+errEofInComment=Akhir fail di dalam comment.
+errEofInDoctype=Penghujung fail di dalam doctype.
+errEofInAttributeValue=Penghujung fail dicapai ketika di dalam nilai atribut. Abaikan tag.
+errEofInAttributeName=Penghujung fail berlaku pada satu nama atribut. Abaikan tag.
+errEofWithoutGt=Lihat dokumen yang terakhir tanpa ulangan tag pengakhiran “>”. Mengabaikan tag.
+errEofInTagName=Penghujung fail ketika mencari nama tag. Mengabaikan tag.
+errEofInEndTag=Penghujung fail di dalam tag akhir. Abaikan tag.
+errEofAfterLt=Akhir fail selepas “<”.
+errNcrOutOfRange=Character diluar julat Unicode dibenarkan merujuk.
+errNcrUnassigned=Rujukan aksara mengembang ke satu titik kod yang kekal tidak ditugaskan.
+errDuplicateAttribute=Buat salinan atribut.
+errEofInSystemId=Penghujung fail di dalam pengenal pasti sistem.
+errExpectedSystemId=Dijangka pengecam sistem tetapi doctype telah berakhir.
+errMissingSpaceBeforeDoctypeName=Ruang yang hilang sebelum doctype nama.
+errNcrZero=Rujukan karakter mengembang kepada sifar.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Tiada ruang di antara kata kunci doctype “SYSTEM” dan petikan.
+errNoSpaceBetweenPublicAndSystemIds=Tiada ruang di antara orang ramai doctype dan pengenalan sistem.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Tiada ruang di antara kata kunci doctype “PUBLIC” dan petikan.
+
+# Tree builder errors
+errStrayStartTag2=Tag permulaan lilau “%1$S”.
+errStrayEndTag=Tag pengakhiran lilau “%1$S”.
+errUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsImplied=Tag akhir “%1$S” tersirat, tetapi terdapat elemen yang terbuka.
+errUnclosedElementsCell=Rekod jadual telah ditutup sepenuhnya, tetapi mempunyai elemen terbuka.
+errStrayDoctype=Doctype lilau.
+errAlmostStandardsDoctype=Mod doctype hampir piawai. Menjangkakan “<!DOCTYPE html>”.
+errQuirkyDoctype=Kepelikan doctype. Dijangka “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Bukan ruang aksara dalam halaman treler.
+errNonSpaceAfterFrameset=Non-space selepas “frameset”.
+errNonSpaceInFrameset=Non-space dalam “frameset”.
+errNonSpaceAfterBody=Tiada aksara beruang selepas isi.
+errNonSpaceInColgroupInFragment=Tak beruang dalam “colgroup” ketika menghuraikan fragmen.
+errNonSpaceInNoscriptInHead=Aksara tidak beruang dalam “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” unsur antara “head” and “body”.
+errStartTagWithoutDoctype=Memulakan tag yang dilihat tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errNoSelectInTableScope=Tiada “select” dalam skop meja.
+errStartSelectWhereEndSelectExpected=“select” dimana tag mula akhir tag dijangka.
+errStartTagWithSelectOpen=“%1$S” memulakan tag dengan “select” terbuka.
+errImage=Melihat tanda mula “image”.
+errHeadingWhenHeadingOpen=Tajuk tidak boleh merujuk tajuk lain.
+errFramesetStart=Tag permulaan “frameset” dilihat.
+errNoCellToClose=Tiada sel untuk ditutup.
+errStartTagInTable=Tag mula “%1$S” dilihat dalam “table”.
+errFormWhenFormOpen=Terlihat tag mula “form”, tetapi telah terdapat elemen “form” yang aktif. Borang bersarang adalah tidak dibenarkan. Mengabaikan tag.
+errTableSeenWhileTableOpen=Tag mula bagi “table” dilihat tetapi “table” sebelum masih terbuka.
+errStartTagInTableBody=“%1$S” tag mula dalam kotak body.
+errEndTagSeenWithoutDoctype=Mengakhiri tag yang nampak tanpa melihat doctype terlebih dahulu. Dijangka “<!DOCTYPE html>”.
+errEndTagAfterBody=Melihat tag akhir selepas “body” ditutup.
+errEndTagSeenWithSelectOpen=“%1$S” tag akhir dengan “select” terbuka.
+errGarbageInColgroup=Sampah dalam fragmen “colgroup”.
+errEndTagBr=Tag akhir “br”.
+errNoElementToCloseButEndTagSeen=Tiada elemen “%1$S” dalam skop tetapi tag akhir “%1$S” dilihat.
+errHtmlStartTagInForeignContext=Tag mula HTML “%1$S” di dalam konteks ruangan nama asing.
+errNoTableRowToClose=Tiada baris jadual untuk ditutup.
+errNonSpaceInTable=Kesilapan karakter tiada ruang di dalam jadual
+errUnclosedChildrenInRuby=Elemen children tidak bertutup dalam “ruby”.
+errStartTagSeenWithoutRuby=Tag mula “%1$S” dilihat tanpa elemen “ruby” terbuka.
+errSelfClosing=Sintaks penutupan sendiri (“/>”) digunakan pada elemen HTML yang sah. Abaikan tanda / dan menganggap sebagai tag mula.
+errNoCheckUnclosedElementsOnStack=Elemen tak tertutup pada tindanan.
+errEndTagDidNotMatchCurrentOpenElement=Tag akhir “%1$S” tidak sama dengan nama elemen terbuka (“%2$S”) semasa.
+errEndTagViolatesNestingRules=Tag akhir “%1$S” mengingkari panduan penetasan.
+errEndWithUnclosedElements=Tag akhir “%1$S” dilihat, tetapi terdapat elemen yang terbuka.
+
+EncXmlDecl=The character encoding of an HTML document was declared using the XML declaration syntax. This is non-conforming, and declaring the encoding using a meta tag at the start of the head part is more efficient.
+EncMetaTooLate=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding was guessed from content instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaTooLateFrame=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding of the parent document was used instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaAfterHeadInKilobyte=The meta tag declaring the character encoding of the document should be moved to start of the head part of the document.
+EncNoDecl=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncNoDeclPlain=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncMetaReplacement=A meta tag was used to declare an encoding that is a cross-site scripting hazard. The replacement encoding was used instead.
+EncProtocolReplacement=An encoding that is a cross-site scripting hazard was declared on the transfer protocol level. The replacement encoding was used instead.
+EncDetectorReload=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncDetectorReloadPlain=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncError=The byte stream was erroneous according to the character encoding that was declared. The character encoding declaration may be incorrect.
+EncErrorFrame=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncErrorFramePlain=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncSpeculationFailMeta=The start of the document was reparsed, because there were non-ASCII characters before the meta tag that declared the encoding. The meta should be the first child of head without non-ASCII comments before.
+EncSpeculationFailXml=The start of the document was reparsed, because there were non-ASCII characters in the part of the document that was unsuccessfully searched for a meta tag before falling back to the XML declaration syntax. A meta tag at the start of the head part should be used instead of the XML declaration syntax.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=The start of the document was reparsed, because ISO-2022-JP is an ASCII-incompatible encoding.
+errNestedComment=Saw “<!--” within a comment. Probable cause: Nested comment (not allowed).
+# Tree builder errors
+errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep.
+errAlmostStandardsDoctypeVerbose=This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”.
+errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open.
+errListUnclosedStartTags=Unclosed element or elements.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties
new file mode 100644
index 0000000000..5aca128025
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = kehabisan memori
+2 = ralat sintaks
+3 = tiada elemen ditemui
+4 = tidak berbaik-bentuk
+5 = token tidak ditutup
+6 = sebahagian aksara
+7 = tag tidak sepadan
+8 = atribut pendua
+9 = sampah selepas elemen dokumen
+10 = rujukan entiti parameter tidak sah
+11 = entiti tidak ditentukan
+12 = rujukan entiti rekursif
+13 = asynchronous entity
+14 = rujukan dakan nombor aksara tidak sah
+15 = rujukan kepada entiti binari
+16 = rujukan kepada entiti luaran dalam atribut
+17 = deklarasi XML atau teks tidak pada permulaan entiti
+18 = pengkodan tidak diketahui
+19 = pengkodan ditentukan dalam deklarasi XML tidak betul
+20 = seksyen CDATA tidak ditutup
+21 = ralat dalam memproses rujukan entiti luaran
+22 = dokumen bukanlah tersendiri
+23 = keadaan penghurai tidak dijangka
+24 = entiti diisytihar dalam entiti parameter
+27 = awalan tidak dijilid kepada ruang nama
+28 = hendaklah tidak mengisytihar prefix
+29 = markup tidak lengkap dalam entiti parameter
+30 = Pengishtiharan XML tidak dibentuk dengan baik
+31 = awalan mestilah tidak dijilid kepada salah satu dari ruang nama rizab URI
+32 = aksara(-aksara) tak sah dalam id awam
+38 = awalan terpelihara (xml) tidak perlu tidak diisytiharkan atau terikat kepada nama ruang nama yang lain
+39 = awalan yang dipinjam (xmlns) tidak perlu diisytiharkan atau tidak diisytiharkan
+40 = awalan tidak perlu terikat kepada salah satu daripada nama-nama ruang nama yang dipinjam
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = Ralat Penghurai XML: %1$S\nLokasi: %2$S\nNombor Baris %3$u, Kolum %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Dijangka: </%S>
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties
new file mode 100644
index 0000000000..5d8bf77878
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/layout_errors.properties
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=atribut "coords" tag <area shape="rect"> tidak dalam format "kiri,atas,kanan,bawah".
+ImageMapCircleWrongNumberOfCoords=atribut "coords" tag <area shape="circle"> tidak dalam format "center-x,center-y,radius".
+ImageMapCircleNegativeRadius=atribut "coords" tag <area shape="circle"> memiliki radius negatif.
+ImageMapPolyWrongNumberOfCoords=atribut "coords" tag <area shape="poly"> tidak dalam format "x1,y1,x2,y2 ...".
+ImageMapPolyOddNumberOfCoords=atribut "coords" tag <area shape="poly"> telah kehilangan kordinat "y" terakhir (ormat yang betul adalah "x1,y1,x2,y2 ...").
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Animasi tidak dapat dijalankan pada compositor ini kerana kawasan bingkai (%1$S) terlalu besar berbanding dengan viewport (lebih besar daripada %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Animasi tidak dapat dijalankan pada kompositor ini kerana saiz bingkai (%1$S, %2$S) terlalu besar berbanding dengan viewport (lebih besar daripada (%3$S, %4$S)) atau lebih besar daripada nilai maksimum yang dibenarkan (%5$S,%6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Transformasi animasi ‘backface-visibility: hidden’ tidak dapat dijalankan pada pengatur huruf
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Transformasi animasi ‘transform’ dengan elemen SVG tidak dapat dijalan pada pengatur huruf
+CompositorAnimationWarningTransformWithGeometricProperties=Animasi ‘transform’ tidak boleh dijalankan pada pengatur huruf apabila sifat geometri dianimasi dengan elemen yang sama pada masa yang sama
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Animasi ‘mengubah’ tidak dapat dijalankan pada kompositor ini kerana perlu diselaraskan dengan animasi sifat geometri yang bermula pada masa yang sama
+CompositorAnimationWarningTransformFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'transform'
+CompositorAnimationWarningOpacityFrameInactive=Animasi tidak boleh dijalankan pada pengatur huruf kerana bingkai ditanda tidak aktif untuk animasi 'opacity'
+CompositorAnimationWarningHasRenderingObserver=Animasi tidak boleh dijalankan pada pengatur huruf kerana elemen ada rendering pemerhati (-moz-element atau SVG clipping/masking)
+
+
+ScrollLinkedEffectFound3=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html for further details and to join the discussion on related tools and features!
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Transform animation cannot be run on the compositor because transform-related properties are overridden by !important rules
+CompositorAnimationWarningHasCurrentColor=Animations of ‘background-color’ cannot be run on the compositor with ‘current-color’ keyframe.
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=When rendering the <html> element, the used values of CSS properties “writing-mode”, “direction”, and “text-orientation” on the <html> element are taken from the computed values of the <body> element, not from the <html> element’s own values. Consider setting these properties on the :root CSS pseudo-class. For more information see “The Principal Writing Mode” in https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=Scroll anchoring was disabled in a scroll container because of too many consecutive adjustments (%1$S) with too little total distance (%2$S px average, %3$S px total).
+ForcedLayoutStart=Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties
new file mode 100644
index 0000000000..4a11092544
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Markup tidak sah: <%1$S> tidak dibenarkan sebagai anak untuk <%2$S>.
+ChildCountIncorrect=Markup tidak sah: Kesalahan nombor bagi children untuk <%1$S/> ditanda.
+DuplicateMprescripts=Markup tidak sah: Lebih daripada satu <mprescripts/> dalam <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Markup tidak sah: Mengharapkan hanya saru lement Base dalam <mmultiscripts/>. Tidak menemui apa-apa.
+SubSupMismatch=Markup tidak sah: Padanan subscript/superscript tidak sempurna dalam <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Ralat dalam nilai penghuraian '%1$S' untuk '%2$S' attribute kepada <%3$S/>. Attribute diabaikan.
+AttributeParsingErrorNoTag=Ralat dalam penghuraian nilai '%1$S' untuk attribute '%2$S'. Attribute diabaikan.
+LengthParsingError=Ralat dalam penguraian nilai attribute MathML '%1$S' sebagai panjang. Attribute diabaikan.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties
new file mode 100644
index 0000000000..395f7971f8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/narrate.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+back = Undur
+forward = Seterusnya
+speed = Kelajuan
+selectvoicelabel = Suara:
+# Default voice is determined by the language of the document.
+defaultvoice = Piawai
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+# %S is the keyboard shortcut for the listen command
+listen-label = Listen (%S)
+# %S is the keyboard shortcut for the start command
+start-label = Start (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Stop (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..d5ef05a8bd
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=%S tidak dapat disimpan kerana fail sumber tidak dapat dibaca.\n\n Cuba lagi kemudian atau hubungi pentadbir pelayan.
+writeError=%S tidak dapat disimpan, kerana rakat tidak diketahui berlaku.\n\nCuba menyimpan kepada loaksi berbeza.
+launchError=%S tidak dapat dibuka, kerana ralat tidak diketahui berlaku.\n\nuba menyimpan kepada cakera dahulu kemudian buka ffail.
+diskFull=Tidak terdapat ruang mencukupi pada akera untuk menyimpan %S.\n\nSingkir fail tidak berkaitan daripada cakera dan uba lagi, atau cuba simpan dalam lokasi berlainan.
+readOnly=%S tidak dapata disimpan, kerana cakera, folder, atau fail terlindung-tulis.\n\nBoleh-tuliskan cakera dan cuba lagi, atau uba menyimpan pada lokasi berbeza.
+accessError=%S tidak dapat disimpan, kerana anda tidak boleh menukar kandungan folder berkenaan.\n\nTukar iri folder dan cuba lagi, atau cuba menyimpan di lokasi berbeza.
+SDAccessErrorCardReadOnly=Tidak boleh muat turun fail kerana kad SD sedang digunakan.
+SDAccessErrorCardMissing=Tidak boleh muat turun fail kerana kad SD tidak ditemui.
+helperAppNotFound=%S tidak dapat dibuka, kerana aplikasi pembantu yang dikaitkan tidak wujud. Tukar perkaitan dalam keutamaan anda.
+noMemory=Tidak terdapat memori menukup untuk menyelesaikan tindakan yang anda pohon.\n\nKeluar sebahagian aplikasi dan cuba lagi.
+title=Memuaturun %S
+fileAlreadyExistsError=%S tidak dapat disimpan, kerana fail sedia wujud dengan nama sama seperti direktori '_files'.\n\nCuba menyimpan kepada lokasi berbeza.
+fileNameTooLongError=%S tidak dapat disimpan, kerana nama fail terlalu panjang.\n\nCuba menyimpan dengan nama fail lebih pendek.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties
new file mode 100644
index 0000000000..296d8f1a44
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printdialog.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Cetak
+optionsTabLabelGTK=Pilihan
+
+# Mac titles:
+optionsTitleMac=Pilihan:
+appearanceTitleMac=Penampilan:
+pageHeadersTitleMac=Pengepala Halaman:
+pageFootersTitleMac=Pengaki Halaman:
+
+# Windows titles:
+optionsTitleWindows=Pilihan
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Abaikan Perubahan Skala dan Mengecut Untuk Menyesuaikan Lebar Halaman
+selectionOnly=Cetak Pilihan _Sahaja
+printBGOptions=Cetak latar belakang
+printBGColors=Cetak Warna Latar Belakang
+printBGImages=Cetak I_mej Laman Belakang
+headerFooter=Pengepala dan Pengaki
+left=Kiri
+center=Tengah
+right=Kanan
+headerFooterBlank=--kosong--
+headerFooterTitle=Tajuk
+headerFooterURL=URL
+headerFooterDate=Tarikh/Masa
+headerFooterPage=Halaman #
+headerFooterPageTotal=Halaman # daripada #
+headerFooterCustom=Penyesuaian…
+customHeaderFooterPrompt=Sila masukkan teks tajuk/nota kaki khas anda
+
+summarySelectionOnlyTitle=Cetak Pilihan
+summaryShrinkToFitTitle=Mengecil Untuk Muat
+summaryPrintBGColorsTitle=Cetak warna BG
+summaryPrintBGImagesTitle=Cetak gambar BG
+summaryHeaderTitle=Pengepala Halaman
+summaryFooterTitle=Kaki Laman
+summaryNAValue=N/A
+summaryOnValue=Aktif
+summaryOffValue=Nyahaktif
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties
new file mode 100644
index 0000000000..71698849d7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formatting
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d daripada %2$d
+
+PrintToFile=Cetak Ke Fail
+print_error_dialog_title=Ralat Pencetak
+printpreview_error_dialog_title=Ralat Previu Cetak
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Ada ralat ketika mencetak.
+
+PERR_ABORT=Kerja mencetak diabaikan, atau dibatalkan.
+PERR_NOT_AVAILABLE=Sesetengah fungsi mencetak yang tidak tersedia.
+PERR_NOT_IMPLEMENTED=Terdapat fungsian mencetak tidak lagi diimplemen.
+PERR_OUT_OF_MEMORY=Memori bebas tidak mencukupi untuk mencetak.
+PERR_UNEXPECTED=Terdapat masalah tidak dijangka ketika mencetak.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Tiada pencetak tersedia.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Tiada pencetak tersedia, tidak dapat memaparkan previu cetakan.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Pencetak yang dipilih tidak dapat ditemui.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Gagal membuka fail output untuk cetak ke fail.
+PERR_GFX_PRINTER_STARTDOC=Mencetak gagal ketika memulakan tugas mencetak.
+PERR_GFX_PRINTER_ENDDOC=Mencetak gagal ketika menyelesaikan tugas mencetak.
+PERR_GFX_PRINTER_STARTPAGE=Mencetak gagal ketika memulakan laman baru.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Belum dapat mencetak dokumen ini, masih lagi dimuatkan.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Tidak boleh previu cetakan dokumen ini lagi kerana sedang dimuatkan.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties
new file mode 100644
index 0000000000..b5f4c4530a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Anda masih belum memulakan %S. Adakah anda mahu memulakannya semula seperti pengalaman baru? Walau bagaimanapun, selamat kembali!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Anda baru saja memasang semula %S. Anda mahu kami membersihkannya menjadi seperti baru?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Muat semula %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties
new file mode 100644
index 0000000000..5797f65bbb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Ralat Sekuriti: Kandungan pada %S tidak dapat memuat atau memaut pada %S.
+CheckSameOriginError = Ralat Selamat: kandungan pada %S tidak dapat memuat data daripada %S.
+ExternalDataError = Ralat Keselamatan: Kandungan %S yang cuba dimuatkan %S, mungkin tidak boleh memuatkan data luaran apabila digunakan sebagai imej. 
+
+CreateWrapperDenied = Keizinan ditolak untuk mencipta pembalut objek kelas %S
+CreateWrapperDeniedForOrigin = Keizinan ditolak bagi <%2$S> untuk mencipta pembalut objek kelas %1$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties
new file mode 100644
index 0000000000..9c4ecc38fa
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/csp.properties
@@ -0,0 +1,124 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Tetapan halaman ini menyekat pemuatan sumber: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Tetapan halaman ini disekat pemuatan sumber di %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Pencabulan berlaku untuk polisi hanya-laporan CSP ("%1$S"). Perilaku ini dibenarkan, dan laporan CSP telah dihantar.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Tetapan laman memerhatikan pemuatan sumber pada %2$S ("%1$S"). Laporan CSP sedang dihantar.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Telah cuba hantar laporan ke URI tidak sah: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = Tidak boleh menghurai laporan URI: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Tidak boleh proses arahan tidak diketahui '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Mengabaikan pilihan tidak diketahui %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Mengabaikan duplikasi sumber %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Mengabaikan sumber ‘%1$S’ (Tidak disokong apabila dihantar via unsur meta).
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Mengabaikan sumber “%1$S” (Hanya disokong dalam script-src).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Kata kunci ‘strict-dynamic’ dalam “%1$S” dengan nonce atau hash yang tidak sah boleh menyekat semua skrip daripada dimuatkan
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = URL laporan (%1$S) perlulah URI HTTP atau HTTPS.\u0020
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Laman ini (%1$S) ada polisi Lapor-Sahaja tanpa laporan URI. CSP tidak akan menyekat dan tidak boleh melaporkan pelanggaran polisi ini.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Gagal untuk menghuraikan sumber tak dikenali %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Menaik taraf permintaan tidak selamat ‘%1$S untuk menggunakan‘‘%2$S’
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Mengabaikan srcs bagi direktif ‘%1$S’
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Mentafsir %1$S sebagai nama hos, bukannya kata kunci. Jika anda berhasrat menjadikannya kata kunci, gunakan '%2$S' (dibungkus dengan tanda petikan tunggal).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Arahan ‘%1$S’ tidak disokong. Arahan dan nilai akan diabaikan.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Menyekat permintaan tidak selamat ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values (e.g., 'require-sri-for')
+ignoringDirectiveWithNoValues = Mengabaikan ‘%1$S’ kerana ia tidak mengandungi sebarang parameter.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Mengabaikan direktif sandbox apabila dihantar dalam polisi laporan-sahaja ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Mengabaikan ‘%1$S’ kerana arahan ‘%2$S’.
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Gagal menghuraikan sumber yang tidak sah %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Tidak boleh hurai hos tidak sah %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Tidak boleh hurai port dalam %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Duplikasi %1$S arahan telah dikesan. Kesemua tetapi contoh pertama telah diabaikan.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Tidak dapat menghuraikan sandbox flag yang tidak sah ‘%1$S’
+
+
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Ignoring directive ‘%1$S’ with the non-ASCII token ‘%2$S’
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = Ignoring “%1$S” within %2$S: nonce-source or hash-source specified
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = Ignoring “%1$S” within %2$S: ‘strict-dynamic’ specified
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Ignoring ‘unsafe-eval’ or ‘wasm-unsafe-eval’ inside “%1$S”.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ignoring source “%1$S” (Not supported within ‘%2$S’).
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+obsoleteBlockAllMixedContent = Ignoring ‘%1$S’ because mixed content display upgrading makes block-all-mixed-content obsolete.
+# LOCALIZATION NOTE (CSPMessagePrefix):
+# Do not translate "Content-Security-Policy", only handle spacing for the colon.
+# %S is a console message that is being prefixed here.
+CSPMessagePrefix = Content-Security-Policy: %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties
new file mode 100644
index 0000000000..eae9ae5d59
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/security/security.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Menyekat memuat kandungan paparan bercampur "%1$S"
+BlockMixedActiveContent = Menyekat memuat kandungan aktif bercampur "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membolehkan membaca sumber jauh di %1$S. (Alasan: CORS dinyahdayakan).
+CORSOriginHeaderNotAdded=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: ‘Origin’ pengepala CORS tidak boleh ditambah).
+CORSExternalRedirectNotAllowed=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di %1$S. (Alasan: hala semula permintaan luaran CORS tidak dibenarkan).
+CORSRequestNotHttp=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: CORS meminta bukan http).
+CORSMultipleAllowOriginNotAllowed=Permintaan Asal-Silang Disekat: Polisi Asal Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: Berbilang pengepala ‘Access-Control-Allow-Origin’ CORS tidak dibenarkan.
+CORSAllowOriginNotMatchingOrigin=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: pengepala ‘Access-Control-Allow-Origin’ CORS tidak sepadan ‘%2$S’).
+CORSNotSupportingCredentials=Permintaan Asalan-Silang Disekat: Polisi Asalan Sama tidak membenarkan membaca sumber jauh di ‘%1$S’. (Alasan: Credential tidak disokong jika pengepala CORS ‘Access-Control-Allow-Origin’ is ‘*’).
+CORSMethodNotFound=Cross-Origin Request Disekat: Polisi Asalan Sama tidak membenarkan sumber remote di %1$S dibaca. (Alasan: Tiada kaedah yang ditemui dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSMissingAllowCredentials=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: jangkaan ‘benar’ dalam pengepala ‘Access-Control-Allow-Credentials’ CORS).
+CORSInvalidAllowMethod=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Methods’ CORS).
+CORSInvalidAllowHeader=Permintaan Asalan-silang Disekat: Polisi Asalan Sama tidak membenarkan sumber jauh di %1$S dibaca. (Alasan: token ‘%2$S’ tidak sah dalam pengepala ‘Access-Control-Allow-Headers’ CORS).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Ada ralat yang tidak diketahui semasa memproses pengepala yang ditetapkan oleh laman ini.
+STSCouldNotParseHeader=Strict-Transport-Security: Laman ini menyatakan pengepala yang tidak berjaya dihurai.
+STSNoMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang idak mengandungi direktif ‘max-age’.
+STSMultipleMaxAges=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘max-age’.
+STSInvalidMaxAge=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘max-age’ yang tidak sah.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi pelbagai direktif ‘includeSubDomains’.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: Laman ini menyatakan pengepala yang mengandungi direktif ‘includeSubDomains’ yang tidak sah.
+STSCouldNotSaveState=Strict-Transport-Security: Ada ralat mencatat laman ini sebagai hos Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecureFormActionPasswordsPresent=Medan kata laluan dipersembahkan pada laman (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+InsecurePasswordsPresentOnIframe=Medan kata laluan dipersembahkan pada iframe (http://) yang tidak selamat. Ini merupakan risiko keselamatan yang membenarkan kelayakan pengguna log masuk dicuri.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Memuatkan kandungan aktif bercampur (tidak selamat) pada laman selamat "%1$S"
+LoadingMixedDisplayContent2=Memuatkan kandungan paparan bercampur (tidak selamat) pada laman selamat "%1$S"
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Untuk iframe yang mempunyai kedua-dua skrip membenarkan dan membolehkan-sama-asal untuk atribut sandbox yang boleh mengalih keluar dengan sandboxing.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=Elemen script mengandungi cincang yang rosak dalam atribut integrity “%1$S”. Format yang betul ialah “<hash algorithm>-<hash value>”.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=Cincang yang terkandung dalam atribut integrity tersalah panjang.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=Cincang yang terkandung dalam atribut integrity tidak boleh dinyahkod.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=“%1$S” tidak layak untuk semakan integriti kerana CORS-samada tidak didayakan atau tidak sama-asal.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Algoritma hash dalam atribut integrity tidak disokong: “%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=Atribut integrity tidak mengandungi sebarang metadata yang sah.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Laman ini menggunakan sifer RC4 untuk enkripsi, yang tidak sesuai dan tidak selamat.
+
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not trasnlate "nosniff".
+XCTOHeaderValueMissing=Amaran pengepala X-Content-Type-Options: nilainya ialah “%1$S”; adakah anda bermaksud mahu menghantar “nosniff”?
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navigasi ke data tahaptinggi: URI tidak dibenarkan (Sekat memuat: “%1$S”)
+
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Pengepala Clear-Site-Data memaksa pembersihan data “%S”.
+UnknownClearSiteDataValue=Pengepala Clear-Site-Data ditemui. Nilai tidak diketahui “%S”.
+
+FeaturePolicyUnsupportedFeatureName=Polisi Ciri: Melangkau ciri nama “%S” yang tidak disokong.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Polisi Ciri: Melangkau senarai kosong dibenarkan untuk ciri: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Polisi Ciri: Melangkau nilai “%S” dibenarkan yang tidak disokong.
+
+
+CORSDidNotSucceed2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request did not succeed). Status code: %2$S.
+CORSMissingAllowOrigin2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: %2$S.
+CORSPreflightDidNotSucceed3=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight response did not succeed). Status code: %2$S.
+CORSMissingAllowHeaderFromPreflight2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: header ‘%2$S’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response).
+CORSAllowHeaderFromPreflightDeprecation=Cross-Origin Request Warning: The Same Origin Policy will disallow reading the remote resource at %1$S soon. (Reason: When the `Access-Control-Allow-Headers` is `*`, the `Authorization` header is not covered. To include the `Authorization` header, it must be explicitly listed in CORS header `Access-Control-Allow-Headers`).
+LoadingMixedDisplayObjectSubrequestDeprecation=Loading mixed (insecure) content “%1$S” within a plugin on a secure page is discouraged and will be blocked soon.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Blocked downloading insecure content “%S”.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw.
+IntegrityMismatch2=None of the “%1$S” hashes in the integrity attribute match the content of the subresource. The computed hash is “%2$S”.
+DeprecatedTLSVersion2=This site uses a deprecated version of TLS. Please upgrade to TLS 1.2 or 1.3.
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=The resource from “%1$S” was blocked due to MIME type (“%2$S”) mismatch (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=The resource from “%1$S” was not rendered due to an unknown, incorrect or missing MIME type (X-Content-Type-Options: nosniff).
+BlockScriptWithWrongMimeType2=Script from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+WarnScriptWithWrongMimeType=The script from “%1$S” was loaded even though its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Loading script from “%1$S” with importScripts() was blocked because of a disallowed MIME type (“%2$S”).
+BlockWorkerWithWrongMimeType=Loading Worker from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockModuleWithWrongMimeType=Loading module from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockRedirectToDataURI=Redirecting to data: URI not allowed (Blocked loading of: “%1$S”)
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Loading script from file: URI (“%1$S”) was blocked because its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=Loading script with URI “%S” was blocked because the file extension is not allowed.
+RestrictBrowserEvalUsage=eval() and eval-like uses are not allowed in the Parent Process or in System Contexts (Blocked usage in “%1$S”)
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Upgrading insecure display request ‘%1$S’ to use ‘%2$S’
+# Reporting API
+ReportingHeaderInvalidJSON=Reporting Header: invalid JSON value received.
+ReportingHeaderInvalidNameItem=Reporting Header: invalid name for group.
+ReportingHeaderDuplicateGroup=Reporting Header: ignoring duplicated group named “%S”.
+ReportingHeaderInvalidItem=Reporting Header: ignoring invalid item named “%S”.
+ReportingHeaderInvalidEndpoint=Reporting Header: ignoring invalid endpoint for item named “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Reporting Header: ignoring invalid endpoint URL “%1$S” for item named “%2$S”.
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer header: Length is over “%1$S” bytes limit - stripping referrer header down to origin: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer header: Length of origin within referrer is over “%1$S” bytes limit - removing referrer with origin “%2$S”.
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Referrer Policy: Less restricted policies, including ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ and ‘unsafe-url’, will be ignored soon for the cross-site request: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Referrer Policy: Ignoring the less restricted referrer policy “%1$S” for the cross-site request: %2$S
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Invalid X-Frame-Options header was found when loading “%2$S”: “%1$S” is not a valid directive.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=The loading of “%2$S” in a frame is denied by “X-Frame-Options“ directive set to “%1$S“.
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Upgrading insecure request “%1$S” to use “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Not upgrading insecure request “%1$S” because it is exempt.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Upgrading insecure request “%1$S” failed. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Upgrading insecure request “%S” failed. Downgrading to “http” again.
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = Upgrading insecure speculative TCP connection “%1$S” to use “%2$S”.
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Download of “%S” was blocked because the triggering iframe has the sandbox flag set.
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Blocked navigation to custom protocol “%S” from a sandboxed context.
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Received empty or no input. Returning an empty DocumentFragment.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties
new file mode 100644
index 0000000000..9181923c5e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Nilai tidak dijangka %2$S menghurai atribut %1$S.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties
new file mode 100644
index 0000000000..07ecb5a1ef
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = Pergi ke baris
+goToLineText = Masukkan nombor baris
+invalidInputTitle = Input tidak sah
+invalidInputText = Nombor baris dimasukkan tidak sah.
+outOfRangeTitle = Baris tidak ditemui
+outOfRangeText = Baris ditentukan tidak ditemui.
+viewSelectionSourceTitle = Pemilihan Sumber DOM
+
+context_goToLine_label = Pergi ke Baris…
+context_goToLine_accesskey = B
+context_wrapLongLines_label = Balut Baris Panjang
+context_highlightSyntax_label = Serlahan Sintaks
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties
new file mode 100644
index 0000000000..9bcd01d21a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=Selamat Datang ke %S
+default-last-title=Menyelesaikan %S
+default-first-title-mac=Pengenalan
+default-last-title-mac=Rumusan
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties
new file mode 100644
index 0000000000..2a9567a23f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 = Menghurai lembaran gaya XSLT gagal.
+2 = Menghurai ekspresi XPath gagal.
+3 =
+4 = Pengubahan XSLT gagal.
+5 = Fungsi XSLT/XPath tidak sah.
+6 = Gaya-helaian XSLT (kemungkinan) mengandungi recursion.
+7 = Nilai atribut tidak sah dalam XSLT 1.0.
+8 = Ekpressi XPath telah dijangka untuk mengembalikan NodeSet.
+9 = Pengubahan XSLT ditamatkan oleh <xsl:message>.
+10 = Ralat rangkaian berlaku memuatkan lembaran gaya XSLT:
+11 = Lembaran gaya XSLT tidak mempunyai jenis mime XML:
+12 = Lembaran gaya XSLT secara terus atau tidak terus diimport atau termasuk dirinya sendiri:
+13 = Fungsi XPath telah dibatalkan dengan bilangan argumen yang salah .
+14 = Fungsi ekstensi XPath yang tidak diketahui telah dipanggil.
+15 = Kegagalan menghurai XPath: ')' dijangka:
+16 = Kegagalan menghurai XPath: paksi tidak sah:
+17 = Kegagalan menghurai XPath: Ujian Nama atau Jenis Nod dijangka:
+18 = Kegagalan menghurai XPath: ']' dijangka:
+19 = Kegagalan menghurai XPath: nama pembolehubah tidak sah:
+20 = Kegagalan menghurai XPath: akhir ungkapan tidak dijangka:
+21 = Kegagalan menghurai XPath: operator dijangka:
+22 = Kegagalan menghurai XPath: perkataan tidak bertutup:
+23 = Kegagalan menghurai XPath: ':' tidak dijangka:
+24 = Kegagalan menghurai XPath: '!' tidak dijangka, sangkalan not():
+25 = Kegagalan menghurai XPath: aksara tidak sah ditemui:
+26 = Kegagalan menghurai XPath: operator binari dijangka:
+27 = Memuat lembaran gaya XSLT telah disekat atas alasan keselamatan.
+28 = Penilaian ungkapan yang tidak sah.
+29 = Pengukuhan curly tidak seimbang.
+30 = Mereka cipta satu elemen dengan QName yang tidak sah.
+31 = pembolehubah yang sah akan menyamai pembolehubah yang sah dengan templat yang sama
+32 = Panggilan fungsi utama tidak dibenarkan.
+
+LoadingError = Ralat memuat helaian-gaya: %S
+TransformError = Ralat ketika transformasi XSLT: %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties
new file mode 100644
index 0000000000..b3cffbc3e3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/global/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> arahan pemprosesan tiada lagi kesan di luar prolog pengaturacaraan dalam logik (lihat pepijat 360119).
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning-toolbar.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..7561c5d7e0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.dtd
new file mode 100644
index 0000000000..3760eebdc5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.dtd
@@ -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/. -->
+
+<!-- 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">
+
+<!-- The notifications settings in the properties dialog -->
+<!ENTITY lightning.calendarproperties.notifications.label "Notifications">
+<!ENTITY lightning.calendarproperties.globalNotifications.label "Global Notification Preferences…">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "Don't show me these messages">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Calendar">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Go to the calendar tab">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.properties
new file mode 100644
index 0000000000..66923f0a67
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/lightning/lightning.properties
@@ -0,0 +1,232 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+imipBarUnsupportedText2=This message contains an event that this version of %1$S cannot process.
+imipBarCalendarDeactivated=This message contains event information. Enable a calendar to handle it.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-mapi/mapi.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..f33b1ad616
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/am-newsblog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..8d9533a089
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/feed-subscriptions.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..f85160e617
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/newsblog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..47b3116c02
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-region/region.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-region/region.properties
new file mode 100644
index 0000000000..c1882eb25b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/certFetchingStatus.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..8c312e6e55
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSMIMEOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..32e2ea6546
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSMIMEOverlay.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/. -->
+
+<!--LOCALIZATION NOTE msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
+
+<!ENTITY menu_techPGP.label "OpenPGP">
+<!ENTITY menu_techPGP.accesskey "O">
+<!ENTITY menu_techSMIME.label "S/MIME">
+<!ENTITY menu_techSMIME.accesskey "S">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..e4324aa40f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..a663e53fb4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSMIMEOverlay.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..51d577ddf4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSecurityInfo.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..eb942ccb1e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgReadSecurityInfo.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 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:">
+
+
+<!-- LOCALIZATION NOTE(SMIME.label): This a name for a technical standard. You should not translate it, but if applicable, you may write it using localized characters. -->
+<!ENTITY SMIME.label "S/MIME">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgSecurityInfo.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..5beb10fd5d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountManager.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..5603dfe062
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountManager.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 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 -->
+
+
+<!ENTITY accountManagerCloseButton.label "Close">
+<!ENTITY addonsButton.label "Extensions &amp; Themes">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountWizard.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..82c7db096c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/CustomHeaders.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..b16ec325e9
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterEditor.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..919e1781c5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterEditor.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/. -->
+
+<!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">
+
+<!ENTITY contextPeriodic.accesskey "e">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterListDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..34d1bee084
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/SearchDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..6e33b45338
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutDownloads.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..7c450089db
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutRights.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutRights.properties
new file mode 100644
index 0000000000..6f0c720a4f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutSupportMail.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..73aeadd73e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationModel.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..eebb7cc878
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationModel.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/.
+
+# 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
+
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=The Exchange AutoDiscover XML is invalid.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationUtil.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..04d49269e5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.dtd
new file mode 100644
index 0000000000..b367888c3b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/activity.properties
new file mode 100644
index 0000000000..b5378fbac1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addbuddy.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..909623fca5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abAddressBookNameDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..3693994bfa
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abContactsPanel.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..b449e385d6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMailListDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..0b612b8e22
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMainWindow.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..bc825f126a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abResultsPane.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..34fe9b7ee2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/addressBook.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..456f12819e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/addressBook.properties
@@ -0,0 +1,180 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+badListNameCharacters=A list name cannot contain any of the following characters: < > ; , "
+badListNameSpaces=A list name cannot contain multiple adjacent spaces.
+## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows)
+ldap_2.servers.outlook.description=Outlook Address Book
+SupportedABFiles=Supported Address Book Files
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/ldapAutoCompErrs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..db14414942
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory-add.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..53ab3fef03
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..d6a7f16014
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/replicationProgress.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..b311be1690
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-addressing.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..6cb4d216a0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-advanced.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..d51cea7323
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-archiveoptions.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..1ff73e9bd1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-copies.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-copies.dtd
new file mode 100644
index 0000000000..1a519cfd42
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-e2e.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-e2e.properties
new file mode 100644
index 0000000000..9d42cb9257
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-e2e.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/.
+
+prefPanel-e2e=End-To-End Encryption
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identities-list.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..ab365a2100
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identity-edit.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..c860d7a6e0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-im.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-im.dtd
new file mode 100644
index 0000000000..5c4daa21f4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-junk.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-junk.dtd
new file mode 100644
index 0000000000..bf356cd2e7
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-main.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-main.dtd
new file mode 100644
index 0000000000..e55404d615
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-main.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-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">
+
+<!ENTITY catchAll.label "Reply from this identity when delivery headers match:">
+<!ENTITY catchAll.accesskey "d">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..4e4fd09d3e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-mdn.properties
new file mode 100644
index 0000000000..61864da618
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-offline.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-offline.dtd
new file mode 100644
index 0000000000..7a572c101b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-advanced.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..9c72db4d91
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-top.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..148dd712b6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-server-top.dtd
@@ -0,0 +1,92 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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)">
+
+<!ENTITY newsrcFilePath1.label "News.rc File:">
+<!ENTITY newsrcPicker1.label "Select News.rc File">
+<!ENTITY localPath1.label "Local Directory:">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-serverwithnoidentities.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..fb3d3ec078
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.dtd
new file mode 100644
index 0000000000..461fc5eb0f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.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 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:">
+
+
+<!ENTITY e2eTitle.label "End-To-End Encryption">
+<!ENTITY e2eLearnMore.label "Learn more">
+<!ENTITY e2eEnc.description "Without end-to-end encryption the contents of messages are easily exposed to your email provider and to mass surveillance.">
+<!ENTITY e2eTechPref.description "Preferred encryption technology:">
+<!ENTITY encryptionCert2.message "Personal certificate for encryption:">
+<!ENTITY signingCert2.message "Personal certificate for digital signing:">
+<!ENTITY sendingDefaults.label "Default settings for sending messages">
+<!ENTITY technologyAutomatic.label "Select automatically based on available keys or certificates">
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "Manage S/MIME Certificates">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "S/MIME Security Devices">
+<!ENTITY manageDevices2.accesskey "y">
+<!ENTITY technologySMIME.label "Prefer S/MIME">
+<!ENTITY technologyOpenPGP.label "Prefer OpenPGP">
+<!ENTITY openpgpKeys.label "OpenPGP">
+<!ENTITY openpgpKey.message "Personal key for encryption and digital signing:">
+<!ENTITY openpgpKey.button "Set Personal Key…">
+<!ENTITY openpgpKey.accesskey "o">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/am-smime.properties
new file mode 100644
index 0000000000..cc95d1cbdd
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appUpdate.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appUpdate.properties
new file mode 100644
index 0000000000..0a423d55d0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appUpdate.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/.
+
+# LOCALIZATION NOTE (updateAvailableTitle): %S will be replaced with brandShortName
+updateAvailableTitle=A new %S update is available.
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=Update your %S for the latest in speed and privacy.
+updateAvailablePrimaryButtonLabel=Download Update
+updateAvailablePrimaryButtonAccessKey=D
+updateAvailableSecondaryButtonLabel=Not Now
+updateAvailableSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=%S can’t update to the latest version.
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=Download a fresh copy of %S and we’ll help you to install it.
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=Download %S
+updateManualPrimaryButtonAccessKey=D
+updateManualSecondaryButtonLabel=Not Now
+updateManualSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=%S is unable to update to the latest version.
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=The latest version of %S is not supported on your system.
+updateUnsupportedPrimaryButtonLabel=Learn more
+updateUnsupportedPrimaryButtonAccessKey=L
+updateUnsupportedSecondaryButtonLabel=Close
+updateUnsupportedSecondaryButtonAccessKey=C
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=Restart to update %S.
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=After a quick restart, %S will restore all your open tabs and windows.
+updateRestartPrimaryButtonLabel=Restart
+updateRestartPrimaryButtonAccessKey=R
+updateRestartSecondaryButtonLabel=Not Now
+updateRestartSecondaryButtonAccessKey=N
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appleMailImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..6fffa81fcd
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/baseMenuOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..7c5ffbe16c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/baseMenuOverlay.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/. -->
+
+<!-- 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">
+
+
+<!-- Help Menu -->
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/beckyImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..d8f2930f76
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/charsetTitles.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..8d181a9555
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.dtd
new file mode 100644
index 0000000000..37657ff66b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.properties
new file mode 100644
index 0000000000..b98a9ad141
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/chat.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/.
+
+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)
+
+## LOCALIZATION NOTE (buddy.verificationRequest):
+# Strings used in a notification bar at the top of the chat tab when someone
+# sends a verification request for end-to-end encryption keys.
+# %S is replaced with the display name of the user or, if this is to verify a
+# session of yourself, a string that identifies the session.
+buddy.verificationRequest.label=%S wants to verify each other’s identities
+buddy.verificationRequest.allow.label=Start Verification
+buddy.verificationRequest.allow.accesskey=S
+buddy.verificationRequest.deny.label=Deny
+buddy.verificationRequest.deny.accesskey=D
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/configEditorOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..6ed43b27eb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/converterDialog.properties
new file mode 100644
index 0000000000..a9b4539032
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/custom.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/custom.properties
new file mode 100644
index 0000000000..afdadcdbb3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..c0bffb3d18
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/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/. -->
+
+<!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">
+
+<!ENTITY showTitlebar2.label "Title Bar">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..c165f15fab
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/downloadheaders.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..3e089860ad
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..3d7c5da070
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..b8c558cdc6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/fieldMapImport.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..cbdd95bafe
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/filter.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/filter.properties
new file mode 100644
index 0000000000..721224a889
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/filter.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/.
+
+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
+
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=This filter was probably created by a newer or incompatible version of %S. You cannot enable this filter because we don't know how to apply it.
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=Periodically, every minute;Periodically, every #1 minutes
+filterFailureSendingReplyError=Error sending reply
+filterFailureSendingReplyAborted=Sending reply aborted
+filterFailureMoveFailed=Move failed
+filterFailureCopyFailed=Copy failed
+filterFailureAction=Failed applying the filter action
+# LOCALIZATION NOTE(filterLogLine):
+# %1$S=timestamp, %2$S=log message
+filterLogLine=[%1$S] %2$S
+# LOCALIZATION NOTE(filterMessage):
+# %1$S=filter name, %1$S=log message
+filterMessage=Message from filter "%1$S": %2$S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderProps.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderProps.dtd
new file mode 100644
index 0000000000..3e911ea93c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderProps.dtd
@@ -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/. -->
+
+<!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">
+
+<!ENTITY folderProps.color.label "Icon Color:">
+<!ENTITY folderProps.color.accesskey "I">
+<!ENTITY folderProps.reset.tooltip "Restore default color">
+<!ENTITY folderOtherUsers.label "Others with access to this folder:">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderWidgets.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..5ab364a850
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderpane.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/folderpane.dtd
new file mode 100644
index 0000000000..89d9e24b21
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/gloda.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/gloda.properties
new file mode 100644
index 0000000000..50c87fcd18
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/gloda.properties
@@ -0,0 +1,176 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+gloda.message.attr.account.includeLabel=stored in any of:
+gloda.message.attr.account.excludeLabel=not stored in:
+gloda.message.attr.account.remainderLabel=other accounts:
+gloda.message.attr.folder.includeLabel=stored in any of:
+gloda.message.attr.folder.excludeLabel=not stored in:
+gloda.message.attr.folder.remainderLabel=other folders:
+gloda.message.attr.mailing-list.noneLabel=None
+gloda.message.attr.mailing-list.includeLabel=received on any of:
+gloda.message.attr.mailing-list.excludeLabel=not received on any of:
+gloda.message.attr.mailing-list.remainderLabel=other mailing lists:
+gloda.message.attr.tag.noneLabel=None
+gloda.message.attr.tag.includeLabel=tagged any of:
+gloda.message.attr.tag.excludeLabel=not tagged:
+gloda.message.attr.tag.remainderLabel=other tags:
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaComplete.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..5de981a9ae
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..451d910a7c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.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/. -->
+
+<!-- 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;">
+
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.label2): The
+ label for the button/link that causes us to display all of the emails in
+ the active set in a new thread pane display tab. -->
+<!ENTITY glodaFacetView.openEmailAsList.label "Show results as list">
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "Show all of the email messages in the active set in a new tab">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..7cae420b60
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/glodaFacetView.properties
@@ -0,0 +1,171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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
+
+
+# LOCALIZATION NOTE(glodaFacetView.search.label2):
+# The heading for the search page.
+# A short description of user's search query will be appended.
+glodaFacetView.search.label2=Results for:
+glodaFacetView.results.message.timeline.label=Toggle timeline
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.relevance2):
+# a clickable label causing the sort to be done by most relevant messages first.
+glodaFacetView.results.message.sort.relevance2=Sort by Relevance
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.date2):
+# a clickable label causing the sort to be done by most recent messages first.
+glodaFacetView.results.message.sort.date2=Sort by Date
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccountWizard.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..16b65d803d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccounts.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imAccounts.properties
new file mode 100644
index 0000000000..583a0917c1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imapMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..dff0dbbe3e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/imapMsgs.properties
@@ -0,0 +1,262 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+# LOCALIZATION NOTE (imapEnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+imapEnterPasswordPromptTitleWithUsername=Enter your password for %1$S
+imapTlsError=Non-overridable TLS error occurred. Handshake error or probably the TLS version or certificate used by server %S is incompatible.
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=This folder reports no quota information.
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=Quota information not yet available.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importDialog.dtd
new file mode 100644
index 0000000000..0181875252
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/importMsgs.properties
new file mode 100644
index 0000000000..6070d6840b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/joinChat.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/joinChat.dtd
new file mode 100644
index 0000000000..7882399d5f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/junkLog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/junkLog.dtd
new file mode 100644
index 0000000000..2a3834b3a0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/localMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/localMsgs.properties
new file mode 100644
index 0000000000..55c1fe44bb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/localMsgs.properties
@@ -0,0 +1,139 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=Enter your password for %1$S
+#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear.
+pop3TempServerError=Temporary error from %S while retrieving new messages. \
+The operation will be retried at the next check for new messages.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailEditorOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..d86f758e3f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..dad2846e5e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewList.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..3a56c43cc2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewSetup.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..7af48d607a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailviews.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mailviews.properties
new file mode 100644
index 0000000000..c3c4babac0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/markByDate.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/markByDate.dtd
new file mode 100644
index 0000000000..91ed8fa4cf
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.dtd
new file mode 100644
index 0000000000..d6082ccb69
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.dtd
@@ -0,0 +1,950 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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">
+
+
+<!ENTITY openMenuCmd.label "Open">
+<!ENTITY openMenuCmd.accesskey "O">
+<!ENTITY glodaSearchCmd.label "Global Search…">
+<!ENTITY glodaSearchCmd.accesskey "G">
+<!ENTITY exportCmd.label "Export…">
+<!ENTITY exportCmd.accesskey "x">
+<!ENTITY openMsgConversationButton.tooltip "Show conversation of selected message">
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "Select Messages">
+<!ENTITY deleteColumn.label "Delete">
+<!ENTITY selectColumn.tooltip "Toggle select all messages">
+<!ENTITY deleteColumn.tooltip "Delete a message">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "Favorites">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "F">
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "Go back one page">
+<!ENTITY browseForwardButton.tooltip "Go forward one page">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.properties
new file mode 100644
index 0000000000..396003d869
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messenger.properties
@@ -0,0 +1,763 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+
+redirected=Redirected
+# LOCALIZATION NOTE(andOthers):
+# for multiple authors, add this abbreviation to the first author to indicate
+# there are more; for the From column in the threadpane message list.
+andOthers=et al.
+confirmMarkAllFoldersReadTitle=Mark All Folders Read
+confirmMarkAllFoldersReadMessage=Are you sure you want to mark all messages in all folders of this account as read?
+openFolderLabel=Open Containing Folder
+openFolderLabelAccesskey=F
+externalAttachmentNotFound=This detached file or link attachment is not found or is not accessible at this location anymore.
+teraByteAbbreviation2=%.*f TB
+petaByteAbbreviation2=%.*f PB
+linkMismatchTitle=Link Mismatch Detected
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=The link you just clicked seems to lead to another site than what the link text indicated. This is sometimes used for tracking whether you clicked the link, but it could also be a scam.\n\nThe link text indicated that the link would lead to %1$S, but it leads to %2$S.
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=Go to %1$S anyway
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=Go to %1$S
+# troubleshootModeRestart
+troubleshootModeRestartPromptTitle=Restart in Troubleshoot Mode
+troubleshootModeRestartPromptMessage=Troubleshoot Mode will disable all add-ons and temporarily use some default preferences.\nAre you sure you want to restart?
+troubleshootModeRestartButton=Restart
+# 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 appmenu.
+panel.back = Back
+# LOCALIZATION NOTE (folderErrorAlertTitle):
+# %S is a pretty string to identify the folder and account.
+# EXAMPLE: Error - Inbox on bob@example.com
+folderErrorAlertTitle = Error - %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdAdvancedEdit.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..6ff43cf8c2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdColorPicker.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..0f1c59e485
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdConvertToTable.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..ad508d994e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdDialogOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..850f797cd0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdNamedAnchorProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..ae1f740d32
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorColorProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..209ee5c449
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorHLineProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..217ac81804
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorImageProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..b91c5da42b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertChars.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..f48670d701
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertMath.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..26fc4dc89a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertSource.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..18d527ecee
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTOC.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..e4becd3ced
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTable.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..2bc62b2b21
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorLinkProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..4d64938f2d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorListProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..3f5c1294d6
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorPersonalDictionary.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..8ec7c27774
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorReplace.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..21627da89f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorSpellCheck.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..d898443744
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorTableProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..c98de3938e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..80a7a161f0
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,459 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network.
+## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response
+smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s.
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s
+# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart
+errorIllegalLocalPart2=There are non-ASCII characters in the local part of the recipient address %s and your server does not support SMTPUTF8. Please change this address and try again.
+## LOCALIZATION NOTE(smtpEnterPasswordPromptTitleWithHostname): Do not translate the
+## word %1$S. Place the word %1$S where the server host name should appear.
+smtpEnterPasswordPromptTitleWithHostname=Password Required for Outgoing (SMTP) Server %1$S
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=Remove %S Addresses
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=Are you sure you want to remove the %S addresses?
+confirmRemoveRecipientRowButton=Remove
+## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row.
+## It should be larger than the largest Header label and identical to &headersSpace2.style;
+headersSpaceStyle=width: 8em
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editor.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..97da2868ca
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editorOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..e7969a1e12
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/mailComposeEditorOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..baa239bc8c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/messengercompose.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..2d85bb8def
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/messengercompose.dtd
@@ -0,0 +1,308 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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">
+
+<!ENTITY newMessage.accesskey "M">
+<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and
+ Subject: rows. It should be larger than the largest Header label -->
+<!ENTITY headersSpace2.style "width: 8em;">
+<!ENTITY fromAddr2.label "From">
+<!ENTITY replyAddr2.label "Reply-To">
+<!ENTITY newsgroupsAddr2.label "Newsgroup">
+<!ENTITY followupAddr2.label "Followup-To">
+<!ENTITY subject2.label "Subject">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..ec9967733a
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..6d78e7616d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..edea52e884
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.properties
new file mode 100644
index 0000000000..e6c847b924
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/migration/migration.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/.
+
+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
+
+1_thunderbird=Preferences
+2_thunderbird=Account Settings
+4_thunderbird=Address Books
+64_thunderbird=Newsgroup Folders
+128_thunderbird=Mail Folders
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mime.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mime.properties
new file mode 100644
index 0000000000..620667cb01
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mimeheader.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/mimeheader.properties
new file mode 100644
index 0000000000..1327c94201
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/morkImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..ce65917ca4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/morkImportMsgs.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/.
+
+#
+# The following are used by the Mork import code to display status/error
+# and informational messages.
+#
+
+MABFiles = Mork Address Books
+
+# Short name of import module
+morkImportName = Mork database (.mab)
+
+# Description of import module
+morkImportDescription = Import an address book from SeaMonkey or earlier versions of Thunderbird.
+
+morkImportSuccess = Success!
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgAccountCentral.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..f8c0c732fc
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgHdrViewOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..31c91fed11
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgHdrViewOverlay.dtd
@@ -0,0 +1,114 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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">
+
+<!ENTITY detachedAttachmentFolder.show.label "Open Containing Folder">
+<!ENTITY detachedAttachmentFolder.show.accesskey "F">
+<!ENTITY detachedAttachmentFolder.showMac.label "Show In Finder">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgSynchronize.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..6684dc25b9
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgViewPickerOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..920d82d97c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgmdn.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/msgmdn.properties
new file mode 100644
index 0000000000..2762a9da3e
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..72ac185903
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.properties
new file mode 100644
index 0000000000..0921a30d60
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/multimessageview.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 (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)
+
+
+# LOCALIZATION NOTE (maxThreadCountExceeded): A message to let the user know that
+# not all of the selected thread were summarized. #1 is the total number of
+# threads selected and #2 is the number of threads actually shown.
+maxThreadCountExceeded= (Note: #1 threads are selected, the first #2 are shown)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newFolderDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..bfc29770e2
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/news.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/news.properties
new file mode 100644
index 0000000000..aa3f2bc0bb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newsError.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/newsError.dtd
new file mode 100644
index 0000000000..e38e7ab4e8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offline.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offline.properties
new file mode 100644
index 0000000000..e0d5fd15e3
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offlineStartup.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..ea30089c9b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/outlookImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..74cc4b7d0f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/pgpmime.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/pgpmime.properties
new file mode 100644
index 0000000000..2754392a07
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/pgpmime.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/.
+
+#
+# The following are used by the pgpmime content type handler
+#
+
+# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
+pgpNotAvailable=This is an encrypted OpenPGP message, but support for OpenPGP decryption is not available.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applicationManager.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..108315445f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applications.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..36a26f679f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/applications.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 (dialog_removeAccount):
+# %S will be replaced with the user-defined name of a storage account.
+dialog_removeAccount=Adakah anda pasti mahu menghapuskan akaun "%S"?
+
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=Add %S
+notConfiguredYet=This account has not been configured yet
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/messagestyle.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..a0ea3eedca
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/preferences.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..b45868961b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/preferences/preferences.properties
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+
+applications-type-pdf = Portable Document Format (PDF)
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=Preview in %S
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/prefs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/prefs.properties
new file mode 100644
index 0000000000..c6cce2d57d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/profileDowngrade.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/profileDowngrade.dtd
new file mode 100644
index 0000000000..c23dc62d13
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/profileDowngrade.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:
+ This UI can be most easily shown by modifying the version in compatibility.ini
+ to a newer version and then starting Thunderbird.
+ For this feature, "installation" is used to mean "this discrete download of
+ Thunderbird" and "version" is used to mean "the specific revision number of a
+ given Thunderbird channel". These terms are not synonymous.
+-->
+<!ENTITY window.title "You have launched an older version of &brandProductName;">
+
+<!ENTITY window.nosync2 "A newer version of &brandProductName; may have made changes to your profile which are no longer compatible with this older version. Use this profile only with that newer version, or create a new profile for this installation of &brandShortName;. Creating a new profile requires setting up your accounts, calendars and add-ons again.">
+
+<!ENTITY window.moreinfo "More information…">
+<!ENTITY window.create "Create New Profile">
+<!ENTITY window.quit-win "Exit">
+<!ENTITY window.quit-nonwin "Quit">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..59460abbf8
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/removeAccount.properties
new file mode 100644
index 0000000000..9139e279de
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/renameFolderDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..abb626a54b
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/sanitize.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/sanitize.dtd
new file mode 100644
index 0000000000..0e2de73027
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/sanitize.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/. -->
+
+<!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">
+
+<!ENTITY historyGroup.label "History">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/seamonkeyImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..5e0b9d8499
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/seamonkeyImportMsgs.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/.
+#
+# The following are used by the seamonkey import code to display status/error
+# and informational messages
+
+# Short name of import module
+SeamonkeyImportName=SeaMonkey
+
+# Description of import module
+SeamonkeyImportDescription=Import address books, mail and accounts from SeaMonkey.
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=Address books were successfully imported.
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=Local messages and accounts were successfully imported.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-attributes.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-attributes.properties
new file mode 100644
index 0000000000..cefee542f1
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-operators.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search-operators.properties
new file mode 100644
index 0000000000..451cadb8de
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/search.properties
new file mode 100644
index 0000000000..184c4c102d
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/searchTermOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..dcc3f5eb66
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/shutdownWindow.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..43e98a4346
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smime.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smime.properties
new file mode 100644
index 0000000000..1ce087502f
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smtpEditOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..ad663af8e4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.dtd
new file mode 100644
index 0000000000..5fe8d5f506
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/subscribe.properties
new file mode 100644
index 0000000000..a3d71819b4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/tabmail.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/tabmail.dtd
new file mode 100644
index 0000000000..039196d304
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/taskbar.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/taskbar.properties
new file mode 100644
index 0000000000..75d0eeb0eb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/telemetry.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/telemetry.properties
new file mode 100644
index 0000000000..913ba77f26
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/templateUtils.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/templateUtils.properties
new file mode 100644
index 0000000000..de271c9e26
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/textImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..442449f8cf
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/vCardImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..28be77c808
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewLog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewLog.dtd
new file mode 100644
index 0000000000..b057782fcf
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.dtd
new file mode 100644
index 0000000000..74293d6d9c
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.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/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">
+
+<!ENTITY editMenu.label "Edit">
+<!ENTITY editMenu.accesskey "E">
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewSource.properties
new file mode 100644
index 0000000000..d0b5f17d53
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewZoomOverlay.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..f7268cebad
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderListDialog.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..f31129aeda
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderProperties.dtd b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..54dcfb0bd5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/wmImportMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..da27ba2231
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/downloads.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..d5e2c2e887
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/downloads.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/.
+
+# Desktop folder name for downloaded files
+downloadsFolder=Muat turun
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/unknownContentType.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..1fe0a76906
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,24 @@
+# -*- 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)
+
+avifExtHandlerDescription=AV1 Image File (AVIF)
+pdfExtHandlerDescription=Portable Document Format (PDF)
+svgExtHandlerDescription=Scalable Vector Graphics (SVG)
+webpExtHandlerDescription=WebP Image
+xmlExtHandlerDescription=Extensible Markup Language (XML)
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/profile/profileSelection.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..39c16c1d42
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/profile/profileSelection.properties
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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
+
+
+restartMessageNoUnlocker2=%S is already running, but is not responding. To use %S, you must first close the existing %S process, restart your device, or use a different profile.
+flushFailTitle=Changes not saved
+flushFailMessage=An unexpected error has prevented your changes from being saved.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Restart %S
+flushFailExitButton=Exit
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/update/updates.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/update/updates.properties
new file mode 100644
index 0000000000..c421e4e070
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozapps/update/updates.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: 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
+
+check_error-move_failed=Failed to prepare the update for installation
+check_error-update_url_not_available=Update URL not available
+check_error-connection_aborted=Connection aborted
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/mozldap/ldap.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/mozldap/ldap.properties
new file mode 100644
index 0000000000..f66cce2ea4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/necko/necko.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/necko/necko.properties
new file mode 100644
index 0000000000..14d07e0847
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/necko/necko.properties
@@ -0,0 +1,98 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=The resource at “%1$S” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See %2$S
+# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+CookiePartitionedForeign2=Partitioned cookie or storage access was provided to “%1$S” because it is loaded in the third-party context and dynamic state partitioning is enabled.
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=Storage access granted for origin “%2$S” on “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=Storage access automatically granted for origin “%2$S” on “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=Storage access automatically granted for First-Party isolation “%2$S” on “%1$S”.
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=Cookie “%1$S” rejected because it has the “SameSite=None” attribute but is missing the “secure” attribute.
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=Cookie “%1$S” will be soon rejected because it has the “SameSite” attribute set to “None” without the “secure” attribute. To know more about the “SameSite“ attribute, read %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=Cookie “%1$S” has “SameSite” policy set to “Lax” because it is missing a “SameSite” attribute, and “SameSite=Lax” is the default value for this attribute.
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=Cookie “%1$S” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Invalid “SameSite“ value for cookie “%1$S”. The supported values are: “Lax“, “Strict“, “None“.
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=Cookie “%1$S” is invalid because its size is too big. Max size is %2$S B.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=Cookie “%1$S” is invalid because its path size is too big. Max size is %2$S B.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=Cookie “%1$S” has been rejected by user set permissions.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=Cookie “%1$S” has been rejected for invalid characters in the name.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=Cookie “%1$S” has been rejected for invalid domain.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=Cookie “%1$S” has been rejected for invalid prefix.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=Cookie “%1$S” has been rejected for invalid characters in the value.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=Cookie “%1$S” has been rejected because there is already an HTTP-Only cookie but script tried to store a new one.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=Cookie “%1$S” has been rejected because a non-HTTPS cookie can’t be set as “secure”.
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=Cookie “%1$S” has been rejected as third-party.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=Cookie “%1$S” has been rejected because there is an existing “secure” cookie.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=Cookie “%1$S” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=Cookie “%1$S” with the “SameSite” attribute value “Lax” or “Strict” was omitted because of a cross-site redirect.
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=Warning: ‘%1$S’ deprecated, please use ‘%2$S’
+# LOCALIZATION NOTE (ResourceBlockedCORS): %1$S is the url of the resource blocked by ORB. $2$S is the reason.
+# example: The resource at <url> was blocked by OpaqueResponseBlocking. Reason: “nosniff with either blocklisted or text/plain”.
+ResourceBlockedORB=The resource at “%1$S” was blocked by OpaqueResponseBlocking. Reason: “%2$S”.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/passwordmgr/passwordmgr.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..fdd85e84c4
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/passwordmgr/passwordmgr.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/.
+
+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
+
+
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = Save login for %S?
+saveLoginMsgNoUser2 = Save password for %S?
+saveLoginButtonNever.label = Never save
+saveLoginButtonNever.accesskey = e
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = Update login for %S?
+updateLoginMsgNoUser3 = Update password for %S?
+updateLoginMsgAddUsername2 = Add username to saved password?
+updateLoginButtonDelete.label = Remove saved login
+updateLoginButtonDelete.accesskey = R
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Use a Securely Generated Password
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S will save this password for this website.
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=From this website
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= View Saved Logins
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/nsserrors.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..6de29d3ebb
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/pipnss.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/pipnss.properties
new file mode 100644
index 0000000000..bfa1aed3e5
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/pipnss/pipnss.properties
@@ -0,0 +1,134 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+# 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().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
+
+CertPasswordPrompt=Please enter the password for the PKCS#11 token %S.
+CertPasswordPromptDefault=Please enter your Primary Password.
+certErrorMitM=Websites prove their identity via certificates, which are issued by certificate authorities.
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S is backed by the non-profit Mozilla, which administers a completely open certificate authority (CA) store. The CA store helps ensure that certificate authorities are following best practices for user security.
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S uses the Mozilla CA store to verify that a connection is secure, rather than certificates supplied by the user’s operating system. So, if an antivirus program or a network is intercepting a connection with a security certificate issued by a CA that is not in the Mozilla CA store, the connection is considered unsafe.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/pippki/pippki.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/pippki/pippki.properties
new file mode 100644
index 0000000000..8cc2bebd96
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/ms/places/places.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/places/places.properties
new file mode 100644
index 0000000000..9c1a131f49
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/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/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/chrome.properties b/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..d90ce97229
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/chrome.properties
@@ -0,0 +1,21 @@
+# 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
+
+unsupported_feature_signatures=This PDF document contains digital signatures. Validation of signatures is not supported.
diff --git a/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/viewer.properties b/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..b64b29a030
--- /dev/null
+++ b/thunderbird-l10n/ms/chrome/ms/locale/pdfviewer/viewer.properties
@@ -0,0 +1,253 @@
+# 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
+
+# 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
+
+# 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.
+
+rendering_error=Ralat berlaku ketika memberikan halaman.
+
+# 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.
+
+
+save.title=Save
+save_label=Save
+bookmark1.title=Current Page (View URL from Current Page)
+bookmark1_label=Current Page
+# LOCALIZATION NOTE (open_in_app.title): This string is used in Firefox for Android.
+open_in_app.title=Open in app
+# LOCALIZATION NOTE (open_in_app_label): This string is used in Firefox for Android. Length of the translation matters since we are in a mobile context, with limited screen estate.
+open_in_app_label=Open in app
+scroll_page.title=Use Page Scrolling
+scroll_page_label=Page Scrolling
+toggle_sidebar_notification2.title=Toggle Sidebar (document contains outline/attachments/layers)
+layers.title=Show Layers (double-click to reset all layers to the default state)
+layers_label=Layers
+current_outline_item.title=Find Current Outline Item
+current_outline_item_label=Current Outline Item
+additional_layers=Additional Layers
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=Page {{page}}
+find_match_diacritics_label=Match Diacritics
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}}, {{time}}
+# Editor
+editor_free_text2.title=Text
+editor_free_text2_label=Text
+editor_ink2.title=Draw
+editor_ink2_label=Draw
+free_text2_default_content=Start typing…
+# Editor Parameters
+editor_free_text_color=Color
+editor_free_text_size=Size
+editor_ink_color=Color
+editor_ink_thickness=Thickness
+editor_ink_opacity=Opacity
+# Editor aria
+editor_free_text2_aria_label=Text Editor
+editor_ink2_aria_label=Draw Editor
+editor_ink_canvas_aria_label=User-created image
diff --git a/thunderbird-l10n/ms/localization/ms/branding/brand.ftl b/thunderbird-l10n/ms/localization/ms/branding/brand.ftl
new file mode 100644
index 0000000000..eaeaf9d3e3
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/branding/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/thunderbird-l10n/ms/localization/ms/browser/appExtensionFields.ftl b/thunderbird-l10n/ms/localization/ms/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/browser/appExtensionFields.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/thunderbird-l10n/ms/localization/ms/browser/branding/brandings.ftl b/thunderbird-l10n/ms/localization/ms/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/browser/branding/brandings.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/thunderbird-l10n/ms/localization/ms/browser/components/mozSupportLink.ftl b/thunderbird-l10n/ms/localization/ms/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/browser/components/mozSupportLink.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-context-menus.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-context-menus.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-delete-prompt.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-editable-item.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-editable-item.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-dialog-reminder.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-listing.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..63f74bfdc0
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-event-listing.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/.
+
+calendar-event-listing-close =
+ .tooltiptext = Tutup carian acara dan senarai acara
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = Nama Kalendar
+ .tooltiptext = Susun mengikut nama kalendar
+calendar-event-listing-column-category =
+ .label = Kategori
+ .tooltiptext = Susun mengikut kategori
+# This label and tooltip is used for the column with the checkbox in the task
+# tree view, which indicates whether a task has been marked as completed.
+calendar-event-listing-column-completed =
+ .label = Siap
+ .tooltiptext = Susun mengikut keselesaian
+calendar-event-listing-column-completed-date =
+ .label = Selesai
+ .tooltiptext = Susun mengikut tarikh selesai
+calendar-event-listing-column-due-date =
+ .label = Genap tempoh
+ .tooltiptext = Susun mengikut genap tempoh
+calendar-event-listing-column-end-date =
+ .label = Tamat
+ .tooltiptext = Susun mengikut tarikh tamat
+calendar-event-listing-column-location =
+ .label = Lokasi
+ .tooltiptext = Susun mengikut lokasi
+calendar-event-listing-column-percent-complete =
+ .label = % Selesai
+ .tooltiptext = Susun mengikut % selesai
+calendar-event-listing-column-priority =
+ .label = Prioriti
+ .tooltiptext = Susun mengikut prioriti
+calendar-event-listing-column-start-date =
+ .label = Mula
+ .tooltiptext = Susun mengikut tarikh mula
+calendar-event-listing-column-status =
+ .label = Status
+ .tooltiptext = Susun mengikut status
+calendar-event-listing-column-time-until-due =
+ .label = Genap tempoh dalam
+ .tooltiptext = Susun mengikut masa sehingga genap tempoh
+calendar-event-listing-column-title =
+ .label = Tajuk
+ .tooltiptext = Susun mengikut tajuk
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = Acara dalam Bulan Kalendar ini
+calendar-event-listing-interval-current-view =
+ .label = Acara dalam Paparan Semasa
+calendar-event-listing-interval-next-7-days =
+ .label = Acara dalam 7 Hari Berikut
+calendar-event-listing-interval-next-14-days =
+ .label = Acara dalam 14 Hari Berikut
+calendar-event-listing-interval-next-31-days =
+ .label = Acara dalam 31 Hari Berikut
+calendar-event-listing-interval-selected-day =
+ .label = Hari Dipilih Sekarang
diff --git a/thunderbird-l10n/ms/localization/ms/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-ics-file-dialog.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitation-panel.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-invitations-dialog.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-itip-identity-dialog.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-print.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-print.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..43488aa46a
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-recurrence-dialog.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/.
+
+calendar-recurrence-preview-label = Previu
diff --git a/thunderbird-l10n/ms/localization/ms/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-summary-dialog.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-uri-redirect-dialog.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/thunderbird-l10n/ms/localization/ms/calendar/calendar-widgets.ftl b/thunderbird-l10n/ms/localization/ms/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..f5ca9cdf80
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/calendar/calendar-widgets.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/.
+
+
+## Side panel
+
+calendar-enable-button = Dayakan
+
+## Calendar navigation
+
+calendar-view-toggle-day = Hari
+ .title = Tukar ke paparan hari
+calendar-view-toggle-week = Minggu
+ .title = Tukar ke paparan minggu
+calendar-view-toggle-multiweek = Berbilang minggu
+ .title = Tukar ke paparan berbilang minggu
+calendar-view-toggle-month = Bulan
+ .title = Tukar ke paparan bulan
+
+## Menu on calendar control bar
+
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = Semalam
+ .accesskey = e
+calendar-context-menu-previous-week =
+ .label = Minggu Lepas
+ .accesskey = s
+calendar-context-menu-previous-multiweek =
+ .label = Minggu Lepas
+ .accesskey = s
+calendar-context-menu-previous-month =
+ .label = Bulan Lepas
+ .accesskey = s
+calendar-context-menu-next-day =
+ .label = Esok Hari
+ .accesskey = s
+calendar-context-menu-next-week =
+ .label = Minggu Depan
+ .accesskey = p
+calendar-context-menu-next-multiweek =
+ .label = Minggu Depan
+ .accesskey = p
+calendar-context-menu-next-month =
+ .label = Bulan Depan
+ .accesskey = p
diff --git a/thunderbird-l10n/ms/localization/ms/calendar/category-dialog.ftl b/thunderbird-l10n/ms/localization/ms/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..22fb020c62
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/calendar/preferences.ftl b/thunderbird-l10n/ms/localization/ms/calendar/preferences.ftl
new file mode 100644
index 0000000000..41bf458461
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/ms/localization/ms/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..b3b4a5eb91
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/devtools/client/application.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/application.ftl
new file mode 100644
index 0000000000..22ebdb7810
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/client/compatibility.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/devtools/client/compatibility.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/thunderbird-l10n/ms/localization/ms/devtools/client/perftools.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/devtools/client/perftools.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/thunderbird-l10n/ms/localization/ms/devtools/client/storage.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/storage.ftl
new file mode 100644
index 0000000000..fb851133fa
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/client/styleeditor.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..8f8d1e3fdf
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/devtools/client/styleeditor.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/.
+
+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-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
+
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count = { $ruleCount } peraturan.
diff --git a/thunderbird-l10n/ms/localization/ms/devtools/client/toolbox-options.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..ae49bc12cc
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/client/toolbox.ftl b/thunderbird-l10n/ms/localization/ms/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..a55f200b2e
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/ms/localization/ms/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..ba3e27a5da
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/shared/highlighters.ftl b/thunderbird-l10n/ms/localization/ms/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..03c559af7c
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/ms/localization/ms/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/devtools/shared/webconsole-commands.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/thunderbird-l10n/ms/localization/ms/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/ms/localization/ms/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..fa9d562104
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/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/thunderbird-l10n/ms/localization/ms/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/ms/localization/ms/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..a1c6076ded
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/dom/media.ftl b/thunderbird-l10n/ms/localization/ms/dom/media.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/dom/media.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/thunderbird-l10n/ms/localization/ms/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/ms/localization/ms/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/locales-preview/aboutTranslations.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/.
+
+# The title of the about:translations page, referencing the translations feature.
+about-translations-title = Translations
+about-translations-header = { -translations-brand-name }
+about-translations-results-placeholder = Translation
+# Text displayed on from-language dropdown when no language is selected
+about-translations-detect = Detect language
+# Text displayed on a language dropdown when the language is in beta
+# Variables:
+# $language (string) - The localized display name of the language
+about-translations-displayname-beta = { $language } BETA
+# Text displayed on from-language dropdown when a language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang = Detect language ({ $language })
+# Text displayed on from-language dropdown when a beta language is detected
+# Variables:
+# $language (string) - The localized display name of the detected language
+about-translations-detect-lang-beta = Detect language ({ $language } BETA)
+# Text displayed on to-language dropdown when no language is selected
+about-translations-select = Select language
+about-translations-textarea =
+ .placeholder = Add text to translate
+about-translations-no-support = Your device does not meet the minimum requirements to use this feature. Try on another device.
+about-translations-engine-error = The translations engine failed to load.
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/about3Pane.ftl b/thunderbird-l10n/ms/localization/ms/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..90f0fbd6f2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/about3Pane.ftl
@@ -0,0 +1,213 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 List Header Bar
+
+
+## Quick Filter Bar
+
+# 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.)
+quick-filter-bar-sticky =
+ .title = Teruskan menapis apabila bertukar folder
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = Papar mesej yang belum dibaca sahaja
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = Belum Dibaca
+# The tooltip for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred =
+ .title = Papar mesej berbintang sahaja
+# The label for the filter button that causes us to filter results to only
+# include messages that have been starred/flagged.
+quick-filter-bar-starred-label = Berbintang
+# 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.
+quick-filter-bar-inaddrbook =
+ .title = Papar mesej daripada kenalan dalam buku alamat sahaja
+# 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.
+quick-filter-bar-inaddrbook-label = Kenalan
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags =
+ .title = Papar mesej yang ada tag sahaja
+# The label for the filter button that causes us to filter results to only
+# include messages with at least one tag on them.
+quick-filter-bar-tags-label = Tag
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = Papar mesej yang ada lampiran sahaja
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = Lampiran
+# The contents of the results box when there is a filter active but there
+# are no messages matching the filter.
+quick-filter-bar-no-results = Tiada keputusan
+# 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 quick-filter-bar-no-results), or the box is hidden.
+# Variables:
+# $count (Number) - The number of messages that match selected filters.
+quick-filter-bar-results = { $count } mesej
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-textbox-shortcut =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ K
+ *[other] Ctrl+Shift+K
+ }
+# This is the empty text for the text search box.
+# 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.
+quick-filter-bar-textbox =
+ .placeholder = Tapis mesej berikut <{ quick-filter-bar-textbox-shortcut }>
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = Mod menapis tag
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = Salah satu
+ .title = Sekurang-kurangnya sepadan dengan satu kriteria tag yang dipilih
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = Semua
+ .title = Mesti sepadan dengan semua kriteria tag yang dipilih
+# 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.)
+quick-filter-bar-text-filter-explanation = Tapis mesej mengikut:
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = Pengirim
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = Penerima
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = Subjek
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = Kandungan
+# 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.
+quick-filter-bar-gloda-upsell-line1 = Teruskan mencari dalam semua folder
+# The second line of the panel popup that tells the user we found no matches.
+# Variables:
+# $text (String) - What the user has typed so far.
+quick-filter-bar-gloda-upsell-line2 = Tekan ‘Enter’ sekali lagi untuk teruskan mencari: { $text }
+
+## Folder pane
+
+folder-pane-get-all-messages-menuitem =
+ .label = Dapatkan Semua Mesej Baru
+ .accesskey = D
+folder-pane-mode-context-toggle-compact-mode =
+ .label = Paparan Padat
+ .accesskey = P
+
+## Message thread pane
+
+threadpane-column-label-thread =
+ .label = Thread
+threadpane-column-header-flagged =
+ .title = Susun mengikut bintang
+threadpane-column-label-flagged =
+ .label = Berbintang
+threadpane-column-header-attachments =
+ .title = Susun mengikut lampiran
+threadpane-column-label-attachments =
+ .label = Lampiran
+threadpane-column-header-sender = Daripada
+ .title = Susun mengikut daripada
+threadpane-column-label-sender =
+ .label = Daripada
+threadpane-column-header-recipient = Penerima
+ .title = Susun mengikut penerima
+threadpane-column-label-recipient =
+ .label = Penerima
+threadpane-column-header-correspondents = Koresponden
+ .title = Susun mengikut koresponden
+threadpane-column-label-correspondents =
+ .label = Koresponden
+threadpane-column-header-subject = Subjek
+ .title = Susun mengikut subjek
+threadpane-column-label-subject =
+ .label = Subjek
+threadpane-column-header-date = Tarikh
+ .title = Susun mengikut tarikh
+threadpane-column-label-date =
+ .label = Tarikh
+threadpane-column-header-received = Diterima
+ .title = Susun mengikut tarikh diterima
+threadpane-column-label-received =
+ .label = Diterima
+threadpane-column-header-status = Status
+ .title = Susun mengikut status
+threadpane-column-label-status =
+ .label = Status
+threadpane-column-header-size = Saiz
+ .title = Susun mengikut saiz
+threadpane-column-label-size =
+ .label = Saiz
+threadpane-column-header-tags = Tag
+ .title = Susun mengikut tag
+threadpane-column-label-tags =
+ .label = Tag
+threadpane-column-header-account = Akaun
+ .title = Susun mengikut akaun
+threadpane-column-label-account =
+ .label = Akaun
+threadpane-column-header-priority = Prioriti
+ .title = Susun mengikut prioriti
+threadpane-column-label-priority =
+ .label = Prioriti
+threadpane-column-header-unread = Belum Dibaca
+ .title = Bilangan mesej belum dibaca dalam thread
+threadpane-column-label-unread =
+ .label = Belum Dibaca
+threadpane-column-header-total = Jumlah
+ .title = Bilangan mesej dalam thread
+threadpane-column-label-total =
+ .label = Jumlah
+threadpane-column-header-location = Lokasi
+ .title = Susun mengikut lokasi
+threadpane-column-label-location =
+ .label = Lokasi
+threadpane-column-header-id = Susunan Diterima
+ .title = Susun mengikut susunan diterima
+threadpane-column-label-id =
+ .label = Susunan Diterima
+
+## Message state variations
+
+apply-columns-to-menu =
+ .label = Terap lajur ke…
+apply-current-view-to-folder =
+ .label = Folder…
+apply-current-view-to-folder-children =
+ .label = Folder dan anak folder…
+
+## Apply columns confirmation dialog
+
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = Terapkan lajur folder semasa ke { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = Terapkan lajur folder semasa ke { $name } dan folder di dalamnya?
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutAddonsExtra.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/thunderbird-l10n/ms/localization/ms/messenger/aboutDialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..66b08915de
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutDialog.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/.
+
+release-notes-link = Nota keluaran
+update-check-for-updates-button = Semak Kemaskini
+ .accesskey = S
+update-update-button = Mula semula untuk mengemaskini { -brand-shorter-name }
+ .accesskey = M
+update-checking-for-updates = Menyemak kemaskini…
+update-downloading-message = Memuat turun kemaskini — <span data-l10n-name="download-status"></span>
+update-applying = Melaksanakan kemaskini…
+update-downloading = <img data-l10n-name="icon"/>Memuat turun kemaskini — <span data-l10n-name="download-status"></hspan>
+update-failed = Kemaskini gagal. <a data-l10n-name="failed-link">Muat turun versi terkini</a>
+update-admin-disabled = Kemaskini dinyahdayakan oleh pentadbir sistem anda
+update-no-updates-found = { -brand-short-name } sudah terkini
+update-other-instance-handling-updates = { -brand-short-name } sedang dikemaskini oleh tika lain
+update-unsupported = Anda tidak boleh lagi melaksanakan kemaskini dalam sistem ini. <a data-l10n-name="unsupported-link">Ketahui selanjutnya</a>
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = Anda sedang berada dalam <span data-l10n-name="current-channel">{ $channel }</span> saluran kemaskini.
+warning-desc-version = { -brand-short-name } masih dalam percubaan dan mungkin tidak stabil.
+warning-desc-telemetry = Maklumat prestasi, perkakasan, penggunaan dan penyesuaian dihantar secara automatik ke { -vendor-short-name } untuk membantu menjadikan { -brand-short-name } lebih baik.
+community-exp =
+ <a data-l10n-name="community-exp-mozilla-link">
+ { -vendor-short-name }</a>
+ adalah <a data-l10n-name="community-exp-credits-link">
+ komuniti global</a>
+ bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+community-2 =
+ { -brand-short-name } direka oleh <a data-l10n-name="community-mozilla-link">
+ { -vendor-short-name }</a>
+ , sebuah <a data-l10n-name="community-credits-link">
+ komuniti global</a>
+ bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+about-helpus =
+ Mahu membantu? <a data-l10n-name="helpus-donate-link">
+ Hulurkan sumbangan</a> or <a data-l10n-name="helpus-get-involved-link">
+ sertainya!</a>
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a> adalah <a data-l10n-name="community-exp-credits-link">komuniti global</a> bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+community-desc = { -brand-short-name } direka oleh <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>, sebuah <a data-l10n-name="community-credits-link">komuniti global</a> bekerjasama supaya Web ini terbuka kepada umum dan boleh diakses oleh semua.
+about-donation = Mahu membantu? <a data-l10n-name="helpus-donate-link">Hulurkan sumbangan</a> or <a data-l10n-name="helpus-get-involved-link">sertainya!</a>
+bottom-links-license = Maklumat Perlesenan
+bottom-links-rights = Hak Pengguna Akhir
+bottom-links-privacy = Polisi Privasi
+cmd-close-mac-command-key =
+ .key = w
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/aboutImport.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutImport.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/thunderbird-l10n/ms/localization/ms/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutProfilesExtra.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/thunderbird-l10n/ms/localization/ms/messenger/aboutRights.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..01380cda28
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportCalendar.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/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportChat.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportChat.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/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportMail.ftl b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/aboutSupportMail.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/thunderbird-l10n/ms/localization/ms/messenger/accountCentral.ftl b/thunderbird-l10n/ms/localization/ms/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/accountCentral.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/thunderbird-l10n/ms/localization/ms/messenger/accountManager.ftl b/thunderbird-l10n/ms/localization/ms/messenger/accountManager.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/accountManager.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/thunderbird-l10n/ms/localization/ms/messenger/accountProvisioner.ftl b/thunderbird-l10n/ms/localization/ms/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/accountProvisioner.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/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountHub.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/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/accountcreation/accountSetup.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/thunderbird-l10n/ms/localization/ms/messenger/addonNotifications.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..1df0296371
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addonNotifications.ftl
@@ -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/.
+
+xpinstall-prompt = { -brand-short-name } menghalang laman ini daripada meminta anda memasang perisian dalam komputer.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+
+##
+
+xpinstall-prompt-dont-allow =
+ .label = Jangan Izinkan
+ .accesskey = J
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+
+##
+
+xpinstall-disabled-locked = Pemasangan perisian telah dinyahdayakan oleh pentadbir sistem anda.
+xpinstall-disabled = Pemasangan perisian sedang dinyahdayakan. Klik Dayakan dan cuba lagi.
+xpinstall-disabled-button =
+ .label = Dayakan
+ .accesskey = n
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } ditambah ke { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } perlukan keizinan baru
+
+## Add-on removal warning
+
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying = Memuat turun dan mengesahkan { $addonCount } add-ons…
+addon-download-verifying = Mengesahkan
+addon-install-cancel-button =
+ .label = Batal
+ .accesskey = B
+addon-install-accept-button =
+ .label = Tambah
+ .accesskey = T
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message = Laman ini mahu memasang { $addonCount } add-on dalam { -brand-short-name }:
+addon-confirm-install-unsigned-message = Amaran: Laman ini mahu memasang { $addonCount } add-on yang tidak disahkan dalam { -brand-short-name }. Teruskan atas risiko anda sendiri.
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Amaran: Laman ini mahu memasang { $addonCount } add-on dalam { -brand-short-name }, ada yang tidak disahkan. Teruskan atas risiko anda sendiri.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = Add-on tidak dapat dimuat turun kerana kegagalan sambungan rangkaian.
+addon-install-error-incorrect-hash = Add-on ini tidak dapat dipasang kerana tidak sepadan dengan add-on { -brand-short-name } yang dijangkakan.
+addon-install-error-corrupt-file = Add-on yang dimuat turun dari laman ini tidak dapat dipasang kerana ada kerosakan.
+addon-install-error-file-access = { $addonName } tidak dapat dipasang kerana { -brand-short-name } tidak boleh mengubahsuai fail yang diperlukan.
+addon-install-error-not-signed = { -brand-short-name } telah menghalang laman ini daripada memasang add-on yang tidak disahkan.
+addon-local-install-error-network-failure = Add-on ini tidak dapat dipasang kerana ralat sistem fail.
+addon-local-install-error-incorrect-hash = Add-on ini tidak dapat dipasang kerana tidak sepadan dengan add-on { -brand-short-name } yang dijangkakan.
+addon-local-install-error-corrupt-file = Add-on ini tidak dapat dipasang kerana ada kerosakan.
+addon-local-install-error-file-access = { $addonName } tidak dapat dipasang kerana { -brand-short-name } tidak boleh mengubahsuai fail yang diperlukan.
+addon-local-install-error-not-signed = Add-on ini tidak dapat dipasang kerana belum disahkan.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = { $addonName } tidak dapat dipasang kerana tidak serasi { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = { $addonName } tidak dapat dipasang kerana ada risiko tinggi menyebabkan masalah kestabilan dan keselamatan.
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVDialog.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/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/abCardDAVProperties.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/thunderbird-l10n/ms/localization/ms/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/aboutAddressBook.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/thunderbird-l10n/ms/localization/ms/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/fieldMapImport.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/thunderbird-l10n/ms/localization/ms/messenger/addressbook/vcard.ftl b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/addressbook/vcard.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/thunderbird-l10n/ms/localization/ms/messenger/appmenu.ftl b/thunderbird-l10n/ms/localization/ms/messenger/appmenu.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/appmenu.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/thunderbird-l10n/ms/localization/ms/messenger/chat-verifySession.ftl b/thunderbird-l10n/ms/localization/ms/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/chat-verifySession.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/thunderbird-l10n/ms/localization/ms/messenger/chat.ftl b/thunderbird-l10n/ms/localization/ms/messenger/chat.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/chat.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/thunderbird-l10n/ms/localization/ms/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/compactFoldersDialog.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/thunderbird-l10n/ms/localization/ms/messenger/exportDialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/exportDialog.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/thunderbird-l10n/ms/localization/ms/messenger/extensionPermissions.ftl b/thunderbird-l10n/ms/localization/ms/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..34f628438a
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/extensionPermissions.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/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-addressBooks = Membaca dan mengubah suai buku alamat dan kenalan anda
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/extensions/popup.ftl b/thunderbird-l10n/ms/localization/ms/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/extensions/popup.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/thunderbird-l10n/ms/localization/ms/messenger/extensionsUI.ftl b/thunderbird-l10n/ms/localization/ms/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/extensionsUI.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/thunderbird-l10n/ms/localization/ms/messenger/firefoxAccounts.ftl b/thunderbird-l10n/ms/localization/ms/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/firefoxAccounts.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/thunderbird-l10n/ms/localization/ms/messenger/flatpak.ftl b/thunderbird-l10n/ms/localization/ms/messenger/flatpak.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/flatpak.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/thunderbird-l10n/ms/localization/ms/messenger/folderprops.ftl b/thunderbird-l10n/ms/localization/ms/messenger/folderprops.ftl
new file mode 100644
index 0000000000..4678e544af
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/folderprops.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/.
+
+
+## Quota tab
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+quota-percent-used = { $percent }% penuh
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/importDialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/importDialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/importDialog.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/thunderbird-l10n/ms/localization/ms/messenger/mailWidgets.ftl b/thunderbird-l10n/ms/localization/ms/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/mailWidgets.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/thunderbird-l10n/ms/localization/ms/messenger/menubar.ftl b/thunderbird-l10n/ms/localization/ms/messenger/menubar.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/menubar.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/thunderbird-l10n/ms/localization/ms/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/ms/localization/ms/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/messageheader/headerFields.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/thunderbird-l10n/ms/localization/ms/messenger/messenger.ftl b/thunderbird-l10n/ms/localization/ms/messenger/messenger.ftl
new file mode 100644
index 0000000000..dcf264144b
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/messenger.ftl
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 controls
+
+
+## Content tabs
+
+
+# Back
+
+
+# Forward
+
+
+# Reload
+
+
+# Stop
+
+
+## Toolbar
+
+
+## Folder Pane
+
+
+## Folder Toolbar Header Popup
+
+show-tags-folders-label =
+ .label = Tag
+ .accesskey = T
+
+## Menu
+
+
+## File Menu
+
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = Buang Folder
+ .accesskey = B
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] Buang Mesej
+ *[other] Buang Mesej yang Dipilih
+ }
+ .accesskey = B
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] Batal buang Mesej
+ *[other] Batal buang Mesej yang Dipilih
+ }
+ .accesskey = b
+menu-edit-properties =
+ .label = Sifat
+ .accesskey = u
+menu-edit-folder-properties =
+ .label = Sifat Folder
+ .accesskey = u
+menu-edit-newsgroup-properties =
+ .label = Sifat Kumpulan berita
+ .accesskey = u
+
+## Message Menu
+
+
+## AppMenu
+
+
+## Context menu
+
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] Batal buang Mesej
+ *[other] Batal buang Mesej yang Dipilih
+ }
+
+## Message header pane
+
+
+## Message header cutomize panel
+
+
+## Action Button Context Menu
+
+
+## Add-on removal warning
+
+
+## no-reply handling
+
+
+## error messages
+
+
+## Spaces toolbar
+
+
+## Spaces toolbar pinned tab menupopup
+
+
+## Spaces toolbar customize panel
+
+
+## Quick Filter Bar
+
+# The label to display for the "View... Toolbars..." menu item that controls
+# whether the quick filter bar is visible.
+quick-filter-bar-toggle =
+ .label = Bar Tapisan Pantas
+ .accesskey = P
+# This is the key used to show the quick filter bar.
+# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl.
+quick-filter-bar-show =
+ .key = k
+
+## OpenPGP
+
+
+## Quota panel.
+
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/ms/localization/ms/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/messengercompose/messengercompose.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/thunderbird-l10n/ms/localization/ms/messenger/migration.ftl b/thunderbird-l10n/ms/localization/ms/messenger/migration.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/migration.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/thunderbird-l10n/ms/localization/ms/messenger/multimessageview.ftl b/thunderbird-l10n/ms/localization/ms/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..f0f8288571
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/multimessageview.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/.
+
+multi-message-window-title =
+ .title = Ringkasan Mesej
+selected-messages-label =
+ .label = Mesej yang Dipilih
+multi-message-archive-button =
+ .label = Arkib
+ .tooltiptext = Arkib
+multi-message-delete-button =
+ .label = Buang
+ .tooltiptext = Buang
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/backupKeyPassword.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/changeExpiryDlg.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/composeKeyStatus.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyAssistant.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/keyWizard.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/msgReadStatus.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/oneRecipientStatus.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp-frontend.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/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/openpgp/openpgp.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/thunderbird-l10n/ms/localization/ms/messenger/otr/add-finger.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/add-finger.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/thunderbird-l10n/ms/localization/ms/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/am-im-otr.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/thunderbird-l10n/ms/localization/ms/messenger/otr/auth.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/auth.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/thunderbird-l10n/ms/localization/ms/messenger/otr/chat.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/chat.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/thunderbird-l10n/ms/localization/ms/messenger/otr/finger-sync.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/finger-sync.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/thunderbird-l10n/ms/localization/ms/messenger/otr/finger.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/finger.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/thunderbird-l10n/ms/localization/ms/messenger/otr/otr.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/otr.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/thunderbird-l10n/ms/localization/ms/messenger/otr/otrUI.ftl b/thunderbird-l10n/ms/localization/ms/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/otr/otrUI.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/thunderbird-l10n/ms/localization/ms/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/ms/localization/ms/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/policies/aboutPolicies.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/thunderbird-l10n/ms/localization/ms/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/ms/localization/ms/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/policies/policies-descriptions.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/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-copies.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-copies.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/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-im.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/am-im.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/thunderbird-l10n/ms/localization/ms/messenger/preferences/application-manager.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..35cfc8b979
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/application-manager.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/.
+
+remove-app-button =
+ .label = Buang
+ .accesskey = B
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..c86f0cd66f
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/attachment-reminder.ftl
@@ -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/.
+
+attachment-reminder-window =
+ .title = Kata kunci Peringatan Lampiran
+attachment-reminder-dialog-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/thunderbird-l10n/ms/localization/ms/messenger/preferences/colors.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..84ae051b60
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/colors.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/.
+
+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/thunderbird-l10n/ms/localization/ms/messenger/preferences/connection.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..8055247f10
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/connection.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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/thunderbird-l10n/ms/localization/ms/messenger/preferences/cookies.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..98d7931b65
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/messenger/preferences/dock-options.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..241144e88b
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/dock-options.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/.
+
+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/thunderbird-l10n/ms/localization/ms/messenger/preferences/fonts.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..1c289ed9d6
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/messenger/preferences/languages.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..f00d9cff2d
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/languages.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/.
+
+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-description = { -brand-short-name } akan memaparkan bahasa yang pertama sebagai piawai dan akan memaparkan bahasa alternatif jika ada, mengikut susunan paparan.
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/preferences/new-tag.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..946bfaaad6
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/new-tag.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/.
+
+tag-dialog-window =
+ .title = Tag Baru
+tag-dialog-title = Tag Baru
+tag-name-label =
+ .value = Nama Tag:
+ .accesskey = T
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/preferences/notifications.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..b368f56d55
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/notifications.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/.
+
+notifications-dialog-window =
+ .title = Sesuaikan Makluman Mel Baru
+notifications-dialog-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/thunderbird-l10n/ms/localization/ms/messenger/preferences/offline.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..1ed45b883e
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/offline.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/.
+
+offline-dialog-window =
+ .title = Tetapan Luar talian
+offline-dialog-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/thunderbird-l10n/ms/localization/ms/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/passwordManager.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/thunderbird-l10n/ms/localization/ms/messenger/preferences/permissions.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..83e16bedc8
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/permissions.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/.
+
+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/thunderbird-l10n/ms/localization/ms/messenger/preferences/preferences.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..edb7119112
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/messenger/preferences/receipts.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..a7d911ae09
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/receipts.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/.
+
+receipts-dialog-window =
+ .title = Resit Pemberitahu Serahan
+receipts-dialog-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/thunderbird-l10n/ms/localization/ms/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/sync-dialog.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/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..c06fc82ca4
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.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/.
+
+system-integration-title =
+ .title = Integrasi Sistem
+system-integration-dialog-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/thunderbird-l10n/ms/localization/ms/messenger/shortcuts.ftl b/thunderbird-l10n/ms/localization/ms/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/shortcuts.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/thunderbird-l10n/ms/localization/ms/messenger/treeView.ftl b/thunderbird-l10n/ms/localization/ms/messenger/treeView.ftl
new file mode 100644
index 0000000000..c16ab0e783
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/treeView.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/.
+
+
+## Table
+
+tree-list-view-column-picker =
+ .title = Pilih lajur paparan
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/troubleshootMode.ftl b/thunderbird-l10n/ms/localization/ms/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/troubleshootMode.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/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbar.ftl b/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..d3885c6757
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbar.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/.
+
+
+### Unified Toolbar strings
+
+
+## Search bar
+
+
+## Unified toolbar context menu
+
+customize-menu-customize =
+ .label = Penyesuaian…
+
+# Unified toolbar get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = Dapatkan Semua Mesej Baru
+ .accesskey = D
+
+## Unified Toolbar customization
+
+customize-button-style-icons-beside-text-option = Ikon sebelah Teks
+
+## Unified toolbar customization palette context menu
+
+
+## Unified toolbar customization target context menu
+
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..81369a48c7
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/unifiedToolbarItems.ftl
@@ -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/.
+
+
+### Unified Toolbar Item Label strings
+
+spacer-label = Ruang Fleksibel
+toolbar-write-message-label = Tulis
+toolbar-write-message =
+ .title = Cipta mesej baru
+toolbar-unifinder-label = Cari Acara
+toolbar-unifinder =
+ .title = Togol anak tetingkap carian acara
+toolbar-folder-location-label = Lokasi Folder
+toolbar-edit-event-label = Edit
+toolbar-edit-event =
+ .title = Edit acara dan tugasan yang dipilih
+toolbar-get-messages-label = Dapatkan Mesej
+toolbar-reply-label = Balas
+toolbar-reply =
+ .title = Balas mesej
+toolbar-reply-all-label = Balas Semua
+toolbar-reply-all =
+ .title = Balas kepada pengirim dan semua penerima
+toolbar-reply-to-list-label = Balas mengikut Senarai
+toolbar-reply-to-list =
+ .title = Balas kepada kenalan dalam senarai mel
+toolbar-archive-label = Arkib
+toolbar-archive =
+ .title = Arkib mesej yang dipilih
+toolbar-conversation-label = Perbualan
+toolbar-previous-unread-label = Belum Dibaca Terdahulu
+toolbar-previous-unread =
+ .title = Pindah ke mesej belum dibaca terdahulu
+toolbar-previous-label = Dahulu
+toolbar-previous =
+ .title = Pergi ke mesej terdahulu
+toolbar-next-unread-label = Belum Dibaca Berikut
+toolbar-next-unread =
+ .title = Pindah ke mesej belum dibaca seterusnya
+toolbar-next-label = Berikut
+toolbar-next =
+ .title = Pergi ke mesej seterusnya
+toolbar-compact-label = Padat
+toolbar-compact =
+ .title = Buang mesej yang dihapuskan daripada folder yang dipilih
+toolbar-add-as-event-label = Tambah sebagai acara
+toolbar-add-as-event =
+ .title = Ekstrak maklumat kalendar daripada mesej dan masukkan ke dalam kalender sebagai acara
+toolbar-add-as-task-label = Tambah sebagai tugasan
+toolbar-add-as-task =
+ .title = Ekstrak maklumat kalendar daripada mesej dan masukkan ke dalam kalender sebagai tugasan
+toolbar-tag-message-label = Tag
+toolbar-tag-message =
+ .title = Tag mesej
+toolbar-forward-inline-label = Kirim semula
+toolbar-forward-inline =
+ .title = Kirim semula mesej yang dipilih sebagai teks sebaris
+toolbar-forward-attachment-label = Kirim semula sebagai Lampiran
+toolbar-forward-attachment =
+ .title = Kirim semula mesej yang dipilih sebagai lampiran
+toolbar-mark-as-label = Tandakan
+toolbar-mark-as =
+ .title = Tandakan mesej
+toolbar-address-book =
+ .title = Pergi ke buku alamat
+toolbar-chat-label = Sembang
+toolbar-chat =
+ .title = Papar tab Sembang
+toolbar-calendar-label = Kalendar
+toolbar-calendar =
+ .title = Tukar ke tab kalendar
+toolbar-tasks-label = Tugasan
+toolbar-tasks =
+ .title = Tukar ke tab tugasan
+toolbar-print-label = Cetak
+toolbar-print =
+ .title = Cetak mesej ini
+toolbar-synchronize-label = Selaraskan
+toolbar-synchronize =
+ .title = Muat semula kalendar dan selaraskan perubahan
+toolbar-delete-event-label = Buang
+toolbar-delete-event =
+ .title = Buang acara dan tugasan yang dipilih
+toolbar-go-to-today-label = Pergi ke Hari ini
+toolbar-go-to-today =
+ .title = Pergi ke Hari ini
+toolbar-print-event-label = Cetak
+toolbar-print-event =
+ .title = Cetak acara dan tugasan
+toolbar-new-event-label = Acara
+toolbar-new-event =
+ .title = Cipta acara baru
+toolbar-new-task-label = Tugasan
+toolbar-new-task =
+ .title = Cipta tugasan baru
+toolbar-go-back-label = Undur
+toolbar-go-back =
+ .title = Undur satu mesej
+toolbar-go-forward-label = Kirim semula
+toolbar-go-forward =
+ .title = Langkau satu mesej
+toolbar-stop-label = Berhenti
+toolbar-stop =
+ .title = Hentikan pemindahan semasa
+toolbar-throbber-label = Penunjuk Aktiviti
+toolbar-throbber =
+ .title = Penunjuk Aktiviti
diff --git a/thunderbird-l10n/ms/localization/ms/messenger/viewSource.ftl b/thunderbird-l10n/ms/localization/ms/messenger/viewSource.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/messenger/viewSource.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/thunderbird-l10n/ms/localization/ms/security/certificates/certManager.ftl b/thunderbird-l10n/ms/localization/ms/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..3ecdbf8f8b
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/security/certificates/certManager.ftl
@@ -0,0 +1,201 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-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-cert2 =
+ .title = Buang Sijil
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-name =
+ .label = Nama Sijil
+
+certmgr-cert-server =
+ .label = Pelayan
+
+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/thunderbird-l10n/ms/localization/ms/security/certificates/deviceManager.ftl b/thunderbird-l10n/ms/localization/ms/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..a841a947a7
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/security/certificates/deviceManager.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/.
+
+
+## Strings used for device manager
+
+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/thunderbird-l10n/ms/localization/ms/security/pippki/pippki.ftl b/thunderbird-l10n/ms/localization/ms/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..5d20f46b56
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/security/pippki/pippki.ftl
@@ -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/.
+
+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-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 Authentication 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:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Dikeluarkan kepada: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Nombor siri: { $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = Sah dari { $notBefore } hingga { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Kunci Kegunaan: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Alamat e-mel: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Dikeluarkan oleh: { $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = Disimpan dalam: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Ingati keputusan ini
+
+## 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 authentication alert
+
diff --git a/thunderbird-l10n/ms/localization/ms/services/accounts.ftl b/thunderbird-l10n/ms/localization/ms/services/accounts.ftl
new file mode 100644
index 0000000000..638333ed94
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/services/accounts.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/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { $user } dari { -brand-short-name } pada { $system }
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..24b49de5c2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..d04d4dd739
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,241 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+
+##
+
+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-safe-mode2 =
+ .message = Semua add-ons telah dinyahdayakan oleh mod selamat.
+extensions-warning-check-compatibility2 =
+ .message = 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-security2 =
+ .message = 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
+
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+
+## 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 }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $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-disabled2 =
+ .message = { $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-unsigned2 =
+ .message = { $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-blocked2 =
+ .message = { $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-softblocked2 =
+ .message = { $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.
+details-notification-gmp-pending2 =
+ .message = { $name } akan dipasang sebentar lagi.
+
+## 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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutCompat.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutGlean.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutHttpsOnlyError.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..2afd57b604
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutLogging.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/.
+
+about-logging-current-log-file = Fail 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
+
+## Logging presets
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutMozilla.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..7ffbfd1cb4
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutNetworking.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/.
+
+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-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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..c80448662f
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..0edc9c8a8a
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutPlugins.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/.
+
+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>
+deprecation-description2 =
+ .message = Ada sesuatu yang tidak kena? Ada plugin yang tidak lagi disokong.
+
+## 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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProcesses.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..8bebe48f34
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutReader.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..15558aa7f1
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutReader.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/.
+
+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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutRights.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..895ed21cde
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..ee282a429f
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..5a967025ac
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,270 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+## Codec support table
+
+##
+
+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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..eba126a0f2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutThirdParty.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebauthn.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/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..fcc9ea5132
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,197 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+
+## 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)
+
+about-webrtc-aec-logging-toggled-on-state-msg = Log AEC aktif (berhubunglah dengan pemanggil selama beberapa minit dan kemudian cuba hentikan tangkapan data)
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Tangkapan data fail log boleh ditemui di: { $path }
+
+##
+
+
+# "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
+
+## 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
+
+about-webrtc-log-section-show-msg = Papar log
+ .title = Klik untuk kembangkan bahagian ini
+about-webrtc-log-section-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 }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+
+##
+
+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-raw-cand-section-show-msg = Papar calon mentah
+ .title = Klik untuk kembangkan bahagian ini
+about-webrtc-raw-cand-section-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-fold-default-show-msg = Papar butiran
+ .title = Klik untuk kembangkan bahagian ini
+about-webrtc-fold-default-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 displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+
+##
+
+
+## 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 }
+
+about-webrtc-save-page-complete-msg = Halaman disimpan di: { $path }
+about-webrtc-debug-mode-toggled-off-state-msg = Kesan log boleh ditemui di: { $path }
+about-webrtc-debug-mode-toggled-on-state-msg = Mod nyahpepijat aktif, log disurih 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
+
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+
+##
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/about/abuseReports.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/abuseReports.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/thunderbird-l10n/ms/localization/ms/toolkit/about/certviewer.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/certviewer.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/thunderbird-l10n/ms/localization/ms/toolkit/about/config.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/config.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/config.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/thunderbird-l10n/ms/localization/ms/toolkit/about/url-classifier.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..5557f93e55
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/about/url-classifier.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/.
+
+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
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = ralat pengemaskinian ({ $error })
+url-classifier-download-error = ralat muat turun ({ $error })
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/branding/accounts.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..82b028fe27
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/branding/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/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Akaun Firefox
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/branding/brandings.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..bf3a39c63d
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/branding/brandings.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/.
+
+## 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
+
+
+
+
+-focus-brand-name = Firefox Focus
+
+
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/contentanalysis/contentanalysis.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/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..1e00d22e8b
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUI.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/.
+
+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/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..173f12ebd7
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/downloads/downloadUtils.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:
+## $timeValue (number) - Number of units of time
+
+# 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/thunderbird-l10n/ms/localization/ms/toolkit/featuregates/features.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/featuregates/features.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/thunderbird-l10n/ms/localization/ms/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..9efcd1c690
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/formautofill/formAutofill.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/.
+
+
+## OS Prompt Dialog
+
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Pilihan Auto-isi Borang
+autofill-options-link-osx = Keutamaan Auto-isi Borang
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/alert.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..d6e8d14127
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/appPicker.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..3632e9615c
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/browser-utils.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/browser-utils.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/thunderbird-l10n/ms/localization/ms/toolkit/global/commonDialog.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..8374b31639
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..fc0e701509
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/contextual-identity.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/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Peribadi
+ .accesskey = P
+user-context-work =
+ .label = Kerja
+ .accesskey = K
+user-context-banking =
+ .label = Perbankan
+ .accesskey = P
+user-context-shopping =
+ .label = Beli-belah
+ .accesskey = B
+
+##
+
+user-context-none =
+ .label = Tiada Penyimpan
+ .accesskey = T
+user-context-manage-containers =
+ .label = Urus Penyimpan
+ .accesskey = U
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/cookieBannerHandling.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/thunderbird-l10n/ms/localization/ms/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..6968672652
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/createProfileWizard.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/.
+
+create-profile-window2 =
+ .title = Bestari Mencipta Profil
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+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-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/thunderbird-l10n/ms/localization/ms/toolkit/global/cspErrors.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..20e869c4a3
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/datepicker.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/datetimebox.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..2419e1824e
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/datetimebox.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/.
+
+## 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
+
+## Calendar button for input type=date
+
+# This label is used by screenreaders and other assistive technology
+# to indicate the purpose of a toggle button inside of the <input type="date">
+# field that opens/closes a date picker calendar dialog
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..3ac85c177b
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/extensionPermissions.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/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-bookmarks = Baca dan ubah tandabuku
+webext-perms-description-browserSettings = Baca dan ubah tetapan pelayar
+webext-perms-description-browsingData = Buang sejarah pelayaran terkini, kuki dan data berkaitan
+webext-perms-description-clipboardRead = Dapatkan data dari klipbod
+webext-perms-description-clipboardWrite = Input data ke klipbod
+webext-perms-description-devtools = Lanjutan alatan pembangun untuk mengakses data dalam tab terbuka
+webext-perms-description-downloads = Muat turun fail, dan baca serta ubah sejarah muat turun pelayar
+webext-perms-description-downloads-open = Buka fail yang dimuat turun ke dalam komputer anda
+webext-perms-description-find = Baca teks dalam semua tab terbuka
+webext-perms-description-geolocation = Akses lokasi anda
+webext-perms-description-history = Akses sejarah pelayaran
+webext-perms-description-management = Pantau penggunaan ekstensi dan uruskan tema
+webext-perms-description-nativeMessaging = Pertukaran mesej dengan atur cara selain { -brand-short-name }
+webext-perms-description-notifications = Papar notifikasi kepada anda
+webext-perms-description-pkcs11 = Sediakan perkhidmatan pengesahan kriptografik
+webext-perms-description-privacy = Baca dan ubah tetapan privasi
+webext-perms-description-proxy = Kawal tetapan proksi pelayar
+webext-perms-description-sessions = Akses tab terkini ditutup
+webext-perms-description-tabs = Akses tab pelayar
+webext-perms-description-tabHide = Sorok dan papar tab pelayar
+webext-perms-description-topSites = Akses sejarah pelayaran
+webext-perms-description-webNavigation = Akses aktiviti pelayar semasa navigasi
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/extensions.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..8a20801fdc
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/extensions.ftl
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Headers used in the webextension permissions dialog,
+## 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 <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension.
+
+webext-perms-header = Tambah { $extension }?
+webext-perms-sideload-header = { $extension } ditambah
+webext-perms-optional-perms-header = { $extension } perlukan izin tambahan.
+
+##
+
+webext-perms-add =
+ .label = Tambah
+ .accesskey = T
+webext-perms-cancel =
+ .label = Batal
+ .accesskey = B
+
+webext-perms-sideload-text = 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).
+webext-perms-sideload-text-no-perms = Atur cara lain dalam komputer anda memasang add-on yang boleh menjejaskan pelayar. Sila pilih samada Dayakan atau Batal (biarkannya dinyahdayakan).
+webext-perms-sideload-enable =
+ .label = Dayakan
+ .accesskey = D
+webext-perms-sideload-cancel =
+ .label = Batal
+ .accesskey = B
+
+webext-perms-update-accept =
+ .label = Kemaskini
+ .accesskey = K
+
+webext-perms-optional-perms-list-intro = Aplikasi ini mahu:
+webext-perms-optional-perms-allow =
+ .label = Izinkan
+ .accesskey = I
+webext-perms-optional-perms-deny =
+ .label = Tolak
+ .accesskey = T
+
+webext-perms-host-description-all-urls = Akses semua data anda dalam laman web
+
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Akses data laman anda dalam domain { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-wildcards = Akses data anda dalam { $domainCount } domain lain
+# Variables:
+# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org)
+webext-perms-host-description-one-site = Akses data anda untuk { $domain }
+
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-sites = Akses data anda dalam { $domainCount } laman lain
+
+## Headers used in the webextension permissions dialog for synthetic add-ons.
+## The part of the string describing what privileges the extension gives should be consistent
+## with the value of webext-site-perms-description-gated-perms-{sitePermission}.
+## Note, this string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $hostname (String): the hostname of the site the add-on is being installed from.
+
+
+##
+
+
+## Headers used in the webextension permissions dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension being installed.
+## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions.
+
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..29eba35825
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/handlerDialog.ftl
@@ -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/.
+
+
+## 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.
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+## 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.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+##
+
+## Chooser dialog
+## Variables:
+## $scheme - the type of link that's being opened.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - 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/thunderbird-l10n/ms/localization/ms/toolkit/global/htmlForm.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..abbaf7a7f7
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/mozCard.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozCard.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/thunderbird-l10n/ms/localization/ms/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozFiveStar.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/thunderbird-l10n/ms/localization/ms/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozMessageBar.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/thunderbird-l10n/ms/localization/ms/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/mozSupportLink.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/thunderbird-l10n/ms/localization/ms/toolkit/global/notification.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..80e77d4e38
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/popupnotification.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..b7146bb3b5
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/processTypes.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/processTypes.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/thunderbird-l10n/ms/localization/ms/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/profileDowngrade.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/thunderbird-l10n/ms/localization/ms/toolkit/global/profileSelection.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..6b9297aefd
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/resetProfile.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..1bc07950b6
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..30be478bc2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/resistFingerPrinting.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/.
+
+# 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?
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/run-from-dmg.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/thunderbird-l10n/ms/localization/ms/toolkit/global/tabprompts.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..d5b599c1ee
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/textActions.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..d5925ccf6c
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/timepicker.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/timepicker.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/thunderbird-l10n/ms/localization/ms/toolkit/global/tree.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..8d0fa7381c
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..c86a8df374
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/global/videocontrols.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..c3d463ec19
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/global/videocontrols.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/.
+
+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/thunderbird-l10n/ms/localization/ms/toolkit/global/wizard.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..e1756570dd
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/intl/languageNames.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..b6cfc8b7b6
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/intl/regionNames.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..30f11d04eb
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/intl/regionNames.ftl
@@ -0,0 +1,275 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-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-cw = Curaçao
+region-name-cx = Pulau Christmas
+region-name-cy = Cyprus
+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-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-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/thunderbird-l10n/ms/localization/ms/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/main-window/autocomplete.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/thunderbird-l10n/ms/localization/ms/toolkit/main-window/findbar.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..7e5640fa11
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/neterror/certError.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..ffa6e936f9
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/certError.ftl
@@ -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/.
+
+# 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/thunderbird-l10n/ms/localization/ms/toolkit/neterror/netError.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..5a410ba7f1
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/netError.ftl
@@ -0,0 +1,134 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+##
+
+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/thunderbird-l10n/ms/localization/ms/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..170d344bf3
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,349 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.
+
+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.
+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.
+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.
+
+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
+
+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.
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..88c94afb5e
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/passwordmgr/passwordmgr.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Save and update password doorhanger
+
+password-manager-save-password-button-allow =
+ .label = Simpan
+ .accesskey = S
+password-manager-password-password-button-allow =
+ .label = Kemaskini
+ .accesskey = U
+password-manager-update-password-button-deny =
+ .label = Jangan kemaskini
+ .accesskey = J
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Tiada nama pengguna
+password-manager-toggle-password =
+ .label = Papar kata laluan
+ .accesskey = p
+password-manager-confirm-password-change = Sahkan Menukar Kata laluan
+password-manager-select-username = Pilih log masuk untuk dikemaskini:
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/payments/payments.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/payments/payments.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/thunderbird-l10n/ms/localization/ms/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..11b8665141
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Halaman Dahulu
+pdfjs-previous-button-label = Dahulu
+pdfjs-next-button =
+ .title = Halaman Berikut
+pdfjs-next-button-label = Berikut
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Halaman
+# Variables:
+# $pagesCount (Number) - the total number of pages in the document
+# This string follows an input field with the number of the page currently displayed.
+pdfjs-of-pages = daripada { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } daripada { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Zum Keluar
+pdfjs-zoom-out-button-label = Zum Keluar
+pdfjs-zoom-in-button =
+ .title = Zum Masuk
+pdfjs-zoom-in-button-label = Zum Masuk
+pdfjs-zoom-select =
+ .title = Zum
+pdfjs-presentation-mode-button =
+ .title = Tukar ke Mod Persembahan
+pdfjs-presentation-mode-button-label = Mod Persembahan
+pdfjs-open-file-button =
+ .title = Buka Fail
+pdfjs-open-file-button-label = Buka
+pdfjs-print-button =
+ .title = Cetak
+pdfjs-print-button-label = Cetak
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Alatan
+pdfjs-tools-button-label = Alatan
+pdfjs-first-page-button =
+ .title = Pergi ke Halaman Pertama
+pdfjs-first-page-button-label = Pergi ke Halaman Pertama
+pdfjs-last-page-button =
+ .title = Pergi ke Halaman Terakhir
+pdfjs-last-page-button-label = Pergi ke Halaman Terakhir
+pdfjs-page-rotate-cw-button =
+ .title = Berputar ikut arah Jam
+pdfjs-page-rotate-cw-button-label = Berputar ikut arah Jam
+pdfjs-page-rotate-ccw-button =
+ .title = Pusing berlawan arah jam
+pdfjs-page-rotate-ccw-button-label = Pusing berlawan arah jam
+pdfjs-cursor-text-select-tool-button =
+ .title = Dayakan Alatan Pilihan Teks
+pdfjs-cursor-text-select-tool-button-label = Alatan Pilihan Teks
+pdfjs-cursor-hand-tool-button =
+ .title = Dayakan Alatan Tangan
+pdfjs-cursor-hand-tool-button-label = Alatan Tangan
+pdfjs-scroll-vertical-button =
+ .title = Guna Skrol Menegak
+pdfjs-scroll-vertical-button-label = Skrol Menegak
+pdfjs-scroll-horizontal-button =
+ .title = Guna Skrol Mengufuk
+pdfjs-scroll-horizontal-button-label = Skrol Mengufuk
+pdfjs-scroll-wrapped-button =
+ .title = Guna Skrol Berbalut
+pdfjs-scroll-wrapped-button-label = Skrol Berbalut
+pdfjs-spread-none-button =
+ .title = Jangan hubungkan hamparan halaman
+pdfjs-spread-none-button-label = Tanpa Hamparan
+pdfjs-spread-odd-button =
+ .title = Hubungkan hamparan halaman dengan halaman nombor ganjil
+pdfjs-spread-odd-button-label = Hamparan Ganjil
+pdfjs-spread-even-button =
+ .title = Hubungkan hamparan halaman dengan halaman nombor genap
+pdfjs-spread-even-button-label = Hamparan Seimbang
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Sifat Dokumen…
+pdfjs-document-properties-button-label = Sifat Dokumen…
+pdfjs-document-properties-file-name = Nama fail:
+pdfjs-document-properties-file-size = Saiz fail:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bait)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bait)
+pdfjs-document-properties-title = Tajuk:
+pdfjs-document-properties-author = Pengarang:
+pdfjs-document-properties-subject = Subjek:
+pdfjs-document-properties-keywords = Kata kunci:
+pdfjs-document-properties-creation-date = Masa Dicipta:
+pdfjs-document-properties-modification-date = Tarikh Ubahsuai:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = Pencipta:
+pdfjs-document-properties-producer = Pengeluar PDF:
+pdfjs-document-properties-version = Versi PDF:
+pdfjs-document-properties-page-count = Kiraan Laman:
+pdfjs-document-properties-page-size = Saiz Halaman:
+pdfjs-document-properties-page-size-unit-inches = dalam
+pdfjs-document-properties-page-size-unit-millimeters = mm
+pdfjs-document-properties-page-size-orientation-portrait = potret
+pdfjs-document-properties-page-size-orientation-landscape = landskap
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = Paparan Web Pantas:
+pdfjs-document-properties-linearized-yes = Ya
+pdfjs-document-properties-linearized-no = Tidak
+pdfjs-document-properties-close-button = Tutup
+
+## Print
+
+pdfjs-print-progress-message = Menyediakan dokumen untuk dicetak…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = Batal
+pdfjs-printing-not-supported = Amaran: Cetakan ini tidak sepenuhnya disokong oleh pelayar ini.
+pdfjs-printing-not-ready = Amaran: PDF tidak sepenuhnya dimuatkan untuk dicetak.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Togol Bar Sisi
+pdfjs-toggle-sidebar-button-label = Togol Bar Sisi
+pdfjs-document-outline-button =
+ .title = Papar Rangka Dokumen (klik-dua-kali untuk kembangkan/kolaps semua item)
+pdfjs-document-outline-button-label = Rangka Dokumen
+pdfjs-attachments-button =
+ .title = Papar Lampiran
+pdfjs-attachments-button-label = Lampiran
+pdfjs-thumbs-button =
+ .title = Papar Thumbnails
+pdfjs-thumbs-button-label = Imej kecil
+pdfjs-findbar-button =
+ .title = Cari didalam Dokumen
+pdfjs-findbar-button-label = Cari
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Halaman { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Halaman Imej kecil { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Cari
+ .placeholder = Cari dalam dokumen…
+pdfjs-find-previous-button =
+ .title = Cari teks frasa berkenaan yang terdahulu
+pdfjs-find-previous-button-label = Dahulu
+pdfjs-find-next-button =
+ .title = Cari teks frasa berkenaan yang berikut
+pdfjs-find-next-button-label = Berikut
+pdfjs-find-highlight-checkbox = Serlahkan semua
+pdfjs-find-match-case-checkbox-label = Huruf sepadan
+pdfjs-find-entire-word-checkbox-label = Seluruh perkataan
+pdfjs-find-reached-top = Mencapai teratas daripada dokumen, sambungan daripada bawah
+pdfjs-find-reached-bottom = Mencapai terakhir daripada dokumen, sambungan daripada atas
+pdfjs-find-not-found = Frasa tidak ditemui
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Lebar Halaman
+pdfjs-page-scale-fit = Muat Halaman
+pdfjs-page-scale-auto = Zoom Automatik
+pdfjs-page-scale-actual = Saiz Sebenar
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+
+## Loading indicator messages
+
+pdfjs-loading-error = Masalah berlaku semasa menuatkan sebuah PDF.
+pdfjs-invalid-file-error = Tidak sah atau fail PDF rosak.
+pdfjs-missing-file-error = Fail PDF Hilang.
+pdfjs-unexpected-response-error = Respon pelayan yang tidak dijangka.
+pdfjs-rendering-error = Ralat berlaku ketika memberikan halaman.
+
+## Annotations
+
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - 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"
+pdfjs-text-annotation-type =
+ .alt = [{ $type } Anotasi]
+
+## Password
+
+pdfjs-password-label = Masukan kata kunci untuk membuka fail PDF ini.
+pdfjs-password-invalid = Kata laluan salah. Cuba lagi.
+pdfjs-password-ok-button = OK
+pdfjs-password-cancel-button = Batal
+pdfjs-web-fonts-disabled = Fon web dinyahdayakan: tidak dapat menggunakan fon terbenam PDF.
+
+## Editing
+
+
+## Alt-text dialog
+
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..ab9af244c8
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/pictureinpicture/pictureinpicture.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/.
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+##
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+##
+
diff --git a/thunderbird-l10n/ms/localization/ms/toolkit/preferences/preferences.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..1eccaaa880
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..d0db517651
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/printing/printPreview.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..d1f1542509
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/printing/printUI.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/printing/printUI.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/thunderbird-l10n/ms/localization/ms/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/reportBrokenSite/reportBrokenSite.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/thunderbird-l10n/ms/localization/ms/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/updates/backgroundupdate.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/thunderbird-l10n/ms/localization/ms/toolkit/updates/elevation.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..df891efd00
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/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/thunderbird-l10n/ms/localization/ms/toolkit/updates/history.ftl b/thunderbird-l10n/ms/localization/ms/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..dcb797b817
--- /dev/null
+++ b/thunderbird-l10n/ms/localization/ms/toolkit/updates/history.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/.
+
+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 }
diff --git a/thunderbird-l10n/ms/manifest.json b/thunderbird-l10n/ms/manifest.json
new file mode 100644
index 0000000000..ae4bda70fc
--- /dev/null
+++ b/thunderbird-l10n/ms/manifest.json
@@ -0,0 +1,56 @@
+{
+ "langpack_id": "ms",
+ "manifest_version": 2,
+ "browser_specific_settings": {
+ "gecko": {
+ "id": "langpack-ms@thunderbird.mozilla.org",
+ "strict_min_version": "115.0",
+ "strict_max_version": "115.*"
+ }
+ },
+ "name": "Language: Melayu (Malay)",
+ "description": "Thunderbird Language Pack for Melayu (ms) – Malay",
+ "version": "115.7.20240119.95007",
+ "languages": {
+ "ms": {
+ "version": "20240119104914",
+ "chrome_resources": {
+ "alerts": "chrome/ms/locale/ms/alerts/",
+ "autoconfig": "chrome/ms/locale/ms/autoconfig/",
+ "branding": "chrome/ms/locale/branding/",
+ "calendar": "chrome/ms/locale/ms/calendar/",
+ "chat": "chrome/ms/locale/ms/chat/",
+ "communicator": "chrome/ms/locale/ms/communicator/",
+ "devtools": "chrome/ms/locale/ms/devtools/client/",
+ "devtools-shared": "chrome/ms/locale/ms/devtools/shared/",
+ "global": "chrome/ms/locale/ms/global/",
+ "global-platform": {
+ "macosx": "chrome/ms/locale/ms/global-platform/mac/",
+ "linux": "chrome/ms/locale/ms/global-platform/unix/",
+ "android": "chrome/ms/locale/ms/global-platform/unix/",
+ "win": "chrome/ms/locale/ms/global-platform/win/"
+ },
+ "lightning": "chrome/ms/locale/ms/lightning/",
+ "messenger": "chrome/ms/locale/ms/messenger/",
+ "messenger-mapi": "chrome/ms/locale/ms/messenger-mapi/",
+ "messenger-newsblog": "chrome/ms/locale/ms/messenger-newsblog/",
+ "messenger-region": "chrome/ms/locale/ms/messenger-region/",
+ "messenger-smime": "chrome/ms/locale/ms/messenger-smime/",
+ "mozapps": "chrome/ms/locale/ms/mozapps/",
+ "mozldap": "chrome/ms/locale/ms/mozldap/",
+ "necko": "chrome/ms/locale/ms/necko/",
+ "passwordmgr": "chrome/ms/locale/ms/passwordmgr/",
+ "pdf.js": "chrome/ms/locale/pdfviewer/",
+ "pipnss": "chrome/ms/locale/ms/pipnss/",
+ "pippki": "chrome/ms/locale/ms/pippki/",
+ "places": "chrome/ms/locale/ms/places/"
+ }
+ }
+ },
+ "sources": {
+ "browser": {
+ "base_path": "browser/"
+ }
+ },
+ "author": "mozilla.org (contributors: Joe Solon, Suzy Solon)"
+}