diff --git a/package.json b/package.json index 7a0d9316..2168023e 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@corvu/tooltip": "^0.2.1", + "@solid-primitives/i18n": "^2.1.1", "@tauri-apps/api": "2.1.1", "dayjs": "1.11.13", "solid-icons": "1.1.0", @@ -28,9 +29,9 @@ "postcss": "8.4.49", "prettier": "3.4.2", "prettier-plugin-tailwindcss": "0.6.9", - "tailwindcss": "3.4.16", + "tailwindcss": "3.4.17", "typescript": "5.7.2", - "vite": "6.0.3", + "vite": "6.0.5", "vite-plugin-checker": "0.8.0", "vite-plugin-solid": "2.11.0" } diff --git a/project.inlang/.gitignore b/project.inlang/.gitignore new file mode 100644 index 00000000..5e465967 --- /dev/null +++ b/project.inlang/.gitignore @@ -0,0 +1 @@ +cache \ No newline at end of file diff --git a/project.inlang/clippy.babel b/project.inlang/clippy.babel new file mode 100644 index 00000000..2b5bfad0 --- /dev/null +++ b/project.inlang/clippy.babel @@ -0,0 +1,9137 @@ + + + + + generic-json + clippy.babel + ../ + + + + + main + + + ABOUT + + + COPYRIGHT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DEVELOPED_BY + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NO_UPDATES_CURRENTLY_AVAILABLE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + OFFICIAL_WEBSITE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + CLIPBOARD + + + NO_CLIPBOARDS_YET + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SEARCH_ENTRIES + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + MAIN + + + HOTKEY + + + ABOUT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_1 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_2 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_3 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_4 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_5 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_6 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_7 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_8 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DIGIT_9 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + EXIT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + HISTORY + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_1 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_2 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_3 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_4 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_5 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_6 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_7 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_8 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NUM_9 + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + RECENT_CLIPBOARDS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SCROLL_TO_TOP + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SETTINGS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + STARRED_CLIPBOARDS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SYNC_CLIPBOARD_HISTORY + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TYPE_CLIPBOARD + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + VIEW_MORE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + WINDOW_DISPLAY_TOGGLE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + KEYS + + + ALT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CTRL + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SHIFT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + LANGUAGE + + + AR + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + BN + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + EN + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + ES + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + FR + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + HI + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + IT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + JA + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + KO + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + NL + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + PL + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + PT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + RU + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TH + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TR + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + UR + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + VI + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + ZH + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + POSITION + + + BOTTOM_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + BOTTOM_LEFT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + BOTTOM_RIGHT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CURSOR + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + LEFT_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + RIGHT_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TOP_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TOP_LEFT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TOP_RIGHT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_BOTTOM_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_BOTTOM_LEFT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_BOTTOM_RIGHT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_CENTER + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_LEFT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + TRAY_RIGHT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + + + SETTINGS + + + BACKUP + + + CONFIG_LOCATION + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + DATABASE_LOCATION + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + OPEN + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SYNC + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SYNCHRONIZE_CLIPBOARD_HISTORY + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + GENERAL + + + CHANGE_LANGUAGE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CHANGE_WINDOW_POSITION + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + HTML_CLIPBOARD_TOOLTIP + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + KEYBOARD_SHORTCUT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + START_CLIPPY_ON_STARTUP + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SWITCH_THEME + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SYSTEM + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + WINDOW_SCALE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + HISTORY + + + CLEAR_ALL + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CLEAR_FILE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CLEAR_HTML + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CLEAR_IMAGE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CLEAR_RTF + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + CLEAR_TEXT + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + SQL_DATABASE_INFO + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + STORAGE_ACTIONS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + HOTKEYS + + + CHANGE_YOUR_HOTKEYS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + LIMITS + + + CLIPBOARD_LIMITS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + IF_SET_TO_ZERO + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + MAX_FILE_SIZE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + MAX_HTML_SIZE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + MAX_IMAGE_SIZE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + MAX_RTF_SIZE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + MAX_TEXT_SIZE + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + TAB + + + BACKUP + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + GENERAL + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + HISTORY + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + HOTKEYS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + LIMITS + + + + + ar-SA + false + + + bn-IN + false + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + hi-IN + false + + + it-IT + false + + + ja-JP + false + + + ko-KR + false + + + nl-NL + false + + + pl-PL + false + + + pt-PT + false + + + ru-RU + false + + + th-TH + false + + + tr-TR + false + + + ur-PK + false + + + vi-VN + false + + + zh-CN + false + + + + + + + + + + + + false + + + ar-SA + + + bn-IN + + + de-DE + + + en-US + + + es-ES + + + fr-FR + + + hi-IN + + + it-IT + + + ja-JP + + + ko-KR + + + nl-NL + + + pl-PL + + + pt-PT + + + ru-RU + + + th-TH + + + tr-TR + + + ur-PK + + + vi-VN + + + zh-CN + + + + + main + + + ../src/lib/i18n/ar.json + ar-SA + + + ../src/lib/i18n/bn.json + bn-IN + + + ../src/lib/i18n/de.json + de-DE + + + ../src/lib/i18n/en.json + en-US + + + ../src/lib/i18n/es.json + es-ES + + + ../src/lib/i18n/fr.json + fr-FR + + + ../src/lib/i18n/hi.json + hi-IN + + + ../src/lib/i18n/it.json + it-IT + + + ../src/lib/i18n/ja.json + ja-JP + + + ../src/lib/i18n/ko.json + ko-KR + + + ../src/lib/i18n/nl.json + nl-NL + + + ../src/lib/i18n/pl.json + pl-PL + + + ../src/lib/i18n/pt.json + pt-PT + + + ../src/lib/i18n/ru.json + ru-RU + + + ../src/lib/i18n/th.json + th-TH + + + ../src/lib/i18n/tr.json + tr-TR + + + ../src/lib/i18n/ur.json + ur-PK + + + ../src/lib/i18n/vi.json + vi-VN + + + ../src/lib/i18n/zh.json + zh-CN + + + + + + true + alphabetically + + '%1' + + + + + + + en-US + + tab + namespaced-json + true + + diff --git a/project.inlang/project_id b/project.inlang/project_id new file mode 100644 index 00000000..5f1a73d7 --- /dev/null +++ b/project.inlang/project_id @@ -0,0 +1 @@ +6c836d0da57ed27f8a93f682a667fbbb3e4c12336073632bfe8c587e155653ab \ No newline at end of file diff --git a/project.inlang/settings.json b/project.inlang/settings.json new file mode 100644 index 00000000..523d4a47 --- /dev/null +++ b/project.inlang/settings.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": [ + "en", + "zh", + "hi", + "es", + "fr", + "ar", + "bn", + "pt", + "ru", + "ur", + "ja", + "de", + "ko", + "vi", + "tr", + "it", + "th", + "pl", + "nl" + ], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-json@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/plugin-t-function-matcher@latest/dist/index.js" + ], + "plugin.inlang.json": { + "pathPattern": "./src/lib/i18n/{languageTag}.json" + } +} diff --git a/src-tauri/common/src/types/enums.rs b/src-tauri/common/src/types/enums.rs index 265358bf..a7c35eb0 100644 --- a/src-tauri/common/src/types/enums.rs +++ b/src-tauri/common/src/types/enums.rs @@ -72,6 +72,24 @@ pub enum Language { Russian, #[iden = "ur"] Urdu, + #[iden = "ja"] + Japanese, + #[iden = "de"] + German, + #[iden = "ko"] + Korean, + #[iden = "vi"] + Vietnamese, + #[iden = "tr"] + Turkish, + #[iden = "it"] + Italian, + #[iden = "th"] + Thai, + #[iden = "pl"] + Polish, + #[iden = "nl"] + Dutch, } #[derive(Iden, EnumIter, PartialEq, Serialize, Deserialize, Debug, Clone)] diff --git a/src-tauri/migration/src/m000009_seed.rs b/src-tauri/migration/src/m000009_seed.rs index 05e5e111..424108bc 100644 --- a/src-tauri/migration/src/m000009_seed.rs +++ b/src-tauri/migration/src/m000009_seed.rs @@ -31,7 +31,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set(key.to_string()), status: Set(true), - name: Set("Clippy Display Toggle".to_string()), + name: Set("MAIN.HOTKEY.WINDOW_DISPLAY_TOGGLE".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -45,7 +45,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("E".to_string()), status: Set(true), - name: Set("Scroll to Top".to_string()), + name: Set("MAIN.HOTKEY.SCROLL_TO_TOP".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -59,7 +59,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("R".to_string()), status: Set(true), - name: Set("Recent Clipboards".to_string()), + name: Set("MAIN.HOTKEY.RECENT_CLIPBOARDS".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -73,7 +73,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("T".to_string()), status: Set(true), - name: Set("Starred Clipboards".to_string()), + name: Set("MAIN.HOTKEY.STARRED_CLIPBOARDS".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -87,7 +87,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("H".to_string()), status: Set(true), - name: Set("History".to_string()), + name: Set("MAIN.HOTKEY.HISTORY".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -101,7 +101,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("M".to_string()), status: Set(true), - name: Set("View more".to_string()), + name: Set("MAIN.HOTKEY.VIEW_MORE".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -115,7 +115,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("P".to_string()), status: Set(true), - name: Set("Sync Clipboard History".to_string()), + name: Set("MAIN.HOTKEY.SYNC_CLIPBOARD_HISTORY".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -129,7 +129,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("O".to_string()), status: Set(true), - name: Set("Settings".to_string()), + name: Set("MAIN.HOTKEY.SETTINGS".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -143,7 +143,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("I".to_string()), status: Set(true), - name: Set("About".to_string()), + name: Set("MAIN.HOTKEY.ABOUT".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -157,7 +157,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("X".to_string()), status: Set(true), - name: Set("Exit".to_string()), + name: Set("MAIN.HOTKEY.EXIT".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } @@ -171,7 +171,7 @@ impl MigrationTrait for Migration { shift: Set(false), key: Set("B".to_string()), status: Set(true), - name: Set("Type Clipboard".to_string()), + name: Set("MAIN.HOTKEY.TYPE_CLIPBOARD".to_string()), icon: Set("\"\"".to_string()), ..Default::default() } diff --git a/src/about.tsx b/src/about.tsx index a7fe085c..d6274fc3 100644 --- a/src/about.tsx +++ b/src/about.tsx @@ -1,11 +1,13 @@ import { createSignal, onMount } from "solid-js"; import { render } from "solid-js/web"; import icon from "./assets/clippy.png"; +import LanguageProvider, { useLanguage } from "./components/provider/language-provider"; +import { invokeCommand } from "./lib/tauri"; import "./styles.css"; import { InvokeCommand } from "./types/tauri-invoke"; -import { invokeCommand } from "./utils/tauri"; const About = () => { + const { t } = useLanguage(); const [version, setVersion] = createSignal("0.0.0"); onMount(async () => setVersion(await invokeCommand(InvokeCommand.GetAppVersion))); @@ -14,7 +16,7 @@ const About = () => {
logo

{version()}

-

No updates currently available

+

{t("ABOUT.NO_UPDATES_CURRENTLY_AVAILABLE")}

invokeCommand(InvokeCommand.OpenBrowserUrl, { url: "https://github.com/0-don/clippy" })} @@ -27,12 +29,19 @@ const About = () => { onClick={() => invokeCommand(InvokeCommand.OpenBrowserUrl, { url: "https://github.com/0-don/clippy" })} class="inline-flex w-32 items-center rounded border border-gray-300 bg-white px-2.5 py-1.5 text-xs font-bold !text-zinc-950 shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2" > - Official Website + {t("ABOUT.OFFICIAL_WEBSITE")} -

Developed by 0-don. Powered by Tauri.

-

Copyright(C) DC. All right reserved.

+

{t("ABOUT.DEVELOPED_BY")}

+

{t("ABOUT.COPYRIGHT")}

); }; -render(() => , document.getElementById("root") as HTMLElement); +render( + () => ( + + + + ), + document.getElementById("root") as HTMLElement +); diff --git a/src/components/elements/dropdown.tsx b/src/components/elements/dropdown.tsx index 6d0b8781..f401038c 100644 --- a/src/components/elements/dropdown.tsx +++ b/src/components/elements/dropdown.tsx @@ -1,5 +1,8 @@ import { VsArrowSwap } from "solid-icons/vs"; import { Component, createSignal } from "solid-js"; +import { DictionaryKey } from "../../lib/i18n"; + +import { useLanguage } from "../provider/language-provider"; interface DropdownProps { className?: string; @@ -9,6 +12,7 @@ interface DropdownProps { } export const Dropdown: Component = (props) => { + const { t } = useLanguage(); const [ref, setRef] = createSignal(); return ( @@ -24,7 +28,7 @@ export const Dropdown: Component = (props) => { > {props.items.map((item) => ( ))} diff --git a/src/components/navigation/app-sidebar.tsx b/src/components/navigation/app-sidebar.tsx index 797ab642..1e5003fc 100644 --- a/src/components/navigation/app-sidebar.tsx +++ b/src/components/navigation/app-sidebar.tsx @@ -1,10 +1,13 @@ import { Component, For, Show } from "solid-js"; import { AppStore } from "../../store/app-store"; import { HotkeyStore } from "../../store/hotkey-store"; +import { useLanguage } from "../provider/language-provider"; interface AppSidebarProps {} export const AppSidebar: Component = ({}) => { + const { t } = useLanguage(); + return ( @@ -19,7 +22,7 @@ export const AppSidebar: Component = ({}) => { title={currentHotkey?.name} onClick={() => AppStore.changeTab(id)} > - +
@@ -18,26 +21,26 @@ function App() {

- {AppStore.getCurrentTab()?.name?.toUpperCase()} + {t(AppStore.getCurrentTab().name)}

}>
- + - + - + - +
diff --git a/src/components/pages/app/clipboard/base-clipboard.tsx b/src/components/pages/app/clipboard/base-clipboard.tsx index df7d3e8e..acbd37b1 100644 --- a/src/components/pages/app/clipboard/base-clipboard.tsx +++ b/src/components/pages/app/clipboard/base-clipboard.tsx @@ -3,11 +3,11 @@ import { IoTrashOutline } from "solid-icons/io"; import { TbSourceCode } from "solid-icons/tb"; import { VsStarFull } from "solid-icons/vs"; import { Component } from "solid-js"; +import { invokeCommand } from "../../../../lib/tauri"; import { ClipboardStore } from "../../../../store/clipboard-store"; import { ClipboardModel, ClipboardWithRelations } from "../../../../types"; import { ClipboardType } from "../../../../types/enums"; import { InvokeCommand } from "../../../../types/tauri-invoke"; -import { invokeCommand } from "../../../../utils/tauri"; import { FileClipboard } from "./file-clipboard"; import { ImageClipboard } from "./image-clipboard"; import { TextClipboard } from "./text-clipboard"; diff --git a/src/components/utils/clipboard/clipboard-header.tsx b/src/components/pages/app/clipboard/clipboard-header.tsx similarity index 85% rename from src/components/utils/clipboard/clipboard-header.tsx rename to src/components/pages/app/clipboard/clipboard-header.tsx index 9af35fd1..730b4f39 100644 --- a/src/components/utils/clipboard/clipboard-header.tsx +++ b/src/components/pages/app/clipboard/clipboard-header.tsx @@ -1,7 +1,7 @@ import { IconTypes } from "solid-icons"; import { Component, Show } from "solid-js"; -import { HotkeyStore } from "../../../store/hotkey-store"; -import { ClipboardWithRelations } from "../../../types"; +import { HotkeyStore } from "../../../../store/hotkey-store"; +import { ClipboardWithRelations } from "../../../../types"; interface ClipboardHeaderProps { data: ClipboardWithRelations; diff --git a/src/components/pages/app/clipboard/clipboards.tsx b/src/components/pages/app/clipboard/clipboards.tsx index d42d48aa..3a1914ee 100644 --- a/src/components/pages/app/clipboard/clipboards.tsx +++ b/src/components/pages/app/clipboard/clipboards.tsx @@ -4,18 +4,20 @@ import utc from "dayjs/plugin/utc"; import { FiArrowUp } from "solid-icons/fi"; import { Component, For, Show, createSignal, onMount } from "solid-js"; import clippy from "../../../../assets/clippy.png"; +import { listenEvent } from "../../../../lib/tauri"; import { AppStore } from "../../../../store/app-store"; import { ClipboardStore } from "../../../../store/clipboard-store"; import { HotkeyStore } from "../../../../store/hotkey-store"; import { HotkeyEvent } from "../../../../types/enums"; import { ListenEvent } from "../../../../types/tauri-listen"; -import { listenEvent } from "../../../../utils/tauri"; +import { useLanguage } from "../../../provider/language-provider"; import { BaseClipboard } from "./base-clipboard"; dayjs.extend(utc); dayjs.extend(relativeTime); export const Clipboards: Component = () => { + const { t } = useLanguage(); const { globalHotkeyEvent, hotkeys } = HotkeyStore; const [scrollToTop, setScrollToTop] = createSignal(false); @@ -49,7 +51,7 @@ export const Clipboards: Component = () => { fallback={
no clipboards -

No Clipboards yet...

+

{t("CLIPBOARD.NO_CLIPBOARDS_YET")}

} > diff --git a/src/components/pages/app/clipboard/file-clipboard.tsx b/src/components/pages/app/clipboard/file-clipboard.tsx index f035c350..12c7f677 100644 --- a/src/components/pages/app/clipboard/file-clipboard.tsx +++ b/src/components/pages/app/clipboard/file-clipboard.tsx @@ -1,12 +1,12 @@ import dayjs from "dayjs"; import { VsFileBinary } from "solid-icons/vs"; import { Component } from "solid-js"; +import { invokeCommand } from "../../../../lib/tauri"; import { ClipboardFileModel, ClipboardWithRelations } from "../../../../types"; import { ClipboardType } from "../../../../types/enums"; import { InvokeCommand } from "../../../../types/tauri-invoke"; -import { formatBytes } from "../../../../utils/helpers"; -import { invokeCommand } from "../../../../utils/tauri"; -import { ClipboardHeader } from "../../../utils/clipboard/clipboard-header"; +import { formatBytes } from "../../../../utils"; +import { ClipboardHeader } from "./clipboard-header"; interface FileClipboardProps { data: ClipboardWithRelations; diff --git a/src/components/pages/app/clipboard/image-clipboard.tsx b/src/components/pages/app/clipboard/image-clipboard.tsx index 0d307725..775dd8e9 100644 --- a/src/components/pages/app/clipboard/image-clipboard.tsx +++ b/src/components/pages/app/clipboard/image-clipboard.tsx @@ -1,12 +1,12 @@ import dayjs from "dayjs"; import { BsImages } from "solid-icons/bs"; import { Component } from "solid-js"; +import { invokeCommand } from "../../../../lib/tauri"; import { ClipboardWithRelations } from "../../../../types"; import { ClipboardType } from "../../../../types/enums"; import { InvokeCommand } from "../../../../types/tauri-invoke"; -import { formatBytes } from "../../../../utils/helpers"; -import { invokeCommand } from "../../../../utils/tauri"; -import { ClipboardHeader } from "../../../utils/clipboard/clipboard-header"; +import { formatBytes } from "../../../../utils"; +import { ClipboardHeader } from "./clipboard-header"; interface ImageClipboardProps { data: ClipboardWithRelations; diff --git a/src/components/pages/app/clipboard/text-clipboard.tsx b/src/components/pages/app/clipboard/text-clipboard.tsx index 250a496c..add15101 100644 --- a/src/components/pages/app/clipboard/text-clipboard.tsx +++ b/src/components/pages/app/clipboard/text-clipboard.tsx @@ -3,13 +3,13 @@ import dayjs from "dayjs"; import { BsFiletypeHtml, BsJournalRichtext } from "solid-icons/bs"; import { FiFileText, FiLink } from "solid-icons/fi"; import { Component } from "solid-js"; +import { rgbCompatible } from "../../../../lib/colors"; +import { invokeCommand } from "../../../../lib/tauri"; import { SettingsStore } from "../../../../store/settings-store"; import { ClipboardWithRelations } from "../../../../types"; import { ClipboardTextType, ClipboardType } from "../../../../types/enums"; import { InvokeCommand } from "../../../../types/tauri-invoke"; -import { rgbCompatible } from "../../../../utils/colors"; -import { invokeCommand } from "../../../../utils/tauri"; -import { ClipboardHeader } from "../../../utils/clipboard/clipboard-header"; +import { ClipboardHeader } from "./clipboard-header"; interface TextClipboardProps { data: ClipboardWithRelations; diff --git a/src/components/pages/app/search-bar.tsx b/src/components/pages/app/search-bar.tsx index 040bad04..722d6edf 100644 --- a/src/components/pages/app/search-bar.tsx +++ b/src/components/pages/app/search-bar.tsx @@ -1,26 +1,25 @@ import { FaRegularImage } from "solid-icons/fa"; import { FiSearch } from "solid-icons/fi"; import { Component, createEffect, createSignal, onCleanup, onMount } from "solid-js"; +import { invokeCommand } from "../../../lib/tauri"; import { AppStore } from "../../../store/app-store"; import { ClipboardStore, initialWhere } from "../../../store/clipboard-store"; import { HotkeyStore } from "../../../store/hotkey-store"; import { InvokeCommand } from "../../../types/tauri-invoke"; -import { invokeCommand } from "../../../utils/tauri"; +import { useLanguage } from "../../provider/language-provider"; interface SearchBarProps {} export const SearchBar: Component = ({}) => { let input: HTMLInputElement | undefined; + const { t } = useLanguage(); const [search, setSearch] = createSignal(""); const [showImages, setShowImages] = createSignal(false); - const { getCurrentTab } = AppStore; - const { setClipboards, setWhere, getClipboards } = ClipboardStore; - const { enableGlobalHotkeyEvent: setGlobalHotkeyEvent } = HotkeyStore; onMount(async () => { input?.focus(); await invokeCommand(InvokeCommand.StopHotkeys); - setGlobalHotkeyEvent(false); + HotkeyStore.enableGlobalHotkeyEvent(false); }); createEffect(() => { @@ -28,14 +27,14 @@ export const SearchBar: Component = ({}) => { const img = showImages(); const delayDebounceFn = setTimeout(async () => { - setWhere(() => ({ + ClipboardStore.setWhere(() => ({ ...initialWhere, search: text.length && !img ? text : undefined, img: img || undefined, - star: getCurrentTab()?.name === "Starred Clipboards" ? true : undefined, + star: AppStore.getCurrentTab()?.name === "MAIN.HOTKEY.STARRED_CLIPBOARDS" ? true : undefined, })); - const clipboards = await getClipboards(); - setClipboards(clipboards); + const clipboards = await ClipboardStore.getClipboards(); + ClipboardStore.setClipboards(clipboards); }, 0); onCleanup(() => clearTimeout(delayDebounceFn)); @@ -49,7 +48,7 @@ export const SearchBar: Component = ({}) => {
= ({}) => { + const { t } = useLanguage(); + const createButton = (name: ViewMoreName, callback: () => void) => { const hotkey = HotkeyStore.hotkeys().find((key) => key.name === name) as Hotkey; @@ -32,9 +35,9 @@ export const ViewMore: Component = ({}) => {
-

{name}

+

{t(name)}

- {name === "Sync Clipboard History" && ( + {name === "MAIN.HOTKEY.SYNC_CLIPBOARD_HISTORY" && ( {}} /> )} @@ -46,13 +49,13 @@ export const ViewMore: Component = ({}) => { return ( <> {/* Sync Clipboard History */} - {createButton("Sync Clipboard History", SettingsStore.syncClipboard)} + {createButton("MAIN.HOTKEY.SYNC_CLIPBOARD_HISTORY", SettingsStore.syncClipboard)} {/* Settings */} - {createButton("Settings", () => SettingsStore.openWindow(WebWindow.Settings))} + {createButton("MAIN.HOTKEY.SETTINGS", () => SettingsStore.openWindow(WebWindow.Settings))} {/* About */} - {createButton("About", () => SettingsStore.openWindow(WebWindow.About))} + {createButton("MAIN.HOTKEY.ABOUT", () => SettingsStore.openWindow(WebWindow.About))} {/* Exit */} - {createButton("Exit", SettingsStore.exitApp)} + {createButton("MAIN.HOTKEY.EXIT", SettingsStore.exitApp)} ); }; diff --git a/src/components/pages/settings/settings-backup.tsx b/src/components/pages/settings/settings-backup.tsx index e40f7b86..79d5c4e3 100644 --- a/src/components/pages/settings/settings-backup.tsx +++ b/src/components/pages/settings/settings-backup.tsx @@ -4,26 +4,28 @@ import { RiDeviceSave3Fill } from "solid-icons/ri"; import { SiSqlite } from "solid-icons/si"; import { TbDatabaseStar } from "solid-icons/tb"; import { Component, createResource } from "solid-js"; +import { invokeCommand } from "../../../lib/tauri"; import { SettingsStore } from "../../../store/settings-store"; import { FolderLocation } from "../../../types/enums"; import { InvokeCommand } from "../../../types/tauri-invoke"; -import { invokeCommand } from "../../../utils/tauri"; import { TextBlock } from "../../elements/text-block"; import { Toggle } from "../../elements/toggle"; +import { useLanguage } from "../../provider/language-provider"; interface SettingsBackupProps {} export const SettingsBackup: Component = ({}) => { + const { t } = useLanguage(); const [databaseUrl, setDatabaseUrl] = createResource(() => invokeCommand(InvokeCommand.GetDbPath)); const [configUrl] = createResource(() => invokeCommand(InvokeCommand.GetConfigPath)); return ( <> - +
-
Synchronize clipboard history
+
{t("SETTINGS.BACKUP.SYNCHRONIZE_CLIPBOARD_HISTORY")}
= ({}) => {
- +
= ({}) => { class="group absolute inset-y-0 right-1 my-1 flex items-center space-x-1 rounded bg-gray-600 px-2 text-xs text-white group-hover:bg-gray-400" > -
Open
+
{t("SETTINGS.BACKUP.OPEN")}
- +
= ({}) => { class="group absolute inset-y-0 right-1 my-1 flex items-center space-x-1 rounded bg-gray-600 px-2 text-xs text-white group-hover:bg-gray-400" > -
Open
+
{t("SETTINGS.BACKUP.OPEN")}
diff --git a/src/components/pages/settings/settings-general.tsx b/src/components/pages/settings/settings-general.tsx index adcbcc17..08628dad 100644 --- a/src/components/pages/settings/settings-general.tsx +++ b/src/components/pages/settings/settings-general.tsx @@ -3,27 +3,32 @@ import { FiMoon } from "solid-icons/fi"; import { HiOutlineWindow, HiSolidCog8Tooth } from "solid-icons/hi"; import { IoLanguageOutline } from "solid-icons/io"; import { RiDeviceKeyboardFill } from "solid-icons/ri"; +import { TbTooltip } from "solid-icons/tb"; import { VsRocket } from "solid-icons/vs"; import { Component, Show } from "solid-js"; +import { msg } from "../../../lib/i18n"; +import { invokeCommand } from "../../../lib/tauri"; import { HotkeyStore } from "../../../store/hotkey-store"; import { SettingsStore } from "../../../store/settings-store"; -import { ClippyPosition, HotkeyEvent, Language, WebWindow } from "../../../types/enums"; +import { HotkeyEvent, WebWindow } from "../../../types/enums"; import { InvokeCommand } from "../../../types/tauri-invoke"; -import { invokeCommand } from "../../../utils/tauri"; +import { CLIPPY_POSITIONS, ClippyPosition, Language, LANGUAGES } from "../../../utils/constants"; import { Dropdown } from "../../elements/dropdown"; import { Input } from "../../elements/input"; import { TextBlock } from "../../elements/text-block"; import { Toggle } from "../../elements/toggle"; +import { useLanguage } from "../../provider/language-provider"; import { DarkMode } from "../../utils/dark-mode"; import { Shortcut } from "../../utils/shortcut"; -import { TbTooltip } from "solid-icons/tb"; interface SettingsGeneralProps {} export const SettingsGeneral: Component = ({}) => { + const { t } = useLanguage(); + return ( - +
{(hotkey) => } @@ -31,11 +36,11 @@ export const SettingsGeneral: Component = ({}) => {
- +
-
Start Clippy on system startup.
+
{t("SETTINGS.GENERAL.START_CLIPPY_ON_STARTUP")}
= ({}) => {
-
Switch Theme
+
{t("SETTINGS.GENERAL.SWITCH_THEME")}
@@ -58,7 +63,7 @@ export const SettingsGeneral: Component = ({}) => {
-
HTML clipboard tooltip
+
{t("SETTINGS.GENERAL.HTML_CLIPBOARD_TOOLTIP")}
= ({}) => {
-
Change Window Position
+
{t("SETTINGS.GENERAL.CHANGE_WINDOW_POSITION")}
({ value: value, label: key }))} + items={CLIPPY_POSITIONS.map((value) => ({ + value, + label: msg(`MAIN.POSITION.${value.toUpperCase() as Uppercase}`), + }))} value={SettingsStore.settings()!.position} onChange={(position) => { SettingsStore.updateSettings({ ...SettingsStore.settings()!, position: position as ClippyPosition }); @@ -88,11 +96,14 @@ export const SettingsGeneral: Component = ({}) => {
-
Change language
+
{t("SETTINGS.GENERAL.CHANGE_LANGUAGE")}
({ value: value, label: key }))} + items={LANGUAGES.map((value) => ({ + value, + label: msg(`MAIN.LANGUAGE.${value.toUpperCase() as Uppercase}`), + }))} value={SettingsStore.settings()!.language} onChange={(language) => { SettingsStore.updateSettings({ ...SettingsStore.settings()!, language: language as Language }); @@ -103,7 +114,7 @@ export const SettingsGeneral: Component = ({}) => {
-
Window Scale
+
{t("SETTINGS.GENERAL.WINDOW_SCALE")}
{ + const { t } = useLanguage(); const [databaseInfo, { refetch }] = createResource(() => invokeCommand(InvokeCommand.GetDbInfo)); const handleClear = async (type: ClipboardType | null) => { @@ -27,7 +30,7 @@ export const SettingsHistory: Component = () => { return ( <> - +
  • {`${databaseInfo()?.records} local items (${formatBytes(databaseInfo()?.size)}) are saved on this computer`} @@ -35,7 +38,7 @@ export const SettingsHistory: Component = () => {
- +
{CLIPBOARD_TYPES.map(({ type, label }) => ( ))}
diff --git a/src/components/pages/settings/settings-hotkeys.tsx b/src/components/pages/settings/settings-hotkeys.tsx index 9320bd10..ddcc1ded 100644 --- a/src/components/pages/settings/settings-hotkeys.tsx +++ b/src/components/pages/settings/settings-hotkeys.tsx @@ -2,13 +2,16 @@ import { RiDeviceKeyboardFill } from "solid-icons/ri"; import { Component, For } from "solid-js"; import { HotkeyStore } from "../../../store/hotkey-store"; import { TextBlock } from "../../elements/text-block"; +import { useLanguage } from "../../provider/language-provider"; import { Shortcut } from "../../utils/shortcut"; interface SettingsHotkeysProps {} export const SettingsHotkeys: Component = ({}) => { + const { t } = useLanguage(); + return ( - +
{(hotkey, index) => ( diff --git a/src/components/pages/settings/settings-limits.tsx b/src/components/pages/settings/settings-limits.tsx index dbb2791e..ab262abb 100644 --- a/src/components/pages/settings/settings-limits.tsx +++ b/src/components/pages/settings/settings-limits.tsx @@ -4,26 +4,29 @@ import { HiSolidCog8Tooth } from "solid-icons/hi"; import { VsFileBinary } from "solid-icons/vs"; import { Component, Show } from "solid-js"; import { SettingsStore } from "../../../store/settings-store"; -import { formatBytes } from "../../../utils/helpers"; +import { formatBytes } from "../../../utils"; +import { DEFAULT_SIZE, MAX_SIZE } from "../../../utils/constants"; import { Input } from "../../elements/input"; import { TextBlock } from "../../elements/text-block"; +import { useLanguage } from "../../provider/language-provider"; interface SettingsLimitsProps {} -const MAX_SIZE = 104_857_600; -const DEFAULT_SIZE = 10_485_760; - export const SettingsLimits: Component = ({}) => { + const { t } = useLanguage(); + return ( - +
-

If set to 0 the clipboard type will be skipped entirely

+

{t("SETTINGS.LIMITS.IF_SET_TO_ZERO")}

-
Max text size ({formatBytes(SettingsStore.settings()?.max_text_size)})
+
+ {t("SETTINGS.LIMITS.MAX_TEXT_SIZE")} ({formatBytes(SettingsStore.settings()?.max_text_size)}) +
= ({}) => {
-
Max html size ({formatBytes(SettingsStore.settings()?.max_html_size)})
+
+ {t("SETTINGS.LIMITS.MAX_HTML_SIZE")} ({formatBytes(SettingsStore.settings()?.max_html_size)}) +
= ({}) => {
-
Max rtf size ({formatBytes(SettingsStore.settings()?.max_rtf_size)})
+
+ {t("SETTINGS.LIMITS.MAX_RTF_SIZE")} ({formatBytes(SettingsStore.settings()?.max_rtf_size)}) +
= ({}) => {
-
Max file size ({formatBytes(SettingsStore.settings()?.max_file_size)})
+
+ {t("SETTINGS.LIMITS.MAX_FILE_SIZE")} ({formatBytes(SettingsStore.settings()?.max_file_size)}) +
= ({}) => {
-
Max image size ({formatBytes(SettingsStore.settings()?.max_image_size)})
+
+ {t("SETTINGS.LIMITS.MAX_IMAGE_SIZE")}({formatBytes(SettingsStore.settings()?.max_image_size)}) +
= ({}) => { - const { tabs, setCurrentTab } = SettingsStore; + const { t } = useLanguage(); return (