diff --git a/.tx/config b/.tx/config
index 3d20c53234..d8dce705c9 100644
--- a/.tx/config
+++ b/.tx/config
@@ -19,6 +19,7 @@ trans.fi = public/language/fi/category.json
trans.fr = public/language/fr/category.json
trans.he = public/language/he/category.json
trans.hu = public/language/hu/category.json
+trans.id = public/language/id/category.json
trans.it = public/language/it/category.json
trans.ja = public/language/ja/category.json
trans.ko = public/language/ko/category.json
@@ -58,6 +59,7 @@ trans.fi = public/language/fi/login.json
trans.fr = public/language/fr/login.json
trans.he = public/language/he/login.json
trans.hu = public/language/hu/login.json
+trans.id = public/language/id/login.json
trans.it = public/language/it/login.json
trans.ja = public/language/ja/login.json
trans.ko = public/language/ko/login.json
@@ -96,6 +98,7 @@ trans.fi = public/language/fi/recent.json
trans.fr = public/language/fr/recent.json
trans.he = public/language/he/recent.json
trans.hu = public/language/hu/recent.json
+trans.id = public/language/id/recent.json
trans.it = public/language/it/recent.json
trans.ja = public/language/ja/recent.json
trans.ko = public/language/ko/recent.json
@@ -134,6 +137,7 @@ trans.fi = public/language/fi/unread.json
trans.fr = public/language/fr/unread.json
trans.he = public/language/he/unread.json
trans.hu = public/language/hu/unread.json
+trans.id = public/language/id/unread.json
trans.it = public/language/it/unread.json
trans.ja = public/language/ja/unread.json
trans.ko = public/language/ko/unread.json
@@ -172,6 +176,7 @@ trans.fi = public/language/fi/modules.json
trans.fr = public/language/fr/modules.json
trans.he = public/language/he/modules.json
trans.hu = public/language/hu/modules.json
+trans.id = public/language/id/modules.json
trans.it = public/language/it/modules.json
trans.ja = public/language/ja/modules.json
trans.ko = public/language/ko/modules.json
@@ -210,6 +215,7 @@ trans.fi = public/language/fi/register.json
trans.fr = public/language/fr/register.json
trans.he = public/language/he/register.json
trans.hu = public/language/hu/register.json
+trans.id = public/language/id/register.json
trans.it = public/language/it/register.json
trans.ja = public/language/ja/register.json
trans.ko = public/language/ko/register.json
@@ -248,6 +254,7 @@ trans.fi = public/language/fi/user.json
trans.fr = public/language/fr/user.json
trans.he = public/language/he/user.json
trans.hu = public/language/hu/user.json
+trans.id = public/language/id/user.json
trans.it = public/language/it/user.json
trans.ja = public/language/ja/user.json
trans.ko = public/language/ko/user.json
@@ -286,6 +293,7 @@ trans.fi = public/language/fi/global.json
trans.fr = public/language/fr/global.json
trans.he = public/language/he/global.json
trans.hu = public/language/hu/global.json
+trans.id = public/language/id/global.json
trans.it = public/language/it/global.json
trans.ja = public/language/ja/global.json
trans.ko = public/language/ko/global.json
@@ -324,6 +332,7 @@ trans.fi = public/language/fi/notifications.json
trans.fr = public/language/fr/notifications.json
trans.he = public/language/he/notifications.json
trans.hu = public/language/hu/notifications.json
+trans.id = public/language/id/notifications.json
trans.it = public/language/it/notifications.json
trans.ja = public/language/ja/notifications.json
trans.ko = public/language/ko/notifications.json
@@ -362,6 +371,7 @@ trans.fi = public/language/fi/reset_password.json
trans.fr = public/language/fr/reset_password.json
trans.he = public/language/he/reset_password.json
trans.hu = public/language/hu/reset_password.json
+trans.id = public/language/id/reset_password.json
trans.it = public/language/it/reset_password.json
trans.ja = public/language/ja/reset_password.json
trans.ko = public/language/ko/reset_password.json
@@ -400,6 +410,7 @@ trans.fi = public/language/fi/users.json
trans.fr = public/language/fr/users.json
trans.he = public/language/he/users.json
trans.hu = public/language/hu/users.json
+trans.id = public/language/id/users.json
trans.it = public/language/it/users.json
trans.ja = public/language/ja/users.json
trans.ko = public/language/ko/users.json
@@ -438,6 +449,7 @@ trans.fi = public/language/fi/language.json
trans.fr = public/language/fr/language.json
trans.he = public/language/he/language.json
trans.hu = public/language/hu/language.json
+trans.id = public/language/id/language.json
trans.it = public/language/it/language.json
trans.ja = public/language/ja/language.json
trans.ko = public/language/ko/language.json
@@ -476,6 +488,7 @@ trans.fi = public/language/fi/pages.json
trans.fr = public/language/fr/pages.json
trans.he = public/language/he/pages.json
trans.hu = public/language/hu/pages.json
+trans.id = public/language/id/pages.json
trans.it = public/language/it/pages.json
trans.ja = public/language/ja/pages.json
trans.ko = public/language/ko/pages.json
@@ -514,6 +527,7 @@ trans.fi = public/language/fi/topic.json
trans.fr = public/language/fr/topic.json
trans.he = public/language/he/topic.json
trans.hu = public/language/hu/topic.json
+trans.id = public/language/id/topic.json
trans.it = public/language/it/topic.json
trans.ja = public/language/ja/topic.json
trans.ko = public/language/ko/topic.json
@@ -552,6 +566,7 @@ trans.fi = public/language/fi/success.json
trans.fr = public/language/fr/success.json
trans.he = public/language/he/success.json
trans.hu = public/language/hu/success.json
+trans.id = public/language/id/success.json
trans.it = public/language/it/success.json
trans.ja = public/language/ja/success.json
trans.ko = public/language/ko/success.json
@@ -590,6 +605,7 @@ trans.fi = public/language/fi/error.json
trans.fr = public/language/fr/error.json
trans.he = public/language/he/error.json
trans.hu = public/language/hu/error.json
+trans.id = public/language/id/error.json
trans.it = public/language/it/error.json
trans.ja = public/language/ja/error.json
trans.ko = public/language/ko/error.json
@@ -628,6 +644,7 @@ trans.fi = public/language/fi/tags.json
trans.fr = public/language/fr/tags.json
trans.he = public/language/he/tags.json
trans.hu = public/language/hu/tags.json
+trans.id = public/language/id/tags.json
trans.it = public/language/it/tags.json
trans.ja = public/language/ja/tags.json
trans.ko = public/language/ko/tags.json
@@ -666,6 +683,7 @@ trans.fi = public/language/fi/email.json
trans.fr = public/language/fr/email.json
trans.he = public/language/he/email.json
trans.hu = public/language/hu/email.json
+trans.id = public/language/id/email.json
trans.it = public/language/it/email.json
trans.ja = public/language/ja/email.json
trans.ko = public/language/ko/email.json
@@ -704,6 +722,7 @@ trans.fi = public/language/fi/search.json
trans.fr = public/language/fr/search.json
trans.he = public/language/he/search.json
trans.hu = public/language/hu/search.json
+trans.id = public/language/id/search.json
trans.it = public/language/it/search.json
trans.ja = public/language/ja/search.json
trans.ko = public/language/ko/search.json
@@ -742,6 +761,7 @@ trans.fi = public/language/fi/groups.json
trans.fr = public/language/fr/groups.json
trans.he = public/language/he/groups.json
trans.hu = public/language/hu/groups.json
+trans.id = public/language/id/groups.json
trans.it = public/language/it/groups.json
trans.ja = public/language/ja/groups.json
trans.ko = public/language/ko/groups.json
diff --git a/public/language/id/category.json b/public/language/id/category.json
new file mode 100644
index 0000000000..89be56e6ff
--- /dev/null
+++ b/public/language/id/category.json
@@ -0,0 +1,8 @@
+{
+ "new_topic_button": "Topik Baru",
+ "no_topics": "Tidak ada topik dikategori ini
Mengapa anda tidak mencoba membuat yang baru?",
+ "browsing": "penjelajahan",
+ "no_replies": "Belum ada orang yang menjawab",
+ "share_this_category": "Bagikan kategori ini",
+ "ignore": "Abaikan"
+}
\ No newline at end of file
diff --git a/public/language/id/email.json b/public/language/id/email.json
new file mode 100644
index 0000000000..cddffe26df
--- /dev/null
+++ b/public/language/id/email.json
@@ -0,0 +1,23 @@
+{
+ "password-reset-requested": "Permintaan atur ulang Kata Sandi - %1!",
+ "welcome-to": "Selamat datang di %1",
+ "greeting_no_name": "Hai",
+ "greeting_with_name": "Hai %1",
+ "welcome.text1": "Terima kasih anda telah mendaftarkan diri anda dengan %1!",
+ "welcome.text2": "Untuk mengaktifkan akun anda sepenuhnya, kami perlu memverifkasi bahwa anda adalah pemilik email yang terdaftar.",
+ "welcome.cta": "Klik disini untuk mengkonfirmasi alamat email anda.",
+ "reset.text1": "Kami menerima permintan untuk mengatur ulang kata sandi anda, Ini dikarenakan anda telah lupa akan kata sandi anda. Tolong abaikan email ini jika sebaliknya.",
+ "reset.text2": "Mohon klik link berikut untuk mengatur ulang kata sandi anda.",
+ "reset.cta": "Klik di sini untuk mengatur ulang kata sandi anda",
+ "digest.notifications": "Anda mempunyai notifikasi yang belum terbaca dari %1:",
+ "digest.latest_topics": "Topik-topik terbaru dari %1",
+ "digest.cta": "Klik di sini untuk mengunjungi %1",
+ "digest.unsub.info": "Sesuai pengaturan langganan anda, maka ringkasan ini di kirimkan untuk anda ",
+ "digest.no_topics": "Tidak ada topik yang aktif selama %1",
+ "notif.chat.subject": "Pesan yang baru diterima dari %1",
+ "notif.chat.cta": "Klik di sini untuk melanjutkan percakapan",
+ "notif.chat.unsub.info": "Sesuai pengaturan langganan anda, notifikasi obrolan ini dikirmkan kepada anda",
+ "test.text1": "Ini hanya email percobaan untuk menverifkasi pengiriman email telah diatur oleh NodeBB secara benar",
+ "unsub.cta": "Klik di sini untuk mengubah pengaturan-pengaturan tersebut.",
+ "closing": "Terima kasih!"
+}
\ No newline at end of file
diff --git a/public/language/id/error.json b/public/language/id/error.json
new file mode 100644
index 0000000000..58d37de6cb
--- /dev/null
+++ b/public/language/id/error.json
@@ -0,0 +1,67 @@
+{
+ "invalid-data": "Data Salah",
+ "not-logged-in": "Kamu terlihat belum login",
+ "account-locked": "Akun kamu dikunci sementara",
+ "search-requires-login": "Pencarian butuh sebuah akun, silakan login atau register terlebih dulu",
+ "invalid-cid": "ID Kategori Salah",
+ "invalid-tid": "ID Topik Salah",
+ "invalid-pid": "ID Post Salah",
+ "invalid-uid": "ID User Salah",
+ "invalid-username": "Username Salah",
+ "invalid-email": "Email Salah",
+ "invalid-title": "Judul Salah",
+ "invalid-user-data": "Data Pengguna Salah",
+ "invalid-password": "Password Salah",
+ "invalid-username-or-password": "Mohon spesifikasikan username dan password",
+ "invalid-search-term": "Kata pencarian salah",
+ "invalid-pagination-value": "Nilai halaman salah",
+ "username-taken": "Username sudah terdaftar",
+ "email-taken": "Email sudah terdaftar",
+ "email-not-confirmed": "Email kamu belum dikonfirmasi, klik disini untuk mengkonfirmasi email.",
+ "username-too-short": "Username terlalu pendek",
+ "username-too-long": "Username terlalu panjang",
+ "user-banned": "Pengguna dibanned",
+ "user-too-new": "Maaf kamu harus menunggu %1 detik sebelum membuat post pertama",
+ "no-category": "Kategori tidak ditemukan",
+ "no-topic": "Topik tidak ditemukan",
+ "no-post": "Post tidak ditemukan",
+ "no-group": "Grup tidak ditemukan",
+ "no-user": "Pengguna tidak ditemukan",
+ "no-teaser": "Teaser tidak ditemukan",
+ "no-privileges": "Kamu tidak punya cukup izin untuk melakukan ini",
+ "no-emailers-configured": "Tidak ada plugin email, jadi test email tidak dapat dikirim",
+ "category-disabled": "Kategori ditiadakan",
+ "topic-locked": "Topik dikunci",
+ "still-uploading": "Tunggu proses upload sampai selesai",
+ "content-too-short": "Mohon masukkan posting yang lebih panjang. Posting harus memuat setidaknya %1 karakter.",
+ "title-too-short": "Mohon masukkan judul yang lebih panjang. Judul harus memuat setidaknya %1 karakter.",
+ "title-too-long": "Mohon masukkan judul yang lebih pendek. Judul tidak dapat melebihi %1 karakter.",
+ "too-many-posts": "Kamu hanya dapat melakukan posting satu kali setiap %1 detik - mohon tunggu beberapa saat sebelum melakukan posting kembali",
+ "too-many-posts-newbie": "Sebagai pengguna baru, kamu hanya diijinkan membuat posting satu kali setiap %1 detik sampai kamu mendapatkan %2 reputasi - mohon tunggu beberapa saat sebelum melakukan posting kembali",
+ "file-too-big": "Ukuran file yang boleh diupload %1 kbs - mohon upload file dengan ukuran lebih kecil",
+ "cant-vote-self-post": "Kamu tidak dapat vote postingan sendiri",
+ "already-favourited": "Post ini sudah kamu favorit",
+ "already-unfavourited": "Postingan ini sudah kamu unfavorit",
+ "cant-ban-other-admins": "Kamu tidak dapat ban admin lainnya!",
+ "invalid-image-type": "Tipe gambar salah",
+ "group-name-too-short": "Nama grup terlalu pendek",
+ "group-already-exists": "Grup sudah ada",
+ "group-name-change-not-allowed": "Perubahan nama grup tidak dibolehkan",
+ "post-already-deleted": "Postingan ini sudah dihapus",
+ "post-already-restored": "Postingan ini sudah direstore",
+ "topic-already-deleted": "Topik ini sudah dihapus",
+ "topic-already-restored": "Topik ini sudah direstore",
+ "topic-thumbnails-are-disabled": "Thumbnail di topik ditiadakan",
+ "invalid-file": "File Salah",
+ "uploads-are-disabled": "Upload ditiadakan",
+ "upload-error": "Upload Error: %1",
+ "signature-too-long": "Maaf, tanda pengenalmu tidak dapat melebihi %1 karakter.",
+ "cant-chat-with-yourself": "Kamu tidak dapat chat dengan akun sendiri",
+ "chat-restricted": "Pengguna ini telah membatasi percakapa mereka. Mereka harus mengikutimu sebelum kamu dapat melakukan percakapan dengan mereka ",
+ "reputation-system-disabled": "Sistem reputasi ditiadakan.",
+ "downvoting-disabled": "Downvoting ditiadakan",
+ "not-enough-reputation-to-downvote": "Tidak cukup reputation untuk downvote post ini",
+ "not-enough-reputation-to-flag": "Tidak cukup reputation untuk flag post ini",
+ "reload-failed": "NodeBB mengalami masalah saat memuat \"%1\". NodeBB akan melanjutkan pemuatan, kamu harus membatalkan tindakanmu sebelum pemuatan kembali dilakukan.",
+ "registration-error": "Registrasti Error"
+}
\ No newline at end of file
diff --git a/public/language/id/global.json b/public/language/id/global.json
new file mode 100644
index 0000000000..de13ab0ca3
--- /dev/null
+++ b/public/language/id/global.json
@@ -0,0 +1,77 @@
+{
+ "home": "Beranda",
+ "search": "Cari",
+ "buttons.close": "Tutup",
+ "403.title": "Akses ditolak",
+ "403.message": "Kamu terlihat masuk ke halaman yang kamu tidak punya akses untuk melakukannya. Coba login terlebih dulu.",
+ "404.title": "Tidak ditemukan",
+ "404.message": "Kamu terlihat masuk ke halaman yang sudah tidak ada. Silakan kembali ke Halaman Depan.",
+ "500.title": "Kesalahan internal",
+ "500.message": "Oops! Terjadi kesalahan",
+ "register": "Daftar",
+ "login": "Login",
+ "please_log_in": "Silakan Log In",
+ "logout": "Logout",
+ "posting_restriction_info": "Posting hanya boleh dilakukan oleh pengguna terdaftar, klik disini untuk log in.",
+ "welcome_back": "Selamat Datang Kembali",
+ "you_have_successfully_logged_in": "Kamu sudah login",
+ "save_changes": "Menyimpan perubahan",
+ "close": "Tutup",
+ "pagination": "Halaman",
+ "pagination.out_of": "%1 dari %2",
+ "pagination.enter_index": "Masukkan index",
+ "header.admin": "Admin",
+ "header.recent": "Terbaru",
+ "header.unread": "Belum dibaca",
+ "header.tags": "Tag",
+ "header.popular": "Populer",
+ "header.users": "Pengguna",
+ "header.chats": "Chat",
+ "header.notifications": "Pemberitahuan",
+ "header.search": "Cari",
+ "header.profile": "Profil",
+ "notifications.loading": "Memuat Pemberitahuan",
+ "chats.loading": "Memuat Chat",
+ "motd.welcome": "Selamat datang di NodeBB, platform diskusi masa depan.",
+ "previouspage": "Halaman Sebelumnya",
+ "nextpage": "Halaman Selanjutnya",
+ "alert.success": "Sukses",
+ "alert.error": "Error",
+ "alert.banned": "Banned",
+ "alert.banned.message": "Akunmu telah dibanned, kamu akan logout sekarang",
+ "alert.unfollow": "Kamu tidak mengikuti %1",
+ "alert.follow": "Kamu mengikuti %1",
+ "online": "Online",
+ "users": "Pengguna",
+ "topics": "Topik",
+ "posts": "Post",
+ "views": "Views",
+ "reputation": "Reputasi",
+ "read_more": "selengkapnya",
+ "posted_ago_by_guest": "dibuat %1 oleh Guest",
+ "posted_ago_by": "dibuat %1 oleh %2",
+ "posted_ago": "dibuat %1",
+ "posted_in_ago_by_guest": "dibuat di %1 %2 oleh Tamu",
+ "posted_in_ago_by": "dibuat di %1 %2 oleh %3",
+ "posted_in_ago": "dibuat di %1 %2",
+ "replied_ago": "dibalas %1",
+ "user_posted_ago": "Dibuat oleh %1 %2",
+ "guest_posted_ago": "Dibuat oleh Tamu %1",
+ "last_edited_by_ago": "Terakhir diubah oleh %1 %2",
+ "norecentposts": "Tidak ada post terbaru",
+ "norecenttopics": "Tidak ada topik terbaru",
+ "recentposts": "Post Terbaru",
+ "recentips": "Beberapa IP yang digunakan untuk login baru-baru ini",
+ "away": "Tidak Ditempat",
+ "dnd": "Jangan ganggu",
+ "invisible": "Tidak Terlihat",
+ "offline": "Offline",
+ "email": "Email",
+ "language": "Bahasa",
+ "guest": "Tamu",
+ "guests": "Tamu",
+ "updated.title": "Forum telah diupdate",
+ "updated.message": "Forum ini telah diupdate ke versi terbaru. Klik disini untuk memuat halaman.",
+ "privacy": "Privasi",
+ "delete_all": "Hapus Semua"
+}
\ No newline at end of file
diff --git a/public/language/id/groups.json b/public/language/id/groups.json
new file mode 100644
index 0000000000..6b2f27c348
--- /dev/null
+++ b/public/language/id/groups.json
@@ -0,0 +1,8 @@
+{
+ "groups": "Grup",
+ "view_group": "Tampilkan Grup",
+ "details.title": "Rincian Grup",
+ "details.members": "Daftar Anggota",
+ "details.has_no_posts": "Anggota grup ini belum membuat posting satupun.",
+ "details.latest_posts": "Posting Terkini"
+}
\ No newline at end of file
diff --git a/public/language/id/language.json b/public/language/id/language.json
new file mode 100644
index 0000000000..1bcec669d0
--- /dev/null
+++ b/public/language/id/language.json
@@ -0,0 +1,5 @@
+{
+ "name": "Bahasa Indonesia",
+ "code": "id",
+ "dir": "ltr"
+}
\ No newline at end of file
diff --git a/public/language/id/login.json b/public/language/id/login.json
new file mode 100644
index 0000000000..8aede403da
--- /dev/null
+++ b/public/language/id/login.json
@@ -0,0 +1,9 @@
+{
+ "username": "Username / Email",
+ "remember_me": "Ingin Diingat?",
+ "forgot_password": "Lupa Password?",
+ "alternative_logins": "Login Alternatif",
+ "failed_login_attempt": "Percobaan login gagal, cobalah kembali.",
+ "login_successful": "Kamu telah berhasil login!",
+ "dont_have_account": "Belum memiliki akun?"
+}
\ No newline at end of file
diff --git a/public/language/id/modules.json b/public/language/id/modules.json
new file mode 100644
index 0000000000..53320cf627
--- /dev/null
+++ b/public/language/id/modules.json
@@ -0,0 +1,21 @@
+{
+ "chat.chatting_with": "Gunakan untuk melakukan percakapan",
+ "chat.placeholder": "Tulis pesan percakapan di sini, tekan enter untuk mengirim",
+ "chat.send": "Kirim",
+ "chat.no_active": "Kamu tidak memiliki percakapan yang aktif.",
+ "chat.user_typing": "%1 sedang menulis ...",
+ "chat.user_has_messaged_you": "%1 telah mengirimkan pesan untukmu.",
+ "chat.see_all": "Lihat seluruh Percakapan",
+ "chat.no-messages": "Mohon pilih satu penerima untuk melihat riwayat pesan percakapan",
+ "chat.recent-chats": "Percakapan terbaru",
+ "chat.contacts": "Kontak",
+ "chat.message-history": "Riwayat Pesan",
+ "chat.pop-out": "Munculkan pesan",
+ "chat.maximize": "Maksimalkan",
+ "chat.seven_days": "7 Hari",
+ "chat.thirty_days": "30 Hari",
+ "chat.three_months": "3 Bulan",
+ "composer.user_said_in": "%1 berkata di %2: ",
+ "composer.user_said": "%1 berkata:",
+ "composer.discard": "Kamu yakin akan membuang posting ini?"
+}
\ No newline at end of file
diff --git a/public/language/id/notifications.json b/public/language/id/notifications.json
new file mode 100644
index 0000000000..6a4145dc63
--- /dev/null
+++ b/public/language/id/notifications.json
@@ -0,0 +1,27 @@
+{
+ "title": "Pemberitahuan",
+ "no_notifs": "Kamu tidak memiliki pemberitahuan baru",
+ "see_all": "Lihat seluruh Pemberitahuan",
+ "back_to_home": "Kembali ke %1",
+ "outgoing_link": "Tautan Keluar",
+ "outgoing_link_message": "Saat ini kamu meninggalkan %1.",
+ "continue_to": "Lanjut ke %1",
+ "return_to": "Kembali ke %1",
+ "new_notification": "Pemberitahuan Baru",
+ "you_have_unread_notifications": "Kamu memiliki pemberitahuan yang belum dibaca.",
+ "new_message_from": "Pesan baru dari %1",
+ "upvoted_your_post_in": "%1 telah melakukan upvote untuk posting kamu di %2.",
+ "moved_your_post": "%1 telah memindahkan postingmu.",
+ "moved_your_topic": "%1 telah memindahkan topikmu.",
+ "favourited_your_post_in": "%1 telah memfavoritkan posting mu di %2.",
+ "user_flagged_post_in": "%1 menandai sebuah posting di %2",
+ "user_posted_to": "%1 telah mengirim sebuah balasan kepada: %2",
+ "user_posted_topic": "%1 telah membuat topik baru: %2",
+ "user_mentioned_you_in": "%1 menyebut mu di %2",
+ "user_started_following_you": "%1 mulai mengikutimu.",
+ "email-confirmed": "Email telah Dikonfirmasi",
+ "email-confirmed-message": "Terimakasih telah melakukan validasi email. Akunmu saat ini telah aktif sepenuhnya.",
+ "email-confirm-error": "Terjadi error...",
+ "email-confirm-error-message": "Terjadi masalah saat melakukan validasi emailmu. Mungkin terjadi kesalahan kode atau waktu habis.",
+ "email-confirm-sent": "Email konfirmasi telah dikirim."
+}
\ No newline at end of file
diff --git a/public/language/id/pages.json b/public/language/id/pages.json
new file mode 100644
index 0000000000..bfedbfaa27
--- /dev/null
+++ b/public/language/id/pages.json
@@ -0,0 +1,18 @@
+{
+ "home": "Beranda",
+ "unread": "Topik belum Dibaca",
+ "popular": "Topik Populer",
+ "recent": "Topik Terkini",
+ "users": "Pengguna Terdaftar",
+ "notifications": "Pemberitahuan",
+ "tags": "Topik ditag dalam \"%1\"",
+ "user.edit": "Sedang merubah \"%1\"",
+ "user.following": "Mengikuti Pengguna %1",
+ "user.followers": "Pengguna yang mengikuti %1",
+ "user.posts": "Posting dibuat oleh %1",
+ "user.topics": "Topik dibuat oleh %1",
+ "user.favourites": "Posting Favorit %1",
+ "user.settings": "Pengaturan Pengguna",
+ "maintenance.text": "%1 saat ini sedang dalam masa pemeliharaan. Silahkan kembali lain waktu.",
+ "maintenance.messageIntro": "Tambahan, Administrator meninggalkan pesan ini:"
+}
\ No newline at end of file
diff --git a/public/language/id/recent.json b/public/language/id/recent.json
new file mode 100644
index 0000000000..a68a649504
--- /dev/null
+++ b/public/language/id/recent.json
@@ -0,0 +1,9 @@
+{
+ "title": "Terkini",
+ "day": "Hari",
+ "week": "Pekan",
+ "month": "Bulan",
+ "year": "Tahun",
+ "alltime": "Sepanjang Waktu",
+ "no_recent_topics": "Tidak ada topik terbaru."
+}
\ No newline at end of file
diff --git a/public/language/id/register.json b/public/language/id/register.json
new file mode 100644
index 0000000000..f38cb7a6d6
--- /dev/null
+++ b/public/language/id/register.json
@@ -0,0 +1,18 @@
+{
+ "register": "Daftar",
+ "help.email": "Secara default, emailmu akan disembunyikan dari publik.",
+ "help.username_restrictions": "Nama Pengguna yang unik antara %1 dan %2 karakter. Pengguna lain dapat menyebutmu dengan menggunakan @nama pengguna.",
+ "help.minimum_password_length": "Panjang passwordmu harus memuat setidaknya %1 karakter.",
+ "email_address": "Alamat Email",
+ "email_address_placeholder": "Masukkan Alamat Email",
+ "username": "Nama Pengguna",
+ "username_placeholder": "Masukkan Nama Pengguna",
+ "password": "Kata Sandi",
+ "password_placeholder": "Masukkan Kata Sandi",
+ "confirm_password": "Konfirmasi Kata Sandi",
+ "confirm_password_placeholder": "Konfirmasi Kata Sandi",
+ "register_now_button": "Daftar Sekarang",
+ "alternative_registration": "Pendaftaran Alternatif",
+ "terms_of_use": "Aturan Penggunaan",
+ "agree_to_terms_of_use": "Saya menyetujui Aturan Penggunaan"
+}
\ No newline at end of file
diff --git a/public/language/id/reset_password.json b/public/language/id/reset_password.json
new file mode 100644
index 0000000000..7ae5b9e8d7
--- /dev/null
+++ b/public/language/id/reset_password.json
@@ -0,0 +1,14 @@
+{
+ "reset_password": "Atur Ulang Kata Sandi",
+ "update_password": "Perbarui Kata Sandi",
+ "password_changed.title": "Kata Sandi telah Diganti",
+ "password_changed.message": "
Kata Sandi berhasil diatur ulang, silakan login kembali.",
+ "wrong_reset_code.title": "Kode Pengaturan Ulang Salah",
+ "wrong_reset_code.message": "Kode pengaturan ulang salah. Silakan coba lagi, atauminta kode pengaturan ulang baru.",
+ "new_password": "Kata Sandi Baru",
+ "repeat_password": "Konfirmasi Kata Sandi",
+ "enter_email": "Mohon masukkan alamat emailmu dan kami akan mengirimkan mu sebuah email dengan instruksi mengenai cara pengaturan ulang akunmu.",
+ "enter_email_address": "Masukkan Alamat Email",
+ "password_reset_sent": "Pengaturan Kembali Kata Sandi telah DIkirim",
+ "invalid_email": "Email Salah / Email tidak ada!"
+}
\ No newline at end of file
diff --git a/public/language/id/search.json b/public/language/id/search.json
new file mode 100644
index 0000000000..b296b8ef1b
--- /dev/null
+++ b/public/language/id/search.json
@@ -0,0 +1,4 @@
+{
+ "results_matching": "%1 hasil yang sesuai dengan \"%2\", (%3 detik)",
+ "no-matches": "Hasil pencarian tidak ditemukan"
+}
\ No newline at end of file
diff --git a/public/language/id/success.json b/public/language/id/success.json
new file mode 100644
index 0000000000..a978b89347
--- /dev/null
+++ b/public/language/id/success.json
@@ -0,0 +1,6 @@
+{
+ "success": "Sukses",
+ "topic-post": "Kamu berhasil melakukan posting.",
+ "authentication-successful": "Otentikasi Sukses",
+ "settings-saved": "Pengaturan disimpan!"
+}
\ No newline at end of file
diff --git a/public/language/id/tags.json b/public/language/id/tags.json
new file mode 100644
index 0000000000..d6fece770e
--- /dev/null
+++ b/public/language/id/tags.json
@@ -0,0 +1,7 @@
+{
+ "no_tag_topics": "Tidak ada topik dengan tag ini.",
+ "tags": "Tag",
+ "enter_tags_here": "Masukkan tag di sini. Tekan enter untuk setiap tag.",
+ "enter_tags_here_short": "Masukkan tag...",
+ "no_tags": "Belum ada tag."
+}
\ No newline at end of file
diff --git a/public/language/id/topic.json b/public/language/id/topic.json
new file mode 100644
index 0000000000..9536cbc46c
--- /dev/null
+++ b/public/language/id/topic.json
@@ -0,0 +1,96 @@
+{
+ "topic": "Topik",
+ "topic_id": "ID Topik",
+ "topic_id_placeholder": "Masukkan ID topik",
+ "no_topics_found": "Tidak topik yang ditemukan!",
+ "no_posts_found": "Tidak ada posting yang ditemukan!",
+ "post_is_deleted": "Posting ini telah dihapus!",
+ "profile": "Profil",
+ "posted_by": "Dibuat oleh %1",
+ "posted_by_guest": "Dibuat oleh Tamu",
+ "chat": "Percakapan",
+ "notify_me": "Beritahukan balasan baru untuk topik ini",
+ "quote": "Kutip",
+ "reply": "Balas",
+ "edit": "Ubah",
+ "delete": "Hapus",
+ "purge": "Musnahkan",
+ "restore": "Kembalikan",
+ "move": "Pindah",
+ "fork": "Cabangkan",
+ "link": "Tautan",
+ "share": "Bagikan",
+ "tools": "Perangkat",
+ "flag": "Tandai",
+ "locked": "Terkunci",
+ "bookmark_instructions": "Klik di sini untuk kembali ke posisi terakhirmu atau tutup untuk membuang.",
+ "flag_title": "Tandai posting ini untuk moderasi",
+ "flag_confirm": "Kamu yakin ingin menandai posting ini?",
+ "flag_success": "Posting ini telah ditandai untuk moderasi",
+ "deleted_message": "Topik ini telah dihapus. Hanya pengguna dengan hak manajemen topik yang dapat melihatnya.",
+ "following_topic.message": "Saat ini kamu akan menerima pemberitahuan saat seseorang membuat posting di dalam topik ini.",
+ "not_following_topic.message": "Kamu tidak lagi menerima notiifikasi dari topik ini.",
+ "login_to_subscribe": "Daftar atau login untuk berlangganan topik ini.",
+ "markAsUnreadForAll.success": "Topik ditandai Belum Dibaca seluruhnya",
+ "watch": "Pantau",
+ "unwatch": "Batalkan Pantau",
+ "watch.title": "Beritahukan balasan baru untuk topik ini",
+ "unwatch.title": "Berhenti memantau topik ini",
+ "share_this_post": "Bagikan Posting ini",
+ "thread_tools.title": "Perangkat Topik",
+ "thread_tools.markAsUnreadForAll": "Tandai Belum Dibaca",
+ "thread_tools.pin": "Tempel Topik",
+ "thread_tools.unpin": "Copot Topik",
+ "thread_tools.lock": "Kunci Topik",
+ "thread_tools.unlock": "Lepas Topik",
+ "thread_tools.move": "Pindah Topik",
+ "thread_tools.move_all": "Pindah Semua",
+ "thread_tools.fork": "Cabangkan Topik",
+ "thread_tools.delete": "Hapus Topik",
+ "thread_tools.delete_confirm": "Kamu yakin ingin menghapus topik ini?",
+ "thread_tools.restore": "Kembalikan Topik",
+ "thread_tools.restore_confirm": "Kamu yakin ingin mengembalikan topik ini?",
+ "thread_tools.purge": "Musnahkan Topik",
+ "thread_tools.purge_confirm": "Kamu yakin ingin memusnahkan topik ini?",
+ "topic_move_success": "Topik ini berhasil dipindahkan ke %1",
+ "post_delete_confirm": "Kamu yakin ingin menghapus posting ini?",
+ "post_restore_confirm": "Kamu yakin ingin mengembalikan posting ini?",
+ "post_purge_confirm": "Kamu yakin ingin memusnahkan posting ini?",
+ "load_categories": "Memuat Kategori",
+ "disabled_categories_note": "Indikator Kategori yang Ditiadakan keabu-abuan",
+ "confirm_move": "Pindah",
+ "confirm_fork": "Cabangkan",
+ "favourite": "Favorit",
+ "favourites": "Beberapa Favorit",
+ "favourites.has_no_favourites": "Kamu tidak memiliki favorit, favoritkan beberapa posting untuk melihatnya di sini! ",
+ "loading_more_posts": "Memuat Lebih Banyak Posting",
+ "move_topic": "Pindahkan Topik",
+ "move_topics": "Pindahkan Beberapa Topik",
+ "move_post": "Pindahkan Posting",
+ "post_moved": "Posting dipindahkan!",
+ "fork_topic": "Cabangkan Topik",
+ "topic_will_be_moved_to": "Topik ini akan dipindahkan ke kategori",
+ "fork_topic_instruction": "Klik posting yang kamu ingin cabangkan",
+ "fork_no_pids": "Tidak ada posting yang dipilih!",
+ "fork_success": "Topik berhasil dicabangkan! Klik disini untuk menuju topik yang telah dicabangkan.",
+ "composer.title_placeholder": "Masukkan judul topik di sini...",
+ "composer.discard": "Buang",
+ "composer.submit": "Kirim",
+ "composer.replying_to": "Membalas ke %1",
+ "composer.new_topic": "Topik Baru",
+ "composer.uploading": "mengunggah...",
+ "composer.thumb_url_label": "Tempelkan URL gambar mini topik",
+ "composer.thumb_title": "Tambah gambar mini untuk topik ini",
+ "composer.thumb_url_placeholder": "http://example.com/thumb.png",
+ "composer.thumb_file_label": "Atau unggah sebuah berkas",
+ "composer.thumb_remove": "Hapus kolom",
+ "composer.drag_and_drop_images": "Geser dan Lepas Gambar di sini",
+ "more_users_and_guests": "%1 lebuh pengguna dan %2 tamu",
+ "more_users": "%1 lebih pengguna",
+ "more_guests": "%1 lebih tamu",
+ "users_and_others": "%1 dan %2 lainnya",
+ "sort_by": "Urutkan berdasakan",
+ "oldest_to_newest": "Terlama ke Terbaru",
+ "newest_to_oldest": "Terbaru ke Terlama",
+ "most_votes": "Vote terbanyak"
+}
\ No newline at end of file
diff --git a/public/language/id/unread.json b/public/language/id/unread.json
new file mode 100644
index 0000000000..326f9d732b
--- /dev/null
+++ b/public/language/id/unread.json
@@ -0,0 +1,9 @@
+{
+ "title": "Belum Dibaca",
+ "no_unread_topics": "Tidak ada topik yang belum dibaca.",
+ "load_more": "Tampilkan Lebih Banyak",
+ "mark_as_read": "Tandai Sudah Dibaca",
+ "selected": "Terpilih",
+ "all": "Semua",
+ "topics_marked_as_read.success": "Topik ditandai sudah dibaca!"
+}
\ No newline at end of file
diff --git a/public/language/id/user.json b/public/language/id/user.json
new file mode 100644
index 0000000000..8b5734bc09
--- /dev/null
+++ b/public/language/id/user.json
@@ -0,0 +1,75 @@
+{
+ "banned": "Banned",
+ "offline": "Offline",
+ "username": "Nama Pengguna",
+ "email": "Email",
+ "confirm_email": "Konfirmasi Email",
+ "delete_account": "Hapus Akun",
+ "delete_account_confirm": "Kamu yakin ingin menghapus akunmu?
Tindakan ini tidak dapat dibatalkan dan kamu tidak dapat mengembalikan seluruh data mu
Masukkan nama pengguna kamu untuk memastikan jika kamu benar-benar ingin menghapus akun ini.",
+ "fullname": "Nama Lengkap",
+ "website": "Website",
+ "location": "Lokasi",
+ "age": "Umur",
+ "joined": "Tergabung",
+ "lastonline": "Online Terakhir",
+ "profile": "Profil",
+ "profile_views": "Tampilan profil",
+ "reputation": "Reputasi",
+ "favourites": "Favorit",
+ "followers": "Pengikut",
+ "following": "Mengikuti",
+ "signature": "Tanda Pengenal",
+ "gravatar": "Gravatar",
+ "birthday": "Hari Lahir",
+ "chat": "Percakapan",
+ "follow": "Ikuti",
+ "unfollow": "Tinggalkan",
+ "profile_update_success": "Profil berhasil diperbarui!",
+ "change_picture": "Ganti Gambar/Foto",
+ "edit": "Perbarui",
+ "uploaded_picture": "Gambar/Foto yang Diunggah",
+ "upload_new_picture": "Unggah Gambar/Foto Baru",
+ "upload_new_picture_from_url": "Unggah Gambar/Foto Baru dari URL",
+ "current_password": "Kata Sandi Saat Ini",
+ "change_password": "Ganti Kata Sandi",
+ "change_password_error": "Kata Sandi Salah!",
+ "change_password_error_wrong_current": "Kata Sandi kamu saat ini salah!",
+ "change_password_error_length": "Kata Sandi terlalu pendek!",
+ "change_password_error_match": "Kata Sandi harus sesuai!",
+ "change_password_error_privileges": "Kamu tidak memiliki hak untuk mengganti kata sandi ini.",
+ "change_password_success": "Kata Sandi kamu telah diperbarui!",
+ "confirm_password": "Konfirmasi Kata Sandi",
+ "password": "Kata Sandi",
+ "username_taken_workaround": "Nama pengguna yang kamu inginkan telah diambil, jadi kami merubahnya sedikit. Kamu saat ini dikenal sebagai %1",
+ "upload_picture": "Unggah gambar/foto",
+ "upload_a_picture": "Unggah sebuah gambar/foto",
+ "image_spec": "Kamu hanya diijinkan mengunggah berkas dengan format PNG, JPG, atau GIF",
+ "max": "maks.",
+ "settings": "Pengaturan",
+ "show_email": "Tampilkan Email Saya",
+ "show_fullname": "Tampilkan Nama Lengkap Saya",
+ "restrict_chats": "Hanya ijinkan pesan percakapan dari pengguna yang saya ikuti.",
+ "digest_label": "Berlangganan Digest",
+ "digest_description": "Berlangganan melalui email untuk forum ini (pemberitahuan baru dan topik) sesuai dengan pengaturan jadwal",
+ "digest_off": "Off",
+ "digest_daily": "Harian",
+ "digest_weekly": "Mingguan",
+ "digest_monthly": "Bulanan",
+ "send_chat_notifications": "Kirimkan email jika menerima pesan percakapan dan saya sedang tidak online",
+ "has_no_follower": "User ini tidak memiliki pengikut :(",
+ "follows_no_one": "User ini tidak mengikuti seorangpun :(",
+ "has_no_posts": "User ini belum pernah membuat posting.",
+ "has_no_topics": "User ini belum pernah membuat topik.",
+ "email_hidden": "Email Disembunyikan",
+ "hidden": "disembunyikan",
+ "paginate_description": "Gunakan halaman topik dan posting sebagai ganti penggunaan gulungan tanpa batas.",
+ "topics_per_page": "Topik per Halaman",
+ "posts_per_page": "Posting per Halaman",
+ "notification_sounds": "Mainkan suara saat kamu menerima pemberitahuan.",
+ "browsing": "Pengaturan Penelusuran",
+ "open_links_in_new_tab": "Buka tautan ke luar pada tab baru?",
+ "enable_topic_searching": "Gunakan Pencarian Di dalam Topik",
+ "topic_search_help": "Jika digunakan, pencarian di dalam topik akan mengambil alih tindakan pencarian default browser dan mengijinkan kamu untuk mencari keseluruhan topik sebagai pengganti pencarian hanya yang tampil pada layar saja.",
+ "follow_topics_you_reply_to": "Ikuti topik yang kamu balas.",
+ "follow_topics_you_create": "Ikuti topik yang kamu buat."
+}
\ No newline at end of file
diff --git a/public/language/id/users.json b/public/language/id/users.json
new file mode 100644
index 0000000000..c313a8760f
--- /dev/null
+++ b/public/language/id/users.json
@@ -0,0 +1,9 @@
+{
+ "latest_users": "Pengguna Terakhir",
+ "top_posters": "Posting Terbanyak",
+ "most_reputation": "Reputasi Terbanyak",
+ "search": "Pencarian",
+ "enter_username": "Masukkan nama pengguna untuk mencari",
+ "load_more": "Tampilkan Lebih Banyak",
+ "users-found-search-took": "%1 pengguna ditemukan! Pencarian butuh waktu %2 ms."
+}
\ No newline at end of file