site-i18n.ts 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. import type { Locale } from './i18n';
  2. // UI strings for the marketing chrome (landing page hero/features/footer + the
  3. // shared navbar labels). The docs *pages* are translated as MDX under
  4. // content/docs/{locale}; this covers the React-rendered home page and nav that
  5. // can't live in MDX. English is the source; fa/ru/zh fall back to en.
  6. //
  7. // Convention matches the docs: translate prose only — product/protocol names
  8. // (3x-ui, Xray, VLESS, REALITY, x25519, Docker, REST API, …) stay in Latin.
  9. export interface SiteMessages {
  10. tagline: string;
  11. getStarted: string;
  12. viewOnGitHub: string;
  13. documentation: string;
  14. donate: string;
  15. docs: string;
  16. stars: string;
  17. forks: string;
  18. latest: string;
  19. copyCommand: string;
  20. copied: string;
  21. featuresHeading: string;
  22. featuresSubtitle: string;
  23. // Order matches the icon list in components/home/features.tsx.
  24. features: { title: string; description: string }[];
  25. // Footer license line: `{app} — {before}<a>GPL-3.0</a>{after}` (spacing baked in).
  26. licenseBefore: string;
  27. licenseAfter: string;
  28. }
  29. const en: SiteMessages = {
  30. tagline: 'Advanced web panel for managing Xray-core servers',
  31. getStarted: 'Get started',
  32. viewOnGitHub: 'View on GitHub',
  33. documentation: 'Documentation',
  34. donate: 'Donate',
  35. docs: 'Docs',
  36. stars: 'stars',
  37. forks: 'forks',
  38. latest: 'latest',
  39. copyCommand: 'Copy install command',
  40. copied: 'Copied',
  41. featuresHeading: 'Everything you need to run Xray',
  42. featuresSubtitle:
  43. 'A modern, fast control panel for Xray-core — built for operators who want power without the command-line grind.',
  44. features: [
  45. {
  46. title: 'Every major protocol',
  47. description:
  48. 'VLESS, VMess, Trojan, Shadowsocks, WireGuard, Hysteria2, SOCKS, HTTP and Dokodemo-door — managed from one panel.',
  49. },
  50. {
  51. title: 'REALITY & XTLS-Vision',
  52. description:
  53. 'First-class support for VLESS + REALITY with x25519 keys, short IDs and the xtls-rprx-vision flow for stealth and speed.',
  54. },
  55. {
  56. title: 'Clients & traffic control',
  57. description:
  58. 'Per-client traffic quotas, expiry dates, IP limits and live online status, with one-click share links and QR codes.',
  59. },
  60. {
  61. title: 'Multi-node & subscriptions',
  62. description:
  63. 'Coordinate multiple servers, managed hosts and external proxies, and serve VLESS / Clash / JSON subscriptions.',
  64. },
  65. {
  66. title: 'Telegram bot & alerts',
  67. description:
  68. 'Built-in Telegram notifications for traffic caps, expiry warnings and system load, plus admin actions.',
  69. },
  70. {
  71. title: 'Self-hosted & scriptable',
  72. description:
  73. 'A single Go binary or Docker image, an SQLite/PostgreSQL backend, and a full REST API for automation.',
  74. },
  75. ],
  76. licenseBefore: 'released under the ',
  77. licenseAfter: ' license.',
  78. };
  79. const fa: SiteMessages = {
  80. tagline: 'پنل وب پیشرفته برای مدیریت سرورهای Xray-core',
  81. getStarted: 'شروع کنید',
  82. viewOnGitHub: 'مشاهده در GitHub',
  83. documentation: 'مستندات',
  84. donate: 'حمایت مالی',
  85. docs: 'مستندات',
  86. stars: 'ستاره',
  87. forks: 'فورک',
  88. latest: 'آخرین',
  89. copyCommand: 'کپی دستور نصب',
  90. copied: 'کپی شد',
  91. featuresHeading: 'هر آنچه برای اجرای Xray لازم دارید',
  92. featuresSubtitle:
  93. 'یک پنل کنترلِ مدرن و سریع برای Xray-core — ساخته‌شده برای ادمین‌هایی که قدرت می‌خواهند، بدون درگیری با خط فرمان.',
  94. features: [
  95. {
  96. title: 'همه‌ی پروتکل‌های اصلی',
  97. description:
  98. 'VLESS، VMess، Trojan، Shadowsocks، WireGuard، Hysteria2، SOCKS، HTTP و Dokodemo-door — همه از یک پنل مدیریت می‌شوند.',
  99. },
  100. {
  101. title: 'REALITY و XTLS-Vision',
  102. description:
  103. 'پشتیبانی درجه‌یک از VLESS + REALITY با کلیدهای x25519، short ID‌ها و فلوی xtls-rprx-vision برای مخفی‌کاری و سرعت.',
  104. },
  105. {
  106. title: 'کلاینت‌ها و کنترل ترافیک',
  107. description:
  108. 'سهمیه‌ی ترافیک برای هر کلاینت، تاریخ انقضا، محدودیت IP و وضعیت آنلاینِ زنده، همراه با لینک‌های اشتراک‌گذاری و کدهای QR تنها با یک کلیک.',
  109. },
  110. {
  111. title: 'چندنودی و سابسکریپشن‌ها',
  112. description:
  113. 'هماهنگ‌سازی چند سرور، هاست‌های مدیریت‌شده و پروکسی‌های خارجی، و ارائه‌ی سابسکریپشن‌های VLESS / Clash / JSON.',
  114. },
  115. {
  116. title: 'ربات Telegram و هشدارها',
  117. description:
  118. 'اعلان‌های داخلیِ Telegram برای سقف ترافیک، هشدار انقضا و بار سیستم، به‌علاوه‌ی کنش‌های مدیریتی.',
  119. },
  120. {
  121. title: 'خودمیزبان و قابل‌اسکریپت',
  122. description:
  123. 'یک باینری Go یا ایمیج Docker، بک‌اندِ SQLite/PostgreSQL، و یک REST API کامل برای خودکارسازی.',
  124. },
  125. ],
  126. licenseBefore: 'تحت مجوز ',
  127. licenseAfter: ' منتشر شده است.',
  128. };
  129. const ru: SiteMessages = {
  130. tagline: 'Продвинутая веб-панель для управления серверами Xray-core',
  131. getStarted: 'Начать',
  132. viewOnGitHub: 'Открыть на GitHub',
  133. documentation: 'Документация',
  134. donate: 'Поддержать',
  135. docs: 'Документация',
  136. stars: 'звёзд',
  137. forks: 'форков',
  138. latest: 'последняя',
  139. copyCommand: 'Скопировать команду установки',
  140. copied: 'Скопировано',
  141. featuresHeading: 'Всё необходимое для запуска Xray',
  142. featuresSubtitle:
  143. 'Современная и быстрая панель управления для Xray-core — создана для администраторов, которым нужна мощь без возни с командной строкой.',
  144. features: [
  145. {
  146. title: 'Все основные протоколы',
  147. description:
  148. 'VLESS, VMess, Trojan, Shadowsocks, WireGuard, Hysteria2, SOCKS, HTTP и Dokodemo-door — под управлением из одной панели.',
  149. },
  150. {
  151. title: 'REALITY и XTLS-Vision',
  152. description:
  153. 'Первоклассная поддержка VLESS + REALITY с ключами x25519, short ID и потоком xtls-rprx-vision для скрытности и скорости.',
  154. },
  155. {
  156. title: 'Клиенты и контроль трафика',
  157. description:
  158. 'Квоты трафика по клиентам, даты окончания, лимиты IP и статус «онлайн» в реальном времени, плюс ссылки-подписки и QR-коды в один клик.',
  159. },
  160. {
  161. title: 'Мультинода и подписки',
  162. description:
  163. 'Координация нескольких серверов, управляемых хостов и внешних прокси, а также выдача подписок VLESS / Clash / JSON.',
  164. },
  165. {
  166. title: 'Telegram-бот и оповещения',
  167. description:
  168. 'Встроенные уведомления Telegram о лимитах трафика, истечении срока и нагрузке системы, а также действия администратора.',
  169. },
  170. {
  171. title: 'Свой хостинг и скрипты',
  172. description:
  173. 'Один бинарный файл Go или Docker-образ, бэкенд SQLite/PostgreSQL и полноценный REST API для автоматизации.',
  174. },
  175. ],
  176. licenseBefore: 'распространяется под лицензией ',
  177. licenseAfter: '.',
  178. };
  179. const zh: SiteMessages = {
  180. tagline: '用于管理 Xray-core 服务器的高级 Web 面板',
  181. getStarted: '开始使用',
  182. viewOnGitHub: '在 GitHub 上查看',
  183. documentation: '文档',
  184. donate: '捐赠',
  185. docs: '文档',
  186. stars: '星标',
  187. forks: '复刻',
  188. latest: '最新',
  189. copyCommand: '复制安装命令',
  190. copied: '已复制',
  191. featuresHeading: '运行 Xray 所需的一切',
  192. featuresSubtitle:
  193. '为 Xray-core 打造的现代、快速控制面板 —— 专为想要强大功能又不愿折腾命令行的运维者而生。',
  194. features: [
  195. {
  196. title: '支持所有主流协议',
  197. description:
  198. 'VLESS、VMess、Trojan、Shadowsocks、WireGuard、Hysteria2、SOCKS、HTTP 和 Dokodemo-door —— 全部在一个面板中管理。',
  199. },
  200. {
  201. title: 'REALITY 与 XTLS-Vision',
  202. description:
  203. '一流支持 VLESS + REALITY,配备 x25519 密钥、short ID 和 xtls-rprx-vision 流,兼顾隐蔽与速度。',
  204. },
  205. {
  206. title: '客户端与流量控制',
  207. description:
  208. '为每个客户端设置流量配额、到期日期、IP 限制和实时在线状态,并支持一键分享链接和二维码。',
  209. },
  210. {
  211. title: '多节点与订阅',
  212. description: '协调多台服务器、托管主机和外部代理,并提供 VLESS / Clash / JSON 订阅。',
  213. },
  214. {
  215. title: 'Telegram 机器人与告警',
  216. description: '内置 Telegram 通知,覆盖流量上限、到期提醒和系统负载,并支持管理员操作。',
  217. },
  218. {
  219. title: '自托管且可脚本化',
  220. description: '单个 Go 二进制文件或 Docker 镜像、SQLite/PostgreSQL 后端,以及用于自动化的完整 REST API。',
  221. },
  222. ],
  223. licenseBefore: '基于 ',
  224. licenseAfter: ' 许可证发布。',
  225. };
  226. const messages: Record<Locale, SiteMessages> = { en, fa, ru, zh };
  227. export function getSiteMessages(lang: string): SiteMessages {
  228. return messages[lang as Locale] ?? en;
  229. }