{"title":"Bentuk lokalisasi","version":"6.0","locale":"id","docname":"topics/i18n/formatting","url":"/id/6.0/topics/i18n/formatting/","canonical":"https://djangodocs.dev/id/6.0/topics/i18n/formatting/","summary":"Ikhtisar Link to this heading # Django's formatting system is capable of displaying dates, times and numbers in templates using the format specified for the current…","html":"<h1>Bentuk lokalisasi<a class=\"heading-anchor\" href=\"#format-localization\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"overview\">\n<h2>Ikhtisar<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django's formatting system is capable of displaying dates, times and numbers in\ntemplates using the format specified for the current\n<a class=\"reference internal\" href=\"/id/6.0/topics/i18n/#term-locale-name\"><span class=\"xref std std-term\">locale</span></a>. It also handles localized input in forms.</p>\n<p>Dua pengguna mengakses isi sama mungkin melihat tanggal, waktu dan angka berbentuk dalam cara berbeda, bergantung pada bentuk untuk lokal saat ini mereka.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Untuk mengadakan pembentukan angka dengan pemisah ribuan, diperlukan untuk menyetel <a class=\"reference internal\" href=\"/id/6.0/ref/settings/#std-setting-USE_THOUSAND_SEPARATOR\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USE_THOUSAND_SEPARATOR</span> <span class=\"pre\">=</span> <span class=\"pre\">True</span></code></a> Dalam berkas setelan. Cara lain, anda dapat menggunakan <a class=\"reference internal\" href=\"/id/6.0/ref/contrib/humanize/#std-templatefilter-intcomma\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">intcomma</span></code></a> untuk membentuk angka dalam cetakan anda.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>There is a related <a class=\"reference internal\" href=\"/id/6.0/ref/settings/#std-setting-USE_I18N\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USE_I18N</span></code></a> setting that controls if Django\nshould activate translation. See <a class=\"reference internal\" href=\"/id/6.0/topics/i18n/translation/\"><span class=\"doc\">Terjemahan</span></a> for more\ndetails.</p>\n</aside>\n</section>\n<section id=\"locale-aware-input-in-forms\">\n<h2>Masukan sadar lokal dalam formulir<a class=\"heading-anchor\" href=\"#locale-aware-input-in-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Ketika pembentukan diadakan, Django menggunakan bentuk lokalisasi ketika mengurai tanggal, waktu dan sejumlah dalam formulir. Itu berarti itu mencoba bentuk berbeda untuk lokal-lokal berbeda ketika menebak bentuk digunakan oleh pengguna ketika memasukkan data pada formulir.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Django menggunakan bentuk-bentuk berbeda untuk menampilkan data pada itu digunakan untuk mengurai data. Kebanyakan terutama, bentuk-bentuk untuk mengurai tanggal tidak dapat menggunakan <code class=\"docutils literal notranslate\"><span class=\"pre\">%a</span></code> (nama hari kerja disingkat), <code class=\"docutils literal notranslate\"><span class=\"pre\">%A</span></code> (nama hari kerja penuh), <code class=\"docutils literal notranslate\"><span class=\"pre\">%b</span></code> (nama bulan disingkat), <code class=\"docutils literal notranslate\"><span class=\"pre\">%B</span></code> (nama bulan penuh), atau <code class=\"docutils literal notranslate\"><span class=\"pre\">%p</span></code> (AM/PM).</p>\n</aside>\n<p>Untuk mengadakan bidang formulir untuk melokalkan masukan dan keluaran data menggunakan argumen <code class=\"docutils literal notranslate\"><span class=\"pre\">localize</span></code> nya:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">CashRegisterForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">product</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n    <span class=\"n\">revenue</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">DecimalField</span><span class=\"p\">(</span><span class=\"n\">max_digits</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">,</span> <span class=\"n\">decimal_places</span><span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"n\">localize</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"controlling-localization-in-templates\">\n<span id=\"topic-l10n-templates\"></span><h2>Mengendalikan lokalisasi dalam cetakan-cetakan<a class=\"heading-anchor\" href=\"#controlling-localization-in-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django mencoba menggunakan format spesifik lokal ketika itu mengeluarkan nilai dalam cetakan.</p>\n<p>Bagaimanapun, itu mungkin tidak selalu sesuai untuk menggunakan nilai-nilai lokal -- sebagai contoh, jika anda sedang mengeluarkan JavaScript atau XML yang dirancang untuk menjadi dapat-dibaca-mesin, anda akan selalu ingin nilai-nilai tidak terlokalisasi. Anda mungkin ingin juga menggunakan lokalisasi dalam cetakan-cetakan terpilih, daripada menggunakan lokalisasi dimanapun,</p>\n<p>Untuk mengizinkan pengendalian baik terhadap penggunaan lokalisasi, Django menyediakan pustaka cetakan <code class=\"docutils literal notranslate\"><span class=\"pre\">l10n</span></code> yang mengandung etiket-etiket dan penyaring-penyaring berikut</p>\n<section id=\"template-tags\">\n<h3>Etiket cetakan<a class=\"heading-anchor\" href=\"#template-tags\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"localize\">\n<span id=\"std-templatetag-localize\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">localize</span></code><a class=\"heading-anchor\" href=\"#localize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Mengadakan atau meniadakan lokalisasi dari variabel-variabel cetakan dalam blok terkandung.</p>\n<p>Untuk mengaktivasi atau menonaktifvasi lokalisasi untuk blok cetakan, gunakan:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"cp\">{%</span> <span class=\"k\">load</span> <span class=\"nv\">l10n</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">localize</span> <span class=\"nv\">on</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">value</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endlocalize</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{%</span> <span class=\"k\">localize</span> <span class=\"nv\">off</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">value</span> <span class=\"cp\">}}</span>\n<span class=\"cp\">{%</span> <span class=\"k\">endlocalize</span> <span class=\"cp\">%}</span>\n</code></pre></div>\n<p>When localization is disabled, the <a class=\"reference internal\" href=\"/id/6.0/ref/settings/#settings-l10n\"><span class=\"std std-ref\">localization settings</span></a>\nformats are applied.</p>\n<p>Lihat <a class=\"reference internal\" href=\"#std-templatefilter-localize\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">localize</span></code></a> dan <a class=\"reference internal\" href=\"#std-templatefilter-unlocalize\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">unlocalize</span></code></a> untuk penyaring cetakan yang akan melakukan pekerjaan sama pada dasar per-variabel.</p>\n</section>\n</section>\n<section id=\"template-filters\">\n<h3>Filter templat<a class=\"heading-anchor\" href=\"#template-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<section id=\"std-templatefilter-localize\">\n<span id=\"id1\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">localize</span></code><a class=\"heading-anchor\" href=\"#std-templatefilter-localize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>memaksa lokalisasi pada sebuah nilai tunggal.</p>\n<p>Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"cp\">{%</span> <span class=\"k\">load</span> <span class=\"nv\">l10n</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">localize</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>Untuk meniadakan lokalisasi pada sebuah nilai tunggal, gunakan <a class=\"reference internal\" href=\"#std-templatefilter-unlocalize\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">unlocalize</span></code></a>. Untuk mengendalikan lokalisasi terhadap bagian besar dari sebuah cetakan, gunakan etiket cetakan <a class=\"reference internal\" href=\"#std-templatetag-localize\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">localize</span></code></a>.</p>\n</section>\n<section id=\"unlocalize\">\n<span id=\"std-templatefilter-unlocalize\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">unlocalize</span></code><a class=\"heading-anchor\" href=\"#unlocalize\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Memaksa sebuah nilai tunggal untuk dicetak tanpa lokalisasi.</p>\n<p>Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"cp\">{%</span> <span class=\"k\">load</span> <span class=\"nv\">l10n</span> <span class=\"cp\">%}</span>\n\n<span class=\"cp\">{{</span> <span class=\"nv\">value</span><span class=\"o\">|</span><span class=\"nf\">unlocalize</span> <span class=\"cp\">}}</span>\n</code></pre></div>\n<p>Untuk memaksa lokalisasi pada sebuah nilai tunggal, gunakan <a class=\"reference internal\" href=\"#std-templatefilter-localize\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">localize</span></code></a>. Untuk mengendalikan lokalisasi terhadap bagian besar dari sebuah cetakan, gunakan etiket cetakan <a class=\"reference internal\" href=\"#std-templatetag-localize\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">localize</span></code></a>.</p>\n<p>Returns a string representation for numbers  (<code class=\"docutils literal notranslate\"><span class=\"pre\">int</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">float</span></code>, or\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Decimal</span></code>) with the <a class=\"reference internal\" href=\"/id/6.0/ref/settings/#settings-l10n\"><span class=\"std std-ref\">localization settings</span></a> formats\napplied.</p>\n</section>\n</section>\n</section>\n<section id=\"creating-custom-format-files\">\n<span id=\"custom-format-files\"></span><h2>Membuat berkas bentuk disesuaikan<a class=\"heading-anchor\" href=\"#creating-custom-format-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django provides format definitions for many locales, but sometimes you might\nwant to create your own, because a format file doesn't exist for your locale,\nor because you want to overwrite some of the values.</p>\n<p>To use custom formats, specify the path where you'll place format files\nfirst. To do that, set your <a class=\"reference internal\" href=\"/id/6.0/ref/settings/#std-setting-FORMAT_MODULE_PATH\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">FORMAT_MODULE_PATH</span></code></a> setting to the\npackage where format files will exist, for instance:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">FORMAT_MODULE_PATH</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"s2\">&quot;mysite.formats&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;some_app.formats&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Berkas-berkas tidak ditempatkan langsung dalam direktori ini, tetapi dalam sebuah direktori bernama seperti lokal, dan harus dinamai <code class=\"docutils literal notranslate\"><span class=\"pre\">formats.py</span></code>. Waspadalah tidak menaruh informasi sensitif dalam berkas-berkas ini didalam dapat dikeluarkan jika anda melewatkan string <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></code> (digunakan oleh penyaring cetakan <a class=\"reference internal\" href=\"/id/6.0/ref/templates/builtins/#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\"><span class=\"pre\">date</span></code></a>).</p>\n<p>Untuk menyesuaikan bentuk Inggris, struktur seperti ini akan diperlukan:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>mysite/\n    formats/\n        __init__.py\n        en/\n            __init__.py\n            formats.py\n</code></pre></div>\n<p>Selagi <code class=\"file docutils literal notranslate\"><span class=\"pre\">formats.py</span></code> mengandung pengertian bentuk penyesuaian. Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">THOUSAND_SEPARATOR</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;</span><span class=\"se\">\\xa0</span><span class=\"s2\">&quot;</span>\n</code></pre></div>\n<p>untuk menggunakan ruang tanpa-berhenti (Unicode <code class=\"docutils literal notranslate\"><span class=\"pre\">00A0</span></code>) sebagai pemisah ribuan, bukannya awalan untuk Inggris, sebuah koma.</p>\n</section>\n<section id=\"limitations-of-the-provided-locale-formats\">\n<h2>Batasan-batasan dari bentuk lokal disediakan.<a class=\"heading-anchor\" href=\"#limitations-of-the-provided-locale-formats\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Beberapa lokal menggunakan bentuk konteks-sensitif untuk angka, dimana sistem lokalisasi Django tidak dapat ditangani otomatis.</p>\n<section id=\"switzerland-german-french\">\n<h3>Switzerland (German, French)<a class=\"heading-anchor\" href=\"#switzerland-german-french\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The Swiss number formatting traditionally varies depending on context. For\nexample, monetary values may use a dot as decimal separator (<code class=\"docutils literal notranslate\"><span class=\"pre\">Fr.</span> <span class=\"pre\">23.50</span></code>),\nwhile measurements often use a comma (<code class=\"docutils literal notranslate\"><span class=\"pre\">22,5</span> <span class=\"pre\">m</span></code>). Django’s localization system\ndoes not support such context-specific variations automatically.</p>\n<p>The locale format provided by Django uses the generic separators, a comma for\ndecimal and a space for thousand separators.</p>\n</section>\n</section>","rootId":"format-localization","toc":[{"title":"Ikhtisar","anchor":"overview","children":[]},{"title":"Masukan sadar lokal dalam formulir","anchor":"locale-aware-input-in-forms","children":[]},{"title":"Mengendalikan lokalisasi dalam cetakan-cetakan","anchor":"controlling-localization-in-templates","children":[{"title":"Etiket cetakan","anchor":"template-tags","children":[{"title":"localize","anchor":"localize","children":[]}]},{"title":"Filter templat","anchor":"template-filters","children":[{"title":"localize","anchor":"std-templatefilter-localize","children":[]},{"title":"unlocalize","anchor":"unlocalize","children":[]}]}]},{"title":"Membuat berkas bentuk disesuaikan","anchor":"creating-custom-format-files","children":[]},{"title":"Batasan-batasan dari bentuk lokal disediakan.","anchor":"limitations-of-the-provided-locale-formats","children":[{"title":"Switzerland (German, French)","anchor":"switzerland-german-french","children":[]}]}],"breadcrumbs":[{"docname":"topics/index","title":"Menggunakan Django","url":"/id/6.0/topics/"},{"docname":"topics/i18n/index","title":"Internasionalisasi dan lokalisasi","url":"/id/6.0/topics/i18n/"}],"prev":{"docname":"topics/i18n/translation","title":"Terjemahan","url":"/id/6.0/topics/i18n/translation/"},"next":{"docname":"topics/i18n/timezones","title":"Zona waktu","url":"/id/6.0/topics/i18n/timezones/"},"formats":{"html":"/id/6.0/topics/i18n/formatting/","markdown":"/id/6.0/topics/i18n/formatting.md","json":"/id/6.0/topics/i18n/formatting.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/topics/i18n/formatting.txt","official":"https://docs.djangoproject.com/id/6.0/topics/i18n/formatting/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}