diff --git a/manager/app/src/main/res/values-in/strings.xml b/manager/app/src/main/res/values-in/strings.xml
index 9a9d88fc..aa31868e 100644
--- a/manager/app/src/main/res/values-in/strings.xml
+++ b/manager/app/src/main/res/values-in/strings.xml
@@ -41,6 +41,7 @@
restart perangkat setelah mengaktifkan fitur ini
Tentang
Membutuhkan KernelSU Versi 8+
+ Apakah anda yakin ingin menghapus module ini %s?
%s terhapus
Gagal untuk menghapus: %s
Versi
diff --git a/website/docs/id_ID/guide/how-to-integrate-for-non-gki.md b/website/docs/id_ID/guide/how-to-integrate-for-non-gki.md
index 27b91cbf..b6dbae8d 100644
--- a/website/docs/id_ID/guide/how-to-integrate-for-non-gki.md
+++ b/website/docs/id_ID/guide/how-to-integrate-for-non-gki.md
@@ -137,4 +137,85 @@ Anda harus menemukan empat fungsi dalam kernel source:
3. vfs_read, usually in `fs/read_write.c`
4. vfs_statx, usually in `fs/stat.c`
+Jika kernel anda tidak memiliki `vfs_statx`, maka gunakan `vfs_fstatat` alih-alih:
+
+```diff
+diff --git a/fs/stat.c b/fs/stat.c
+index 068fdbcc9e26..5348b7bb9db2 100644
+--- a/fs/stat.c
++++ b/fs/stat.c
+@@ -87,6 +87,8 @@ int vfs_fstat(unsigned int fd, struct kstat *stat)
+ }
+ EXPORT_SYMBOL(vfs_fstat);
+
++extern int ksu_handle_stat(int *dfd, const char __user **filename_user, int *flags);
++
+ int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
+ int flag)
+ {
+@@ -94,6 +96,8 @@ int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
+ int error = -EINVAL;
+ unsigned int lookup_flags = 0;
+
++ ksu_handle_stat(&dfd, &filename, &flag);
++
+ if ((flag & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT |
+ AT_EMPTY_PATH)) != 0)
+ goto out;
+```
+
+Untuk kernel lebih awal dari 4.17, jika anda menemukan `do_faccessat`, hanya pergi ke definisi yang sama `faccessat` syscall dan tempatkan pemanggil di sini:
+
+```diff
+diff --git a/fs/open.c b/fs/open.c
+index 2ff887661237..e758d7db7663 100644
+--- a/fs/open.c
++++ b/fs/open.c
+@@ -355,6 +355,9 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
+ return error;
+ }
+
++extern int ksu_handle_faccessat(int *dfd, const char __user **filename_user, int *mode,
++ int *flags);
++
+ /*
+ * access() needs to use the real uid/gid, not the effective uid/gid.
+ * We do this by temporarily clearing all FS-related capabilities and
+@@ -370,6 +373,8 @@ SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
+ int res;
+ unsigned int lookup_flags = LOOKUP_FOLLOW;
+
++ ksu_handle_faccessat(&dfd, &filename, &mode, NULL);
++
+ if (mode & ~S_IRWXO) /* where's F_OK, X_OK, W_OK, R_OK? */
+ return -EINVAL;
+```
+
+To enable KernelSU's builtin SafeMode, You should also modify `input_handle_event` in `drivers/input/input.c`:
+
+:::tip
+Fitur ini sangat direkomendasikan, serta sangat membantu untuk memulihkan pada saat bootloop!
+:::
+
+```diff
+diff --git a/drivers/input/input.c b/drivers/input/input.c
+index 45306f9ef247..815091ebfca4 100755
+--- a/drivers/input/input.c
++++ b/drivers/input/input.c
+@@ -367,10 +367,13 @@ static int input_get_disposition(struct input_dev *dev,
+ return disposition;
+ }
+
++extern int ksu_handle_input_handle_event(unsigned int *type, unsigned int *code, int *value);
++
+ static void input_handle_event(struct input_dev *dev,
+ unsigned int type, unsigned int code, int value)
+ {
+ int disposition = input_get_disposition(dev, type, code, &value);
++ ksu_handle_input_handle_event(&type, &code, &value);
+
+ if (disposition != INPUT_IGNORE_EVENT && type != EV_SYN)
+ add_input_randomness(type, code, value);
+```
+
Terakhir, edit `KernelSU/kernel/ksu.c` dan beri komentar pada `enable_sucompat()` lalu build kernel Anda lagi, KernelSU akan bekerja dengan baik.
diff --git a/website/docs/id_ID/guide/unofficially-support-devices.md b/website/docs/id_ID/guide/unofficially-support-devices.md
index ff31a1ab..26643fc7 100644
--- a/website/docs/id_ID/guide/unofficially-support-devices.md
+++ b/website/docs/id_ID/guide/unofficially-support-devices.md
@@ -1,13 +1,11 @@
# Perangkat Yang Didukung Tidak Resmi
-::: peringatan
+:::peringatan
di halaman ini, terdapat kernel untuk perangkat non-GKI yang mendukung KernelSU yang dikelola oleh pengembang lain.
-
:::
-::: peringatan
+:::peringatan
Halaman ini hanya untuk Anda yang ingin menemukan kode sumber yang sesuai dengan perangkat Anda, itu **BUKAN** berarti kode sumber telah ditinjau oleh _KernelSU Developers_. Anda harus menggunakannya dengan risiko Anda sendiri.
-
:::