@tracearr/translations 2.2.0-beta.2 → 2.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/dist/config.d.ts +3349 -1105
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +3349 -1105
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/locales/af-ZA/common.json +282 -250
  8. package/dist/locales/af-ZA/nav.json +21 -17
  9. package/dist/locales/af-ZA/notifications.json +22 -38
  10. package/dist/locales/af-ZA/pages.json +1170 -97
  11. package/dist/locales/af-ZA/settings.json +455 -426
  12. package/dist/locales/ar-SA/common.json +282 -250
  13. package/dist/locales/ar-SA/nav.json +21 -17
  14. package/dist/locales/ar-SA/notifications.json +22 -38
  15. package/dist/locales/ar-SA/pages.json +1170 -97
  16. package/dist/locales/ar-SA/settings.json +455 -426
  17. package/dist/locales/ca-ES/common.json +282 -250
  18. package/dist/locales/ca-ES/nav.json +21 -17
  19. package/dist/locales/ca-ES/notifications.json +22 -38
  20. package/dist/locales/ca-ES/pages.json +1170 -97
  21. package/dist/locales/ca-ES/settings.json +455 -426
  22. package/dist/locales/cs-CZ/common.json +282 -250
  23. package/dist/locales/cs-CZ/nav.json +21 -17
  24. package/dist/locales/cs-CZ/notifications.json +22 -38
  25. package/dist/locales/cs-CZ/pages.json +1170 -97
  26. package/dist/locales/cs-CZ/settings.json +455 -426
  27. package/dist/locales/da-DK/common.json +282 -250
  28. package/dist/locales/da-DK/nav.json +21 -17
  29. package/dist/locales/da-DK/notifications.json +22 -38
  30. package/dist/locales/da-DK/pages.json +1170 -97
  31. package/dist/locales/da-DK/settings.json +455 -426
  32. package/dist/locales/de-DE/common.json +282 -250
  33. package/dist/locales/de-DE/nav.json +21 -17
  34. package/dist/locales/de-DE/notifications.json +22 -38
  35. package/dist/locales/de-DE/pages.json +1170 -97
  36. package/dist/locales/de-DE/settings.json +455 -426
  37. package/dist/locales/el-GR/common.json +282 -250
  38. package/dist/locales/el-GR/nav.json +21 -17
  39. package/dist/locales/el-GR/notifications.json +22 -38
  40. package/dist/locales/el-GR/pages.json +1170 -97
  41. package/dist/locales/el-GR/settings.json +455 -426
  42. package/dist/locales/en/common.json +36 -4
  43. package/dist/locales/en/nav.json +6 -2
  44. package/dist/locales/en/notifications.json +13 -29
  45. package/dist/locales/en/pages.json +1187 -114
  46. package/dist/locales/en/settings.json +31 -2
  47. package/dist/locales/en-US/common.json +282 -250
  48. package/dist/locales/en-US/nav.json +21 -17
  49. package/dist/locales/en-US/notifications.json +22 -38
  50. package/dist/locales/en-US/pages.json +1170 -97
  51. package/dist/locales/en-US/settings.json +455 -426
  52. package/dist/locales/es-ES/common.json +282 -250
  53. package/dist/locales/es-ES/nav.json +21 -17
  54. package/dist/locales/es-ES/notifications.json +22 -38
  55. package/dist/locales/es-ES/pages.json +1170 -97
  56. package/dist/locales/es-ES/settings.json +455 -426
  57. package/dist/locales/fi-FI/common.json +282 -250
  58. package/dist/locales/fi-FI/nav.json +21 -17
  59. package/dist/locales/fi-FI/notifications.json +22 -38
  60. package/dist/locales/fi-FI/pages.json +1170 -97
  61. package/dist/locales/fi-FI/settings.json +455 -426
  62. package/dist/locales/fr-FR/common.json +282 -250
  63. package/dist/locales/fr-FR/nav.json +21 -17
  64. package/dist/locales/fr-FR/notifications.json +22 -38
  65. package/dist/locales/fr-FR/pages.json +1170 -97
  66. package/dist/locales/fr-FR/settings.json +455 -426
  67. package/dist/locales/he-IL/common.json +282 -250
  68. package/dist/locales/he-IL/nav.json +21 -17
  69. package/dist/locales/he-IL/notifications.json +22 -38
  70. package/dist/locales/he-IL/pages.json +1170 -97
  71. package/dist/locales/he-IL/settings.json +455 -426
  72. package/dist/locales/hu-HU/common.json +282 -250
  73. package/dist/locales/hu-HU/nav.json +21 -17
  74. package/dist/locales/hu-HU/notifications.json +22 -38
  75. package/dist/locales/hu-HU/pages.json +1170 -97
  76. package/dist/locales/hu-HU/settings.json +455 -426
  77. package/dist/locales/it-IT/common.json +282 -250
  78. package/dist/locales/it-IT/nav.json +21 -17
  79. package/dist/locales/it-IT/notifications.json +22 -38
  80. package/dist/locales/it-IT/pages.json +1170 -97
  81. package/dist/locales/it-IT/settings.json +455 -426
  82. package/dist/locales/ja-JP/common.json +282 -250
  83. package/dist/locales/ja-JP/nav.json +21 -17
  84. package/dist/locales/ja-JP/notifications.json +22 -38
  85. package/dist/locales/ja-JP/pages.json +1170 -97
  86. package/dist/locales/ja-JP/settings.json +455 -426
  87. package/dist/locales/ko-KR/common.json +282 -250
  88. package/dist/locales/ko-KR/nav.json +21 -17
  89. package/dist/locales/ko-KR/notifications.json +22 -38
  90. package/dist/locales/ko-KR/pages.json +1170 -97
  91. package/dist/locales/ko-KR/settings.json +455 -426
  92. package/dist/locales/nl-NL/common.json +282 -250
  93. package/dist/locales/nl-NL/nav.json +21 -17
  94. package/dist/locales/nl-NL/notifications.json +22 -38
  95. package/dist/locales/nl-NL/pages.json +1170 -97
  96. package/dist/locales/nl-NL/settings.json +455 -426
  97. package/dist/locales/no-NO/common.json +282 -250
  98. package/dist/locales/no-NO/nav.json +21 -17
  99. package/dist/locales/no-NO/notifications.json +22 -38
  100. package/dist/locales/no-NO/pages.json +1170 -97
  101. package/dist/locales/no-NO/settings.json +455 -426
  102. package/dist/locales/pl-PL/common.json +282 -250
  103. package/dist/locales/pl-PL/nav.json +21 -17
  104. package/dist/locales/pl-PL/notifications.json +22 -38
  105. package/dist/locales/pl-PL/pages.json +1170 -97
  106. package/dist/locales/pl-PL/settings.json +455 -426
  107. package/dist/locales/pt-BR/common.json +282 -250
  108. package/dist/locales/pt-BR/nav.json +21 -17
  109. package/dist/locales/pt-BR/notifications.json +22 -38
  110. package/dist/locales/pt-BR/pages.json +1170 -97
  111. package/dist/locales/pt-BR/settings.json +455 -426
  112. package/dist/locales/pt-PT/common.json +282 -250
  113. package/dist/locales/pt-PT/nav.json +21 -17
  114. package/dist/locales/pt-PT/notifications.json +22 -38
  115. package/dist/locales/pt-PT/pages.json +1170 -97
  116. package/dist/locales/pt-PT/settings.json +455 -426
  117. package/dist/locales/ro-RO/common.json +282 -250
  118. package/dist/locales/ro-RO/nav.json +21 -17
  119. package/dist/locales/ro-RO/notifications.json +22 -38
  120. package/dist/locales/ro-RO/pages.json +1170 -97
  121. package/dist/locales/ro-RO/settings.json +455 -426
  122. package/dist/locales/ru-RU/common.json +282 -250
  123. package/dist/locales/ru-RU/nav.json +21 -17
  124. package/dist/locales/ru-RU/notifications.json +22 -38
  125. package/dist/locales/ru-RU/pages.json +1170 -97
  126. package/dist/locales/ru-RU/settings.json +455 -426
  127. package/dist/locales/sr-SP/common.json +282 -250
  128. package/dist/locales/sr-SP/nav.json +21 -17
  129. package/dist/locales/sr-SP/notifications.json +22 -38
  130. package/dist/locales/sr-SP/pages.json +1170 -97
  131. package/dist/locales/sr-SP/settings.json +455 -426
  132. package/dist/locales/sv-SE/common.json +282 -250
  133. package/dist/locales/sv-SE/nav.json +21 -17
  134. package/dist/locales/sv-SE/notifications.json +22 -38
  135. package/dist/locales/sv-SE/pages.json +1170 -97
  136. package/dist/locales/sv-SE/settings.json +455 -426
  137. package/dist/locales/tr-TR/common.json +282 -250
  138. package/dist/locales/tr-TR/nav.json +21 -17
  139. package/dist/locales/tr-TR/notifications.json +22 -38
  140. package/dist/locales/tr-TR/pages.json +1170 -97
  141. package/dist/locales/tr-TR/settings.json +455 -426
  142. package/dist/locales/uk-UA/common.json +282 -250
  143. package/dist/locales/uk-UA/nav.json +21 -17
  144. package/dist/locales/uk-UA/notifications.json +22 -38
  145. package/dist/locales/uk-UA/pages.json +1170 -97
  146. package/dist/locales/uk-UA/settings.json +455 -426
  147. package/dist/locales/vi-VN/common.json +282 -250
  148. package/dist/locales/vi-VN/nav.json +21 -17
  149. package/dist/locales/vi-VN/notifications.json +22 -38
  150. package/dist/locales/vi-VN/pages.json +1170 -97
  151. package/dist/locales/vi-VN/settings.json +455 -426
  152. package/dist/locales/zh-CN/common.json +282 -250
  153. package/dist/locales/zh-CN/nav.json +21 -17
  154. package/dist/locales/zh-CN/notifications.json +22 -38
  155. package/dist/locales/zh-CN/pages.json +1170 -97
  156. package/dist/locales/zh-CN/settings.json +455 -426
  157. package/dist/locales/zh-TW/common.json +282 -250
  158. package/dist/locales/zh-TW/nav.json +21 -17
  159. package/dist/locales/zh-TW/notifications.json +22 -38
  160. package/dist/locales/zh-TW/pages.json +1170 -97
  161. package/dist/locales/zh-TW/settings.json +455 -426
  162. package/package.json +1 -1
  163. package/src/index.ts +2 -2
  164. package/src/locales/af-ZA/common.json +282 -250
  165. package/src/locales/af-ZA/nav.json +21 -17
  166. package/src/locales/af-ZA/notifications.json +22 -38
  167. package/src/locales/af-ZA/pages.json +1170 -97
  168. package/src/locales/af-ZA/settings.json +455 -426
  169. package/src/locales/ar-SA/common.json +282 -250
  170. package/src/locales/ar-SA/nav.json +21 -17
  171. package/src/locales/ar-SA/notifications.json +22 -38
  172. package/src/locales/ar-SA/pages.json +1170 -97
  173. package/src/locales/ar-SA/settings.json +455 -426
  174. package/src/locales/ca-ES/common.json +282 -250
  175. package/src/locales/ca-ES/nav.json +21 -17
  176. package/src/locales/ca-ES/notifications.json +22 -38
  177. package/src/locales/ca-ES/pages.json +1170 -97
  178. package/src/locales/ca-ES/settings.json +455 -426
  179. package/src/locales/cs-CZ/common.json +282 -250
  180. package/src/locales/cs-CZ/nav.json +21 -17
  181. package/src/locales/cs-CZ/notifications.json +22 -38
  182. package/src/locales/cs-CZ/pages.json +1170 -97
  183. package/src/locales/cs-CZ/settings.json +455 -426
  184. package/src/locales/da-DK/common.json +282 -250
  185. package/src/locales/da-DK/nav.json +21 -17
  186. package/src/locales/da-DK/notifications.json +22 -38
  187. package/src/locales/da-DK/pages.json +1170 -97
  188. package/src/locales/da-DK/settings.json +455 -426
  189. package/src/locales/de-DE/common.json +282 -250
  190. package/src/locales/de-DE/nav.json +21 -17
  191. package/src/locales/de-DE/notifications.json +22 -38
  192. package/src/locales/de-DE/pages.json +1170 -97
  193. package/src/locales/de-DE/settings.json +455 -426
  194. package/src/locales/el-GR/common.json +282 -250
  195. package/src/locales/el-GR/nav.json +21 -17
  196. package/src/locales/el-GR/notifications.json +22 -38
  197. package/src/locales/el-GR/pages.json +1170 -97
  198. package/src/locales/el-GR/settings.json +455 -426
  199. package/src/locales/en/common.json +36 -4
  200. package/src/locales/en/nav.json +6 -2
  201. package/src/locales/en/notifications.json +13 -29
  202. package/src/locales/en/pages.json +1187 -114
  203. package/src/locales/en/settings.json +31 -2
  204. package/src/locales/en-US/common.json +282 -250
  205. package/src/locales/en-US/nav.json +21 -17
  206. package/src/locales/en-US/notifications.json +22 -38
  207. package/src/locales/en-US/pages.json +1170 -97
  208. package/src/locales/en-US/settings.json +455 -426
  209. package/src/locales/es-ES/common.json +282 -250
  210. package/src/locales/es-ES/nav.json +21 -17
  211. package/src/locales/es-ES/notifications.json +22 -38
  212. package/src/locales/es-ES/pages.json +1170 -97
  213. package/src/locales/es-ES/settings.json +455 -426
  214. package/src/locales/fi-FI/common.json +282 -250
  215. package/src/locales/fi-FI/nav.json +21 -17
  216. package/src/locales/fi-FI/notifications.json +22 -38
  217. package/src/locales/fi-FI/pages.json +1170 -97
  218. package/src/locales/fi-FI/settings.json +455 -426
  219. package/src/locales/fr-FR/common.json +282 -250
  220. package/src/locales/fr-FR/nav.json +21 -17
  221. package/src/locales/fr-FR/notifications.json +22 -38
  222. package/src/locales/fr-FR/pages.json +1170 -97
  223. package/src/locales/fr-FR/settings.json +455 -426
  224. package/src/locales/he-IL/common.json +282 -250
  225. package/src/locales/he-IL/nav.json +21 -17
  226. package/src/locales/he-IL/notifications.json +22 -38
  227. package/src/locales/he-IL/pages.json +1170 -97
  228. package/src/locales/he-IL/settings.json +455 -426
  229. package/src/locales/hu-HU/common.json +282 -250
  230. package/src/locales/hu-HU/nav.json +21 -17
  231. package/src/locales/hu-HU/notifications.json +22 -38
  232. package/src/locales/hu-HU/pages.json +1170 -97
  233. package/src/locales/hu-HU/settings.json +455 -426
  234. package/src/locales/it-IT/common.json +282 -250
  235. package/src/locales/it-IT/nav.json +21 -17
  236. package/src/locales/it-IT/notifications.json +22 -38
  237. package/src/locales/it-IT/pages.json +1170 -97
  238. package/src/locales/it-IT/settings.json +455 -426
  239. package/src/locales/ja-JP/common.json +282 -250
  240. package/src/locales/ja-JP/nav.json +21 -17
  241. package/src/locales/ja-JP/notifications.json +22 -38
  242. package/src/locales/ja-JP/pages.json +1170 -97
  243. package/src/locales/ja-JP/settings.json +455 -426
  244. package/src/locales/ko-KR/common.json +282 -250
  245. package/src/locales/ko-KR/nav.json +21 -17
  246. package/src/locales/ko-KR/notifications.json +22 -38
  247. package/src/locales/ko-KR/pages.json +1170 -97
  248. package/src/locales/ko-KR/settings.json +455 -426
  249. package/src/locales/nl-NL/common.json +282 -250
  250. package/src/locales/nl-NL/nav.json +21 -17
  251. package/src/locales/nl-NL/notifications.json +22 -38
  252. package/src/locales/nl-NL/pages.json +1170 -97
  253. package/src/locales/nl-NL/settings.json +455 -426
  254. package/src/locales/no-NO/common.json +282 -250
  255. package/src/locales/no-NO/nav.json +21 -17
  256. package/src/locales/no-NO/notifications.json +22 -38
  257. package/src/locales/no-NO/pages.json +1170 -97
  258. package/src/locales/no-NO/settings.json +455 -426
  259. package/src/locales/pl-PL/common.json +282 -250
  260. package/src/locales/pl-PL/nav.json +21 -17
  261. package/src/locales/pl-PL/notifications.json +22 -38
  262. package/src/locales/pl-PL/pages.json +1170 -97
  263. package/src/locales/pl-PL/settings.json +455 -426
  264. package/src/locales/pt-BR/common.json +282 -250
  265. package/src/locales/pt-BR/nav.json +21 -17
  266. package/src/locales/pt-BR/notifications.json +22 -38
  267. package/src/locales/pt-BR/pages.json +1170 -97
  268. package/src/locales/pt-BR/settings.json +455 -426
  269. package/src/locales/pt-PT/common.json +282 -250
  270. package/src/locales/pt-PT/nav.json +21 -17
  271. package/src/locales/pt-PT/notifications.json +22 -38
  272. package/src/locales/pt-PT/pages.json +1170 -97
  273. package/src/locales/pt-PT/settings.json +455 -426
  274. package/src/locales/ro-RO/common.json +282 -250
  275. package/src/locales/ro-RO/nav.json +21 -17
  276. package/src/locales/ro-RO/notifications.json +22 -38
  277. package/src/locales/ro-RO/pages.json +1170 -97
  278. package/src/locales/ro-RO/settings.json +455 -426
  279. package/src/locales/ru-RU/common.json +282 -250
  280. package/src/locales/ru-RU/nav.json +21 -17
  281. package/src/locales/ru-RU/notifications.json +22 -38
  282. package/src/locales/ru-RU/pages.json +1170 -97
  283. package/src/locales/ru-RU/settings.json +455 -426
  284. package/src/locales/sr-SP/common.json +282 -250
  285. package/src/locales/sr-SP/nav.json +21 -17
  286. package/src/locales/sr-SP/notifications.json +22 -38
  287. package/src/locales/sr-SP/pages.json +1170 -97
  288. package/src/locales/sr-SP/settings.json +455 -426
  289. package/src/locales/sv-SE/common.json +282 -250
  290. package/src/locales/sv-SE/nav.json +21 -17
  291. package/src/locales/sv-SE/notifications.json +22 -38
  292. package/src/locales/sv-SE/pages.json +1170 -97
  293. package/src/locales/sv-SE/settings.json +455 -426
  294. package/src/locales/tr-TR/common.json +282 -250
  295. package/src/locales/tr-TR/nav.json +21 -17
  296. package/src/locales/tr-TR/notifications.json +22 -38
  297. package/src/locales/tr-TR/pages.json +1170 -97
  298. package/src/locales/tr-TR/settings.json +455 -426
  299. package/src/locales/uk-UA/common.json +282 -250
  300. package/src/locales/uk-UA/nav.json +21 -17
  301. package/src/locales/uk-UA/notifications.json +22 -38
  302. package/src/locales/uk-UA/pages.json +1170 -97
  303. package/src/locales/uk-UA/settings.json +455 -426
  304. package/src/locales/vi-VN/common.json +282 -250
  305. package/src/locales/vi-VN/nav.json +21 -17
  306. package/src/locales/vi-VN/notifications.json +22 -38
  307. package/src/locales/vi-VN/pages.json +1170 -97
  308. package/src/locales/vi-VN/settings.json +455 -426
  309. package/src/locales/zh-CN/common.json +282 -250
  310. package/src/locales/zh-CN/nav.json +21 -17
  311. package/src/locales/zh-CN/notifications.json +22 -38
  312. package/src/locales/zh-CN/pages.json +1170 -97
  313. package/src/locales/zh-CN/settings.json +455 -426
  314. package/src/locales/zh-TW/common.json +282 -250
  315. package/src/locales/zh-TW/nav.json +21 -17
  316. package/src/locales/zh-TW/notifications.json +22 -38
  317. package/src/locales/zh-TW/pages.json +1170 -97
  318. package/src/locales/zh-TW/settings.json +455 -426
