diff --git a/packages/payload/src/exports/i18n/ms.ts b/packages/payload/src/exports/i18n/ms.ts new file mode 100644 index 00000000000..58cf2902742 --- /dev/null +++ b/packages/payload/src/exports/i18n/ms.ts @@ -0,0 +1 @@ +export { ms } from '@payloadcms/translations/languages/ms' diff --git a/packages/plugin-import-export/src/translations/index.ts b/packages/plugin-import-export/src/translations/index.ts index 8a9a53e9d50..5e9dcf5a2ef 100644 --- a/packages/plugin-import-export/src/translations/index.ts +++ b/packages/plugin-import-export/src/translations/index.ts @@ -27,6 +27,7 @@ import { it } from './languages/it.js' import { ja } from './languages/ja.js' import { ko } from './languages/ko.js' import { lt } from './languages/lt.js' +import { ms } from './languages/ms.js' import { my } from './languages/my.js' import { nb } from './languages/nb.js' import { nl } from './languages/nl.js' @@ -69,6 +70,7 @@ export const translations = { ja, ko, lt, + ms, my, nb, nl, diff --git a/packages/plugin-import-export/src/translations/languages/ms.ts b/packages/plugin-import-export/src/translations/languages/ms.ts new file mode 100644 index 00000000000..9cfa4fe46e8 --- /dev/null +++ b/packages/plugin-import-export/src/translations/languages/ms.ts @@ -0,0 +1,53 @@ +import type { PluginDefaultTranslationsObject, PluginLanguage } from '../types.js' + +export const msTranslations: PluginDefaultTranslationsObject = { + 'plugin-import-export': { + allLocales: 'Semua locale', + collectionRequired: 'Koleksi diperlukan untuk memaparkan pratonton', + documentsToExport: '{{count}} dokumen untuk dieksport', + documentsToImport: '{{count}} dokumen untuk diimport', + exportDocumentLabel: 'Eksport {{label}}', + exportOptions: 'Pilihan eksport', + 'field-collectionSlug-label': 'Koleksi', + 'field-depth-label': 'Kedalaman', + 'field-drafts-label': 'Sertakan draf', + 'field-fields-label': 'Medan', + 'field-format-label': 'Format eksport', + 'field-importMode-create-label': 'Cipta dokumen baharu', + 'field-importMode-label': 'Mod import', + 'field-importMode-update-label': 'Kemas kini dokumen sedia ada', + 'field-importMode-upsert-label': 'Cipta atau kemas kini dokumen', + 'field-limit-label': 'Had', + 'field-locale-label': 'Locale', + 'field-matchField-description': 'Medan yang digunakan untuk memadankan dokumen sedia ada', + 'field-matchField-label': 'Medan padanan', + 'field-name-label': 'Nama fail', + 'field-page-label': 'Halaman', + 'field-selectionToUse-label': 'Pilihan untuk digunakan', + 'field-sort-label': 'Susun mengikut', + 'field-sort-order-label': 'Susunan pengisihan', + 'field-status-label': 'Status', + 'field-summary-label': 'Ringkasan import', + importDocumentLabel: 'Import {{label}}', + importResults: 'Hasil import', + limitCapped: 'Had ditetapkan kepada maksimum {{limit}}', + limitExceededExport: 'Eksport dihadkan kepada {{limit}} dokumen', + limitExceededImport: + 'Fail import mengandungi {{count}} dokumen tetapi had ialah {{limit}} dokumen.', + matchBy: 'Padankan mengikut', + mode: 'Mod', + noDataToPreview: 'Tiada data untuk dipratonton', + previewPageInfo: '{{start}}-{{end}} daripada {{total}}', + 'selectionToUse-allDocuments': 'Gunakan semua dokumen', + 'selectionToUse-currentFilters': 'Gunakan penapis semasa', + 'selectionToUse-currentSelection': 'Gunakan pilihan semasa', + startImport: 'Mulakan import', + totalDocumentsCount: 'Jumlah dokumen: {{count}}', + uploadFileToSeePreview: 'Muat naik fail untuk melihat pratonton', + }, +} + +export const ms: PluginLanguage = { + dateFNSKey: 'ms', + translations: msTranslations, +} diff --git a/packages/plugin-multi-tenant/src/translations/index.ts b/packages/plugin-multi-tenant/src/translations/index.ts index e1f33991b9b..c0433235bc2 100644 --- a/packages/plugin-multi-tenant/src/translations/index.ts +++ b/packages/plugin-multi-tenant/src/translations/index.ts @@ -27,6 +27,7 @@ import { it } from './languages/it.js' import { ja } from './languages/ja.js' import { ko } from './languages/ko.js' import { lt } from './languages/lt.js' +import { ms } from './languages/ms.js' import { my } from './languages/my.js' import { nb } from './languages/nb.js' import { nl } from './languages/nl.js' @@ -69,6 +70,7 @@ export const translations = { ja, ko, lt, + ms, my, nb, nl, diff --git a/packages/plugin-multi-tenant/src/translations/languages/ms.ts b/packages/plugin-multi-tenant/src/translations/languages/ms.ts new file mode 100644 index 00000000000..b932490c7f6 --- /dev/null +++ b/packages/plugin-multi-tenant/src/translations/languages/ms.ts @@ -0,0 +1,15 @@ +import type { PluginDefaultTranslationsObject, PluginLanguage } from '../types.js' + +export const msTranslations: PluginDefaultTranslationsObject = { + 'plugin-multi-tenant': { + 'assign-tenant-button-label': 'Tetapkan penyewa', + 'assign-tenant-modal-title': 'Tetapkan "{{title}}"', + 'field-assignedTenant-label': 'Penyewa yang ditetapkan', + 'nav-tenantSelector-label': 'Tapis mengikut penyewa', + }, +} + +export const ms: PluginLanguage = { + dateFNSKey: 'ms', + translations: msTranslations, +} diff --git a/packages/plugin-seo/src/translations/index.ts b/packages/plugin-seo/src/translations/index.ts index de19d3f9eec..394d4bb24f0 100644 --- a/packages/plugin-seo/src/translations/index.ts +++ b/packages/plugin-seo/src/translations/index.ts @@ -21,6 +21,7 @@ import { it } from './it.js' import { ja } from './ja.js' import { ko } from './ko.js' import { lt } from './lt.js' +import { ms } from './ms.js' import { my } from './my.js' import { nb } from './nb.js' import { nl } from './nl.js' @@ -63,6 +64,7 @@ export const translations = { ja, ko, lt, + ms, my, nb, nl, diff --git a/packages/plugin-seo/src/translations/ms.ts b/packages/plugin-seo/src/translations/ms.ts new file mode 100644 index 00000000000..57bec3bc87f --- /dev/null +++ b/packages/plugin-seo/src/translations/ms.ts @@ -0,0 +1,28 @@ +import type { GenericTranslationsObject } from '@payloadcms/translations' + +export const ms: GenericTranslationsObject = { + $schema: './translation-schema.json', + 'plugin-seo': { + almostThere: 'Hampir selesai', + autoGenerate: 'Jana automatik', + bestPractices: 'amalan terbaik', + characterCount: '{{current}}/{{minLength}}-{{maxLength}} aksara, ', + charactersLeftOver: '{{characters}} aksara berbaki', + charactersToGo: '{{characters}} aksara lagi', + charactersTooMany: '{{characters}} aksara terlebih', + checksPassing: '{{current}}/{{max}} semakan lulus', + good: 'Baik', + imageAutoGenerationTip: 'Penjanaan automatik akan mengambil imej hero yang dipilih.', + lengthTipDescription: + 'Ini sepatutnya antara {{minLength}} dan {{maxLength}} aksara. Untuk bantuan menulis keterangan meta yang berkualiti, lihat ', + lengthTipTitle: + 'Ini sepatutnya antara {{minLength}} dan {{maxLength}} aksara. Untuk bantuan menulis tajuk meta yang berkualiti, lihat ', + missing: 'Tiada', + noImage: 'Tiada imej', + preview: 'Pratonton', + previewDescription: + 'Penyenaraian hasil sebenar mungkin berbeza mengikut kandungan dan kaitan carian.', + tooLong: 'Terlalu panjang', + tooShort: 'Terlalu pendek', + }, +} diff --git a/packages/richtext-lexical/src/features/align/server/i18n.ts b/packages/richtext-lexical/src/features/align/server/i18n.ts index 4ac104d58ae..535c400c2e6 100644 --- a/packages/richtext-lexical/src/features/align/server/i18n.ts +++ b/packages/richtext-lexical/src/features/align/server/i18n.ts @@ -109,6 +109,12 @@ export const i18n: Partial = { alignLeftLabel: '왼쪽 정렬', alignRightLabel: '오른쪽 정렬', }, + ms: { + alignCenterLabel: 'Jajarkan ke tengah', + alignJustifyLabel: 'Ratakan teks', + alignLeftLabel: 'Jajarkan ke kiri', + alignRightLabel: 'Jajarkan ke kanan', + }, my: { alignCenterLabel: 'Pusat Selaras', alignJustifyLabel: 'Penjajaran Justify', diff --git a/packages/richtext-lexical/src/features/blockquote/server/i18n.ts b/packages/richtext-lexical/src/features/blockquote/server/i18n.ts index 4d766e6d0f9..58f816e1cc5 100644 --- a/packages/richtext-lexical/src/features/blockquote/server/i18n.ts +++ b/packages/richtext-lexical/src/features/blockquote/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '인용구', }, + ms: { + label: 'Petikan blok', + }, my: { label: 'ဒေါင်းချီးခြင်း', }, diff --git a/packages/richtext-lexical/src/features/blocks/server/i18n.ts b/packages/richtext-lexical/src/features/blocks/server/i18n.ts index 6d7f5bb35be..967e637e8cb 100644 --- a/packages/richtext-lexical/src/features/blocks/server/i18n.ts +++ b/packages/richtext-lexical/src/features/blocks/server/i18n.ts @@ -163,6 +163,15 @@ export const i18n: Partial = { }, label: '블록', }, + ms: { + inlineBlocks: { + create: 'Cipta {{label}}', + edit: 'Edit {{label}}', + label: 'Blok sebaris', + remove: 'Alih keluar {{label}}', + }, + label: 'Blok', + }, my: { inlineBlocks: { create: 'Cipta {{label}}', diff --git a/packages/richtext-lexical/src/features/heading/server/i18n.ts b/packages/richtext-lexical/src/features/heading/server/i18n.ts index aebb231b51b..15cbddf6d12 100644 --- a/packages/richtext-lexical/src/features/heading/server/i18n.ts +++ b/packages/richtext-lexical/src/features/heading/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '제목 {{headingLevel}}', }, + ms: { + label: 'Tajuk {{headingLevel}}', + }, my: { label: '[SURAT]\n\nKepala {{headingLevel}}', }, diff --git a/packages/richtext-lexical/src/features/horizontalRule/server/i18n.ts b/packages/richtext-lexical/src/features/horizontalRule/server/i18n.ts index 6aa950cc1b0..2bdb3a00253 100644 --- a/packages/richtext-lexical/src/features/horizontalRule/server/i18n.ts +++ b/packages/richtext-lexical/src/features/horizontalRule/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '수평 규칙', }, + ms: { + label: 'Garis mendatar', + }, my: { label: 'Peraturan Mendatar', }, diff --git a/packages/richtext-lexical/src/features/indent/server/i18n.ts b/packages/richtext-lexical/src/features/indent/server/i18n.ts index 8c7ec6c225e..59353e9bbc4 100644 --- a/packages/richtext-lexical/src/features/indent/server/i18n.ts +++ b/packages/richtext-lexical/src/features/indent/server/i18n.ts @@ -73,6 +73,10 @@ export const i18n: Partial = { decreaseLabel: '들여쓰기 줄이기', increaseLabel: '들여쓰기 늘리기', }, + ms: { + decreaseLabel: 'Kurangkan inden', + increaseLabel: 'Tambah inden', + }, my: { decreaseLabel: 'Kurangkan Inden', increaseLabel: 'Tingkatkan Inden', diff --git a/packages/richtext-lexical/src/features/link/server/i18n.ts b/packages/richtext-lexical/src/features/link/server/i18n.ts index 6ce8c8a64f5..0ba34b80478 100644 --- a/packages/richtext-lexical/src/features/link/server/i18n.ts +++ b/packages/richtext-lexical/src/features/link/server/i18n.ts @@ -73,6 +73,10 @@ export const i18n: Partial = { label: '링크', loadingWithEllipsis: '로딩 중...', }, + ms: { + label: 'Pautan', + loadingWithEllipsis: 'Memuatkan...', + }, my: { label: 'လင့်', loadingWithEllipsis: 'ဖွင့်နေသည်...', diff --git a/packages/richtext-lexical/src/features/lists/checklist/server/i18n.ts b/packages/richtext-lexical/src/features/lists/checklist/server/i18n.ts index d61793873c8..6c7db6239e4 100644 --- a/packages/richtext-lexical/src/features/lists/checklist/server/i18n.ts +++ b/packages/richtext-lexical/src/features/lists/checklist/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '체크 리스트', }, + ms: { + label: 'Senarai semak', + }, my: { label: 'Senarai Semak', }, diff --git a/packages/richtext-lexical/src/features/lists/orderedList/server/i18n.ts b/packages/richtext-lexical/src/features/lists/orderedList/server/i18n.ts index a483b2c6615..fd447b40336 100644 --- a/packages/richtext-lexical/src/features/lists/orderedList/server/i18n.ts +++ b/packages/richtext-lexical/src/features/lists/orderedList/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '주문된 목록', }, + ms: { + label: 'Senarai bernombor', + }, my: { label: 'စီစဉ်ထားသော စာရင်း', }, diff --git a/packages/richtext-lexical/src/features/lists/unorderedList/server/i18n.ts b/packages/richtext-lexical/src/features/lists/unorderedList/server/i18n.ts index 6b76d3828c9..c693ffe7584 100644 --- a/packages/richtext-lexical/src/features/lists/unorderedList/server/i18n.ts +++ b/packages/richtext-lexical/src/features/lists/unorderedList/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '비정렬 목록', }, + ms: { + label: 'Senarai berbulet', + }, my: { label: 'Senarai Tidak Tertib', }, diff --git a/packages/richtext-lexical/src/features/paragraph/server/i18n.ts b/packages/richtext-lexical/src/features/paragraph/server/i18n.ts index 1d0b8bfe427..d6891921468 100644 --- a/packages/richtext-lexical/src/features/paragraph/server/i18n.ts +++ b/packages/richtext-lexical/src/features/paragraph/server/i18n.ts @@ -73,6 +73,10 @@ export const i18n: Partial = { label: '문단', label2: '일반 텍스트', }, + ms: { + label: 'Perenggan', + label2: 'Teks biasa', + }, my: { label: 'Perenggan', label2: 'ပုံမှန်စာသား', diff --git a/packages/richtext-lexical/src/features/relationship/server/i18n.ts b/packages/richtext-lexical/src/features/relationship/server/i18n.ts index 78fc8bd5d7f..0bd65533c2e 100644 --- a/packages/richtext-lexical/src/features/relationship/server/i18n.ts +++ b/packages/richtext-lexical/src/features/relationship/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '관계', }, + ms: { + label: 'Hubungan', + }, my: { label: 'Hubungan', }, diff --git a/packages/richtext-lexical/src/features/textState/i18n.ts b/packages/richtext-lexical/src/features/textState/i18n.ts index ba563de5da6..4a155260098 100644 --- a/packages/richtext-lexical/src/features/textState/i18n.ts +++ b/packages/richtext-lexical/src/features/textState/i18n.ts @@ -19,6 +19,7 @@ export const i18n: Partial = { it: { defaultStyle: 'Stile predefinito' }, ja: { defaultStyle: 'デフォルトスタイル' }, ko: { defaultStyle: '기본 스타일' }, + ms: { defaultStyle: 'Gaya lalai' }, my: { defaultStyle: 'Gaya lalai' }, nb: { defaultStyle: 'Standardstil' }, nl: { defaultStyle: 'Standaardstijl' }, diff --git a/packages/richtext-lexical/src/features/upload/server/i18n.ts b/packages/richtext-lexical/src/features/upload/server/i18n.ts index 2da2f2351b2..885d9f89f2a 100644 --- a/packages/richtext-lexical/src/features/upload/server/i18n.ts +++ b/packages/richtext-lexical/src/features/upload/server/i18n.ts @@ -55,6 +55,9 @@ export const i18n: Partial = { ko: { label: '업로드', }, + ms: { + label: 'Muat naik', + }, my: { label: 'တင်ပြီး', }, diff --git a/packages/richtext-lexical/src/i18n.ts b/packages/richtext-lexical/src/i18n.ts index 6e931f260a9..4932e3b07fb 100644 --- a/packages/richtext-lexical/src/i18n.ts +++ b/packages/richtext-lexical/src/i18n.ts @@ -127,6 +127,12 @@ export const i18n: Partial = { slashMenuListGroupLabel: 'Sąrašai', toolbarItemsActive: '{{count}} aktyvus', }, + ms: { + placeholder: "Mula menaip atau tekan '/' untuk arahan...", + slashMenuBasicGroupLabel: 'Asas', + slashMenuListGroupLabel: 'Senarai', + toolbarItemsActive: '{{count}} aktif', + }, my: { placeholder: "Mula menaip, atau tekan '/' untuk arahan...", slashMenuBasicGroupLabel: 'အခြေခံ', diff --git a/packages/translations/src/exports/all.ts b/packages/translations/src/exports/all.ts index d6c431347fc..4184dda4148 100644 --- a/packages/translations/src/exports/all.ts +++ b/packages/translations/src/exports/all.ts @@ -25,6 +25,7 @@ import { ja } from '../languages/ja.js' import { ko } from '../languages/ko.js' import { lt } from '../languages/lt.js' import { lv } from '../languages/lv.js' +import { ms } from '../languages/ms.js' import { my } from '../languages/my.js' import { nb } from '../languages/nb.js' import { nl } from '../languages/nl.js' @@ -72,6 +73,7 @@ export const translations = { ko, lt, lv, + ms, my, nb, nl, diff --git a/packages/translations/src/importDateFNSLocale.ts b/packages/translations/src/importDateFNSLocale.ts index c0d1d197bbe..5c51f00cca2 100644 --- a/packages/translations/src/importDateFNSLocale.ts +++ b/packages/translations/src/importDateFNSLocale.ts @@ -101,6 +101,10 @@ export const importDateFNSLocale = async (locale: string): Promise => { case 'lv': result = (await import('date-fns/locale/lv')).lv + break + case 'ms': + result = (await import('date-fns/locale/ms')).ms + break case 'nb': diff --git a/packages/translations/src/languages/ms.ts b/packages/translations/src/languages/ms.ts new file mode 100644 index 00000000000..323d369ed94 --- /dev/null +++ b/packages/translations/src/languages/ms.ts @@ -0,0 +1,669 @@ +import type { DefaultTranslationsObject, Language } from '../types.js' + +export const msTranslations: DefaultTranslationsObject = { + authentication: { + account: 'Akaun', + accountOfCurrentUser: 'Akaun pengguna semasa', + accountVerified: 'Akaun berjaya disahkan.', + alreadyActivated: 'Telah diaktifkan', + alreadyLoggedIn: 'Sudah log masuk', + apiKey: 'Kunci API', + authenticated: 'Disahkan', + backToLogin: 'Kembali ke halaman log masuk', + beginCreateFirstUser: 'Untuk bermula, cipta pengguna pertama anda.', + changePassword: 'Tukar kata laluan', + checkYourEmailForPasswordReset: + 'Jika alamat e-mel tersebut dikaitkan dengan akaun, anda akan menerima arahan untuk menetapkan semula kata laluan sebentar lagi. Sila semak folder spam atau junk jika e-mel tersebut tiada dalam peti masuk anda.', + confirmGeneration: 'Sahkan penjanaan', + confirmPassword: 'Sahkan kata laluan', + createFirstUser: 'Cipta pengguna pertama', + emailNotValid: 'E-mel yang dimasukkan tidak sah', + emailOrUsername: 'E-mel atau nama pengguna', + emailSent: 'E-mel dihantar', + emailVerified: 'E-mel berjaya disahkan.', + enableAPIKey: 'Dayakan kunci API', + failedToUnlock: 'Gagal membuka kunci', + forceUnlock: 'Buka kunci secara paksa', + forgotPassword: 'Lupa kata laluan', + forgotPasswordEmailInstructions: + 'Sila masukkan e-mel anda di bawah. Anda akan menerima e-mel dengan arahan untuk menetapkan semula kata laluan anda.', + forgotPasswordQuestion: 'Lupa kata laluan?', + forgotPasswordUsernameInstructions: + 'Sila masukkan nama pengguna anda di bawah. Arahan untuk menetapkan semula kata laluan akan dihantar ke alamat e-mel yang dikaitkan dengan nama pengguna tersebut.', + generate: 'Jana', + generateNewAPIKey: 'Jana kunci API baharu', + generatingNewAPIKeyWillInvalidate: + 'Menjana kunci API baharu akan <1>membatalkan kunci sebelumnya. Adakah anda pasti mahu meneruskan?', + lockUntil: 'Dikunci sehingga', + logBackIn: 'Log masuk semula', + loggedIn: 'Untuk log masuk dengan pengguna lain, anda perlu <0>log keluar dahulu.', + loggedInChangePassword: + 'Untuk menukar kata laluan, pergi ke <0>akaun anda dan kemas kini kata laluan di sana.', + loggedOutInactivity: 'Anda telah dilog keluar kerana tidak aktif.', + loggedOutSuccessfully: 'Anda telah berjaya dilog keluar.', + loggingOut: 'Sedang log keluar...', + login: 'Log masuk', + loginAttempts: 'Percubaan log masuk', + loginUser: 'Log masuk pengguna', + loginWithAnotherUser: + 'Untuk log masuk dengan pengguna lain, anda perlu <0>log keluar dahulu.', + logOut: 'Log keluar', + logout: 'Log keluar', + logoutSuccessful: 'Log keluar berjaya.', + logoutUser: 'Log keluar pengguna', + newAccountCreated: + 'Akaun baharu telah dicipta untuk anda mengakses {{serverURL}}. Sila klik pautan berikut atau tampal URL di bawah ke dalam pelayar anda untuk mengesahkan e-mel: {{verificationURL}}
Selepas e-mel disahkan, anda boleh log masuk seperti biasa.', + newAPIKeyGenerated: 'Kunci API baharu telah dijana.', + newPassword: 'Kata laluan baharu', + passed: 'Pengesahan berjaya', + passwordResetSuccessfully: 'Kata laluan berjaya ditetapkan semula.', + resetPassword: 'Tetapkan semula kata laluan', + resetPasswordExpiration: 'Tamat tempoh tetapan semula kata laluan', + resetPasswordToken: 'Token tetapan semula kata laluan', + resetYourPassword: 'Tetapkan semula kata laluan anda', + stayLoggedIn: 'Kekal log masuk', + successfullyRegisteredFirstUser: 'Berjaya mendaftarkan pengguna pertama.', + successfullyUnlocked: 'Berjaya dibuka kunci', + tokenRefreshSuccessful: 'Token berjaya diperbaharui.', + unableToVerify: 'Tidak dapat mengesahkan', + username: 'Nama pengguna', + usernameNotValid: 'Nama pengguna yang dimasukkan tidak sah', + verified: 'Disahkan', + verifiedSuccessfully: 'Berjaya disahkan', + verify: 'Sahkan', + verifyUser: 'Sahkan pengguna', + verifyYourEmail: 'Sahkan e-mel anda', + youAreInactive: + 'Anda tidak aktif buat seketika dan akan dilog keluar secara automatik sebentar lagi demi keselamatan anda. Adakah anda mahu kekal log masuk?', + youAreReceivingResetPassword: + 'Anda menerima e-mel ini kerana anda (atau orang lain) telah meminta kata laluan akaun anda ditetapkan semula. Sila klik pautan berikut, atau tampalkannya ke dalam pelayar anda untuk melengkapkan proses:', + youDidNotRequestPassword: + 'Jika anda tidak membuat permintaan ini, sila abaikan e-mel ini. Kata laluan anda tidak akan berubah.', + }, + dashboard: { + addButton: 'Tambah +', + addWidget: 'Tambah widget', + deleteWidget: 'Padam widget {{id}}', + discardConfirmLabel: 'Abaikan', + discardMessage: + 'Terdapat perubahan pada susun atur papan pemuka yang belum disimpan. Adakah anda pasti mahu mengabaikannya?', + discardTitle: 'Abaikan perubahan?', + editDashboard: 'Edit papan pemuka', + editingDashboard: 'Sedang mengedit papan pemuka', + noItems: + 'Tiada widget pada papan pemuka anda. Anda boleh menambah widget melalui menu "Papan pemuka" di bar atas.', + resetLayout: 'Tetapkan semula susun atur', + searchWidgets: 'Cari widget...', + }, + error: { + accountAlreadyActivated: 'Akaun ini telah pun diaktifkan.', + autosaving: 'Terdapat masalah semasa menyimpan dokumen ini secara automatik.', + correctInvalidFields: 'Sila betulkan medan yang tidak sah.', + deletingFile: 'Terdapat ralat semasa memadam fail.', + deletingTitle: + 'Terdapat ralat semasa memadam {{title}}. Sila semak sambungan anda dan cuba lagi.', + documentNotFound: + 'Dokumen dengan ID {{id}} tidak ditemui. Dokumen ini mungkin telah dipadam, tidak pernah wujud, atau anda tidak mempunyai akses kepadanya.', + emailOrPasswordIncorrect: 'E-mel atau kata laluan yang dimasukkan tidak betul.', + failedToResetLayout: 'Gagal menetapkan semula susun atur.', + failedToSaveLayout: 'Gagal menyimpan susun atur.', + followingFieldsInvalid_one: 'Medan berikut tidak sah:', + followingFieldsInvalid_other: 'Medan berikut tidak sah:', + incorrectCollection: 'Koleksi tidak betul', + insufficientClipboardPermissions: + 'Akses papan klip dinafikan. Sila semak kebenaran papan klip anda.', + invalidClipboardData: 'Data papan klip tidak sah.', + invalidFileType: 'Jenis fail tidak sah', + invalidFileTypeValue: 'Jenis fail tidak sah: {{value}}', + invalidRequestArgs: 'Argumen yang dihantar dalam permintaan tidak sah: {{args}}', + loadingDocument: 'Terdapat masalah semasa memuatkan dokumen dengan ID {{id}}.', + localesNotSaved_one: 'Locale berikut tidak dapat disimpan:', + localesNotSaved_other: 'Locale berikut tidak dapat disimpan:', + logoutFailed: 'Log keluar gagal.', + missingEmail: 'E-mel tidak disertakan.', + missingIDOfDocument: 'ID dokumen untuk dikemas kini tidak disertakan.', + missingIDOfVersion: 'ID versi tidak disertakan.', + missingRequiredData: 'Data yang diperlukan tidak disertakan.', + noFilesUploaded: 'Tiada fail dimuat naik.', + noMatchedField: 'Tiada medan sepadan ditemui untuk "{{label}}"', + notAllowedToAccessPage: 'Anda tidak dibenarkan mengakses halaman ini.', + notAllowedToPerformAction: 'Anda tidak dibenarkan melakukan tindakan ini.', + notFound: 'Sumber yang diminta tidak ditemui.', + noUser: 'Tiada pengguna', + previewing: 'Terdapat masalah semasa memaparkan pratonton dokumen ini.', + problemUploadingFile: 'Terdapat masalah semasa memuat naik fail.', + restoringTitle: + 'Terdapat ralat semasa memulihkan {{title}}. Sila semak sambungan anda dan cuba lagi.', + revertingDocument: 'Terdapat masalah semasa mengembalikan dokumen ini.', + tokenInvalidOrExpired: 'Token tidak sah atau telah tamat tempoh.', + tokenNotProvided: 'Token tidak diberikan.', + unableToCopy: 'Tidak dapat menyalin.', + unableToDeleteCount: 'Tidak dapat memadam {{count}} daripada {{total}} {{label}}.', + unableToReindexCollection: + 'Ralat semasa mengindeks semula koleksi {{collection}}. Operasi dibatalkan.', + unableToUpdateCount: 'Tidak dapat mengemas kini {{count}} daripada {{total}} {{label}}.', + unauthorized: 'Tidak dibenarkan. Anda mesti log masuk untuk membuat permintaan ini.', + unauthorizedAdmin: 'Tidak dibenarkan. Pengguna ini tidak mempunyai akses kepada panel admin.', + unknown: 'Ralat yang tidak diketahui telah berlaku.', + unPublishingDocument: 'Terdapat masalah semasa menyahterbitkan dokumen ini.', + unspecific: 'Ralat telah berlaku.', + unverifiedEmail: 'Sila sahkan e-mel anda sebelum log masuk.', + userEmailAlreadyRegistered: 'Pengguna dengan e-mel tersebut sudah didaftarkan.', + userLocked: 'Pengguna ini dikunci kerana terlalu banyak percubaan log masuk yang gagal.', + usernameAlreadyRegistered: 'Pengguna dengan nama pengguna tersebut sudah didaftarkan.', + usernameOrPasswordIncorrect: 'Nama pengguna atau kata laluan yang dimasukkan tidak betul.', + valueMustBeUnique: 'Nilai mestilah unik', + verificationTokenInvalid: 'Token pengesahan tidak sah.', + }, + fields: { + addLabel: 'Tambah {{label}}', + addLink: 'Tambah pautan', + addNew: 'Tambah baharu', + addNewLabel: 'Tambah {{label}} baharu', + addRelationship: 'Tambah hubungan', + addUpload: 'Tambah fail', + block: 'Blok', + blocks: 'blok', + blockType: 'Jenis blok', + chooseBetweenCustomTextOrDocument: + 'Pilih sama ada untuk memasukkan URL tersuai atau memaut ke dokumen lain.', + chooseDocumentToLink: 'Pilih dokumen untuk dipautkan', + chooseFromExisting: 'Pilih daripada yang sedia ada', + chooseLabel: 'Pilih {{label}}', + collapseAll: 'Runtuhkan semua', + customURL: 'URL tersuai', + editLabelData: 'Edit data {{label}}', + editLink: 'Edit pautan', + editRelationship: 'Edit hubungan', + enterURL: 'Masukkan URL', + hidePassword: 'Sembunyikan kata laluan', + internalLink: 'Pautan dalaman', + itemsAndMore: '{{items}} dan {{count}} lagi', + labelRelationship: 'Hubungan {{label}}', + latitude: 'Latitud', + linkedTo: 'Dipautkan kepada <0>{{label}}', + linkType: 'Jenis pautan', + longitude: 'Longitud', + newLabel: '{{label}} baharu', + openInNewTab: 'Buka dalam tab baharu', + passwordsDoNotMatch: 'Kata laluan tidak sepadan.', + relatedDocument: 'Dokumen berkaitan', + relationTo: 'Berkaitan dengan', + removeRelationship: 'Alih keluar hubungan', + removeUpload: 'Alih keluar fail', + saveChanges: 'Simpan perubahan', + searchForBlock: 'Cari blok', + searchForLanguage: 'Cari bahasa', + selectExistingLabel: 'Pilih {{label}} sedia ada', + selectFieldsToEdit: 'Pilih medan untuk diedit', + showAll: 'Tunjukkan semua', + showPassword: 'Tunjukkan kata laluan', + swapRelationship: 'Tukar hubungan', + swapUpload: 'Tukar fail', + textToDisplay: 'Teks untuk dipaparkan', + toggleBlock: 'Togol blok', + uploadNewLabel: 'Muat naik {{label}} baharu', + }, + folder: { + browseByFolder: 'Semak imbas mengikut folder', + byFolder: 'Mengikut folder', + deleteFolder: 'Padam folder', + folderName: 'Nama folder', + folders: 'Folder', + folderTypeDescription: 'Pilih jenis dokumen koleksi yang dibenarkan dalam folder ini.', + itemHasBeenMoved: '{{title}} telah dipindahkan ke {{folderName}}', + itemHasBeenMovedToRoot: '{{title}} telah dipindahkan ke folder utama', + itemsMovedToFolder: '{{title}} dipindahkan ke {{folderName}}', + itemsMovedToRoot: '{{title}} dipindahkan ke folder utama', + moveFolder: 'Pindahkan folder', + moveItemsToFolderConfirmation: + 'Anda akan memindahkan <1>{{count}} {{label}} ke <2>{{toFolder}}. Adakah anda pasti?', + moveItemsToRootConfirmation: + 'Anda akan memindahkan <1>{{count}} {{label}} ke folder utama. Adakah anda pasti?', + moveItemToFolderConfirmation: + 'Anda akan memindahkan <1>{{title}} ke <2>{{toFolder}}. Adakah anda pasti?', + moveItemToRootConfirmation: + 'Anda akan memindahkan <1>{{title}} ke folder utama. Adakah anda pasti?', + movingFromFolder: 'Memindahkan {{title}} dari {{fromFolder}}', + newFolder: 'Folder baharu', + noFolder: 'Tiada folder', + renameFolder: 'Namakan semula folder', + searchByNameInFolder: 'Cari mengikut nama dalam {{folderName}}', + selectFolderForItem: 'Pilih folder untuk {{title}}', + }, + general: { + name: 'Nama', + aboutToDelete: 'Anda akan memadam {{label}} <1>{{title}}. Adakah anda pasti?', + aboutToDeleteCount_many: 'Anda akan memadam {{count}} {{label}}', + aboutToDeleteCount_one: 'Anda akan memadam {{count}} {{label}}', + aboutToDeleteCount_other: 'Anda akan memadam {{count}} {{label}}', + aboutToPermanentlyDelete: + 'Anda akan memadam secara kekal {{label}} <1>{{title}}. Adakah anda pasti?', + aboutToPermanentlyDeleteTrash: + 'Anda akan memadam secara kekal <0>{{count}} <1>{{label}} daripada tong sampah. Adakah anda pasti?', + aboutToRestore: 'Anda akan memulihkan {{label}} <1>{{title}}. Adakah anda pasti?', + aboutToRestoreAsDraft: + 'Anda akan memulihkan {{label}} <1>{{title}} sebagai draf. Adakah anda pasti?', + aboutToRestoreAsDraftCount: 'Anda akan memulihkan {{count}} {{label}} sebagai draf', + aboutToRestoreCount: 'Anda akan memulihkan {{count}} {{label}}', + aboutToTrash: + 'Anda akan memindahkan {{label}} <1>{{title}} ke tong sampah. Adakah anda pasti?', + aboutToTrashCount: 'Anda akan memindahkan {{count}} {{label}} ke tong sampah', + addBelow: 'Tambah di bawah', + addFilter: 'Tambah penapis', + adminTheme: 'Tema admin', + all: 'Semua', + allCollections: 'Semua koleksi', + allLocales: 'Semua locale', + and: 'Dan', + anotherUser: 'Pengguna lain', + anotherUserTakenOver: 'Pengguna lain telah mengambil alih sesi edit dokumen ini.', + applyChanges: 'Gunakan perubahan', + ascending: 'Menaik', + automatic: 'Automatik', + backToDashboard: 'Kembali ke papan pemuka', + cancel: 'Batal', + changesNotSaved: + 'Perubahan anda belum disimpan. Jika anda meninggalkan halaman ini sekarang, perubahan tersebut akan hilang.', + clear: 'Kosongkan', + clearAll: 'Kosongkan semua', + close: 'Tutup', + collapse: 'Runtuhkan', + collections: 'Koleksi', + columns: 'Lajur', + columnToSort: 'Lajur untuk disusun', + confirm: 'Sahkan', + confirmCopy: 'Sahkan penyalinan', + confirmDeletion: 'Sahkan pemadaman', + confirmDuplication: 'Sahkan penggandaan', + confirmMove: 'Sahkan pemindahan', + confirmReindex: 'Indeks semula semua {{collections}}?', + confirmReindexAll: 'Indeks semula semua koleksi?', + confirmReindexDescription: + 'Ini akan mengalih keluar indeks sedia ada dan mengindeks semula dokumen dalam koleksi {{collections}}.', + confirmReindexDescriptionAll: + 'Ini akan mengalih keluar indeks sedia ada dan mengindeks semula dokumen dalam semua koleksi.', + confirmRestoration: 'Sahkan pemulihan', + copied: 'Disalin', + copy: 'Salin', + copyField: 'Salin medan', + copying: 'Menyalin', + copyRow: 'Salin baris', + copyWarning: + 'Anda akan menggantikan {{to}} dengan {{from}} untuk {{label}} {{title}}. Adakah anda pasti?', + create: 'Cipta', + created: 'Dicipta', + createdAt: 'Dicipta pada', + createNew: 'Cipta baharu', + createNewLabel: 'Cipta {{label}} baharu', + creating: 'Mencipta', + creatingNewLabel: 'Mencipta {{label}} baharu', + currentlyEditing: + 'sedang mengedit dokumen ini. Jika anda mengambil alih, pengguna tersebut tidak lagi boleh meneruskan edit dan mungkin kehilangan perubahan yang belum disimpan.', + custom: 'Tersuai', + dark: 'Gelap', + dashboard: 'Papan pemuka', + decrement: 'Kurang', + delete: 'Padam', + deleted: 'Dipadam', + deletedAt: 'Dipadam pada', + deletedCountSuccessfully: '{{count}} {{label}} berjaya dipadam.', + deletedSuccessfully: 'Berjaya dipadam.', + deleteLabel: 'Padam {{label}}', + deletePermanently: 'Langkau tong sampah dan padam secara kekal', + deleting: 'Memadam...', + depth: 'Kedalaman', + descending: 'Menurun', + deselectAllRows: 'Nyahpilih semua baris', + document: 'Dokumen', + documentIsTrashed: '{{label}} ini berada dalam tong sampah dan hanya boleh dibaca.', + documentLocked: 'Dokumen dikunci', + documentModified: 'Dokumen diubah suai', + documentOutOfDate: + 'Dokumen ini baru sahaja dikemas kini oleh pengguna lain. Paparan anda tidak lagi terkini.', + documents: 'Dokumen', + duplicate: 'Gandakan', + duplicateWithoutSaving: 'Gandakan tanpa menyimpan perubahan', + edit: 'Edit', + editAll: 'Edit semua', + editedSince: 'Diedit sejak', + editing: 'Mengedit', + editingLabel_many: 'Mengedit {{count}} {{label}}', + editingLabel_one: 'Mengedit {{count}} {{label}}', + editingLabel_other: 'Mengedit {{count}} {{label}}', + editingTakenOver: 'Sesi edit diambil alih', + editLabel: 'Edit {{label}}', + email: 'E-mel', + emailAddress: 'Alamat e-mel', + emptyTrash: 'Kosongkan tong sampah', + emptyTrashLabel: 'Kosongkan tong sampah {{label}}', + enterANumber: 'Masukkan nombor', + enterAValue: 'Masukkan nilai', + error: 'Ralat', + errors: 'Ralat', + exitLivePreview: 'Keluar daripada pratonton langsung', + export: 'Eksport', + fallbackToDefaultLocale: 'Gunakan locale lalai', + false: 'Salah', + filter: 'Penapis', + filters: 'Penapis', + filterWhere: 'Tapis {{label}} mengikut syarat', + globals: 'Global', + goBack: 'Kembali', + groupByLabel: 'Kumpulkan mengikut {{label}}', + import: 'Import', + increment: 'Tambah', + isEditing: 'sedang mengedit', + item: 'Item', + items: 'item', + language: 'Bahasa', + lastModified: 'Kali terakhir diubah suai', + layout: 'Susun atur', + leaveAnyway: 'Keluar juga', + leaveWithoutSaving: 'Keluar tanpa menyimpan', + light: 'Terang', + livePreview: 'Pratonton langsung', + loading: 'Memuatkan', + locale: 'Locale', + locales: 'Locale', + lock: 'Kunci', + menu: 'Menu', + moreOptions: 'Lebih pilihan', + move: 'Pindahkan', + moveConfirm: + 'Anda akan memindahkan {{count}} {{label}} ke <1>{{destination}}. Adakah anda pasti?', + moveCount: 'Pindahkan {{count}} {{label}}', + moveDown: 'Pindahkan ke bawah', + moveUp: 'Pindahkan ke atas', + moving: 'Memindahkan', + movingCount: 'Memindahkan {{count}} {{label}}', + newLabel: '{{label}} baharu', + newPassword: 'Kata laluan baharu', + next: 'Seterusnya', + no: 'Tidak', + noDateSelected: 'Tiada tarikh dipilih', + noFiltersSet: 'Tiada penapis ditetapkan', + noLabel: '', + none: 'Tiada', + noOptions: 'Tiada pilihan', + noResults: + 'Tiada {{label}} ditemui. Sama ada belum ada {{label}} atau tiada yang sepadan dengan penapis yang ditetapkan.', + noResultsDescription: + 'Sama ada belum ada data atau tiada yang sepadan dengan penapis yang ditetapkan.', + noResultsFound: 'Tiada hasil.', + notFound: 'Tidak ditemui', + nothingFound: 'Tiada yang ditemui', + noTrashResults: 'Tiada {{label}} dalam tong sampah.', + noUpcomingEventsScheduled: 'Tiada acara akan datang yang dijadualkan.', + noValue: 'Tiada nilai', + of: 'daripada', + only: 'Hanya', + open: 'Buka', + openInNewWindow: 'Buka dalam tetingkap baharu', + or: 'Atau', + order: 'Susunan', + overwriteExistingData: 'Timpa data medan sedia ada', + pageNotFound: 'Halaman tidak ditemui', + password: 'Kata laluan', + pasteField: 'Tampal medan', + pasteRow: 'Tampal baris', + payloadSettings: 'Tetapan Payload', + permanentlyDelete: 'Padam secara kekal', + permanentlyDeletedCountSuccessfully: '{{count}} {{label}} berjaya dipadam secara kekal.', + perPage: 'Setiap halaman: {{limit}}', + previous: 'Sebelumnya', + reindex: 'Indeks semula', + reindexingAll: 'Mengindeks semula semua {{collections}}.', + reloadDocument: 'Muat semula dokumen', + remove: 'Alih keluar', + rename: 'Namakan semula', + reset: 'Tetapkan semula', + resetPreferences: 'Tetapkan semula keutamaan', + resetPreferencesDescription: + 'Ini akan menetapkan semula semua keutamaan anda kepada tetapan lalai.', + resettingPreferences: 'Sedang menetapkan semula keutamaan.', + restore: 'Pulihkan', + restoreAsPublished: 'Pulihkan sebagai versi diterbitkan', + restoredCountSuccessfully: '{{count}} {{label}} berjaya dipulihkan.', + restoring: 'Memulihkan...', + row: 'Baris', + rows: 'Baris', + save: 'Simpan', + saveChanges: 'Simpan perubahan', + saving: 'Menyimpan...', + schedulePublishFor: 'Jadualkan penerbitan untuk {{title}}', + searchBy: 'Cari mengikut {{label}}', + select: 'Pilih', + selectAll: 'Pilih semua {{count}} {{label}}', + selectAllRows: 'Pilih semua baris', + selectedCount: '{{count}} {{label}} dipilih', + selectLabel: 'Pilih {{label}}', + selectValue: 'Pilih nilai', + showAllLabel: 'Tunjukkan semua {{label}}', + sorryNotFound: 'Maaf—tiada yang sepadan dengan permintaan anda.', + sort: 'Susun', + sortByLabelDirection: 'Susun mengikut {{label}} {{direction}}', + stayOnThisPage: 'Kekal di halaman ini', + submissionSuccessful: 'Penghantaran berjaya.', + submit: 'Hantar', + submitting: 'Menghantar...', + success: 'Berjaya', + successfullyCreated: '{{label}} berjaya dicipta.', + successfullyDuplicated: '{{label}} berjaya digandakan.', + successfullyReindexed: + '{{count}} daripada {{total}} dokumen dalam {{collections}} berjaya diindeks semula, dan {{skips}} draf dilangkau.', + takeOver: 'Ambil alih', + thisLanguage: 'Bahasa Melayu', + time: 'Masa', + timezone: 'Zon waktu', + titleDeleted: '{{label}} "{{title}}" berjaya dipadam.', + titleRestored: '{{label}} "{{title}}" berjaya dipulihkan.', + titleTrashed: '{{label}} "{{title}}" dipindahkan ke tong sampah.', + trash: 'Tong sampah', + trashedCountSuccessfully: '{{count}} {{label}} dipindahkan ke tong sampah.', + true: 'Benar', + unauthorized: 'Tidak dibenarkan', + unlock: 'Buka kunci', + unsavedChanges: + 'Terdapat perubahan yang belum disimpan. Simpan atau abaikan perubahan sebelum meneruskan.', + unsavedChangesDuplicate: + 'Terdapat perubahan yang belum disimpan. Adakah anda mahu terus menggandakan dokumen ini?', + untitled: 'Tanpa tajuk', + upcomingEvents: 'Acara akan datang', + updatedAt: 'Dikemas kini pada', + updatedCountSuccessfully: '{{count}} {{label}} berjaya dikemas kini.', + updatedLabelSuccessfully: '{{label}} berjaya dikemas kini.', + updatedSuccessfully: 'Berjaya dikemas kini.', + updateForEveryone: 'Kemas kini untuk semua', + updating: 'Mengemas kini', + uploading: 'Memuat naik', + uploadingBulk: 'Memuat naik {{current}} daripada {{total}}', + user: 'Pengguna', + username: 'Nama pengguna', + users: 'Pengguna', + value: 'Nilai', + viewing: 'Sedang melihat', + viewReadOnly: 'Lihat dalam mod baca sahaja', + welcome: 'Selamat datang', + yes: 'Ya', + }, + localization: { + cannotCopySameLocale: 'Tidak dapat menyalin ke locale yang sama', + copyFrom: 'Salin daripada', + copyFromTo: 'Menyalin daripada {{from}} ke {{to}}', + copyTo: 'Salin ke', + copyToLocale: 'Salin ke locale', + localeToPublish: 'Locale untuk diterbitkan', + selectedLocales: 'Locale dipilih', + selectLocaleToCopy: 'Pilih locale untuk disalin', + selectLocaleToDuplicate: 'Pilih locale untuk digandakan', + }, + operators: { + contains: 'mengandungi', + equals: 'sama dengan', + exists: 'wujud', + intersects: 'bersilang', + isGreaterThan: 'lebih besar daripada', + isGreaterThanOrEqualTo: 'lebih besar atau sama dengan', + isIn: 'termasuk dalam', + isLessThan: 'lebih kecil daripada', + isLessThanOrEqualTo: 'lebih kecil atau sama dengan', + isLike: 'seperti', + isNotEqualTo: 'tidak sama dengan', + isNotIn: 'tidak termasuk dalam', + isNotLike: 'tidak seperti', + near: 'berhampiran', + within: 'dalam', + }, + upload: { + addFile: 'Tambah fail', + addFiles: 'Tambah fail', + bulkUpload: 'Muat naik pukal', + crop: 'Pangkas', + cropToolDescription: + 'Seret sudut kawasan yang dipilih, lukis kawasan baharu atau laraskan nilai di bawah.', + download: 'Muat turun', + dragAndDrop: 'Seret dan lepas fail', + dragAndDropHere: 'atau seret dan lepas fail di sini', + editImage: 'Edit imej', + fileName: 'Nama fail', + fileSize: 'Saiz fail', + filesToUpload: 'Fail untuk dimuat naik', + fileToUpload: 'Fail untuk dimuat naik', + focalPoint: 'Titik fokus', + focalPointDescription: 'Seret titik fokus terus pada pratonton atau laraskan nilai di bawah.', + height: 'Tinggi', + lessInfo: 'Kurangkan maklumat', + moreInfo: 'Maklumat lanjut', + noFile: 'Tiada fail', + pasteURL: 'Tampal URL', + previewSizes: 'Saiz pratonton', + selectCollectionToBrowse: 'Pilih koleksi untuk disemak imbas', + selectFile: 'Pilih fail', + setCropArea: 'Tetapkan kawasan pangkasan', + setFocalPoint: 'Tetapkan titik fokus', + sizes: 'Saiz', + sizesFor: 'Saiz untuk {{label}}', + width: 'Lebar', + }, + validation: { + emailAddress: 'Sila masukkan alamat e-mel yang sah.', + enterNumber: 'Sila masukkan nombor yang sah.', + fieldHasNo: 'Medan ini tidak mempunyai {{label}}', + greaterThanMax: '{{value}} melebihi {{label}} maksimum yang dibenarkan, iaitu {{max}}.', + invalidBlock: 'Blok "{{block}}" tidak dibenarkan.', + invalidBlocks: 'Medan ini mengandungi blok yang tidak lagi dibenarkan: {{blocks}}.', + invalidInput: 'Input untuk medan ini tidak sah.', + invalidSelection: 'Pilihan untuk medan ini tidak sah.', + invalidSelections: 'Medan ini mempunyai pilihan yang tidak sah berikut:', + latitudeOutOfBounds: 'Latitud mesti antara -90 dan 90.', + lessThanMin: '{{value}} kurang daripada {{label}} minimum yang dibenarkan, iaitu {{min}}.', + limitReached: 'Had dicapai, hanya {{max}} item boleh ditambah.', + longerThanMin: 'Nilai ini mesti lebih panjang daripada {{minLength}} aksara.', + longitudeOutOfBounds: 'Longitud mesti antara -180 dan 180.', + notValidDate: '"{{value}}" bukan tarikh yang sah.', + required: 'Medan ini diperlukan.', + requiresAtLeast: 'Medan ini memerlukan sekurang-kurangnya {{count}} {{label}}.', + requiresNoMoreThan: 'Medan ini tidak boleh melebihi {{count}} {{label}}.', + requiresTwoNumbers: 'Medan ini memerlukan dua nombor.', + shorterThanMax: 'Nilai ini mesti lebih pendek daripada {{maxLength}} aksara.', + timezoneRequired: 'Zon waktu diperlukan.', + trueOrFalse: 'Medan ini hanya boleh bernilai benar atau salah.', + username: + 'Sila masukkan nama pengguna yang sah. Boleh mengandungi huruf, nombor, sempang, titik dan garis bawah.', + validUploadID: 'Medan ini bukan ID muat naik yang sah.', + }, + version: { + type: 'Jenis', + aboutToPublishSelection: + 'Anda akan menerbitkan semua {{label}} dalam pilihan ini. Adakah anda pasti?', + aboutToRestore: + 'Anda akan memulihkan dokumen {{label}} ini kepada keadaan pada {{versionDate}}.', + aboutToRestoreGlobal: + 'Anda akan memulihkan global {{label}} kepada keadaan pada {{versionDate}}.', + aboutToRevertToPublished: + 'Anda akan mengembalikan perubahan dokumen ini kepada versi yang telah diterbitkan. Adakah anda pasti?', + aboutToUnpublish: 'Anda akan menyahterbit dokumen ini. Adakah anda pasti?', + aboutToUnpublishIn: 'Anda akan menyahterbit dokumen ini dalam {{locale}}. Adakah anda pasti?', + aboutToUnpublishSelection: + 'Anda akan menyahterbit semua {{label}} dalam pilihan ini. Adakah anda pasti?', + autosave: 'Simpan automatik', + autosavedSuccessfully: 'Berjaya disimpan secara automatik.', + autosavedVersion: 'Versi simpanan automatik', + changed: 'Diubah', + changedFieldsCount_one: '{{count}} medan diubah', + changedFieldsCount_other: '{{count}} medan diubah', + compareVersion: 'Bandingkan versi dengan:', + compareVersions: 'Bandingkan versi', + comparingAgainst: 'Sedang dibandingkan dengan', + confirmPublish: 'Sahkan penerbitan', + confirmRevertToSaved: 'Sahkan kembali kepada versi yang disimpan', + confirmUnpublish: 'Sahkan penyahterbitan', + confirmVersionRestoration: 'Sahkan pemulihan versi', + currentDocumentStatus: 'Dokumen {{docStatus}} semasa', + currentDraft: 'Draf semasa', + currentlyPublished: 'Telah diterbitkan', + currentlyViewing: 'Sedang melihat', + currentPublishedVersion: 'Versi diterbitkan semasa', + draft: 'Draf', + draftHasPublishedVersion: 'Draf (mempunyai versi diterbitkan)', + draftSavedSuccessfully: 'Draf berjaya disimpan.', + lastSavedAgo: 'Kali terakhir disimpan {{distance}} yang lalu', + modifiedOnly: 'Yang diubah sahaja', + moreVersions: 'Lebih banyak versi...', + noFurtherVersionsFound: 'Tiada versi lain ditemui', + noLabelGroup: 'Kumpulan tanpa nama', + noRowsFound: 'Tiada {{label}} ditemui', + noRowsSelected: 'Tiada {{label}} dipilih', + preview: 'Pratonton', + previouslyDraft: 'Draf sebelum ini', + previouslyPublished: 'Diterbitkan sebelum ini', + previousVersion: 'Versi sebelumnya', + problemRestoringVersion: 'Terdapat masalah semasa memulihkan versi ini', + publish: 'Terbitkan', + publishAllLocales: 'Terbitkan semua locale', + publishChanges: 'Terbitkan perubahan', + published: 'Diterbitkan', + publishIn: 'Terbitkan dalam {{locale}}', + publishing: 'Menerbitkan', + restoreAsDraft: 'Pulihkan sebagai draf', + restoredSuccessfully: 'Berjaya dipulihkan.', + restoreThisVersion: 'Pulihkan versi ini', + restoring: 'Memulihkan...', + reverting: 'Mengembalikan...', + revertToPublished: 'Kembali kepada versi diterbitkan', + revertUnsuccessful: + 'Gagal mengembalikan perubahan. Tiada versi diterbitkan sebelumnya ditemui.', + saveDraft: 'Simpan draf', + scheduledSuccessfully: 'Berjaya dijadualkan.', + schedulePublish: 'Jadualkan penerbitan', + selectLocales: 'Pilih locale untuk dipaparkan', + selectVersionToCompare: 'Pilih versi untuk dibandingkan', + showingVersionsFor: 'Menunjukkan versi untuk:', + showLocales: 'Tunjukkan locale:', + specificVersion: 'Versi tertentu', + status: 'Status', + unpublish: 'Nyahterbit', + unpublished: 'Tidak diterbitkan', + unpublishedSuccessfully: 'Berjaya dinyahterbitkan.', + unpublishIn: 'Nyahterbit dalam {{locale}}', + unpublishing: 'Menyahterbitkan...', + version: 'Versi', + versionAgo: '{{distance}} yang lalu', + versionCount_many: '{{count}} versi ditemui', + versionCount_none: 'Tiada versi ditemui', + versionCount_one: '{{count}} versi ditemui', + versionCount_other: '{{count}} versi ditemui', + versionID: 'ID versi', + versions: 'Versi', + viewingVersion: 'Sedang melihat versi untuk {{entityLabel}} {{documentTitle}}', + viewingVersionGlobal: 'Sedang melihat versi untuk global {{entityLabel}}', + viewingVersions: 'Sedang melihat versi untuk {{entityLabel}} {{documentTitle}}', + viewingVersionsGlobal: 'Sedang melihat versi untuk global {{entityLabel}}', + }, +} + +export const ms: Language = { + dateFNSKey: 'ms', + translations: msTranslations, +} diff --git a/packages/translations/src/types.ts b/packages/translations/src/types.ts index 52409daa73d..d87a0aa2940 100644 --- a/packages/translations/src/types.ts +++ b/packages/translations/src/types.ts @@ -30,6 +30,7 @@ type DateFNSKeys = | 'ko' | 'lt' | 'lv' + | 'ms' | 'nb' | 'nl' | 'pl' diff --git a/packages/translations/src/utilities/languages.ts b/packages/translations/src/utilities/languages.ts index 77c0bb42007..f24b846beec 100644 --- a/packages/translations/src/utilities/languages.ts +++ b/packages/translations/src/utilities/languages.ts @@ -30,6 +30,7 @@ export const acceptedLanguages = [ 'ko', 'lt', 'lv', + 'ms', 'my', 'nb', 'nl', @@ -94,7 +95,6 @@ export const acceptedLanguages = [ * 'ml', * 'mn-Cyrl', * 'mr', - * 'ms', * 'mt', * 'ne', * 'nl-BE',