diff --git a/website/docs/.vitepress/locales/en.ts b/website/docs/.vitepress/locales/en.ts
index c1ee11a0..f985ddaf 100644
--- a/website/docs/.vitepress/locales/en.ts
+++ b/website/docs/.vitepress/locales/en.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'Guide', link: '/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
@@ -58,4 +58,4 @@ function sidebarGuide() {
]
}
]
-}
\ No newline at end of file
+}
diff --git a/website/docs/.vitepress/locales/id_ID.ts b/website/docs/.vitepress/locales/id_ID.ts
index c0af156d..59429ca7 100644
--- a/website/docs/.vitepress/locales/id_ID.ts
+++ b/website/docs/.vitepress/locales/id_ID.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'Petunjuk', link: '/id_ID/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
diff --git a/website/docs/.vitepress/locales/ja_JP.ts b/website/docs/.vitepress/locales/ja_JP.ts
index b12ac7a4..5609f566 100644
--- a/website/docs/.vitepress/locales/ja_JP.ts
+++ b/website/docs/.vitepress/locales/ja_JP.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'ガイド', link: '/ja_JP/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
diff --git a/website/docs/.vitepress/locales/pt_BR.ts b/website/docs/.vitepress/locales/pt_BR.ts
index b354bfc9..ba520054 100644
--- a/website/docs/.vitepress/locales/pt_BR.ts
+++ b/website/docs/.vitepress/locales/pt_BR.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'Guia', link: '/pt_BR/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
diff --git a/website/docs/.vitepress/locales/ru_RU.ts b/website/docs/.vitepress/locales/ru_RU.ts
index a26e42ff..ead6b0fc 100644
--- a/website/docs/.vitepress/locales/ru_RU.ts
+++ b/website/docs/.vitepress/locales/ru_RU.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'Руководство', link: '/ru_RU/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
@@ -58,4 +58,4 @@ function sidebarGuide() {
]
}
]
-}
\ No newline at end of file
+}
diff --git a/website/docs/.vitepress/locales/vi_VN.ts b/website/docs/.vitepress/locales/vi_VN.ts
index a546745c..e2ee6296 100644
--- a/website/docs/.vitepress/locales/vi_VN.ts
+++ b/website/docs/.vitepress/locales/vi_VN.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: 'Hướng Dẫn', link: '/vi_VN/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
diff --git a/website/docs/.vitepress/locales/zh_CN.ts b/website/docs/.vitepress/locales/zh_CN.ts
index 65450787..93117106 100644
--- a/website/docs/.vitepress/locales/zh_CN.ts
+++ b/website/docs/.vitepress/locales/zh_CN.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: '指南', link: '/zh_CN/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
@@ -58,4 +58,4 @@ function sidebarGuide() {
]
}
]
-}
\ No newline at end of file
+}
diff --git a/website/docs/.vitepress/locales/zh_TW.ts b/website/docs/.vitepress/locales/zh_TW.ts
index 373b2831..4cc78a39 100644
--- a/website/docs/.vitepress/locales/zh_TW.ts
+++ b/website/docs/.vitepress/locales/zh_TW.ts
@@ -36,7 +36,7 @@ export default defineConfig({
function nav() {
return [
{ text: '指南', link: '/zh_TW/guide/what-is-kernelsu' },
- { text: 'Github', link: 'https://github.com/tiann/KernelSU' }
+ { text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
]
}
@@ -57,4 +57,4 @@ function sidebarGuide() {
]
}
]
-}
\ No newline at end of file
+}
diff --git a/website/docs/pt_BR/guide/faq.md b/website/docs/pt_BR/guide/faq.md
index 024a56c0..9c0aacfe 100644
--- a/website/docs/pt_BR/guide/faq.md
+++ b/website/docs/pt_BR/guide/faq.md
@@ -4,9 +4,9 @@
Primeiro, seu dispositivo deve ser capaz de desbloquear o bootloader. Se não, então não há suporte.
-Em seguida, instale o app gerenciador KernelSU em seu dispositivo e abra-o, se mostrar `Sem suporte` então seu dispositivo não pode ser suportado imediatamente, mas você pode construir a fonte do kernel e integrar o KernelSU para fazê-lo funcionar ou usar [dispositivos com suporte não oficial](unofficially-support-devices).
+Em seguida, instale o app gerenciador do KernelSU em seu dispositivo e abra-o, se mostrar `Sem suporte` então seu dispositivo não pode ser suportado imediatamente, mas você pode construir a fonte do kernel e integrar o KernelSU para fazê-lo funcionar ou usar [Dispositivos com suporte não oficial](unofficially-support-devices).
-## KernelSU precisa desbloquear o Bootloader?
+## Para usar o KernelSU precisa desbloquear o bootloader?
Certamente, sim.
@@ -16,13 +16,13 @@ Sim, mas está na versão inicial, pode apresentar bugs. Por favor, aguarde até
## KernelSU suporta Xposed?
-Sim, [Dreamland](https://github.com/canyie/Dreamland) e [TaiChi](https://taichi.cool) funcionam agora. Para o LSPosed, você pode fazer funcionar usando [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
+Sim, [Dreamland](https://github.com/canyie/Dreamland) e [TaiChi](https://taichi.cool) funcionam agora. Para o LSPosed, você pode fazê-lo funcionar usando [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
## KernelSU suporta Zygisk?
KernelSU não tem suporte integrado ao Zygisk, mas você pode usar [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
-## KernelSU é compatível com Magisk?
+## KernelSU é compatível com o Magisk?
O sistema de módulos do KernelSU está em conflito com a montagem mágica do Magisk, se houver algum módulo habilitado no KernelSU, então todo o Magisk não funcionaria.
@@ -32,26 +32,26 @@ Mas se você usar apenas o `su` do KernelSU, então funcionará bem com o Magisk
Achamos que não e esse não é o nosso objetivo. O Magisk é bom o suficiente para solução root do espaço do usuário e terá uma longa vida. O objetivo do KernelSU é fornecer uma interface de kernel aos usuários, não substituindo o Magisk.
-## KernelSU pode oferecer suporte a dispositivos não GKI?
+## KernelSU oferece suporte a dispositivos não GKI?
É possível. Mas você deve baixar o código-fonte do kernel e integrar o KernelSU à árvore do código-fonte e compilar o kernel você mesmo.
-## KernelSU pode oferecer suporte a dispositivos abaixo do Android 12?
+## KernelSU oferece suporte a dispositivos abaixo do Android 12?
É o kernel do dispositivo que afeta a compatibilidade do KernelSU e não tem nada a ver com a versão do Android. A única restrição é que os dispositivos lançados com Android 12 devem ser kernel 5.10+ (dispositivos GKI). Então:
1. Os dispositivos lançados com Android 12 devem ser compatíveis.
2. Dispositivos com kernel antigo (alguns dispositivos Android 12 também têm o kernel antigo) são compatíveis (você mesmo deve construir o kernel).
-## KernelSU pode suportar kernel antigo?
+## KernelSU suporta kernel antigo?
-É possível, o KernelSU é portado para o kernel 4.14 agora, para o kernel mais antigo, você precisa fazer o backport manualmente e PRs são bem-vindos!
+É possível, o KernelSU é portado para o kernel 4.14 agora, para o kernel mais antigo, você precisa fazer o backport manualmente e PRs são sempre bem-vindas!
## Como integrar o KernelSU para o kernel antigo?
-Por favor, consulte a guia [Como integrar o KernelSU para kernels não GKI](how-to-integrate-for-non-gki)
+Por favor, consulte a guia [Como integrar o KernelSU para kernels não GKI](how-to-integrate-for-non-gki).
-## Por que minha versão do Android é 13 e o kernel mostra “android12-5.10”?
+## Por que a minha versão do Android é 13 e o kernel mostra “android12-5.10”?
A versão do Kernel não tem nada a ver com a versão do Android, se você precisar fazer o flash do kernel, use sempre a versão do kernel, a versão do Android não é tão importante.
@@ -60,7 +60,7 @@ A versão do Kernel não tem nada a ver com a versão do Android, se você preci
Não existe agora (talvez no futuro), mas há muitas maneiras de mudar manualmente para o namespace de montagem global, como:
1. `nsenter -t 1 -m sh` para obter um shell no namespace de montagem global.
-2. Adicione `nsenter --mount=/proc/1/ns/mnt` ao comando que você deseja executar, o comando será executado no namespace de montagem global. O KernelSU também está [usando desta forma](https://github.com/tiann/KernelSU/blob/77056a710073d7a5f7ee38f9e77c9fd0b3256576/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt#L115)
+2. Adicione `nsenter --mount=/proc/1/ns/mnt` ao comando que você deseja executar, o comando será executado no namespace de montagem global. O KernelSU também está [usando desta forma](https://github.com/tiann/KernelSU/blob/77056a710073d7a5f7ee38f9e77c9fd0b3256576/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt#L115).
## Eu sou GKI1.0, posso usar isso?
diff --git a/website/docs/pt_BR/guide/how-to-integrate-for-non-gki.md b/website/docs/pt_BR/guide/how-to-integrate-for-non-gki.md
index a5e96844..859d270d 100644
--- a/website/docs/pt_BR/guide/how-to-integrate-for-non-gki.md
+++ b/website/docs/pt_BR/guide/how-to-integrate-for-non-gki.md
@@ -104,8 +104,8 @@ index 05036d819197..965b84d486b8 100644
+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
+ * access() precisa usar o uid/gid real, não o uid/gid efetivo.
+ * Fazemos isso limpando temporariamente todos os recursos relacionados ao FS e
@@ -355,6 +357,7 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
*/
long do_faccessat(int dfd, const char __user *filename, int mode)
@@ -158,8 +158,8 @@ index 376543199b5a..82adcef03ecc 100644
+extern int ksu_handle_stat(int *dfd, const char __user **filename_user, int *flags);
+
/**
- * vfs_statx - Get basic and extra attributes by filename
- * @dfd: A file descriptor representing the base dir for a relative filename
+ * vfs_statx - Obtenha atributos básicos e extras por filename
+ * @dfd: Um descritor de arquivo que representa o diretório base para um filename relativo
@@ -170,6 +172,7 @@ int vfs_statx(int dfd, const char __user *filename, int flags,
int error = -EINVAL;
unsigned int lookup_flags = LOOKUP_FOLLOW | LOOKUP_AUTOMOUNT;
@@ -219,8 +219,8 @@ index 2ff887661237..e758d7db7663 100644
+ 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
+ * access() precisa usar o uid/gid real, não o uid/gid efetivo.
+ * Fazemos isso limpando temporariamente todos os recursos relacionados ao FS e
@@ -370,6 +373,8 @@ SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
int res;
unsigned int lookup_flags = LOOKUP_FOLLOW;
diff --git a/website/docs/pt_BR/guide/installation.md b/website/docs/pt_BR/guide/installation.md
index 10dab1ae..87d3ddd6 100644
--- a/website/docs/pt_BR/guide/installation.md
+++ b/website/docs/pt_BR/guide/installation.md
@@ -2,7 +2,7 @@
## Verifique se o seu dispositivo é compatível
-Baixe o app gerenciador KernelSU em [GitHub Releases](https://github.com/tiann/KernelSU/releases) ou [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu), e instale-o no seu dispositivo:
+Baixe o app gerenciador do KernelSU em [GitHub Releases](https://github.com/tiann/KernelSU/releases) ou [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu), e instale-o no seu dispositivo:
- Se o app mostrar `Sem suporte`, significa que **você deve compilar o kernel sozinho**, o KernelSU não fornecerá e nunca fornecerá uma boot image para você instalar.
- Se o app mostrar `Não instalado`, então seu dispositivo é oficialmente suportado pelo KernelSU.
@@ -13,7 +13,7 @@ Para dispositivos mostrando `Sem suporte`, aqui está os [Dispositivos com supor
## Backup padrão do boot.img
-Antes de fleshar, você deve primeiro fazer backup do seu boot.img padrão. Se você encontrar algum bootloop, você sempre pode restaurar o sistema voltando para o boot de fábrica usando o fastboot.
+Antes de fazer o flash, você deve primeiro fazer backup de seu boot.img padrão. Se você encontrar algum bootloop, você sempre pode restaurar o sistema voltando para o boot de fábrica usando o fastboot.
::: warning AVISO
Fleshar pode causar perda de dados, certifique-se de executar esta etapa bem antes de prosseguir para a próxima! Você também pode fazer backup de todos os dados do seu telefone, se necessário.
diff --git a/website/docs/pt_BR/guide/module.md b/website/docs/pt_BR/guide/module.md
index 1d93298b..5e874caf 100644
--- a/website/docs/pt_BR/guide/module.md
+++ b/website/docs/pt_BR/guide/module.md
@@ -12,10 +12,10 @@ Cada script shell executado no contexto do KernelSU será executado no shell `as
Para aqueles que desejam usar o recurso “Modo Autônomo” fora do KernelSU, existem 2 maneiras de ativá-los:
-1. Defina a variável de ambiente `ASH_STANDALONE` como `1`
Exemplo: `ASH_STANDALONE=1 /data/adb/ksu/bin/busybox sh