From 4dd28a5931183e2e60db5fda8c3f0d763f17284e Mon Sep 17 00:00:00 2001 From: OpenProject Actions CI Date: Wed, 29 May 2024 03:05:36 +0000 Subject: [PATCH] update locales from crowdin [ci skip] --- config/locales/crowdin/es.yml | 20 ++++++------- config/locales/crowdin/ru.yml | 20 ++++++------- .../documents/config/locales/crowdin/ms.yml | 8 ++--- .../config/locales/crowdin/js-ms.yml | 8 ++--- .../config/locales/crowdin/ms.yml | 30 +++++++++---------- .../config/locales/crowdin/js-ms.yml | 2 +- modules/meeting/config/locales/crowdin/ms.yml | 22 +++++++------- .../config/locales/crowdin/ms.yml | 12 ++++---- 8 files changed, 61 insertions(+), 61 deletions(-) diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 53eb1750305c..2c64f9bfeff5 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -263,7 +263,7 @@ es: my: "Mis proyectos" favored: "Proyectos favoritos" archived: "Proyectos archivados" - public: "Public project lists" + public: "Lista de proyectos públicos" my_private: "Mis listas de proyectos privados" new: placeholder: "Nueva lista de proyectos" @@ -310,11 +310,11 @@ es: success: "La lista modificada se ha guardado" failure: "La lista modificada no se puede guardar: %{errors}" publish: - success: "The list has been made public" - failure: "The list cannot be made public: %{errors}" + success: "La lista se ha hecho pública" + failure: "La lista no puede hacerse pública: %{errors}" unpublish: - success: "The list has been made private" - failure: "The list cannot be made private: %{errors}" + success: "La lista se ha hecho privada" + failure: "La lista no puede hacerse privada: %{errors}" can_be_saved: "Lista modificada:" can_be_saved_as: "Las modificaciones solo pueden guardarse en una lista nueva:" members: @@ -916,8 +916,8 @@ es: nonexistent: "La columna «%{column}» no existe." format: "%{message}" group_by_hierarchies_exclusive: "es mutuamente exclusivo con el grupo '%{group_by}'. No puede activar ambos." - can_only_be_modified_by_owner: "The query can only be modified by its owner." - need_permission_to_modify_public_query: "You cannot modify a public query." + can_only_be_modified_by_owner: "La consulta sólo puede ser modificada por su propietario." + need_permission_to_modify_public_query: "No puede modificar una consulta pública." filters: custom_fields: inexistent: "No hay ningún campo personalizado para el filtro." @@ -1325,8 +1325,8 @@ es: button_revoke_access: "Revocar acceso" button_revoke_all: "Revocar todos" button_revoke_only: "Revocar solo %{shared_role_name}" - button_publish: "Make public" - button_unpublish: "Make private" + button_publish: "Hacer público" + button_unpublish: "Hacer privado" consent: checkbox_label: He notado y doy mi consentimiento a lo anterior. failure_message: Consentimiento fallido, no puede continuar. @@ -2708,7 +2708,7 @@ es: permission_save_bcf_queries: "Guardar consultas BCF" permission_manage_public_bcf_queries: "Administrar consultas BCF públicas" permission_edit_attribute_help_texts: "Editar textos de ayuda de atributos" - permission_manage_public_project_queries: "Manage public project lists" + permission_manage_public_project_queries: "Administrar las listas públicas de proyectos" placeholders: default: "-" project: diff --git a/config/locales/crowdin/ru.yml b/config/locales/crowdin/ru.yml index 6ecb96476af0..54d103127709 100644 --- a/config/locales/crowdin/ru.yml +++ b/config/locales/crowdin/ru.yml @@ -265,7 +265,7 @@ ru: my: "Мои проекты" favored: "Избранные проекты" archived: "Архивные проекты" - public: "Public project lists" + public: "Списки общедоступных проектов" my_private: "Списки моих личных проектов" new: placeholder: "Список новых проектов" @@ -312,11 +312,11 @@ ru: success: "Измененный список был сохранен" failure: "Измененный список не может быть сохранен: %{errors}" publish: - success: "The list has been made public" - failure: "The list cannot be made public: %{errors}" + success: "Список был сделан общедоступным" + failure: "Список не может быть сделан общедоступным: %{errors}" unpublish: - success: "The list has been made private" - failure: "The list cannot be made private: %{errors}" + success: "Список был сделан приватным" + failure: "Список не может быть сделан приватным: %{errors}" can_be_saved: "Список изменён:" can_be_saved_as: "Изменения могут быть сохранены только в новом списке:" members: @@ -932,8 +932,8 @@ ru: nonexistent: "Столбец '%{column}' не существует." format: "%{message}" group_by_hierarchies_exclusive: "является взаимоисключающим при группировке «%{group_by}». Вы не можете активировать оба." - can_only_be_modified_by_owner: "The query can only be modified by its owner." - need_permission_to_modify_public_query: "You cannot modify a public query." + can_only_be_modified_by_owner: "Запрос может быть изменен только его владельцем." + need_permission_to_modify_public_query: "Вы не можете изменить общедоступный запрос." filters: custom_fields: inexistent: "Для этого фильтра нет настраиваемого поля." @@ -1357,8 +1357,8 @@ ru: button_revoke_access: "Отменить доступ" button_revoke_all: "Отменить всё" button_revoke_only: "Отменить только %{shared_role_name}" - button_publish: "Make public" - button_unpublish: "Make private" + button_publish: "Сделать общедоступным" + button_unpublish: "Сделать приватным" consent: checkbox_label: Принимаю к сведению и соглашаюсь с вышеизложенным. failure_message: Согласие не получено, продолжение невозможно. @@ -2780,7 +2780,7 @@ ru: permission_save_bcf_queries: "Сохранить запросы BCF" permission_manage_public_bcf_queries: "Управление публичными BCF запросами" permission_edit_attribute_help_texts: "Редактировать атрибут справки" - permission_manage_public_project_queries: "Manage public project lists" + permission_manage_public_project_queries: "Управление списками общедоступных проектов" placeholders: default: "-" project: diff --git a/modules/documents/config/locales/crowdin/ms.yml b/modules/documents/config/locales/crowdin/ms.yml index b7715638a0ce..a5ff042ccc8f 100644 --- a/modules/documents/config/locales/crowdin/ms.yml +++ b/modules/documents/config/locales/crowdin/ms.yml @@ -28,16 +28,16 @@ ms: document: "Dokumen" activity: filter: - document: "Dokumen-dokumen" - default_doc_category_tech: "Dokumen teknikal" + document: "Dokumen" + default_doc_category_tech: "Dokumentasi teknikal" default_doc_category_user: "Dokumentasi pengguna" enumeration_doc_categories: "Kategori dokumen" documents: label_attachment_author: "Pengarang lampiran" label_document_added: "Dokumen ditambah" label_document_new: "Dokumen baru" - label_document_plural: "Dokumen-dokumen" + label_document_plural: "Dokumen" label_documents: "Dokumen" permission_manage_documents: "Urus dokumen" permission_view_documents: "Lihat dokumen" - project_module_documents: "Dokumen-dokumen" + project_module_documents: "Dokumen" diff --git a/modules/gitlab_integration/config/locales/crowdin/js-ms.yml b/modules/gitlab_integration/config/locales/crowdin/js-ms.yml index 7ff65f4cfbf0..4219088e7bc2 100644 --- a/modules/gitlab_integration/config/locales/crowdin/js-ms.yml +++ b/modules/gitlab_integration/config/locales/crowdin/js-ms.yml @@ -28,10 +28,10 @@ ms: tab_header_issue: title: "Isu-isu" tab_header_mr: - title: "Gabungkan permintaan" + title: "Penggabungan permintaan" create_mr: - label: Cipta MR - description: Cipta satu Merge Request + label: Cipta PP + description: Cipta satu Penggabungan Permintaan copy_menu: label: Potongan git description: Salin potongan git ke papan klip @@ -45,6 +45,6 @@ ms: tab_issue: empty: 'Tiada isu yang dipautkan lagi. Pautkan isu-isu yang sedia ada dengan menggunakan kod OP#%{wp_id} (atau PP#%{wp_id} untuk pautan peribadi) dalam tajuk/deskripsi isu atau cipta isu yang baru.' tab_mrs: - empty: 'Tiada permintaan gabungan yang dipautkan lagi. Pautkan MR sedia ada dengan menggunakan kod OP#%{wp_id} (atau PP#%{wp_id} untuk pautan peribadi) dalam tajuk/deskripsi MR atau cipta MR yang baru.' + empty: 'Tiada penggabungan permintaan yang dipautkan lagi. Pautkan PP sedia ada dengan menggunakan kod OP#%{wp_id} (atau PP#%{wp_id} untuk pautan peribadi) dalam tajuk/deskripsi PP atau cipta PP yang baru.' gitlab_pipelines: Saluran updated_on: Dikemas kini pada diff --git a/modules/gitlab_integration/config/locales/crowdin/ms.yml b/modules/gitlab_integration/config/locales/crowdin/ms.yml index e703713e50f4..98bcfe092245 100644 --- a/modules/gitlab_integration/config/locales/crowdin/ms.yml +++ b/modules/gitlab_integration/config/locales/crowdin/ms.yml @@ -36,32 +36,32 @@ ms: permission_show_gitlab_content: "Paparkan kandungan GitLab" gitlab_integration: merge_request_opened_comment: > - **MR Dibuka:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah dibuka oleh [%{gitlab_user}](%{gitlab_user_url}). + **PP Dibuka:** Penggabungan permintaan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah dibuka oleh [%{gitlab_user}](%{gitlab_user_url}). merge_request_closed_comment: > - **MR Ditutup:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah ditutup oleh [%{gitlab_user}](%{gitlab_user_url}). + **PP Ditutup:** Penggabungan permintaan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah ditutup oleh [%{gitlab_user}](%{gitlab_user_url}). merge_request_merged_comment: > - **Gabungan MR:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah digabungkan oleh [%{gitlab_user}](%{gitlab_user_url}). + **PP Digabungkan:** Penggabungan permintaan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah digabungkan oleh [%{gitlab_user}](%{gitlab_user_url}). merge_request_reopened_comment: > - **MR Dibuka Semula:** Permintaan gabungan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}). + **PP Dibuka Semula:** Penggabungan permintaan %{mr_number} [%{mr_title}](%{mr_url}) untuk [%{repository}](%{repository_url}) telah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}). note_commit_referenced_comment: > - **Dirujuk dalam Komit:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam Commit Note [%{commit_id}](%{commit_url}) pada [%{repository}](%{repository_url}): %{commit_note} + **Dirujuk dalam Komit:** [%{gitlab_user}](%{gitlab_user_url}) telah merujuk WP ini dalam Nota Komit [%{commit_id}](%{commit_url}) di [%{repository}](%{repository_url}): %{commit_note} note_mr_referenced_comment: > - **Dirujuk dalam MR:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam Merge Request %{mr_number} [%{mr_title}](%{mr_url}) pada [%{repository}](%{repository_url}): %{mr_note} + **Dirujuk dalam PP:** [%{gitlab_user}](%{gitlab_user_url}) telah merujuk WP ini dalam Penggabungan Permintaan %{mr_number} [%{mr_title}](%{mr_url}) pada [%{repository}](%{repository_url}): %{mr_note} note_mr_commented_comment: > - **Memberi komen dalam MR:** [%{gitlab_user}](%{gitlab_user_url}) memberi komen WP ini dalam Merge Request %{mr_number} [%{mr_title}](%{mr_url}) pada [%{repository}](%{repository_url}): %{mr_note} + **Memberi komen dalam PP:** [%{gitlab_user}](%{gitlab_user_url}) memberi komen WP ini dalam Penggabungan Permintaan %{mr_number} [%{mr_title}](%{mr_url}) di [%{repository}](%{repository_url}):%{mr_note} note_issue_referenced_comment: > - **Dirujuk dalam Isu:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam Isu %{issue_number} [%{issue_title}](%{issue_url}) pada [%{repository}](%{repository_url}): %{issue_note} + **Dirujuk dalam Isu:** [%{gitlab_user}](%{gitlab_user_url}) telah merujuk WP ini dalam Isu %{issue_number} [%{issue_title}](%{issue_url}) pada [%{repository}](%{repository_url}): %{issue_note} note_issue_commented_comment: > - **Memberi komen dalam Isu:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam Isu %{issue_number} [%{issue_title}](%{issue_url}) pada [%{repository}](%{repository_url}): %{issue_note} + **Memberi komen dalam Isu:** [%{gitlab_user}](%{gitlab_user_url}) memberi komen WP ini dalam Isu %{issue_number} [%{issue_title}](%{issue_url}) pada [%{repository}](%{repository_url}): %{issue_note} note_snippet_referenced_comment: > - **Dirujuk dalam Snippet:** [%{gitlab_user}](%{gitlab_user_url}) dirujuk WP ini dalam Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) pada [%{repository}](%{repository_url}): %{snippet_note} + **Dirujuk dalam Snippet:** [%{gitlab_user}](%{gitlab_user_url}) telah merujuk WP ini dalam Snippet %{snippet_number} [%{snippet_title}](%{snippet_url}) pada [%{repository}](%{repository_url}): %{snippet_note} issue_opened_referenced_comment: > - **Isu Dibuka:** Isu %{issue_number} [%{issue_title}](%{issue_url}) untuk [%{repository}](%{repository_url}) telah dibuka oleh [%{gitlab_user}](%{gitlab_user_url}). + **Isu Dibuka:** Isu %{issue_number} [%{issue_title}](%{issue_url}) bagi [%{repository}](%{repository_url}) telah dibuka oleh [%{gitlab_user}](%{gitlab_user_url}). issue_closed_referenced_comment: > - **Isu Ditutup:** Isu %{issue_number} [%{issue_title}](%{issue_url}) untuk [%{repository}](%{repository_url}) telah ditutup oleh [%{gitlab_user}](%{gitlab_user_url}). + **Isu Ditutup:** Isu %{issue_number} [%{issue_title}](%{issue_url}) bagi [%{repository}](%{repository_url}) telah ditutup oleh [%{gitlab_user}](%{gitlab_user_url}). issue_reopened_referenced_comment: > - **Isu Dibuka Semula:** Isu %{issue_number} [%{issue_title}](%{issue_url}) untuk [%{repository}](%{repository_url}) telah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}). + **Isu Dibuka Semula:** Isu %{issue_number} [%{issue_title}](%{issue_url}) bagi [%{repository}](%{repository_url}) telah dibuka semula oleh [%{gitlab_user}](%{gitlab_user_url}). push_single_commit_comment: > - **Ditolak ke MR** [%{gitlab_user}] (%{gitlab_user_url}) ditolak [%{commit_number}] (%{commit_url}) ke [%{repository}] (%{repository_url}) di %{commit_timestamp}: %{commit_note} + **Ditolak masuk PP** [%{gitlab_user}] (%{gitlab_user_url}) ditolak [%{commit_number}] (%{commit_url}) ke [%{repository}] (%{repository_url}) pada %{commit_timestamp}: %{commit_note} push_multiple_commits_comment: > - **Ditolak ke MR** [%{gitlab_user}] (%{gitlab_user_url}) beberapa komit telah ditolak [%{commit_number}] (%{commit_url}) ke [%{repository}] (%{repository_url}) pada %{commit_timestamp}: %{commit_note} + **Ditolak masuk PG** [%{gitlab_user}] (%{gitlab_user_url}) beberapa komit telah ditolak [%{commit_number}] (%{commit_url}) ke [%{repository}] (%{repository_url}) pada %{commit_timestamp}: %{commit_note} diff --git a/modules/job_status/config/locales/crowdin/js-ms.yml b/modules/job_status/config/locales/crowdin/js-ms.yml index b43a2e070be5..bd9a17950282 100644 --- a/modules/job_status/config/locales/crowdin/js-ms.yml +++ b/modules/job_status/config/locales/crowdin/js-ms.yml @@ -10,7 +10,7 @@ ms: errors: 'Beberapa ralat telah berlaku' generic_messages: not_found: 'Kerja ini tidak dapat ditemui.' - in_queue: 'Kerja ini sedang menunggu giliran dan akan diproses sebentar lagi.' + in_queue: 'Kerja ini telah dibaris gilirkan dan akan diproses sebentar lagi.' in_process: 'Kerja ini sedang diproses.' error: 'Kerja ini gagal disiapkan.' cancelled: 'Kerja ini telah dibatalkan disebabkan oleh sebuah ralat.' diff --git a/modules/meeting/config/locales/crowdin/ms.yml b/modules/meeting/config/locales/crowdin/ms.yml index 84a6870db3d6..d7917b6f4d30 100644 --- a/modules/meeting/config/locales/crowdin/ms.yml +++ b/modules/meeting/config/locales/crowdin/ms.yml @@ -63,7 +63,7 @@ ms: description_attended: "dihadiri" description_invite: "dijemput" events: - meeting: Mesyuarat telah diedit + meeting: Mesyuarat diedit meeting_agenda: Agenda mesyuarat yang diedit meeting_agenda_closed: Agenda mesyuarat ditutup meeting_agenda_opened: Agenda mesyuarat dibuka @@ -73,12 +73,12 @@ ms: label_meeting: "Mesyuarat" label_meeting_plural: "Mesyuarat-mesyuarat" label_meeting_new: "Mesyuarat Baharu" - label_meeting_edit: "Edit mesyuarat" + label_meeting_edit: "Edit Mesyuarat" label_meeting_agenda: "Agenda" - label_meeting_minutes: "Minit" + label_meeting_minutes: "Minit Mesyuarat" label_meeting_close: "Tutup" label_meeting_open: "Buka" - label_meeting_agenda_close: "Tutup agenda untuk mulakan Minit mesyuarat" + label_meeting_agenda_close: "Tutup agenda untuk mulakan Minit Mesyuarat" label_meeting_date_time: "Tarikh/Masa" label_meeting_diff: "Beza" label_upcoming_meetings: "Mesyuarat akan datang" @@ -98,11 +98,11 @@ ms: label_start_date: "Tarikh mula" meeting: attachments: - text: "Lampirkan fail yang tersedia kepada semua peserta mesyuarat. Anda juga boleh menarik dan melepaskannya ke dalam nota item agenda." + text: "Fail yang dilampirkan tersedia kepada semua peserta mesyuarat. Anda juga boleh menarik dan melepaskannya ke dalam nota item agenda." copy: title: "Salin mesyuarat: %{title}" attachments: "Salin lampiran" - attachments_text: "Salin semua fail yang dilampirkan ke dalam mesyuarat baharu" + attachments_text: "Salin semua fail yang dilampirkan ke mesyuarat baharu" agenda: "Salin agenda" agenda_text: "Salin agenda mesyuarat lama" email: @@ -124,7 +124,7 @@ ms: structured: "Dinamik" structured_text: "Aturkan mesyuarat anda sebagai senarai butiran agenda, pautkannya ke pakej kerja secara pilihan." structured_text_copy: "Menyalin mesyuarat pada masa ini tidak akan menyalin item agenda mesyuarat yang berkaitan, hanya butiran sahaja" - copied: "Disalin dari Mesyuarat #%{id}" + copied: "Disalin daripada Mesyuarat #%{id}" meeting_section: untitled_title: "Bahagian tanpa tajuk" delete_confirmation: "Memadam bahagian ini akan memadam setiap item agenda juga. Adakah anda pasti anda ingin berbuat demikian?" @@ -155,7 +155,7 @@ ms: text_meeting_minutes_for_meeting: 'minit untuk mesyuarat "%{meeting}"' text_notificiation_invited: "Mel ini mengandungi entri ics untuk mesyuarat dibawah:" text_meeting_empty_heading: "Mesyuarat anda kosong" - text_meeting_empty_description_1: "Mula dengan menambah item agenda dibawah. Setiap item boleh jadi seringkas tajuk, tapi anda juga boleh tambah butiran tambahan seperti tempoh masa dan nota." + text_meeting_empty_description_1: "Mulakan dengan menambah item agenda dibawah. Setiap item boleh jadi seringkas tajuk, tapi anda juga boleh menambah butiran tambahan seperti tempoh masa dan nota." text_meeting_empty_description_2: 'Anda juga boleh menambah rujukan ke pakej kerja yang sedia ada. Apabila anda lakukannya, nota berkaitan boleh dilihat dalam tab "Mesyuarat" pakej kerja secara automatik.' label_meeting_empty_action: "Tambah item agenda" label_meeting_actions: "Tindakan mesyuarat" @@ -165,7 +165,7 @@ ms: label_meeting_last_updated: "Kemas kini terakhir" label_agenda_items: "Item-item agenda" label_agenda_items_reordered: "disusun semula" - label_agenda_item_remove: "Keluarkan dari agenda" + label_agenda_item_remove: "Keluarkan daripada agenda" label_agenda_item_undisclosed_wp: "Pakej kerja #%{id} tidak kelihatan" label_agenda_item_deleted_wp: " Rujukan pakej kerja yang dipadam" label_agenda_item_actions: "Tindakan item agenda" @@ -188,11 +188,11 @@ ms: label_meeting_state_closed_html: "Ditutup" label_meeting_reopen_action: "Buka semula mesyuarat" label_meeting_close_action: "Tutup mesyuarat" - text_meeting_open_description: "Mesyuarat ini dibuka. Anda boleh tambah/keluarkan item agenda dan mengeditnya. Setelah mesyuarat berakhir, tutup untuk menguncinya." + text_meeting_open_description: "Mesyuarat ini dibuka. Anda boleh tambah/keluarkan item agenda dan mengeditnya mengikut kesukaan anda. Setelah mesyuarat berakhir, tutup untuk menguncinya." text_meeting_closed_description: "Mesyuarat ini ditutup. Anda tidak boleh tambah/keluarkan item agenda lagi." label_meeting_manage_participants: "Urus peserta" label_meeting_no_participants: "Tiada peserta" - label_meeting_show_hide_participants: "Paparkan/sorokkan %{count} lagi" + label_meeting_show_hide_participants: "Paparkan/sembunyikan %{count} lagi" label_meeting_show_all_participants: "Paparkan semua" label_meeting_add_participants: "Tambah peserta" text_meeting_not_editable_anymore: "Mesyuarat ini tidak boleh diedit lagi." diff --git a/modules/openid_connect/config/locales/crowdin/ms.yml b/modules/openid_connect/config/locales/crowdin/ms.yml index b4ee3ef8219c..4a17299c29ad 100644 --- a/modules/openid_connect/config/locales/crowdin/ms.yml +++ b/modules/openid_connect/config/locales/crowdin/ms.yml @@ -14,13 +14,13 @@ ms: scope: Skop limit_self_registration: Hadkan pendaftaran sendiri openid_connect: - menu_title: Pembekal OpenID + menu_title: Penyedia OpenID providers: - label_add_new: Tambah pembekal OpenID baharu - label_edit: Edit pembekal OpenID %{name} - no_results_table: Belum ada pembekal yang ditetapkan lagi. - plural: Pembekal OpenID - singular: Pembekal OpenID + label_add_new: Tambah penyedia OpenID baru + label_edit: Edit penyedia OpenID %{name} + no_results_table: Belum ada penyedia yang ditetapkan lagi. + plural: Penyedia OpenID + singular: Penyedia OpenID setting_instructions: azure_deprecation_warning: > Aplikasi Azure yang dikonfigurasikan menghala ke API yang ditamatkan daripada Azure. Sila buat aplikasi Azure baharu untuk memastikan kefungsiannya pada masa akan datang.