@@ -1,475 +1,504 @@
1
1
  {
2
- "title": "الإعدادات",
3
- "tabs": {
4
- "general": "عام",
5
- "servers": "خوادم",
6
- "notifications": "الإشعارات",
7
- "mobile": "تطبيق الجوال",
8
- "tailscale": "مقياس",
9
- "import": "استيراد",
10
- "advanced": "متقدم",
11
- "jobs": "الوظائف",
12
- "accessControl": "التحكم بالدخول",
13
- "backup": "النسخ الاحتياطي"
2
+ "accessControl": {
3
+ "allowGuestAccess": "السماح للزائر بالوصول",
4
+ "allowGuestAccessDesc": "عند التعطيل، يمكن لمالك الخادم فقط تسجيل الدخول إلى Tracearr",
5
+ "description": "تكوين من يمكنه الوصول إلى Tracearr",
6
+ "singleOwnerNote": "ملاحظة: عندما يتم تعطيل وصول الضيف، فقط مالك الخادم يمكنه تسجيل الدخول. جميع المستخدمين الآخرين سيشاهدون رسالة \"رفض الوصول\".",
7
+ "title": "التحكم بالدخول"
8
+ },
9
+ "account": {
10
+ "createAccount": "إنشاء حساب",
11
+ "createYourAccount": "أنشئ حسابك للبدء",
12
+ "displayName": "اسم العرض",
13
+ "email": "البريد الإلكتروني",
14
+ "password": "كلمة المرور",
15
+ "signInToAccount": "تسجيل الدخول إلى حسابك",
16
+ "useLocalAccount": "استخدام الحساب المحلي بدلاً من ذلك"
17
+ },
18
+ "advanced": {
19
+ "connectionScenarios": "سيناريوهات الاتصال",
20
+ "externalUrl": "رابط خارجي",
21
+ "reverseProxy": "عكس الوكيل",
22
+ "title": "الإعدادات المتقدمة",
23
+ "trustProxy": "ترويسات الوكيل"
24
+ },
25
+ "backup": {
26
+ "actions": "الإجراءات",
27
+ "backToBackups": "العودة إلى النسخ الاحتياطي",
28
+ "backupHistory": "سجل النسخ الاحتياطي",
29
+ "createBackup": "إنشاء نسخة احتياطية",
30
+ "creating": "إنشاء نسخة احتياطية...",
31
+ "databaseSize": "حجم قاعدة البيانات الحالية: {{size}}",
32
+ "date": "التاريخ",
33
+ "dayFri": "الجمعة",
34
+ "dayMon": "الاثنين",
35
+ "daySat": "السبت",
36
+ "daySun": "الأحد",
37
+ "dayThu": "الخميس",
38
+ "dayTue": "الثلاثاء",
39
+ "dayWed": "الأربعاء",
40
+ "deleteConfirmDescription": "هل أنت متأكد من أنك تريد حذف هذه النسخة الاحتياطية؟ لا يمكن التراجع عن ذلك.",
41
+ "deleteConfirmTitle": "حذف النسخ الاحتياطي",
42
+ "description": "النسخ الاحتياطي واستعادة بيانات Tracearr",
43
+ "filename": "اسم الملف",
44
+ "freeSpace": "مساحة مجانية لدليل النسخ الاحتياطي: {{size}}",
45
+ "lowDiskSpace": "مساحة القرص المنخفض - تتطلب النسخ الاحتياطية والاستعادة ضعف حجم قاعدة البيانات في المساحة الحرة على الأقل.",
46
+ "noBackups": "لا توجد نسخ احتياطية حتى الآن. أنشئ النسخة الاحتياطية الأولى أعلاه.",
47
+ "restore": {
48
+ "automations": "Automations",
49
+ "cannotRestore": "تتطلب الإستعادة امتيازات PostgreSQL للمستخدم المتميز. الرجاء التأكد من أن مستخدم قاعدة البيانات لديه امتيازات المستخدم المتميز وحاول مرة أخرى.",
50
+ "complete": "اكتمل الاستعادة بنجاح. سيتم تحديث الصفحة قريباً.",
51
+ "confirm": "بدء الاستعادة",
52
+ "confirmLabel": "أفهم أن هذا سيحل محل جميع البيانات",
53
+ "databaseSize": "حجم قاعدة البيانات",
54
+ "failed": "فشل الاستعادة",
55
+ "libraryItems": "عناصر المكتبة",
56
+ "pgVersionMismatch": "تم إنشاء النسخ الاحتياطي على PostgreSQL {{backupVersion}} ولكن هذا الخادم يعمل PostgreSQL {{serverVersion}}. استعادة الإغراق من إصدار PostgreSQL الأحدث غير مدعوم.",
57
+ "selectedBackup": "النسخ الاحتياطي المحدد",
58
+ "servers": "خوادم",
59
+ "sessions": "الجلسات",
60
+ "tables": "الجداول",
61
+ "title": "استعادة النسخ الاحتياطي",
62
+ "tsVersionMismatch": "تم إنشاء نسخة احتياطية مع TimescaleDB {{backupVersion}} ولكن هذا الخادم يدعم فقط حتى TimescaleDB {{serverVersion}}.",
63
+ "users": "المستخدمون",
64
+ "warning": "الاستعادة سوف تحل محل جميع البيانات الموجودة. سوف تحتاج إلى إعادة تسجيل الدخول بعد اكتمال الاستعادة."
65
+ },
66
+ "restoreAction": "إستعادة",
67
+ "retentionCount": "الحفاظ على الأخير",
68
+ "retentionSuffix": "النسخ الاحتياطية المجدولة",
69
+ "schedule": "النسخ الاحتياطية المجدولة",
70
+ "scheduleDaily": "يومياً",
71
+ "scheduleDayOfMonth": "يوم الشهر",
72
+ "scheduleDayOfMonthHint": "في غضون أشهر بأيام أقل، تعمل النسخة الاحتياطية في اليوم الأخير.",
73
+ "scheduleDayOfWeek": "يوم من الأسبوع",
74
+ "scheduleDisabled": "معطل",
75
+ "scheduleMonthly": "شهريا",
76
+ "scheduleTime": "الوقت ({{timezone}})",
77
+ "scheduleType": "الجدول",
78
+ "scheduleWeekly": "أسبوعيا",
79
+ "size": "الحجم",
80
+ "title": "النسخ الاحتياطي",
81
+ "toast": {
82
+ "backupCreateFailed": "فشل إنشاء نسخة احتياطية",
83
+ "backupCreated": "تم إنشاء النسخ الاحتياطي بنجاح",
84
+ "backupDeleteFailed": "فشل في حذف النسخة الاحتياطية",
85
+ "backupDeleted": "تم حذف النسخ الاحتياطي",
86
+ "backupUploadFailed": "فشل في تحميل النسخة الاحتياطية",
87
+ "backupUploaded": "تم رفع النسخ الاحتياطي بنجاح",
88
+ "restoreStartFailed": "فشل في بدء الاستعادة",
89
+ "restoreStarted": "بدأت الإستعادة",
90
+ "scheduleError": "فشل في حفظ جدول النسخ الاحتياطي",
91
+ "scheduleSaved": "تم حفظ جدول النسخ الاحتياطي"
92
+ },
93
+ "type": "نوع",
94
+ "typeManual": "دليل",
95
+ "typeScheduled": "مجدولة",
96
+ "typeUploaded": "تم الرفع",
97
+ "uploadBackup": "تحميل نسخة احتياطية",
98
+ "uploading": "تحميل...",
99
+ "version": "الإصدار"
14
100
  },
15
101
  "general": {
16
- "title": "الإعدادات العامة",
17
- "unitSystem": "نظام الوحدة",
18
- "metric": "متر (كم/كم/ساعة)",
19
- "imperial": "امبراطورية (مالى, mph)",
20
- "timezone": "Timezone",
21
- "primaryAuth": "طريقة المصادقة الرئيسية",
22
- "localAccount": "الحساب المحلي",
23
- "plexAccount": "حساب Plex",
24
- "language": "اللغة",
25
- "languageDescription": "اختر لغة العرض المفضلة لديك.",
26
- "helpTranslate": "المساعدة في ترجمة Tracearr",
27
- "timeFormat": "تنسيق الوقت",
28
- "timeFormatDescription": "اختر كيف يتم عرض الأوقات.",
29
- "timeFormat12h": "12 ساعة (1:30 PM)",
30
- "timeFormat24h": "24 ساعة (13:30)",
102
+ "accentColor": "لون اللكنة",
103
+ "apiDocs": "API Docs",
104
+ "apiKeyDesc": "الوصول إلى واجهة برمجة تطبيقات Tracearr لتكامل أطراف ثالثة مثل Homarr، مساعد المنزل، إلخ.",
105
+ "apiKeyReadAccess": "مفتاح API الخاص بك يمنح الوصول الكامل للقراءة إلى بيانات Tracearr الخاصة بك.",
106
+ "apiRateLimit": "API Rate Limit",
107
+ "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
108
+ "apiRateLimitSuffix": "/min",
31
109
  "appearance": "المظهر",
32
110
  "appearanceDesc": "تخصيص مظهر وشعور Tracearr",
33
- "theme": "السمة",
34
- "accentColor": "لون اللكنة",
35
- "default": "(افتراضي)",
36
- "cyanDefault": "* سماوي هو لون اللكنة الافتراضي",
37
- "themeLight": "فاتح",
38
- "themeDark": "داكن",
39
- "themeSystem": "النظام",
40
111
  "application": "تطبيق",
41
112
  "applicationDesc": "تهيئة إعدادات التطبيق الأساسية",
42
- "unitSystemDesc": "اختر كيف يتم عرض المسافات والسرعات",
43
- "sessionSync": "مزامنة الجلسة",
44
- "sessionSyncDesc": "تمكين تتبع الجلسة لخوادم الوسائط الخاصة بك",
45
- "syncInterval": "الفاصل الزمني للمزامنة",
46
- "syncIntervalDesc": "تردد الاقتراع لجليفين/إمبي (5-300 ثانية)",
47
- "syncIntervalSuffix": "ثواني",
48
- "plexSseNote": "يستخدم Plex أحداث الخادم المرسلة (SSE) للتحديثات شبه الفورية - لا حاجة إلى الاقتراع.",
49
- "jellyfinPollingNote": "يتم استطلاع/إمبي على الفاصل الزمني أعلاه.",
113
+ "copyToClipboard": "نسخ إلى الحافظة",
114
+ "cyanDefault": "* سماوي هو لون اللكنة الافتراضي",
115
+ "default": "(افتراضي)",
116
+ "detect": "الكشف",
50
117
  "enhancedGeoIP": "بحث محسّن عن GeoIP",
51
118
  "enhancedGeoIPDesc": "استخدم خدمة Plex's GeoIP لمزيد من دقة بيانات الموقع. عند التفعيل، يتم إرسال عناوين IP إلى العنوان. v للبحث . قاعدة بيانات MaxMind المحلية تستخدم كرد فعل.",
52
119
  "externalAccess": "الوصول الخارجي",
53
120
  "externalAccessDesc": "تكوين كيفية اتصال الأجهزة الخارجية (مثل تطبيقات الجوال) بالخادم الخاص بك",
54
121
  "externalUrl": "رابط خارجي",
55
- "externalUrlPlaceholder": "https://tracearr.example.com",
56
122
  "externalUrlDesc": "الرابط الذي يجب أن تستخدمه الأجهزة الخارجية للوصول إلى هذا الخادم. يستخدم لرموز QR واقران تطبيقات الجوال.",
57
- "detect": "الكشف",
58
- "localhostWarning": "لن تعمل عناوين URL المحلية على الأجهزة الخارجية. استخدم IP الشبكة المحلية أو اسم النطاق.",
123
+ "externalUrlPlaceholder": "https://tracearr.example.com",
124
+ "generateApiKeyPrompt": "إنشاء مفتاح API لتمكين التكاملات الخارجية.",
125
+ "generateKey": "إنشاء مفتاح",
126
+ "helpTranslate": "المساعدة في ترجمة Tracearr",
127
+ "imperial": "امبراطورية (مالى, mph)",
59
128
  "iosHttpWarning": "يتطلب نظام iOS HTTPS للاتصالات الخارجية. إعداد وكيل عكسي مع SSL.",
60
- "apiKeyDesc": "الوصول إلى واجهة برمجة تطبيقات Tracearr لتكامل أطراف ثالثة مثل Homarr، مساعد المنزل، إلخ.",
61
- "apiDocs": "API Docs",
129
+ "jellyfinPollingNote": "يتم استطلاع/إمبي على الفاصل الزمني أعلاه.",
130
+ "language": "اللغة",
131
+ "languageDescription": "اختر لغة العرض المفضلة لديك.",
132
+ "localAccount": "الحساب المحلي",
133
+ "localhostWarning": "لن تعمل عناوين URL المحلية على الأجهزة الخارجية. استخدم IP الشبكة المحلية أو اسم النطاق.",
134
+ "metric": "متر (كم/كم/ساعة)",
62
135
  "noApiKeyGenerated": "لم يتم إنشاء مفتاح API",
63
- "copyToClipboard": "نسخ إلى الحافظة",
64
- "apiKeyReadAccess": "مفتاح API الخاص بك يمنح الوصول الكامل للقراءة إلى بيانات Tracearr الخاصة بك.",
65
- "generateApiKeyPrompt": "إنشاء مفتاح API لتمكين التكاملات الخارجية.",
136
+ "plexAccount": "حساب Plex",
137
+ "plexSseNote": "يستخدم Plex أحداث الخادم المرسلة (SSE) للتحديثات شبه الفورية - لا حاجة إلى الاقتراع.",
138
+ "primaryAuth": "طريقة المصادقة الرئيسية",
139
+ "publicApiSettings": "Public API",
140
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
66
141
  "regenerate": "تجديد",
67
- "generateKey": "إنشاء مفتاح",
68
142
  "regenerateApiKey": "إعادة إنشاء مفتاح API؟",
69
143
  "regenerateApiKeyDesc": "سيؤدي هذا إلى إبطال مفتاح API الحالي. أي تكامل باستخدام المفتاح القديم سيتوقف عن العمل.",
70
- "publicApiSettings": "Public API",
71
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
144
+ "sessionSync": "مزامنة الجلسة",
145
+ "sessionSyncDesc": "تمكين تتبع الجلسة لخوادم الوسائط الخاصة بك",
146
+ "syncInterval": "الفاصل الزمني للمزامنة",
147
+ "syncIntervalDesc": "تردد الاقتراع لجليفين/إمبي (5-300 ثانية)",
148
+ "syncIntervalSuffix": "ثواني",
149
+ "theme": "السمة",
150
+ "themeDark": "داكن",
151
+ "themeLight": "فاتح",
152
+ "themeSystem": "النظام",
153
+ "timeFormat": "تنسيق الوقت",
154
+ "timeFormat12h": "12 ساعة (1:30 PM)",
155
+ "timeFormat24h": "24 ساعة (13:30)",
156
+ "timeFormatDescription": "اختر كيف يتم عرض الأوقات.",
157
+ "timezone": "Timezone",
158
+ "title": "الإعدادات العامة",
159
+ "unitSystem": "نظام الوحدة",
160
+ "unitSystemDesc": "اختر كيف يتم عرض المسافات والسرعات",
161
+ "updateChecks": {
162
+ "description": "Tracearr looks for new releases every six hours. Notifications come from whatever automation listens for the update triggers.",
163
+ "plugin": "Realtime plugin",
164
+ "pluginDesc": "Check for new releases of the Tracearr plugin your Jellyfin and Emby servers stream events through.",
165
+ "server": "Media servers",
166
+ "serverDesc": "Compare what each Plex, Jellyfin and Emby server runs with the newest release its makers publish.",
167
+ "title": "Update checks"
168
+ },
169
+ "imageCache": {
170
+ "title": "Poster cache",
171
+ "description": "One copy of each poster, kept on disk until the poster changes. Nothing here is evicted to make room; when the disk runs low the cache stops growing and says so.",
172
+ "size": "On disk",
173
+ "files": "Files",
174
+ "need": "Estimated need",
175
+ "needHint": "{{count}} posters × 18 KB",
176
+ "free": "Free disk",
177
+ "freeOf": "of {{total}}",
178
+ "floor": "Keeps free",
179
+ "ceiling": "Ceiling",
180
+ "lastSweep": "Last sweep",
181
+ "never": "not yet",
182
+ "diskLimited": "Disk-limited since {{since}}: about {{shortfall}} of posters are not cached.",
183
+ "loadError": "Could not load the cache status."
184
+ },
72
185
  "watchedThresholdMovie": "Movie Watched Threshold",
73
186
  "watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
74
- "watchedThresholdTv": "TV Episode Watched Threshold",
75
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete",
76
187
  "watchedThresholdMusic": "Track Watched Threshold",
77
188
  "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
78
189
  "watchedThresholdSuffix": "%",
79
- "apiRateLimit": "API Rate Limit",
80
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
81
- "apiRateLimitSuffix": "/min"
82
- },
83
- "servers": {
84
- "title": "خوادم متصلة",
85
- "addServer": "إضافة خادم",
86
- "serverName": "اسم الخادم",
87
- "serverUrl": "رابط الخادم",
88
- "syncInterval": "الفاصل الزمني للمزامنة",
89
- "testConnection": "اختبار الاتصال",
90
- "connectionSuccess": "تم الاتصال بنجاح",
91
- "connectionFailed": "فشل الاتصال",
92
- "noServersConnected": "لا يوجد خوادم متصلة",
93
- "noServersConnectedHint": "انقر فوق \"إضافة خادم\" لربط خادم Jellyfin أو Emby",
94
- "serverType": "نوع الخادم",
95
- "loadingAccounts": "تحميل حسابات Plex المرتبطة...",
96
- "noPlexAccountsLinked": "لا توجد حسابات Plex مرتبطة",
97
- "noPlexAccountsLinkedHint": "اربط حساب Plex أعلاه، ثم عد لإضافة خادم.",
98
- "selectPlexAccount": "حدد حساب Plex",
99
- "chooseAccount": "اختر حساب...",
100
- "selectAccountHelp": "حدد حساب Plex لاكتشاف الخوادم منه.",
101
- "allServersConnected": "جميع الخوادم متصلة",
102
- "allServersConnectedDesc": "جميع الخوادم من هذا الحساب متصلة.",
103
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
- "serverUrlHelp": "عنوان URL مباشر إلى خادم Jellyfin أو Emby الخاص بك. استخدم IP:port للحصول على أفضل موثوقية.",
105
- "serverNamePlaceholder": "خادم الوسائط الخاص بي",
106
- "apiKeyPlaceholder": "أدخل مفتاح API الخاص بك",
107
- "apiKeyHelp": "موجود في لوحة تحكم خادم الوسائط الخاصة بك تحت مفاتيح API أو الإعدادات المتقدمة.",
108
- "connecting": "جاري الاتصال...",
109
- "connectServer": "الاتصال بالخادم",
110
- "removeServer": "إزالة الخادم",
111
- "removeServerConfirm": "هل أنت متأكد من أنك تريد إزالة هذا الخادم؟ سيتم الاحتفاظ بجميع بيانات الجلسة المرتبطة بذلك، ولكن لن تتمكن من مراقبة الجلسات الجديدة من هذا الخادم.",
112
- "editServer": "تعديل الخادم",
113
- "editServerDesc": "تحديث اسم الخادم أو رابط الاتصال.",
114
- "serverColor": "لون الخادم",
115
- "serverColorDesc": "تستخدم للإسناد المرئي في عرض متعدد الخوادم",
116
- "updating": "تحديث...",
117
- "allFieldsRequired": "جميع الحقول مطلوبة",
118
- "addServerDialogDescPlex": "حدد خادم Plex من حسابك المرتبط.",
119
- "addServerDialogDescOther": "ربط خادم Jellyfin أو Embi.",
120
- "description": "إدارة خوادم Plex، Jellyfin، و Emby",
121
- "discoveringServers": "اكتشاف خوادم Plex المتاحة...",
122
- "discoveringConnections": "اكتشاف الاتصالات...",
123
- "plexAccount": "حساب Plex",
124
- "serverUrlHelpJellyfin": "عنوان URL حيث يمكن الوصول إلى خادم Jellyfin",
125
- "serverUrlHelpEmby": "عنوان URL حيث يمكن الوصول إلى خادم Emby الخاص بك",
126
- "apiKeyHelpJellyfin": "ابحث عن هذا في لوحة تحكم جليفين → مفاتيح API",
127
- "apiKeyHelpEmby": "العثور على هذا في خادم Emby → API مفاتيح",
128
- "plexServerPlaceholder": "خادم Plex الخاص بي",
129
- "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
130
- "updateHint": "أو انقر فوق التحديث أدناه لحفظ تغيير الاسم فقط.",
131
- "added": "أضيف {{date}}",
132
- "realtimeActive": "Real-time updates active",
133
- "pollingMode": "Polling",
134
- "setupRealtime": "Set up real-time updates",
135
- "realtimeError": "Real-time error",
136
- "checkingConnection": "Checking connection…",
137
- "pluginVersion": "plugin v{{version}}",
138
- "pluginUpdateAvailable": "Plugin update available",
139
- "realtimeDialog": {
140
- "title": "Enable real-time updates",
141
- "updateTitle": "Update the Tracearr SSE plugin",
142
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
143
- "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
144
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
145
- "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
146
- "repositoryUrl": "Repository URL",
147
- "copyUrl": "Copy URL",
148
- "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
149
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
150
- "openReleases": "Open releases page",
151
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
152
- "close": "Close",
153
- "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
154
- "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
155
- "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
156
- },
157
- "posterSource": {
158
- "title": "Poster Preferences",
159
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server",
160
- "label": "Preferred Poster Source",
161
- "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
162
- "automatic": "Automatic (most recent)",
163
- "emptyHint": "Add a server to choose a preferred poster source."
164
- }
165
- },
166
- "mobile": {
167
- "title": "تطبيق الجوال",
168
- "pairDevice": "جهاز الاقتران",
169
- "connectedDevices": "الأجهزة المتصلة",
170
- "generateToken": "إنشاء رمز الاقتران",
171
- "scanQrCode": "Scan QR Code",
172
- "tokenExpires": "تنتهي صلاحية الرمز المميز في {{time}}",
173
- "noDevices": "لا توجد أجهزة متصلة",
174
- "revokeAll": "إلغاء جميع الجلسات",
175
- "getTheApp": "احصل على التطبيق",
176
- "getTheAppDesc": "تحميل تطبيق Tracearr المحمول لنظام iOS أو Android",
177
- "getOnGooglePlay": "احصل عليها على جوجل بلاي",
178
- "downloadOnAppStore": "تحميل على متجر التطبيقات",
179
- "pairYourDevice": "إقران جهازك",
180
- "pairYourDeviceDesc": "قم بمسح رمز QR باستخدام تطبيق Tracearr للاتصال بهذا الخادم.",
181
- "externalUrlRequired": "يجب تكوين عنوان URL خارجي في الإعدادات العامة للإقران بالجوال للعمل.",
182
- "mobileAccessDisabled": "تم تعطيل الوصول إلى الجوال",
183
- "mobileAccessDisabledDesc": "تمكين الوصول إلى الجوال للسماح لتطبيق Tracearr المحمول بالاتصال بالخادم الخاص بك.",
184
- "enableMobileAccess": "تمكين الوصول إلى الجوال",
185
- "enabling": "تفعيل...",
186
- "devicesConnected": "{{current}} of {{max}} devices connected",
187
- "pendingTokens": "{{count}} رموز مزدوجة معلقة",
188
- "addDevice": "إضافة جهاز",
189
- "disableMobileAccess": "تعطيل وصول الجوال",
190
- "connectedDevicesDesc": "{{count}} devices paired to your server",
191
- "revokeAllSessions": "إلغاء الكل",
192
- "pairNewDevice": "إقران جهاز جديد",
193
- "pairNewDeviceDesc": "قم بمسح رمز QR باستخدام تطبيق Tracearr المحمول، أو أدخل الرمز المميز يدويا.",
194
- "expiresIn": "تنتهي الصلاحية في {{time}}",
195
- "oneTimePairToken": "رمز اقتران لمرة واحدة",
196
- "copyToken": "نسخ الرمز المميز",
197
- "tokenExpiryNote": "تنتهي صلاحية هذا الرمز المميز في 5 دقائق ولا يمكن استخدامه إلا لمرة واحدة.",
198
- "done": "تم",
199
- "disableMobileAccessConfirm": "سيؤدي هذا إلى قطع الاتصال بجميع الأجهزة المحمولة وإلغاء جميع الجلسات. يمكنك إعادة تمكين الوصول إلى الهاتف في وقت لاحق.",
200
- "disable": "تعطيل",
201
- "revokeAllConfirm": "سيؤدي هذا إلى قطع الاتصال بجميع الأجهزة المحمولة. سوف تحتاج إلى الإقران مرة أخرى لإعادة الاتصال.",
202
- "renameDevice": "إعادة تسمية الجهاز",
203
- "renameDeviceDesc": "أدخل اسما للتعرف على هذا الجهاز في القائمة.",
204
- "deviceName": "اسم الجهاز",
205
- "deviceNamePlaceholder": "مثل iPhone 15",
206
- "removeDevice": "إزالة الجهاز",
207
- "failedToGenerateToken": "فشل في توليد الرمز المميز",
208
- "removeDeviceConfirm": "هل أنت متأكد من أنك تريد إزالة {{deviceName}}؟ سيحتاج هذا الجهاز إلى الإقران مرة أخرى لإعادة الاتصال.",
209
- "externalUrlBanner": "استخدام الوكيل العكسي أو الوصول عن بعد؟ تعيين الخاص بك",
210
- "externalUrlBannerLink": "رابط خارجي",
211
- "externalUrlBannerSuffix": "حتى يمكن لتطبيق الجوال الاتصال بالخادم الخاص بك."
212
- },
213
- "tailscale": {
214
- "title": "شبكة VPN للنطاق",
215
- "description": "الوصول إلى Tracearr بشكل آمن على شبكة النطاق دون شحن المنفذ الخاصة بك.",
216
- "notAvailable": "لم يتم العثور على ثنائيات المقياس الخطي. هذه الميزة متوفرة فقط عند تشغيل صورة Docker الرسمية.",
217
- "disabledDescription": "تمكين Tailscale لوضع Tracearr على جهازك الخاص. لا يتطلب إعادة توجيه المنفذ أو عكس الوكيل المطلوب.",
218
- "hostnameLabel": "اسم مضيف الجهاز",
219
- "hostnameHint": "إختيار اسم مخصص لهذا الجهاز على شبكة الذيل الخاصة بك. الأحرف والأرقام والوصلات فقط.",
220
- "enable": "تمكين المقياس",
221
- "disable": "تعطيل المقياس",
222
- "starting": "جارٍ البدء في النطاق السريع...",
223
- "stopping": "إيقاف النطاق السريع...",
224
- "awaitingAuth": "في انتظار التفويض...",
225
- "authorize": "التصريح في الجدول",
226
- "connected": "تم توصيل المقياس الإلكتروني. مثيل Tracearr الخاص بك متاح على شبكة الذاكرة.",
227
- "hostname": "Hostname",
228
- "dnsName": "اسم DNS",
229
- "tailnetUrl": "الرابط",
230
- "showLogs": "إظهار السجلات",
231
- "hideLogs": "إخفاء السجلات",
232
- "noLogs": "لا يوجد سجل إخراج متاح.",
233
- "exitNodeNone": "لا",
234
- "exitNodeOffline": "(دون اتصال)",
235
- "unknownError": "حدث خطأ غير معروف.",
236
- "disableConfirmTitle": "تعطيل المقياس الخطي؟",
237
- "disableConfirmDescription": "سيؤدي هذا إلى قطع اتصال Tracearr من الخيل الخاص بك. يمكنك إعادة التفعيل دون إعادة ترخيص.",
238
- "resetConfirmTitle": "Reset Tailscale?",
239
- "resetConfirmDescription": "سيؤدي هذا إلى قطع اتصال Tracearr من ذاكرة التخزين الخاصة بك وإزالة هوية الجهاز. سوف تحتاج إلى إعادة التصريح إذا قمت بتمكينه مرة أخرى.",
240
- "toast": {
241
- "disabled": "تم تعطيل المقياس الخطي.",
242
- "enableFailed": "فشل في تمكين النطاق",
243
- "disableFailed": "فشل في تعطيل الجدول",
244
- "reset": "تم إعادة تعيين الجدول الخطي.",
245
- "resetFailed": "فشل في إعادة تعيين النطاق",
246
- "exitNodeSet": "تم تحديث عقدة الخروج",
247
- "exitNodeFailed": "فشل في تعيين الخروج من العقدة"
248
- }
249
- },
250
- "jobs": {
251
- "title": "وظائف الصيانة",
252
- "description": "إدارة مهام الخلفية التي تحافظ على دقة البيانات الخاصة بك وتحسينها.",
253
- "normalization": "التطبيع",
254
- "backfill": "خلاصة",
255
- "cleanup": "تنظيف",
256
- "running": "تشغيل",
257
- "queued": "قائمة الانتظار",
258
- "delayed": "تأخير",
259
- "waiting": "في انتظار",
260
- "runningState": "تشغيل",
261
- "runJob": "تشغيل الوظيفة",
262
- "processed": "معالجة",
263
- "updated": "تم التحديث",
264
- "unchanged": "بدون تغيير",
265
- "errors": "أخطاء",
266
- "lastJobCompleted": "اكتملت آخر مهمة بنجاح",
267
- "lastJobFailed": "فشل آخر عمل",
268
- "jobHistory": "سجل الوظائف",
269
- "jobHistoryDesc": "عمليات إعدام وظائف الصيانة الأخيرة",
270
- "runConfirm": "تشغيل {{name}}?",
271
- "mayTakeAWhile": "قد يستغرق هذا بعض الوقت",
272
- "mayTakeAWhileDesc": "قد يستغرق إنجاز هذه المهمة عدة دقائق تبعاً لحجم مكتبتك.",
273
- "startJob": "بدء العمل"
274
- },
275
- "advanced": {
276
- "title": "الإعدادات المتقدمة",
277
- "externalUrl": "رابط خارجي",
278
- "trustProxy": "ترويسات الوكيل",
279
- "reverseProxy": "عكس الوكيل",
280
- "connectionScenarios": "سيناريوهات الاتصال"
281
- },
282
- "accessControl": {
283
- "title": "التحكم بالدخول",
284
- "description": "تكوين من يمكنه الوصول إلى Tracearr",
285
- "allowGuestAccess": "السماح للزائر بالوصول",
286
- "allowGuestAccessDesc": "عند التعطيل، يمكن لمالك الخادم فقط تسجيل الدخول إلى Tracearr",
287
- "singleOwnerNote": "ملاحظة: عندما يتم تعطيل وصول الضيف، فقط مالك الخادم يمكنه تسجيل الدخول. جميع المستخدمين الآخرين سيشاهدون رسالة \"رفض الوصول\"."
190
+ "watchedThresholdTv": "TV Episode Watched Threshold",
191
+ "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
288
192
  },
289
193
  "import": {
290
- "title": "استيراد البيانات",
291
- "jellystat": "استيراد من جيليستات",
292
- "tautulli": "استيراد من TTTulli",
293
- "importProgress": "تقدم الاستيراد",
194
+ "apiKeyHelp": "تم العثور على إعدادات Tautulli → واجهة ويب → API المفتاح.",
195
+ "apiKeyPlaceholder": "مفتاح Tautulli API الخاص بك",
196
+ "checkPlugin": "Check Plugin",
197
+ "checkingPlugin": "Checking...",
198
+ "connectToTautulli": "الاتصال بـ Tautulli",
199
+ "connectedFound": "متصل! العثور على المستخدمين {{users}} وسجلات المحفوظات {{records}}.",
200
+ "duplicates": "{{count}} duplicates skipped",
201
+ "enrichMetadata": "إثراء بالبيانات الوصفية للوسائط (موصى به)",
202
+ "enrichMetadataHelp": "يجلب بيانات التعريف الإضافية من خادم الوسائط الخاص بك للجلسات المستوردة.",
203
+ "enriched": "إثراء",
204
+ "errors": "أخطاء",
205
+ "exportBackupHelp": "في Jellystat، انتقل إلى الإعدادات → النسخ الاحتياطي للأنشطة لتصدير بياناتك.",
206
+ "exportBackupHint": "تصدير نسخة احتياطية للنشاط من Jellystat",
207
+ "howItWorks": "كيف يعمل الاستيراد",
208
+ "howItWorksDesc": "ستورد Tracearr جميع بيانات الساعة التاريخية من مصدرك. قد يستغرق هذا بعض الوقت اعتماداً على حجم مكتبتك.",
294
209
  "importComplete": "اكتمل الاستيراد",
295
210
  "importFailed": "فشل الاستيراد",
296
- "processed": "معالجة",
297
- "page": "الصفحة",
211
+ "importFullRange": "Import full history",
212
+ "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
213
+ "importHistory": "تاريخ الاستيراد",
214
+ "importHistoryDesc": "استيراد بيانات المراقبة التاريخية من المصادر الخارجية",
215
+ "importInProgressGeneric": "جار الاستيراد...",
216
+ "importInProgressPercent": "جار الاستيراد ({{percent}}% مكتمل)...",
217
+ "importOptions": "خيارات الاستيراد",
218
+ "importProgress": "تقدم الاستيراد",
298
219
  "imported": "مستورد",
299
- "skipped": "تخطي",
300
- "enriched": "إثراء",
301
- "errors": "أخطاء",
220
+ "importing": "استيراد...",
221
+ "includeStreamDetails": "تضمين بيانات البث التفصيلي (الترميزات، البت، الدقة)",
222
+ "includeStreamDetailsHelp": "استيراد معلومات تدفق إضافية. قد تزيد من وقت الاستيراد بشكل كبير.",
223
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
224
+ "jellystat": "استيراد من جيليستات",
302
225
  "noServers": "لا يوجد خوادم متصلة",
303
226
  "noServersHint": "تحتاج إلى خادم واحد على الأقل متصل لاستيراد البيانات.",
304
- "tautulliUrl": "رابط Tautulli",
305
- "tautulliUrlPlaceholder": "http://localhost:8181",
306
- "tautulliUrlHelp": "عنوان URL الخاص بنموذج Tautulli الخاص بك.",
307
- "apiKeyHelp": "تم العثور على إعدادات Tautulli → واجهة ويب → API المفتاح.",
308
- "testing": "اختبار...",
309
- "connectToTautulli": "الاتصال بـ Tautulli",
310
- "importHistory": "تاريخ الاستيراد",
311
- "targetServer": "Target Server",
312
- "selectPlexServer": "حدد خادم Plex",
227
+ "overlapSkipped": "{{count}} skipped as overlap",
313
228
  "overwriteFriendlyNames": "الكتابة فوق الأسماء الصديقة الموجودة مع أسماء تاتوللي",
314
229
  "overwriteFriendlyNamesHelp": "وستستعاض عن أسماء الهوية الموجودة في تريكير بالأسماء الصديقة من تاتولي.",
315
- "includeStreamDetails": "تضمين بيانات البث التفصيلي (الترميزات، البت، الدقة)",
316
- "includeStreamDetailsHelp": "استيراد معلومات تدفق إضافية. قد تزيد من وقت الاستيراد بشكل كبير.",
317
- "importing": "استيراد...",
318
- "startImport": "بدء الاستيراد",
319
- "howItWorks": "كيف يعمل الاستيراد",
320
- "howItWorksDesc": "ستورد Tracearr جميع بيانات الساعة التاريخية من مصدرك. قد يستغرق هذا بعض الوقت اعتماداً على حجم مكتبتك.",
321
- "recordsMayBeSkipped": "يمكن تخطي السجلات إذا:",
322
- "selectTargetServer": "حدد الخادم المستهدف",
323
- "selectJellyfinServer": "حدد خادم Jellyfin أو Emby",
324
- "uploadJellystatBackup": "تحميل نسخة Jellystat الاحتياطية",
325
- "exportBackupHint": "تصدير نسخة احتياطية للنشاط من Jellystat",
326
- "exportBackupHelp": "في Jellystat، انتقل إلى الإعدادات → النسخ الاحتياطي للأنشطة لتصدير بياناتك.",
327
- "importOptions": "خيارات الاستيراد",
328
- "enrichMetadata": "إثراء بالبيانات الوصفية للوسائط (موصى به)",
329
- "enrichMetadataHelp": "يجلب بيانات التعريف الإضافية من خادم الوسائط الخاص بك للجلسات المستوردة.",
330
- "updateExistingRecords": "تحديث السجلات الموجودة مع تفاصيل البث",
331
- "updateExistingRecordsHelp": "سيتم تحديث السجلات التي تم استيرادها سابقا مع بيانات جودة التدفق.",
230
+ "page": "الصفحة",
231
+ "playbackReporting": "Playback Reporting Plugin",
232
+ "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
332
233
  "pleaseEnterDetails": "الرجاء إدخال رابط Tautulli ومفتاح API",
333
- "testingConnection": "اختبار الاتصال...",
334
234
  "pleaseSelectJsonFile": "الرجاء تحديد ملف JSON",
335
- "uploadingBackup": "تحميل ملف النسخ الاحتياطي...",
336
- "importHistoryDesc": "استيراد بيانات المراقبة التاريخية من المصادر الخارجية",
337
235
  "plex": "Plex (Tautulli)",
338
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
339
- "step1": "1",
340
- "step2": "2",
341
- "apiKeyPlaceholder": "مفتاح Tautulli API الخاص بك",
342
- "skipUserNotFoundPlex": "المستخدم غير موجود - مستخدم Plex غير موجود في Tracearr. قم بمزامنة الخادم الخاص بك أولاً لإضافة جميع المستخدمين.",
343
- "skipDuplicate": "4 - الدورة المزدوجة - كانت الدورة قد استوردت من قبل.",
344
- "skipInProgress": "الدورة التقدمية - الدورات الفعالة/غير المكتملة بدون معرف مرجعي.",
345
- "skipUserNotFoundJellyfin": "المستخدم غير موجود - مستخدم Jellyfin/Emby غير موجود في Tracearr. قم بمزامنة الخادم الخاص بك أولاً لإضافة جميع المستخدمين.",
346
- "skipSyncHint": "إذا تم تخطي العديد من السجلات، تأكد من مزامنة الخادم الخاص بك مؤخرا في الإعدادات → الخوادم.",
347
- "importInProgressPercent": "جار الاستيراد ({{percent}}% مكتمل)...",
348
- "importInProgressGeneric": "جار الاستيراد...",
349
- "startingImport": "بدء الاستيراد...",
350
- "connectedFound": "متصل! العثور على المستخدمين {{users}} وسجلات المحفوظات {{records}}.",
351
- "playbackReporting": "Playback Reporting Plugin",
352
- "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
353
- "checkPlugin": "Check Plugin",
354
- "checkingPlugin": "Checking...",
355
236
  "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
356
237
  "pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
238
+ "processed": "معالجة",
239
+ "recordsMayBeSkipped": "يمكن تخطي السجلات إذا:",
240
+ "selectJellyfinServer": "حدد خادم Jellyfin أو Emby",
241
+ "selectPlexServer": "حدد خادم Plex",
242
+ "selectTargetServer": "حدد الخادم المستهدف",
357
243
  "serverTimezone": "Server Timezone",
358
244
  "serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
359
- "importFullRange": "Import full history",
360
- "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
361
- "overlapSkipped": "{{count}} skipped as overlap",
362
- "duplicates": "{{count}} duplicates skipped",
245
+ "skipDuplicate": "4 - الدورة المزدوجة - كانت الدورة قد استوردت من قبل.",
246
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
247
+ "skipInProgress": "الدورة التقدمية - الدورات الفعالة/غير المكتملة بدون معرف مرجعي.",
363
248
  "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
364
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
365
- },
366
- "plex": {
367
- "signInWithPlex": "تسجيل الدخول باستخدام Plex",
368
- "signUpWithPlex": "قم بالتسجيل باستخدام Plex",
369
- "selectServer": "حدد الخادم",
370
- "chooseServer": "اختر خادم Plex Media لمراقبة"
249
+ "skipSyncHint": "إذا تم تخطي العديد من السجلات، تأكد من مزامنة الخادم الخاص بك مؤخرا في الإعدادات → الخوادم.",
250
+ "skipUserNotFoundJellyfin": "المستخدم غير موجود - مستخدم Jellyfin/Emby غير موجود في Tracearr. قم بمزامنة الخادم الخاص بك أولاً لإضافة جميع المستخدمين.",
251
+ "skipUserNotFoundPlex": "المستخدم غير موجود - مستخدم Plex غير موجود في Tracearr. قم بمزامنة الخادم الخاص بك أولاً لإضافة جميع المستخدمين.",
252
+ "skipped": "تخطي",
253
+ "startImport": "بدء الاستيراد",
254
+ "startingImport": "بدء الاستيراد...",
255
+ "step1": "1",
256
+ "step2": "2",
257
+ "targetServer": "Target Server",
258
+ "tautulli": "استيراد من TTTulli",
259
+ "tautulliUrl": "رابط Tautulli",
260
+ "tautulliUrlHelp": "عنوان URL الخاص بنموذج Tautulli الخاص بك.",
261
+ "tautulliUrlPlaceholder": "http://localhost:8181",
262
+ "testing": "اختبار...",
263
+ "testingConnection": "اختبار الاتصال...",
264
+ "title": "استيراد البيانات",
265
+ "updateExistingRecords": "تحديث السجلات الموجودة مع تفاصيل البث",
266
+ "updateExistingRecordsHelp": "سيتم تحديث السجلات التي تم استيرادها سابقا مع بيانات جودة التدفق.",
267
+ "uploadJellystatBackup": "تحميل نسخة Jellystat الاحتياطية",
268
+ "uploadingBackup": "تحميل ملف النسخ الاحتياطي..."
371
269
  },
372
- "account": {
373
- "createAccount": "إنشاء حساب",
374
- "email": "البريد الإلكتروني",
375
- "password": "كلمة المرور",
376
- "displayName": "اسم العرض",
377
- "createYourAccount": "أنشئ حسابك للبدء",
378
- "signInToAccount": "تسجيل الدخول إلى حسابك",
379
- "useLocalAccount": "استخدام الحساب المحلي بدلاً من ذلك"
270
+ "ipWarning": {
271
+ "acknowledge": "فهمت ذلك",
272
+ "message": "يبدو أن جميع المستخدمين يستخدمون نفس عنوان IP أو عناوين IP للشبكة المحلية. قد يؤثر هذا على المنطق القائم على القواعد للموقع أو عناوين IP"
380
273
  },
381
- "update": {
382
- "title": "تحديث متوفر",
383
- "releaseNotes": "ملاحظات الإصدار",
384
- "updateCommand": "تحديث الأمر",
385
- "pullInstructions": "بعد السحب ، أعد تشغيل الحاوية لتطبيق التحديث.",
386
- "stableRelease": "الإصدار المستقر",
387
- "betaUpdate": "تحديث بيتا",
388
- "newVersion": "نسخة جديدة",
389
- "versionAvailable": "{{version}} available"
274
+ "jobs": {
275
+ "backfill": "خلاصة",
276
+ "cleanup": "تنظيف",
277
+ "delayed": "تأخير",
278
+ "description": "إدارة مهام الخلفية التي تحافظ على دقة البيانات الخاصة بك وتحسينها.",
279
+ "errors": "أخطاء",
280
+ "jobHistory": "سجل الوظائف",
281
+ "jobHistoryDesc": "عمليات إعدام وظائف الصيانة الأخيرة",
282
+ "lastJobCompleted": "اكتملت آخر مهمة بنجاح",
283
+ "lastJobFailed": "فشل آخر عمل",
284
+ "mayTakeAWhile": "قد يستغرق هذا بعض الوقت",
285
+ "mayTakeAWhileDesc": "قد يستغرق إنجاز هذه المهمة عدة دقائق تبعاً لحجم مكتبتك.",
286
+ "normalization": "التطبيع",
287
+ "processed": "معالجة",
288
+ "queued": "قائمة الانتظار",
289
+ "runConfirm": "تشغيل {{name}}?",
290
+ "runJob": "تشغيل الوظيفة",
291
+ "running": "تشغيل",
292
+ "runningState": "تشغيل",
293
+ "startJob": "بدء العمل",
294
+ "title": "وظائف الصيانة",
295
+ "unchanged": "بدون تغيير",
296
+ "updated": "تم التحديث",
297
+ "waiting": "في انتظار"
390
298
  },
391
- "serverHealth": {
392
- "unreachable": "{{serverName}} غير قابل للوصول",
393
- "multipleUnreachable": "{{count}} خوادم لا يمكن الوصول إليها: {{serverNames}}"
299
+ "mobile": {
300
+ "addDevice": "إضافة جهاز",
301
+ "connectedDevices": "الأجهزة المتصلة",
302
+ "connectedDevicesDesc": "{{count}} devices paired to your server",
303
+ "copyToken": "نسخ الرمز المميز",
304
+ "deviceName": "اسم الجهاز",
305
+ "deviceNamePlaceholder": "مثل iPhone 15",
306
+ "devicesConnected": "{{current}} of {{max}} devices connected",
307
+ "disable": "تعطيل",
308
+ "disableMobileAccess": "تعطيل وصول الجوال",
309
+ "disableMobileAccessConfirm": "سيؤدي هذا إلى قطع الاتصال بجميع الأجهزة المحمولة وإلغاء جميع الجلسات. يمكنك إعادة تمكين الوصول إلى الهاتف في وقت لاحق.",
310
+ "done": "تم",
311
+ "downloadOnAppStore": "تحميل على متجر التطبيقات",
312
+ "enableMobileAccess": "تمكين الوصول إلى الجوال",
313
+ "enabling": "تفعيل...",
314
+ "expiresIn": "تنتهي الصلاحية في {{time}}",
315
+ "externalUrlBanner": "استخدام الوكيل العكسي أو الوصول عن بعد؟ تعيين الخاص بك",
316
+ "externalUrlBannerLink": "رابط خارجي",
317
+ "externalUrlBannerSuffix": "حتى يمكن لتطبيق الجوال الاتصال بالخادم الخاص بك.",
318
+ "externalUrlRequired": "يجب تكوين عنوان URL خارجي في الإعدادات العامة للإقران بالجوال للعمل.",
319
+ "failedToGenerateToken": "فشل في توليد الرمز المميز",
320
+ "generateToken": "إنشاء رمز الاقتران",
321
+ "getOnGooglePlay": "احصل عليها على جوجل بلاي",
322
+ "getTheApp": "احصل على التطبيق",
323
+ "getTheAppDesc": "تحميل تطبيق Tracearr المحمول لنظام iOS أو Android",
324
+ "mobileAccessDisabled": "تم تعطيل الوصول إلى الجوال",
325
+ "mobileAccessDisabledDesc": "تمكين الوصول إلى الجوال للسماح لتطبيق Tracearr المحمول بالاتصال بالخادم الخاص بك.",
326
+ "noDevices": "لا توجد أجهزة متصلة",
327
+ "oneTimePairToken": "رمز اقتران لمرة واحدة",
328
+ "pairDevice": "جهاز الاقتران",
329
+ "pairNewDevice": "إقران جهاز جديد",
330
+ "pairNewDeviceDesc": "قم بمسح رمز QR باستخدام تطبيق Tracearr المحمول، أو أدخل الرمز المميز يدويا.",
331
+ "pairYourDevice": "إقران جهازك",
332
+ "pairYourDeviceDesc": "قم بمسح رمز QR باستخدام تطبيق Tracearr للاتصال بهذا الخادم.",
333
+ "pendingTokens": "{{count}} رموز مزدوجة معلقة",
334
+ "removeDevice": "إزالة الجهاز",
335
+ "removeDeviceConfirm": "هل أنت متأكد من أنك تريد إزالة {{deviceName}}؟ سيحتاج هذا الجهاز إلى الإقران مرة أخرى لإعادة الاتصال.",
336
+ "renameDevice": "إعادة تسمية الجهاز",
337
+ "renameDeviceDesc": "أدخل اسما للتعرف على هذا الجهاز في القائمة.",
338
+ "revokeAll": "إلغاء جميع الجلسات",
339
+ "revokeAllConfirm": "سيؤدي هذا إلى قطع الاتصال بجميع الأجهزة المحمولة. سوف تحتاج إلى الإقران مرة أخرى لإعادة الاتصال.",
340
+ "revokeAllSessions": "إلغاء الكل",
341
+ "scanQrCode": "Scan QR Code",
342
+ "title": "تطبيق الجوال",
343
+ "tokenExpires": "تنتهي صلاحية الرمز المميز في {{time}}",
344
+ "tokenExpiryNote": "تنتهي صلاحية هذا الرمز المميز في 5 دقائق ولا يمكن استخدامه إلا لمرة واحدة."
394
345
  },
395
- "ipWarning": {
396
- "message": "يبدو أن جميع المستخدمين يستخدمون نفس عنوان IP أو عناوين IP للشبكة المحلية. قد يؤثر هذا على المنطق القائم على القواعد للموقع أو عناوين IP",
397
- "acknowledge": "فهمت ذلك"
346
+ "plex": {
347
+ "chooseServer": "اختر خادم Plex Media لمراقبة",
348
+ "selectServer": "حدد الخادم",
349
+ "signInWithPlex": "تسجيل الدخول باستخدام Plex",
350
+ "signUpWithPlex": "قم بالتسجيل باستخدام Plex"
398
351
  },
399
- "backup": {
400
- "title": "النسخ الاحتياطي",
401
- "backToBackups": "العودة إلى النسخ الاحتياطي",
402
- "description": "النسخ الاحتياطي واستعادة بيانات Tracearr",
403
- "createBackup": "إنشاء نسخة احتياطية",
404
- "creating": "إنشاء نسخة احتياطية...",
405
- "uploadBackup": "تحميل نسخة احتياطية",
406
- "uploading": "تحميل...",
407
- "databaseSize": "حجم قاعدة البيانات الحالية: {{size}}",
408
- "freeSpace": "مساحة مجانية لدليل النسخ الاحتياطي: {{size}}",
409
- "lowDiskSpace": "مساحة القرص المنخفض - تتطلب النسخ الاحتياطية والاستعادة ضعف حجم قاعدة البيانات في المساحة الحرة على الأقل.",
410
- "backupHistory": "سجل النسخ الاحتياطي",
411
- "noBackups": "لا توجد نسخ احتياطية حتى الآن. أنشئ النسخة الاحتياطية الأولى أعلاه.",
412
- "filename": "اسم الملف",
413
- "size": "الحجم",
414
- "date": "التاريخ",
415
- "type": "نوع",
416
- "version": "الإصدار",
417
- "actions": "الإجراءات",
418
- "typeManual": "دليل",
419
- "typeScheduled": "مجدولة",
420
- "typeUploaded": "تم الرفع",
421
- "restoreAction": "إستعادة",
422
- "deleteConfirmTitle": "حذف النسخ الاحتياطي",
423
- "deleteConfirmDescription": "هل أنت متأكد من أنك تريد حذف هذه النسخة الاحتياطية؟ لا يمكن التراجع عن ذلك.",
424
- "schedule": "النسخ الاحتياطية المجدولة",
425
- "scheduleType": "الجدول",
426
- "scheduleDisabled": "معطل",
427
- "scheduleDaily": "يومياً",
428
- "scheduleWeekly": "أسبوعيا",
429
- "scheduleMonthly": "شهريا",
430
- "scheduleTime": "الوقت ({{timezone}})",
431
- "scheduleDayOfWeek": "يوم من الأسبوع",
432
- "scheduleDayOfMonth": "يوم الشهر",
433
- "scheduleDayOfMonthHint": "في غضون أشهر بأيام أقل، تعمل النسخة الاحتياطية في اليوم الأخير.",
434
- "retentionCount": "الحفاظ على الأخير",
435
- "retentionSuffix": "النسخ الاحتياطية المجدولة",
436
- "daySun": "الأحد",
437
- "dayMon": "الاثنين",
438
- "dayTue": "الثلاثاء",
439
- "dayWed": "الأربعاء",
440
- "dayThu": "الخميس",
441
- "dayFri": "الجمعة",
442
- "daySat": "السبت",
443
- "restore": {
444
- "title": "استعادة النسخ الاحتياطي",
445
- "selectedBackup": "النسخ الاحتياطي المحدد",
446
- "databaseSize": "حجم قاعدة البيانات",
447
- "sessions": "الجلسات",
448
- "users": "المستخدمون",
449
- "servers": "خوادم",
450
- "rules": "القواعد",
451
- "libraryItems": "عناصر المكتبة",
452
- "tables": "الجداول",
453
- "warning": "الاستعادة سوف تحل محل جميع البيانات الموجودة. سوف تحتاج إلى إعادة تسجيل الدخول بعد اكتمال الاستعادة.",
454
- "confirmLabel": "أفهم أن هذا سيحل محل جميع البيانات",
455
- "confirm": "بدء الاستعادة",
456
- "complete": "اكتمل الاستعادة بنجاح. سيتم تحديث الصفحة قريباً.",
457
- "failed": "فشل الاستعادة",
458
- "cannotRestore": "تتطلب الإستعادة امتيازات PostgreSQL للمستخدم المتميز. الرجاء التأكد من أن مستخدم قاعدة البيانات لديه امتيازات المستخدم المتميز وحاول مرة أخرى.",
459
- "pgVersionMismatch": "تم إنشاء النسخ الاحتياطي على PostgreSQL {{backupVersion}} ولكن هذا الخادم يعمل PostgreSQL {{serverVersion}}. استعادة الإغراق من إصدار PostgreSQL الأحدث غير مدعوم.",
460
- "tsVersionMismatch": "تم إنشاء نسخة احتياطية مع TimescaleDB {{backupVersion}} ولكن هذا الخادم يدعم فقط حتى TimescaleDB {{serverVersion}}."
352
+ "serverHealth": {
353
+ "multipleUnreachable": "{{count}} خوادم لا يمكن الوصول إليها: {{serverNames}}",
354
+ "unreachable": "{{serverName}} غير قابل للوصول"
355
+ },
356
+ "servers": {
357
+ "addServer": "إضافة خادم",
358
+ "addServerDialogDescOther": "ربط خادم Jellyfin أو Embi.",
359
+ "addServerDialogDescPlex": "حدد خادم Plex من حسابك المرتبط.",
360
+ "added": "أضيف {{date}}",
361
+ "allFieldsRequired": "جميع الحقول مطلوبة",
362
+ "allServersConnected": "جميع الخوادم متصلة",
363
+ "allServersConnectedDesc": "جميع الخوادم من هذا الحساب متصلة.",
364
+ "apiKeyHelp": "موجود في لوحة تحكم خادم الوسائط الخاصة بك تحت مفاتيح API أو الإعدادات المتقدمة.",
365
+ "apiKeyHelpEmby": "العثور على هذا في خادم Emby → API مفاتيح",
366
+ "apiKeyHelpJellyfin": "ابحث عن هذا في لوحة تحكم جليفين → مفاتيح API",
367
+ "apiKeyPlaceholder": "أدخل مفتاح API الخاص بك",
368
+ "checkingConnection": "Checking connection…",
369
+ "chooseAccount": "اختر حساب...",
370
+ "connectServer": "الاتصال بالخادم",
371
+ "connecting": "جاري الاتصال...",
372
+ "connectionFailed": "فشل الاتصال",
373
+ "connectionSuccess": "تم الاتصال بنجاح",
374
+ "description": "إدارة خوادم Plex، Jellyfin، و Emby",
375
+ "discoveringConnections": "اكتشاف الاتصالات...",
376
+ "discoveringServers": "اكتشاف خوادم Plex المتاحة...",
377
+ "editServer": "تعديل الخادم",
378
+ "editServerDesc": "تحديث اسم الخادم أو رابط الاتصال.",
379
+ "loadingAccounts": "تحميل حسابات Plex المرتبطة...",
380
+ "noPlexAccountsLinked": "لا توجد حسابات Plex مرتبطة",
381
+ "noPlexAccountsLinkedHint": "اربط حساب Plex أعلاه، ثم عد لإضافة خادم.",
382
+ "noServersConnected": "لا يوجد خوادم متصلة",
383
+ "noServersConnectedHint": "انقر فوق \"إضافة خادم\" لربط خادم Jellyfin أو Emby",
384
+ "plexAccount": "حساب Plex",
385
+ "plexServerPlaceholder": "خادم Plex الخاص بي",
386
+ "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
387
+ "pluginUpdateAvailable": "Plugin update available",
388
+ "pluginVersion": "plugin v{{version}}",
389
+ "pollingMode": "Polling",
390
+ "posterSource": {
391
+ "automatic": "Automatic (most recent)",
392
+ "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
393
+ "emptyHint": "Add a server to choose a preferred poster source.",
394
+ "label": "Preferred Poster Source",
395
+ "title": "Poster Preferences",
396
+ "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
461
397
  },
462
- "toast": {
463
- "backupCreated": "تم إنشاء النسخ الاحتياطي بنجاح",
464
- "backupCreateFailed": "فشل إنشاء نسخة احتياطية",
465
- "backupUploaded": "تم رفع النسخ الاحتياطي بنجاح",
466
- "backupUploadFailed": "فشل في تحميل النسخة الاحتياطية",
467
- "backupDeleted": "تم حذف النسخ الاحتياطي",
468
- "backupDeleteFailed": "فشل في حذف النسخة الاحتياطية",
469
- "restoreStarted": "بدأت الإستعادة",
470
- "restoreStartFailed": "فشل في بدء الاستعادة",
471
- "scheduleSaved": "تم حفظ جدول النسخ الاحتياطي",
472
- "scheduleError": "فشل في حفظ جدول النسخ الاحتياطي"
398
+ "realtimeActive": "Real-time updates active",
399
+ "realtimeDialog": {
400
+ "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
401
+ "close": "Close",
402
+ "copyUrl": "Copy URL",
403
+ "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
404
+ "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
405
+ "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
406
+ "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
407
+ "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this.",
408
+ "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
409
+ "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
410
+ "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
411
+ "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
412
+ "openReleases": "Open releases page",
413
+ "repositoryUrl": "Repository URL",
414
+ "title": "Enable real-time updates",
415
+ "updateTitle": "Update the Tracearr SSE plugin"
416
+ },
417
+ "realtimeError": "Real-time error",
418
+ "removeServer": "إزالة الخادم",
419
+ "removeServerConfirm": "هل أنت متأكد من أنك تريد إزالة هذا الخادم؟ سيتم الاحتفاظ بجميع بيانات الجلسة المرتبطة بذلك، ولكن لن تتمكن من مراقبة الجلسات الجديدة من هذا الخادم.",
420
+ "selectAccountHelp": "حدد حساب Plex لاكتشاف الخوادم منه.",
421
+ "selectPlexAccount": "حدد حساب Plex",
422
+ "serverColor": "لون الخادم",
423
+ "serverColorDesc": "تستخدم للإسناد المرئي في عرض متعدد الخوادم",
424
+ "serverName": "اسم الخادم",
425
+ "serverNamePlaceholder": "خادم الوسائط الخاص بي",
426
+ "serverType": "نوع الخادم",
427
+ "serverUrl": "رابط الخادم",
428
+ "serverUrlHelp": "عنوان URL مباشر إلى خادم Jellyfin أو Emby الخاص بك. استخدم IP:port للحصول على أفضل موثوقية.",
429
+ "serverUrlHelpEmby": "عنوان URL حيث يمكن الوصول إلى خادم Emby الخاص بك",
430
+ "serverUrlHelpJellyfin": "عنوان URL حيث يمكن الوصول إلى خادم Jellyfin",
431
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
432
+ "setupRealtime": "Set up real-time updates",
433
+ "syncInterval": "الفاصل الزمني للمزامنة",
434
+ "testConnection": "اختبار الاتصال",
435
+ "title": "خوادم متصلة",
436
+ "updateHint": "أو انقر فوق التحديث أدناه لحفظ تغيير الاسم فقط.",
437
+ "updating": "تحديث...",
438
+ "version": {
439
+ "installed": "Version {{version}}",
440
+ "upToDate": "up to date",
441
+ "updateAvailable": "update {{version}} available"
473
442
  }
443
+ },
444
+ "tabs": {
445
+ "accessControl": "التحكم بالدخول",
446
+ "advanced": "متقدم",
447
+ "backup": "النسخ الاحتياطي",
448
+ "general": "عام",
449
+ "import": "استيراد",
450
+ "jobs": "الوظائف",
451
+ "mobile": "تطبيق الجوال",
452
+ "notifications": "الإشعارات",
453
+ "servers": "خوادم",
454
+ "tailscale": "مقياس"
455
+ },
456
+ "tailscale": {
457
+ "authorize": "التصريح في الجدول",
458
+ "awaitingAuth": "في انتظار التفويض...",
459
+ "connected": "تم توصيل المقياس الإلكتروني. مثيل Tracearr الخاص بك متاح على شبكة الذاكرة.",
460
+ "description": "الوصول إلى Tracearr بشكل آمن على شبكة النطاق دون شحن المنفذ الخاصة بك.",
461
+ "disable": "تعطيل المقياس",
462
+ "disableConfirmDescription": "سيؤدي هذا إلى قطع اتصال Tracearr من الخيل الخاص بك. يمكنك إعادة التفعيل دون إعادة ترخيص.",
463
+ "disableConfirmTitle": "تعطيل المقياس الخطي؟",
464
+ "disabledDescription": "تمكين Tailscale لوضع Tracearr على جهازك الخاص. لا يتطلب إعادة توجيه المنفذ أو عكس الوكيل المطلوب.",
465
+ "dnsName": "اسم DNS",
466
+ "enable": "تمكين المقياس",
467
+ "exitNodeNone": "لا",
468
+ "exitNodeOffline": "(دون اتصال)",
469
+ "hideLogs": "إخفاء السجلات",
470
+ "hostname": "Hostname",
471
+ "hostnameHint": "إختيار اسم مخصص لهذا الجهاز على شبكة الذيل الخاصة بك. الأحرف والأرقام والوصلات فقط.",
472
+ "hostnameLabel": "اسم مضيف الجهاز",
473
+ "noLogs": "لا يوجد سجل إخراج متاح.",
474
+ "notAvailable": "لم يتم العثور على ثنائيات المقياس الخطي. هذه الميزة متوفرة فقط عند تشغيل صورة Docker الرسمية.",
475
+ "resetConfirmDescription": "سيؤدي هذا إلى قطع اتصال Tracearr من ذاكرة التخزين الخاصة بك وإزالة هوية الجهاز. سوف تحتاج إلى إعادة التصريح إذا قمت بتمكينه مرة أخرى.",
476
+ "resetConfirmTitle": "Reset Tailscale?",
477
+ "showLogs": "إظهار السجلات",
478
+ "starting": "جارٍ البدء في النطاق السريع...",
479
+ "stopping": "إيقاف النطاق السريع...",
480
+ "tailnetUrl": "الرابط",
481
+ "title": "شبكة VPN للنطاق",
482
+ "toast": {
483
+ "disableFailed": "فشل في تعطيل الجدول",
484
+ "disabled": "تم تعطيل المقياس الخطي.",
485
+ "enableFailed": "فشل في تمكين النطاق",
486
+ "exitNodeFailed": "فشل في تعيين الخروج من العقدة",
487
+ "exitNodeSet": "تم تحديث عقدة الخروج",
488
+ "reset": "تم إعادة تعيين الجدول الخطي.",
489
+ "resetFailed": "فشل في إعادة تعيين النطاق"
490
+ },
491
+ "unknownError": "حدث خطأ غير معروف."
492
+ },
493
+ "title": "الإعدادات",
494
+ "update": {
495
+ "betaUpdate": "تحديث بيتا",
496
+ "newVersion": "نسخة جديدة",
497
+ "pullInstructions": "بعد السحب ، أعد تشغيل الحاوية لتطبيق التحديث.",
498
+ "releaseNotes": "ملاحظات الإصدار",
499
+ "stableRelease": "الإصدار المستقر",
500
+ "title": "تحديث متوفر",
501
+ "updateCommand": "تحديث الأمر",
502
+ "versionAvailable": "{{version}} available"
474
503
  }
475
504
  }