diff --git a/apps/readest-app/public/locales/en/translation.json b/apps/readest-app/public/locales/en/translation.json
index 7b27fa39..ee777810 100644
--- a/apps/readest-app/public/locales/en/translation.json
+++ b/apps/readest-app/public/locales/en/translation.json
@@ -69,6 +69,11 @@
"Imported {{count}} annotations_one": "Imported {{count}} annotation",
"Imported {{count}} annotations_other": "Imported {{count}} annotations",
"Recently read": "Recently read",
+ "All Books": "All Books",
+ "Categories": "Categories",
+ "Category": "Category",
+ "Publication Year": "Publication Year",
+ "Bilingual": "Bilingual",
"Show recently read": "Show recently read",
"Your books will appear here": "Your books will appear here",
"{{count}} results_one": "{{count}} result",
diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json
index 870adbab..a4e95772 100644
--- a/apps/readest-app/public/locales/zh-CN/translation.json
+++ b/apps/readest-app/public/locales/zh-CN/translation.json
@@ -9,7 +9,12 @@
"Apply": "应用",
"Auto Mode": "自动主题",
"Behavior": "行为",
+ "Bilingual": "双语拆分",
"Book": "书籍",
+ "All Books": "全部书籍",
+ "Categories": "分类",
+ "Category": "类别",
+ "Publication Year": "出版年份",
"Bookmark": "书签",
"Cancel": "取消",
"Chapter": "章节",
diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json
index 74c2ee54..90f9365e 100644
--- a/apps/readest-app/public/locales/zh-TW/translation.json
+++ b/apps/readest-app/public/locales/zh-TW/translation.json
@@ -9,7 +9,12 @@
"Apply": "應用",
"Auto Mode": "自動主題",
"Behavior": "行為",
+ "Bilingual": "雙語拆分",
"Book": "書籍",
+ "All Books": "全部書籍",
+ "Categories": "分類",
+ "Category": "類別",
+ "Publication Year": "出版年份",
"Bookmark": "書籤",
"Cancel": "取消",
"Chapter": "章節",
diff --git a/apps/readest-app/src/app/layout.tsx b/apps/readest-app/src/app/layout.tsx
index 4fce12dc..676d4314 100644
--- a/apps/readest-app/src/app/layout.tsx
+++ b/apps/readest-app/src/app/layout.tsx
@@ -129,8 +129,16 @@ const devHmrPatchScript = `(${patchTauriHmrWebSocket.toString()})(${JSON.stringi
// fallback HTML and crash with `Unexpected token '<'`. All runtime-config
// consumers fall back to `NEXT_PUBLIC_*` envs baked at build time on Tauri.
const shouldInjectRuntimeConfig = process.env['NEXT_PUBLIC_APP_PLATFORM'] === 'web';
+const shouldUseViewTransitions =
+ process.env['NODE_ENV'] !== 'development' || process.env['NEXT_PUBLIC_APP_PLATFORM'] !== 'web';
export default function RootLayout({ children }: { children: React.ReactNode }) {
+ const app = (
+