Pelokalan

Frappe Framework menyertakan alat bawaan yang kuat bernama "Translation" yang memungkinkan pengguna untuk mengelola dan berkontribusi pada pelokalan aplikasi langsung dari antarmuka pengguna. Ini memudahkan pengguna non-developer untuk membantu membuat sistem tersedia dalam berbagai bahasa.

Memahami DocType "Translation"

DocType "Translation" adalah dokumen standar Frappe yang menyimpan semua string teks yang dapat diterjemahkan untuk aplikasi Anda. Ini berfungsi sebagai jembatan antara kode aplikasi dan frasa yang diterjemahkan yang dilihat oleh pengguna.

Mengakses DocType "Translation"

  1. Masuk ke situs Frappe Anda sebagai System Manager atau Administrator.
  2. Klik bilah pencarian (Awesome Bar) atau tekan Ctrl + G / Cmd + G.
  3. Ketik "Translation" dan pilih dari daftar dropdown.
  4. Anda akan diarahkan ke tampilan daftar Translation.

Menambahkan Terjemahan Baru

Untuk menambahkan terjemahan baru:

  1. Klik tombol Add Translation.
  2. Isi kolom-kolom formulir:
    • Language: Pilih bahasa target untuk terjemahan.
    • Source Text: Masukkan teks persis seperti yang muncul di aplikasi.
    • Translated Text: Masukkan versi terjemahan dari teks tersebut.
    • Context (opsional): Berikan konteks untuk menjelaskan penggunaan atau lokasi teks.
  3. Klik Save untuk menerapkan terjemahan.

Untuk Developer: Menandai String untuk Diterjemahkan

Sebagai developer, sangat penting untuk menandai semua string teks yang muncul ke pengguna dalam kode Anda agar dapat dikenali dan diterjemahkan. Dalam proyek ini, kami terutama menggunakan dua fungsi berbeda untuk tujuan ini, tergantung pada bahasa pemrograman: _() untuk Python dan __() untuk JavaScript.

Menggunakan _() dalam Kode Python

Gunakan fungsi _() untuk menandai string agar dapat diterjemahkan di semua file Python Anda (misalnya, di server script DocType, metode API, atau laporan kustom).

  • Tujuan: Terutama untuk menerjemahkan string teks tunggal.
  • Konteks dalam Python: Untuk string yang memiliki teks sama tetapi arti berbeda tergantung pada penggunaannya (misalnya, "Open" sebagai kata kerja vs. "Open" sebagai kata sifat), tambahkan argumen context ke fungsi _().

Contoh Penggunaan:

String Dasar:

import frappe
def sayhello():
    frappe.msgprint(("Welcome to our application!"))

Dengan Placeholder (Format): Gunakan metode .format() milik Python untuk nilai dinamis.

import frappe
def get_greeting(user_name):
    frappe.msgprint(_("Hello, {0}!").format(user_name))

Menggunakan __() dalam Kode JavaScript

Gunakan fungsi __() untuk semua string yang perlu diterjemahkan dalam file JavaScript sisi klien Anda (misalnya, skrip klien DocType, halaman web kustom, atau komponen antarmuka pengguna).

  • Tujuan: Menerjemahkan string teks tunggal dan mendukung format string dengan placeholder.
  • Konteks dalam JavaScript: Untuk string dengan konteks spesifik, gabungkan konteks dan string menggunakan format Context::String dalam pemanggilan __().

Contoh Penggunaan:

String Dasar:

frappe.ui.form.on('MyDocType', {
onload: function(frm) {
    frappe.show_alert({
        message: __("Data loaded successfully."),
        indicator: 'green"
    });
}
});

Dengan Placeholder (Format): Anda dapat menggunakan placeholder berbasis indeks array atau placeholder berbasis nama objek.

let item_count = 3;
frappe.msgprint(__("{0} items found.", [item_count]));

let user = { name: "Alice", role: "Admin" };
frappe.msgprint(__("User {name} with role {role} logged in.", user));
Discard
Save

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on