@adminiumjs/i18n 0.2.5 → 0.2.6

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 (430) hide show
  1. package/dist/a11y-keys.d.ts +1 -1
  2. package/dist/a11y-keys.d.ts.map +1 -1
  3. package/dist/a11y-keys.js +545 -18
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/format/index.d.ts +15 -3
  6. package/dist/format/index.d.ts.map +1 -1
  7. package/dist/format/index.js +15 -4
  8. package/dist/format/index.js.map +1 -1
  9. package/dist/resources/ar-eg/automations.d.ts +417 -0
  10. package/dist/resources/ar-eg/automations.d.ts.map +1 -0
  11. package/dist/resources/ar-eg/automations.js +417 -0
  12. package/dist/resources/ar-eg/automations.js.map +1 -0
  13. package/dist/resources/ar-eg/common.d.ts +23 -91
  14. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/common.js +25 -93
  16. package/dist/resources/ar-eg/common.js.map +1 -1
  17. package/dist/resources/ar-eg/dataio.d.ts +260 -0
  18. package/dist/resources/ar-eg/dataio.d.ts.map +1 -0
  19. package/dist/resources/ar-eg/dataio.js +260 -0
  20. package/dist/resources/ar-eg/dataio.js.map +1 -0
  21. package/dist/resources/ar-eg/email.d.ts +824 -0
  22. package/dist/resources/ar-eg/email.d.ts.map +1 -0
  23. package/dist/resources/ar-eg/email.js +824 -0
  24. package/dist/resources/ar-eg/email.js.map +1 -0
  25. package/dist/resources/ar-eg/files.d.ts +112 -0
  26. package/dist/resources/ar-eg/files.d.ts.map +1 -0
  27. package/dist/resources/ar-eg/files.js +112 -0
  28. package/dist/resources/ar-eg/files.js.map +1 -0
  29. package/dist/resources/ar-eg/invoices.d.ts +717 -0
  30. package/dist/resources/ar-eg/invoices.d.ts.map +1 -0
  31. package/dist/resources/ar-eg/invoices.js +717 -0
  32. package/dist/resources/ar-eg/invoices.js.map +1 -0
  33. package/dist/resources/ar-eg/onboarding.d.ts +190 -0
  34. package/dist/resources/ar-eg/onboarding.d.ts.map +1 -0
  35. package/dist/resources/ar-eg/onboarding.js +190 -0
  36. package/dist/resources/ar-eg/onboarding.js.map +1 -0
  37. package/dist/resources/ar-eg/reportBuilder.d.ts +415 -0
  38. package/dist/resources/ar-eg/reportBuilder.d.ts.map +1 -0
  39. package/dist/resources/ar-eg/reportBuilder.js +415 -0
  40. package/dist/resources/ar-eg/reportBuilder.js.map +1 -0
  41. package/dist/resources/ar-eg/studio.d.ts +1760 -1117
  42. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  43. package/dist/resources/ar-eg/studio.js +1782 -1139
  44. package/dist/resources/ar-eg/studio.js.map +1 -1
  45. package/dist/resources/ar-eg/ui.d.ts +45 -9
  46. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  47. package/dist/resources/ar-eg/ui.js +47 -11
  48. package/dist/resources/ar-eg/ui.js.map +1 -1
  49. package/dist/resources/cs-cz/automations.d.ts +417 -0
  50. package/dist/resources/cs-cz/automations.d.ts.map +1 -0
  51. package/dist/resources/cs-cz/automations.js +417 -0
  52. package/dist/resources/cs-cz/automations.js.map +1 -0
  53. package/dist/resources/cs-cz/common.d.ts +23 -91
  54. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  55. package/dist/resources/cs-cz/common.js +25 -93
  56. package/dist/resources/cs-cz/common.js.map +1 -1
  57. package/dist/resources/cs-cz/dataio.d.ts +260 -0
  58. package/dist/resources/cs-cz/dataio.d.ts.map +1 -0
  59. package/dist/resources/cs-cz/dataio.js +260 -0
  60. package/dist/resources/cs-cz/dataio.js.map +1 -0
  61. package/dist/resources/cs-cz/email.d.ts +824 -0
  62. package/dist/resources/cs-cz/email.d.ts.map +1 -0
  63. package/dist/resources/cs-cz/email.js +824 -0
  64. package/dist/resources/cs-cz/email.js.map +1 -0
  65. package/dist/resources/cs-cz/files.d.ts +112 -0
  66. package/dist/resources/cs-cz/files.d.ts.map +1 -0
  67. package/dist/resources/cs-cz/files.js +112 -0
  68. package/dist/resources/cs-cz/files.js.map +1 -0
  69. package/dist/resources/cs-cz/invoices.d.ts +717 -0
  70. package/dist/resources/cs-cz/invoices.d.ts.map +1 -0
  71. package/dist/resources/cs-cz/invoices.js +717 -0
  72. package/dist/resources/cs-cz/invoices.js.map +1 -0
  73. package/dist/resources/cs-cz/onboarding.d.ts +190 -0
  74. package/dist/resources/cs-cz/onboarding.d.ts.map +1 -0
  75. package/dist/resources/cs-cz/onboarding.js +190 -0
  76. package/dist/resources/cs-cz/onboarding.js.map +1 -0
  77. package/dist/resources/cs-cz/reportBuilder.d.ts +415 -0
  78. package/dist/resources/cs-cz/reportBuilder.d.ts.map +1 -0
  79. package/dist/resources/cs-cz/reportBuilder.js +415 -0
  80. package/dist/resources/cs-cz/reportBuilder.js.map +1 -0
  81. package/dist/resources/cs-cz/studio.d.ts +1759 -1116
  82. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  83. package/dist/resources/cs-cz/studio.js +1774 -1131
  84. package/dist/resources/cs-cz/studio.js.map +1 -1
  85. package/dist/resources/cs-cz/ui.d.ts +45 -9
  86. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  87. package/dist/resources/cs-cz/ui.js +47 -11
  88. package/dist/resources/cs-cz/ui.js.map +1 -1
  89. package/dist/resources/da-dk/automations.d.ts +417 -0
  90. package/dist/resources/da-dk/automations.d.ts.map +1 -0
  91. package/dist/resources/da-dk/automations.js +417 -0
  92. package/dist/resources/da-dk/automations.js.map +1 -0
  93. package/dist/resources/da-dk/common.d.ts +23 -91
  94. package/dist/resources/da-dk/common.d.ts.map +1 -1
  95. package/dist/resources/da-dk/common.js +25 -93
  96. package/dist/resources/da-dk/common.js.map +1 -1
  97. package/dist/resources/da-dk/dataio.d.ts +260 -0
  98. package/dist/resources/da-dk/dataio.d.ts.map +1 -0
  99. package/dist/resources/da-dk/dataio.js +260 -0
  100. package/dist/resources/da-dk/dataio.js.map +1 -0
  101. package/dist/resources/da-dk/email.d.ts +824 -0
  102. package/dist/resources/da-dk/email.d.ts.map +1 -0
  103. package/dist/resources/da-dk/email.js +824 -0
  104. package/dist/resources/da-dk/email.js.map +1 -0
  105. package/dist/resources/da-dk/files.d.ts +112 -0
  106. package/dist/resources/da-dk/files.d.ts.map +1 -0
  107. package/dist/resources/da-dk/files.js +112 -0
  108. package/dist/resources/da-dk/files.js.map +1 -0
  109. package/dist/resources/da-dk/invoices.d.ts +717 -0
  110. package/dist/resources/da-dk/invoices.d.ts.map +1 -0
  111. package/dist/resources/da-dk/invoices.js +717 -0
  112. package/dist/resources/da-dk/invoices.js.map +1 -0
  113. package/dist/resources/da-dk/onboarding.d.ts +190 -0
  114. package/dist/resources/da-dk/onboarding.d.ts.map +1 -0
  115. package/dist/resources/da-dk/onboarding.js +190 -0
  116. package/dist/resources/da-dk/onboarding.js.map +1 -0
  117. package/dist/resources/da-dk/reportBuilder.d.ts +415 -0
  118. package/dist/resources/da-dk/reportBuilder.d.ts.map +1 -0
  119. package/dist/resources/da-dk/reportBuilder.js +415 -0
  120. package/dist/resources/da-dk/reportBuilder.js.map +1 -0
  121. package/dist/resources/da-dk/studio.d.ts +1760 -1117
  122. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  123. package/dist/resources/da-dk/studio.js +1771 -1128
  124. package/dist/resources/da-dk/studio.js.map +1 -1
  125. package/dist/resources/da-dk/ui.d.ts +45 -9
  126. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  127. package/dist/resources/da-dk/ui.js +47 -11
  128. package/dist/resources/da-dk/ui.js.map +1 -1
  129. package/dist/resources/de-de/automations.d.ts +417 -0
  130. package/dist/resources/de-de/automations.d.ts.map +1 -0
  131. package/dist/resources/de-de/automations.js +417 -0
  132. package/dist/resources/de-de/automations.js.map +1 -0
  133. package/dist/resources/de-de/common.d.ts +23 -91
  134. package/dist/resources/de-de/common.d.ts.map +1 -1
  135. package/dist/resources/de-de/common.js +25 -93
  136. package/dist/resources/de-de/common.js.map +1 -1
  137. package/dist/resources/de-de/dataio.d.ts +260 -0
  138. package/dist/resources/de-de/dataio.d.ts.map +1 -0
  139. package/dist/resources/de-de/dataio.js +260 -0
  140. package/dist/resources/de-de/dataio.js.map +1 -0
  141. package/dist/resources/de-de/email.d.ts +824 -0
  142. package/dist/resources/de-de/email.d.ts.map +1 -0
  143. package/dist/resources/de-de/email.js +824 -0
  144. package/dist/resources/de-de/email.js.map +1 -0
  145. package/dist/resources/de-de/files.d.ts +112 -0
  146. package/dist/resources/de-de/files.d.ts.map +1 -0
  147. package/dist/resources/de-de/files.js +112 -0
  148. package/dist/resources/de-de/files.js.map +1 -0
  149. package/dist/resources/de-de/invoices.d.ts +717 -0
  150. package/dist/resources/de-de/invoices.d.ts.map +1 -0
  151. package/dist/resources/de-de/invoices.js +717 -0
  152. package/dist/resources/de-de/invoices.js.map +1 -0
  153. package/dist/resources/de-de/onboarding.d.ts +190 -0
  154. package/dist/resources/de-de/onboarding.d.ts.map +1 -0
  155. package/dist/resources/de-de/onboarding.js +190 -0
  156. package/dist/resources/de-de/onboarding.js.map +1 -0
  157. package/dist/resources/de-de/reportBuilder.d.ts +415 -0
  158. package/dist/resources/de-de/reportBuilder.d.ts.map +1 -0
  159. package/dist/resources/de-de/reportBuilder.js +415 -0
  160. package/dist/resources/de-de/reportBuilder.js.map +1 -0
  161. package/dist/resources/de-de/studio.d.ts +1759 -1116
  162. package/dist/resources/de-de/studio.d.ts.map +1 -1
  163. package/dist/resources/de-de/studio.js +1770 -1127
  164. package/dist/resources/de-de/studio.js.map +1 -1
  165. package/dist/resources/de-de/ui.d.ts +45 -9
  166. package/dist/resources/de-de/ui.d.ts.map +1 -1
  167. package/dist/resources/de-de/ui.js +47 -11
  168. package/dist/resources/de-de/ui.js.map +1 -1
  169. package/dist/resources/en-us/automations.d.ts +417 -0
  170. package/dist/resources/en-us/automations.d.ts.map +1 -0
  171. package/dist/resources/en-us/automations.js +417 -0
  172. package/dist/resources/en-us/automations.js.map +1 -0
  173. package/dist/resources/en-us/common.d.ts +23 -91
  174. package/dist/resources/en-us/common.d.ts.map +1 -1
  175. package/dist/resources/en-us/common.js +25 -93
  176. package/dist/resources/en-us/common.js.map +1 -1
  177. package/dist/resources/en-us/dataio.d.ts +260 -0
  178. package/dist/resources/en-us/dataio.d.ts.map +1 -0
  179. package/dist/resources/en-us/dataio.js +260 -0
  180. package/dist/resources/en-us/dataio.js.map +1 -0
  181. package/dist/resources/en-us/email.d.ts +824 -0
  182. package/dist/resources/en-us/email.d.ts.map +1 -0
  183. package/dist/resources/en-us/email.js +824 -0
  184. package/dist/resources/en-us/email.js.map +1 -0
  185. package/dist/resources/en-us/files.d.ts +112 -0
  186. package/dist/resources/en-us/files.d.ts.map +1 -0
  187. package/dist/resources/en-us/files.js +112 -0
  188. package/dist/resources/en-us/files.js.map +1 -0
  189. package/dist/resources/en-us/invoices.d.ts +717 -0
  190. package/dist/resources/en-us/invoices.d.ts.map +1 -0
  191. package/dist/resources/en-us/invoices.js +717 -0
  192. package/dist/resources/en-us/invoices.js.map +1 -0
  193. package/dist/resources/en-us/onboarding.d.ts +190 -0
  194. package/dist/resources/en-us/onboarding.d.ts.map +1 -0
  195. package/dist/resources/en-us/onboarding.js +190 -0
  196. package/dist/resources/en-us/onboarding.js.map +1 -0
  197. package/dist/resources/en-us/reportBuilder.d.ts +415 -0
  198. package/dist/resources/en-us/reportBuilder.d.ts.map +1 -0
  199. package/dist/resources/en-us/reportBuilder.js +415 -0
  200. package/dist/resources/en-us/reportBuilder.js.map +1 -0
  201. package/dist/resources/en-us/studio.d.ts +1742 -1099
  202. package/dist/resources/en-us/studio.d.ts.map +1 -1
  203. package/dist/resources/en-us/studio.js +1769 -1126
  204. package/dist/resources/en-us/studio.js.map +1 -1
  205. package/dist/resources/en-us/ui.d.ts +37 -1
  206. package/dist/resources/en-us/ui.d.ts.map +1 -1
  207. package/dist/resources/en-us/ui.js +39 -3
  208. package/dist/resources/en-us/ui.js.map +1 -1
  209. package/dist/resources/fr-fr/automations.d.ts +417 -0
  210. package/dist/resources/fr-fr/automations.d.ts.map +1 -0
  211. package/dist/resources/fr-fr/automations.js +417 -0
  212. package/dist/resources/fr-fr/automations.js.map +1 -0
  213. package/dist/resources/fr-fr/common.d.ts +23 -91
  214. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  215. package/dist/resources/fr-fr/common.js +25 -93
  216. package/dist/resources/fr-fr/common.js.map +1 -1
  217. package/dist/resources/fr-fr/dataio.d.ts +260 -0
  218. package/dist/resources/fr-fr/dataio.d.ts.map +1 -0
  219. package/dist/resources/fr-fr/dataio.js +260 -0
  220. package/dist/resources/fr-fr/dataio.js.map +1 -0
  221. package/dist/resources/fr-fr/email.d.ts +824 -0
  222. package/dist/resources/fr-fr/email.d.ts.map +1 -0
  223. package/dist/resources/fr-fr/email.js +824 -0
  224. package/dist/resources/fr-fr/email.js.map +1 -0
  225. package/dist/resources/fr-fr/files.d.ts +112 -0
  226. package/dist/resources/fr-fr/files.d.ts.map +1 -0
  227. package/dist/resources/fr-fr/files.js +112 -0
  228. package/dist/resources/fr-fr/files.js.map +1 -0
  229. package/dist/resources/fr-fr/invoices.d.ts +717 -0
  230. package/dist/resources/fr-fr/invoices.d.ts.map +1 -0
  231. package/dist/resources/fr-fr/invoices.js +717 -0
  232. package/dist/resources/fr-fr/invoices.js.map +1 -0
  233. package/dist/resources/fr-fr/onboarding.d.ts +190 -0
  234. package/dist/resources/fr-fr/onboarding.d.ts.map +1 -0
  235. package/dist/resources/fr-fr/onboarding.js +190 -0
  236. package/dist/resources/fr-fr/onboarding.js.map +1 -0
  237. package/dist/resources/fr-fr/reportBuilder.d.ts +415 -0
  238. package/dist/resources/fr-fr/reportBuilder.d.ts.map +1 -0
  239. package/dist/resources/fr-fr/reportBuilder.js +415 -0
  240. package/dist/resources/fr-fr/reportBuilder.js.map +1 -0
  241. package/dist/resources/fr-fr/studio.d.ts +1759 -1116
  242. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  243. package/dist/resources/fr-fr/studio.js +1774 -1131
  244. package/dist/resources/fr-fr/studio.js.map +1 -1
  245. package/dist/resources/fr-fr/ui.d.ts +44 -8
  246. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  247. package/dist/resources/fr-fr/ui.js +46 -10
  248. package/dist/resources/fr-fr/ui.js.map +1 -1
  249. package/dist/resources/index.d.ts.map +1 -1
  250. package/dist/resources/index.js +14 -0
  251. package/dist/resources/index.js.map +1 -1
  252. package/dist/resources/lazy.d.ts.map +1 -1
  253. package/dist/resources/lazy.js +57 -1
  254. package/dist/resources/lazy.js.map +1 -1
  255. package/dist/resources/namespaces.d.ts +62 -3
  256. package/dist/resources/namespaces.d.ts.map +1 -1
  257. package/dist/resources/namespaces.js +84 -3
  258. package/dist/resources/namespaces.js.map +1 -1
  259. package/dist/resources/zh-cn/automations.d.ts +417 -0
  260. package/dist/resources/zh-cn/automations.d.ts.map +1 -0
  261. package/dist/resources/zh-cn/automations.js +417 -0
  262. package/dist/resources/zh-cn/automations.js.map +1 -0
  263. package/dist/resources/zh-cn/common.d.ts +23 -91
  264. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  265. package/dist/resources/zh-cn/common.js +25 -93
  266. package/dist/resources/zh-cn/common.js.map +1 -1
  267. package/dist/resources/zh-cn/dataio.d.ts +260 -0
  268. package/dist/resources/zh-cn/dataio.d.ts.map +1 -0
  269. package/dist/resources/zh-cn/dataio.js +260 -0
  270. package/dist/resources/zh-cn/dataio.js.map +1 -0
  271. package/dist/resources/zh-cn/email.d.ts +824 -0
  272. package/dist/resources/zh-cn/email.d.ts.map +1 -0
  273. package/dist/resources/zh-cn/email.js +824 -0
  274. package/dist/resources/zh-cn/email.js.map +1 -0
  275. package/dist/resources/zh-cn/files.d.ts +112 -0
  276. package/dist/resources/zh-cn/files.d.ts.map +1 -0
  277. package/dist/resources/zh-cn/files.js +112 -0
  278. package/dist/resources/zh-cn/files.js.map +1 -0
  279. package/dist/resources/zh-cn/invoices.d.ts +717 -0
  280. package/dist/resources/zh-cn/invoices.d.ts.map +1 -0
  281. package/dist/resources/zh-cn/invoices.js +717 -0
  282. package/dist/resources/zh-cn/invoices.js.map +1 -0
  283. package/dist/resources/zh-cn/onboarding.d.ts +190 -0
  284. package/dist/resources/zh-cn/onboarding.d.ts.map +1 -0
  285. package/dist/resources/zh-cn/onboarding.js +190 -0
  286. package/dist/resources/zh-cn/onboarding.js.map +1 -0
  287. package/dist/resources/zh-cn/reportBuilder.d.ts +415 -0
  288. package/dist/resources/zh-cn/reportBuilder.d.ts.map +1 -0
  289. package/dist/resources/zh-cn/reportBuilder.js +415 -0
  290. package/dist/resources/zh-cn/reportBuilder.js.map +1 -0
  291. package/dist/resources/zh-cn/studio.d.ts +1758 -1115
  292. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  293. package/dist/resources/zh-cn/studio.js +1764 -1121
  294. package/dist/resources/zh-cn/studio.js.map +1 -1
  295. package/dist/resources/zh-cn/ui.d.ts +45 -9
  296. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  297. package/dist/resources/zh-cn/ui.js +47 -11
  298. package/dist/resources/zh-cn/ui.js.map +1 -1
  299. package/dist/resources/zh-tw/automations.d.ts +417 -0
  300. package/dist/resources/zh-tw/automations.d.ts.map +1 -0
  301. package/dist/resources/zh-tw/automations.js +417 -0
  302. package/dist/resources/zh-tw/automations.js.map +1 -0
  303. package/dist/resources/zh-tw/common.d.ts +23 -91
  304. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  305. package/dist/resources/zh-tw/common.js +25 -93
  306. package/dist/resources/zh-tw/common.js.map +1 -1
  307. package/dist/resources/zh-tw/dataio.d.ts +260 -0
  308. package/dist/resources/zh-tw/dataio.d.ts.map +1 -0
  309. package/dist/resources/zh-tw/dataio.js +260 -0
  310. package/dist/resources/zh-tw/dataio.js.map +1 -0
  311. package/dist/resources/zh-tw/email.d.ts +824 -0
  312. package/dist/resources/zh-tw/email.d.ts.map +1 -0
  313. package/dist/resources/zh-tw/email.js +824 -0
  314. package/dist/resources/zh-tw/email.js.map +1 -0
  315. package/dist/resources/zh-tw/files.d.ts +112 -0
  316. package/dist/resources/zh-tw/files.d.ts.map +1 -0
  317. package/dist/resources/zh-tw/files.js +112 -0
  318. package/dist/resources/zh-tw/files.js.map +1 -0
  319. package/dist/resources/zh-tw/invoices.d.ts +717 -0
  320. package/dist/resources/zh-tw/invoices.d.ts.map +1 -0
  321. package/dist/resources/zh-tw/invoices.js +717 -0
  322. package/dist/resources/zh-tw/invoices.js.map +1 -0
  323. package/dist/resources/zh-tw/onboarding.d.ts +190 -0
  324. package/dist/resources/zh-tw/onboarding.d.ts.map +1 -0
  325. package/dist/resources/zh-tw/onboarding.js +190 -0
  326. package/dist/resources/zh-tw/onboarding.js.map +1 -0
  327. package/dist/resources/zh-tw/reportBuilder.d.ts +415 -0
  328. package/dist/resources/zh-tw/reportBuilder.d.ts.map +1 -0
  329. package/dist/resources/zh-tw/reportBuilder.js +415 -0
  330. package/dist/resources/zh-tw/reportBuilder.js.map +1 -0
  331. package/dist/resources/zh-tw/studio.d.ts +1759 -1116
  332. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  333. package/dist/resources/zh-tw/studio.js +1773 -1130
  334. package/dist/resources/zh-tw/studio.js.map +1 -1
  335. package/dist/resources/zh-tw/ui.d.ts +45 -9
  336. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  337. package/dist/resources/zh-tw/ui.js +47 -11
  338. package/dist/resources/zh-tw/ui.js.map +1 -1
  339. package/dist/review-status.js +7 -7
  340. package/dist/server.d.ts.map +1 -1
  341. package/dist/server.js +14 -1
  342. package/dist/server.js.map +1 -1
  343. package/locales/ar-EG/.meta.json +15999 -5979
  344. package/locales/ar-EG/automations.json +406 -0
  345. package/locales/ar-EG/common.json +25 -93
  346. package/locales/ar-EG/dataio.json +249 -0
  347. package/locales/ar-EG/email.json +813 -0
  348. package/locales/ar-EG/files.json +101 -0
  349. package/locales/ar-EG/invoices.json +706 -0
  350. package/locales/ar-EG/onboarding.json +179 -0
  351. package/locales/ar-EG/reportBuilder.json +404 -0
  352. package/locales/ar-EG/studio.json +1782 -1139
  353. package/locales/ar-EG/ui.json +47 -11
  354. package/locales/cs-CZ/.meta.json +16271 -6251
  355. package/locales/cs-CZ/automations.json +406 -0
  356. package/locales/cs-CZ/common.json +25 -93
  357. package/locales/cs-CZ/dataio.json +249 -0
  358. package/locales/cs-CZ/email.json +813 -0
  359. package/locales/cs-CZ/files.json +101 -0
  360. package/locales/cs-CZ/invoices.json +706 -0
  361. package/locales/cs-CZ/onboarding.json +179 -0
  362. package/locales/cs-CZ/reportBuilder.json +404 -0
  363. package/locales/cs-CZ/studio.json +1774 -1131
  364. package/locales/cs-CZ/ui.json +47 -11
  365. package/locales/da-DK/.meta.json +16245 -6225
  366. package/locales/da-DK/automations.json +406 -0
  367. package/locales/da-DK/common.json +25 -93
  368. package/locales/da-DK/dataio.json +249 -0
  369. package/locales/da-DK/email.json +813 -0
  370. package/locales/da-DK/files.json +101 -0
  371. package/locales/da-DK/invoices.json +706 -0
  372. package/locales/da-DK/onboarding.json +179 -0
  373. package/locales/da-DK/reportBuilder.json +404 -0
  374. package/locales/da-DK/studio.json +1771 -1128
  375. package/locales/da-DK/ui.json +47 -11
  376. package/locales/de-DE/.meta.json +16094 -6074
  377. package/locales/de-DE/automations.json +406 -0
  378. package/locales/de-DE/common.json +25 -93
  379. package/locales/de-DE/dataio.json +249 -0
  380. package/locales/de-DE/email.json +813 -0
  381. package/locales/de-DE/files.json +101 -0
  382. package/locales/de-DE/invoices.json +706 -0
  383. package/locales/de-DE/onboarding.json +179 -0
  384. package/locales/de-DE/reportBuilder.json +404 -0
  385. package/locales/de-DE/studio.json +1770 -1127
  386. package/locales/de-DE/ui.json +47 -11
  387. package/locales/en-US/automations.json +406 -0
  388. package/locales/en-US/common.json +25 -93
  389. package/locales/en-US/dataio.json +249 -0
  390. package/locales/en-US/email.json +813 -0
  391. package/locales/en-US/files.json +101 -0
  392. package/locales/en-US/invoices.json +706 -0
  393. package/locales/en-US/onboarding.json +179 -0
  394. package/locales/en-US/reportBuilder.json +404 -0
  395. package/locales/en-US/studio.json +1769 -1126
  396. package/locales/en-US/ui.json +39 -3
  397. package/locales/fr-FR/.meta.json +14117 -4097
  398. package/locales/fr-FR/automations.json +406 -0
  399. package/locales/fr-FR/common.json +25 -93
  400. package/locales/fr-FR/dataio.json +249 -0
  401. package/locales/fr-FR/email.json +813 -0
  402. package/locales/fr-FR/files.json +101 -0
  403. package/locales/fr-FR/invoices.json +706 -0
  404. package/locales/fr-FR/onboarding.json +179 -0
  405. package/locales/fr-FR/reportBuilder.json +404 -0
  406. package/locales/fr-FR/studio.json +1774 -1131
  407. package/locales/fr-FR/ui.json +46 -10
  408. package/locales/zh-CN/.meta.json +16223 -6203
  409. package/locales/zh-CN/automations.json +406 -0
  410. package/locales/zh-CN/common.json +25 -93
  411. package/locales/zh-CN/dataio.json +249 -0
  412. package/locales/zh-CN/email.json +813 -0
  413. package/locales/zh-CN/files.json +101 -0
  414. package/locales/zh-CN/invoices.json +706 -0
  415. package/locales/zh-CN/onboarding.json +179 -0
  416. package/locales/zh-CN/reportBuilder.json +404 -0
  417. package/locales/zh-CN/studio.json +1764 -1121
  418. package/locales/zh-CN/ui.json +47 -11
  419. package/locales/zh-TW/.meta.json +15999 -5979
  420. package/locales/zh-TW/automations.json +406 -0
  421. package/locales/zh-TW/common.json +25 -93
  422. package/locales/zh-TW/dataio.json +249 -0
  423. package/locales/zh-TW/email.json +813 -0
  424. package/locales/zh-TW/files.json +101 -0
  425. package/locales/zh-TW/invoices.json +706 -0
  426. package/locales/zh-TW/onboarding.json +179 -0
  427. package/locales/zh-TW/reportBuilder.json +404 -0
  428. package/locales/zh-TW/studio.json +1773 -1130
  429. package/locales/zh-TW/ui.json +47 -11
  430. package/package.json +1 -1
@@ -8,1290 +8,1933 @@
8
8
  * scripts/gen-resources.mjs.
9
9
  */
10
10
  declare const _default: {
11
- readonly title: "Studio";
12
- readonly settings: {
13
- readonly title: "الإعدادات";
14
- readonly workspaceSection: "مساحة العمل";
15
- readonly globalDefaultsNav: "الإعدادات الافتراضية العامة";
16
- };
17
- readonly source: {
18
- readonly engine: {
19
- readonly label: "محرّك قاعدة البيانات";
20
- readonly postgres: "PostgreSQL";
21
- readonly mysql: "MySQL / MariaDB";
22
- readonly sqlite: "SQLite";
11
+ readonly addOns: {
12
+ readonly browse: {
13
+ readonly all: "الكل";
14
+ readonly bundled: "Included";
15
+ readonly categories: "الفئات";
16
+ readonly discard: "Discard";
17
+ readonly download: "Download";
18
+ readonly emptyBody: "This build shipped none, and the online catalogue is off.";
19
+ readonly emptyOnlineBody: "الكتالوج عبر الإنترنت مفعَّل، لكن آخر فحص لم يجد شيئًا. جرِّب البحث عن الأحدث.";
20
+ readonly emptyTitle: "No add-ons available";
21
+ readonly install: "Install";
22
+ readonly noMatchBody: "لا توجد إضافة تطابق هذا البحث وهذه الفئة.";
23
+ readonly noMatchTitle: "لا توجد نتائج";
24
+ readonly offline: "Showing the add-ons that came with this build. Browsing online is switched off, and nothing here has contacted the internet.";
25
+ readonly online: "Includes add-ons from the online catalogue. Checking for newer versions is a separate action.";
26
+ readonly refresh: "Check for newer";
27
+ readonly search: "ابحث في الإضافات";
28
+ readonly title: "Available";
29
+ readonly toggle: "Browse the online catalogue";
30
+ readonly upgrade: "v{version} available";
31
+ readonly upgradeAction: "Upgrade";
23
32
  };
24
- readonly format: {
25
- readonly label: "تنسيق المخطط";
26
- readonly helper: "اترك الاكتشاف التلقائي مفعّلًا ما لم يخطئ في التعرّف.";
27
- readonly auto: "اكتشاف تلقائي";
28
- readonly sql: "SQL DDL / pg_dump";
29
- readonly prisma: "مخطط Prisma";
30
- readonly drizzle: "Drizzle ORM";
31
- readonly typeorm: "كيانات TypeORM";
32
- readonly sequelize: "نماذج Sequelize";
33
- readonly rails: "Rails schema.rb";
34
- readonly django: "Django models.py";
35
- readonly json: "Adminium JSON";
33
+ readonly card: {
34
+ readonly needsApiKey: "يتطلب مفتاح API";
35
+ readonly needsOauth: "يتصل عبر OAuth";
36
36
  };
37
- readonly sqlite: {
38
- readonly file: "مسار ملف قاعدة البيانات";
39
- readonly helper: "SQLite ملف وليس خادمًا — أدخل المسار المطلق على الجهاز الذي يشغّل Adminium.";
37
+ readonly category: {
38
+ readonly artwork: "التصميم";
39
+ readonly data: "البيانات";
40
+ readonly delivery: "الشحن";
41
+ readonly email: "البريد";
42
+ readonly payments: "المدفوعات";
40
43
  };
41
- readonly file: {
42
- readonly detectedAs: "تم اكتشاف: {format}";
43
- readonly moreWarnings: "+{count} تحذيرات إضافية — تظهر القائمة الكاملة في خطوة التحليل.";
44
- readonly dropTitle: "أسقط ملف المخطط هنا، أو تصفّح";
45
- readonly dropHint: "SQL DDL / pg_dump وPrisma وDrizzle وTypeORM وSequelize وRails schema.rb ونماذج Django وAdminium JSON";
46
- readonly pitch: "لا حاجة إلى اتصال بقاعدة البيانات — نحلّل ملف المخطط ونبني اللوحات نفسها.";
47
- readonly parsing: "جارٍ قراءة ملف المخطط المرفوع…";
48
- readonly tables: "جداول";
49
- readonly columns: "أعمدة";
50
- readonly warnings: "تحذيرات";
51
- readonly errorTitle: "تعذّر تحليل الملف";
52
- readonly parseFailed: "تعذّر تحليل هذا الملف. إذا أخطأ الاكتشاف التلقائي، فاختر التنسيق صراحةً وأعد المحاولة.";
53
- readonly unsupported: "تنسيق غير معروف — المدعوم: SQL DDL وPrisma وDrizzle وTypeORM وSequelize وRails schema.rb ونماذج Django وAdminium JSON. اختر واحدًا صراحةً وأعد المحاولة.";
54
- readonly requestFailed: "فشل الرفع — تحقّق من اتصالك وأعد المحاولة.";
44
+ readonly confirm: {
45
+ readonly cancel: "Cancel";
46
+ readonly close: "Close";
47
+ readonly discard: "Discard";
48
+ readonly discardBody: "The downloaded files are deleted. Nothing was installed, so nothing else changes you can download it again whenever you like.";
49
+ readonly discardTitle: "Discard this download";
50
+ readonly disconnect: "Disconnect";
51
+ readonly disconnectBody: "Its keys are deleted and it stops making calls. Every table and every row it created stays exactly as it is, and you can reconnect at any time.";
52
+ readonly disconnectTitle: "Disconnect this add-on";
53
+ readonly uninstall: "Uninstall";
54
+ readonly uninstallBody: "Its keys are deleted and its files are removed from this server. Every table and every row it created stays exactly as it is. You can install it again later.";
55
+ readonly uninstallTitle: "Uninstall this add-on";
55
56
  };
56
- readonly title: "اربط قاعدة بياناتك";
57
- readonly subtitle: "وجّه Adminium إلى قاعدة بيانات وسننشئ لوحة إدارة من مخططها.";
58
- readonly name: "اسم الاتصال";
59
- readonly namePlaceholder: "Postgres للإنتاج";
60
- readonly modeLabel: "وضع إدخال المصدر";
61
- readonly mode: {
62
- readonly dsn: "سلسلة الاتصال";
63
- readonly fields: "حقول منفصلة";
64
- readonly file: "ملف المخطط";
57
+ readonly connect: {
58
+ readonly apiKey: "API key";
59
+ readonly submit: "Connect";
65
60
  };
66
- readonly dsn: {
67
- readonly label: "سلسلة الاتصال";
68
- readonly helper: "postgres://user:password@host:5432/database — يعمل أيضًا mysql:// وsqlite:.";
69
- readonly incomplete: "أضف المضيف وقاعدة البيانات، مثل postgres://user@host:5432/db";
70
- readonly invalidScheme: "مخطط غير معروف — المتوقع postgres:// أو mysql:// أو mariadb:// أو sqlite:";
71
- readonly quickFill: "تعبئة سريعة:";
61
+ readonly consent: {
62
+ readonly cancel: "Cancel";
63
+ readonly close: "Close";
64
+ readonly confirm: "Install";
65
+ readonly hosts: "Attach to";
66
+ readonly loading: "Working out what this would do…";
67
+ readonly subtitle: "What this add-on will do, before it can do it.";
68
+ readonly title: "Install {name}";
72
69
  };
73
- readonly fields: {
74
- readonly host: "المضيف";
75
- readonly port: "المنفذ";
76
- readonly database: "قاعدة البيانات";
77
- readonly user: "المستخدم";
78
- readonly password: "كلمة المرور";
79
- readonly ssl: "وضع SSL";
80
- readonly preview: "معاينة سلسلة الاتصال:";
70
+ readonly error: "Something went wrong";
71
+ readonly installed: {
72
+ readonly connected: "Connected";
73
+ readonly disconnect: "Disconnect";
74
+ readonly egress: "May contact: {hosts}";
75
+ readonly emptyBody: "Install an add-on above and it will appear here with its hosts and connection.";
76
+ readonly emptyTitle: "Nothing installed yet";
77
+ readonly notConnected: "Not connected";
78
+ readonly off: "off";
79
+ readonly on: "on";
80
+ readonly title: "Installed";
81
+ readonly uninstall: "Uninstall";
81
82
  };
82
- readonly readOnlyRole: {
83
- readonly title: "استخدم دورًا للقراءة فقط";
84
- readonly body: "لا يكتب Adminium أبدًا في قاعدة بياناتك — يستخدم الإعداد بيانات المخطط الوصفية فقط. نوصي بمستخدم مخصّص بصلاحيات SELECT فقط؛ ويمكنك تحديد مكان جداول Adminium الخاصة في خطوة تخزين البيانات الوصفية.";
83
+ readonly job: {
84
+ readonly body: "Fetching and verifying. Nothing is installed until you say so.";
85
+ readonly failed: "The download did not finish. Nothing was installed.";
86
+ readonly title: "Downloading";
87
+ };
88
+ readonly plan: {
89
+ readonly blocked: "This cannot be installed here";
90
+ readonly needsColumns: "This add-on needs columns you do not have";
91
+ readonly needsColumnsBody: "Adminium will not add columns to tables you already own. Add them yourself, then install.";
92
+ readonly noData: "This add-on reads and writes no tables of its own.";
93
+ readonly reuse: "This add-on will use tables you already have:";
94
+ readonly willCreate: "This will create tables in your database";
95
+ readonly willCreateBody: "Installing creates these tables. Uninstalling later leaves them, and their data, alone.";
96
+ };
97
+ readonly settings: {
98
+ readonly badJson: "هذا ليس JSON صالحاً، فلم يُحفظ شيء.";
99
+ readonly save: "حفظ الإعدادات";
100
+ readonly title: "الإعدادات";
101
+ };
102
+ readonly sideload: {
103
+ readonly file: "Package file (.tgz)";
104
+ readonly hint: "For a server with no internet. It is checked exactly as a download would be, so it needs the hash that came with it.";
105
+ readonly key: "Add-on key";
106
+ readonly sha: "Integrity (sha512-…)";
107
+ readonly shaHint: "The `integrity` value `npm pack --json` printed. The upload is refused if the bytes do not match.";
108
+ readonly submit: "Upload";
109
+ readonly title: "Upload a package";
110
+ readonly version: "Version";
111
+ };
112
+ readonly subtitle: "Extra capabilities you can add to your apps — shipping, artwork, data. Each one says what it needs before you install it.";
113
+ readonly title: "Add-ons";
114
+ readonly upgradeNote: "Upgrading keeps the hosts an add-on is attached to and the connection it already has.";
115
+ readonly veto: {
116
+ readonly body: "The setting is saved, but network features are off for this server and that wins. Downloaded add-ons still work, and you can still upload one yourself.";
117
+ readonly title: "This deployment cannot browse online";
85
118
  };
86
119
  };
87
120
  readonly capability: {
121
+ readonly importNoLiveHealth: "لا يوجد اتصال مباشر بقاعدة بيانات — فحوصات الصحة واكتشاف انحراف المخطط غير متاحة لهذا المصدر.";
122
+ readonly importNoRowCounts: "ملفات المخطط لا تحمل أعداد صفوف — تعرض قائمة الجداول — بدلًا من أرقام مختلَقة.";
88
123
  readonly mysqlApproxRows: "أعداد الصفوف في MySQL تقديرات من محرّك التخزين (قد تنحرف حتى ±40%) — تُعرض مع ≈.";
89
124
  readonly mysqlFkEnum: "البيانات الوصفية للمفاتيح الخارجية والتعدادات في MySQL أضعف: جداول MyISAM لا تعلن مفاتيح خارجية، والتعدادات أنواع enum(…) على مستوى العمود، وقيود CHECK تتطلب MySQL 8.0.16+ / MariaDB 10.2+.";
125
+ readonly rowsApproximate: "تقدير من محرّك التخزين — قد ينحرف حتى ±40% على InnoDB.";
126
+ readonly rowsNoEstimate: "لم يبلّغ المحرّك عن أي تقدير لهذا الجدول.";
127
+ readonly rowsRunAnalyze: "لا يوجد تقدير بعد — شغّل ANALYZE على قاعدة البيانات للحصول على أعداد الصفوف.";
128
+ readonly rowsUnavailable: "ملفات المخطط بلا قاعدة بيانات مباشرة — تظل أعداد الصفوف مجهولة حتى توصيل واحدة.";
90
129
  readonly sqliteCheckEnums: "لا يملك SQLite نوع تعداد أصليًا — تُركَّب التعدادات من قيود CHECK (col IN (…)).";
91
130
  readonly sqliteNoComments: "لا يدعم SQLite تعليقات الأعمدة — استخدم محرّر إعادة تعيين المخطط لإضافة التسميات.";
92
- readonly importNoRowCounts: "ملفات المخطط لا تحمل أعداد صفوف — تعرض قائمة الجداول — بدلًا من أرقام مختلَقة.";
93
- readonly importNoLiveHealth: "لا يوجد اتصال مباشر بقاعدة بيانات — فحوصات الصحة واكتشاف انحراف المخطط غير متاحة لهذا المصدر.";
94
- readonly rowsUnavailable: "ملفات المخطط بلا قاعدة بيانات مباشرة — تظل أعداد الصفوف مجهولة حتى توصيل واحدة.";
95
- readonly rowsRunAnalyze: "لا يوجد تقدير بعد — شغّل ANALYZE على قاعدة البيانات للحصول على أعداد الصفوف.";
96
- readonly rowsNoEstimate: "لم يبلّغ المحرّك عن أي تقدير لهذا الجدول.";
97
- readonly rowsApproximate: "تقدير من محرّك التخزين — قد ينحرف حتى ±40% على InnoDB.";
98
131
  };
99
- readonly test: {
100
- readonly log: {
101
- readonly moreWarnings: "+{count} تحذيرات إضافية من المحلّل";
102
- readonly connecting: "جارٍ إنشاء اتصال آمن…";
103
- readonly connected: "متصل ({latency} م.ث) · استبطان للقراءة فقط";
104
- readonly connectFailed: "فشل الاتصال.";
105
- readonly readingSchema: "جارٍ قراءة المخطط: public";
106
- readonly readingFile: "جارٍ قراءة ملف المخطط المرفوع…";
107
- readonly parsingFile: "جارٍ تحليل {file}";
108
- readonly detected: "تم اكتشاف {tables} جدولًا · {columns} عمودًا";
109
- readonly found: "تم العثور على {tables} جدولًا · {columns} عمودًا";
110
- readonly mapping: "جارٍ ربط أنواع الأعمدة ← عناصر الإدخال";
111
- readonly relations: "جارٍ اكتشاف العلاقات…";
112
- readonly piiScan: "جارٍ البحث عن أعمدة البيانات الشخصية…";
113
- readonly piiDone: "اكتمل فحص البيانات الشخصية تم إخفاء {count} عمودًا افتراضيًا";
114
- readonly piiDoneUnknown: "اكتمل فحص البيانات الشخصية";
115
- readonly jobFailed: "فشل الاستبطان.";
116
- readonly networkFailed: "فشل الطلب — تحقّق من اتصالك وأعد المحاولة.";
117
- readonly ready: "جاهز";
132
+ readonly design: {
133
+ readonly adopt: {
134
+ readonly action: "أضِف إلى تطبيقي";
135
+ readonly done: "أُنشئت {created} صفحة، وحُدِّثت {updated}، و{unchanged} محدَّثة بالفعل.";
136
+ readonly everything: "هذا الاتصال يعرض كل الجداول بالفعل، فلم يلزم تضمين شيء.";
137
+ readonly forbidden: "يستطيع دورك تغيير المخطط لكن لا يستطيع إنشاء الصفحات. اطلب من مسؤول لديه إدارة الاتصالات إضافة هذه الجداول إلى التطبيق.";
138
+ readonly grants: "لا يُمنح أي دور صلاحية تلقائيًا — امنحها من الإعدادات ← الأدوار.";
139
+ readonly offer: "الجدول الجديد لا يفعل شيئًا حتى تكون له صفحة. هل تضيف {tables} إلى تطبيقك؟";
140
+ readonly skippedEdited: "تُركت كما هي لأنك عدّلتها: {pages}.";
141
+ };
142
+ readonly apply: "تطبيق";
143
+ readonly ceiling: {
144
+ readonly authorise: "اسمح بإعادة الكتابة هذه";
145
+ readonly body: "يحتوي {table} على أكثر من {rows} صف — أكبر مما يعيد Adminium كتابته تلقائيًا. لا يمكن السماح بذلك إلا لمسؤول عام، وسيظل الجدول مقفلًا طوال مدة إعادة الكتابة.";
146
+ readonly hint: "اكتب اسم الجدول تمامًا كما يظهر أعلاه.";
147
+ readonly notYours: "يحتوي {table} على أكثر من {rows} صف. لا يستطيع السماح بإعادة كتابة بهذا الحجم إلا مسؤول عام — اطلب ذلك منه، أو نفّذ التغيير في نافذة صيانة بأدواتك الخاصة.";
148
+ readonly prompt: "اكتب {table} مرة أخرى للسماح بإعادة الكتابة";
118
149
  };
119
- readonly title: "جارٍ تحليل مخططك";
120
- readonly subtitle: "جارٍ استبطان الجداول والأعمدة والعلاقات. يستغرق ذلك بضع ثوانٍ.";
121
- readonly trust: "نقرأ مخططك وبياناتك فقط. لا يتم تعديل أي شيء.";
122
- readonly errorTitle: "فشل الاتصال";
123
- readonly retry: "إعادة المحاولة";
124
- readonly logLabel: "سجل الاستبطان";
125
- readonly hint: {
126
- readonly auth: "فشلت المصادقة — تحقّق من اسم المستخدم وكلمة المرور في DSN.";
127
- readonly hostUnreachable: "تعذّر الوصول إلى المضيف — تحقّق من اسم المضيف والمنفذ، ومن أن قاعدة البيانات تقبل الاتصالات من هذا الجهاز (أضف عناوين IP الخاصة بنا إلى قائمة السماح).";
128
- readonly metaPlacement: "لا يمكن لهذا المصدر استضافة جداول Adminium الوصفية — تابع بقاعدة بيانات وصفية منفصلة.";
129
- readonly permission: "اتصل الدور لكنه يفتقر إلى صلاحيات قراءة المخطط — امنح دور الاستبطان صلاحية USAGE على المخطط.";
130
- readonly timeout: "لم تُجب قاعدة البيانات في الوقت المناسب — تحقّق من مسار الشبكة والحمل ثم أعد المحاولة.";
131
- readonly tls: "فشل تفاوض TLS — جرّب sslmode=require، أو ارفع شهادة CA التي يتوقعها خادمك.";
132
- readonly unknown: "فشل الاتصال — تحقّق من DSN وأعد المحاولة.";
150
+ readonly column: {
151
+ readonly help: "ماذا تعني هذه الإعدادات؟";
152
+ readonly key: "مفتاح";
153
+ readonly length: "الطول";
154
+ readonly link: "مرتبط بـ";
155
+ readonly linkHelp: "اربط هذا بصف في جدول آخر.";
156
+ readonly linkTypeNote: "يتم مطابقة النوع مع مفتاح الجدول المرتبط.";
157
+ readonly name: "الاسم";
158
+ readonly namePlaceholder: "client_id";
159
+ readonly noLink: "لا شيء";
160
+ readonly onDelete: "إذا حُذف الصف المرتبط";
161
+ readonly precision: "الدقة";
162
+ readonly primaryKey: "المفتاح الأساسي";
163
+ readonly remove: "إزالة {name}";
164
+ readonly required: "مطلوب";
165
+ readonly type: "النوع";
166
+ readonly unique: "فريد";
133
167
  };
134
- };
135
- readonly tables: {
136
- readonly importNoCounts: "ملفات المخطط لا تحمل أعداد صفوف — يعرض العمود — حتى يتم توصيل قاعدة بيانات مباشرة.";
137
- readonly title: "اختر جداولك";
138
- readonly subtitle: "اختر ما تريد تضمينه. يمكنك تغيير ذلك في أي وقت.";
139
- readonly search: "تصفية الجداول…";
140
- readonly listLabel: "الجداول القابلة للتضمين";
141
- readonly emptyFilter: "لا توجد جداول مطابقة لعامل التصفية.";
142
- readonly pii: "PII";
143
- readonly highVolume: "حجم كبير";
144
- readonly highVolumeNote: "الجداول التي تتجاوز 100,000 صف تبدأ غير محددة — نادرًا ما تنتمي جداول التشغيل إلى لوحة معلومات.";
145
- readonly joinHidden: "تم إخفاء {count} من جداول الربط/النظام مسبقًا — لكنها لا تزال تشغّل علاقات متعدد-إلى-متعدد.";
146
- };
147
- readonly hub: {
148
- readonly title: "اتصالات البيانات";
149
- readonly subtitle: "{healthy, number} من {total, plural, one {اتصال واحد} two {اتصالين} few {# اتصالات} many {# اتصالًا} other {# اتصال}} بحالة سليمة";
150
- readonly connectNew: "اتصال جديد";
151
- readonly stats: {
152
- readonly connections: "الاتصالات";
153
- readonly healthy: "سليمة";
154
- readonly tables: "الجداول المضمّنة";
155
- readonly pages: "الصفحات المولّدة";
168
+ readonly confirm: {
169
+ readonly body: "هذا التغيير يتخلّص من بيانات أو يزيل كائنًا. لا يمكن لـ Adminium التراجع عنه.";
170
+ readonly cancel: "إلغاء";
171
+ readonly close: "إغلاق";
172
+ readonly confirm: "تطبيق التغييرات";
173
+ readonly prompt: "اكتب {word} للتأكيد";
174
+ readonly title: "تطبيق تغيير مُدمِّر";
156
175
  };
157
- readonly status: {
158
- readonly connected: "متصل";
159
- readonly error: "خطأ";
160
- readonly unconfigured: "مسودة";
161
- readonly testing: "جارٍ الاختبار…";
162
- readonly paused: "متوقّف مؤقتًا";
176
+ readonly designer: "مُصمِّم الجداول";
177
+ readonly discard: "تجاهل التغييرات";
178
+ readonly dropping: "محدد للحذف";
179
+ readonly empty: {
180
+ readonly body: "أنشئ جدولًا، أو اختر واحدًا لتعديله. لا شيء يصل إلى قاعدة بياناتك قبل أن تراجع العبارات وتطبّقها.";
181
+ readonly title: "صمِّم مخطّطك";
182
+ };
183
+ readonly error: {
184
+ readonly atColumn: "العمود {n}، {field}";
185
+ readonly atTable: "الجدول {field}";
186
+ readonly empty: "الاسم مطلوب.";
187
+ readonly identifier: "استخدم حروفًا صغيرة وأرقامًا وشرطات سفلية، بدءًا بحرف.";
188
+ readonly tooLong: "طويل جدًا — {dialect} يسمح بـ {max} حرفًا.";
189
+ };
190
+ readonly existing: "الجداول الموجودة";
191
+ readonly hazard: {
192
+ readonly irreversible: "لا يمكن التراجع عنه";
193
+ readonly locking: "يحتجز قفلًا";
194
+ readonly lossy: "يتخلّص من بيانات";
195
+ readonly refused: "مرفوض";
196
+ readonly rewrite: "يعيد كتابة الجدول";
197
+ readonly safe: "آمن";
198
+ };
199
+ readonly help: {
200
+ readonly close: "إغلاق";
201
+ readonly link: {
202
+ readonly example: "الحجز يرتبط بعميل. عندئذٍ يعرض Adminium العميل داخل الحجز، والحجوزات داخل العميل.";
203
+ readonly term: "الربط بجدول آخر";
204
+ readonly what: "يربط هذا الصف بصف في جدول آخر، ويطلب من قاعدة البيانات أن تُبقي الرابط صحيحًا — فلا يمكنك الإشارة إلى شيء غير موجود.";
205
+ };
206
+ readonly primaryKey: {
207
+ readonly example: "بلا مفتاح أساسي يستطيع Adminium سرد الصفوف لكنه لا يستطيع تعديل صف بعينه أو حذفه.";
208
+ readonly term: "المفتاح الأساسي";
209
+ readonly what: "الحقل الذي يعرّف كل صف — وهو ما يستخدمه Adminium للتمييز بين صف وآخر. ينبغي أن يكون لكل جدول مفتاح أساسي واحد فقط، وهو في الغالب حقل \"id\" الذي يُنشأ لك.";
210
+ };
211
+ readonly required: {
212
+ readonly example: "الطلب يحتاج إلى عميل، فذلك الحقل مطلوب. أما ملاحظة التسليم فاختيارية، فليست مطلوبة.";
213
+ readonly term: "مطلوب";
214
+ readonly what: "يجب ملء هذا الحقل. لا يمكن حفظ الصف وهو فارغ.";
215
+ };
216
+ readonly subtitle: "وصف بلغة بسيطة لكل إعداد، وما الذي يغيّره لمن يستخدمون تطبيقك.";
217
+ readonly title: "ماذا تعني هذه الحقول";
218
+ readonly type: {
219
+ readonly example: "رقم الهاتف نص عادةً وليس رقمًا — فالأرقام تُسقط الأصفار التي في البداية.";
220
+ readonly term: "النوع";
221
+ readonly what: "نوع المعلومات التي يحملها الحقل — كلمات أو أعداد صحيحة أو مبالغ مالية أو تاريخ أو إجابة بنعم/لا. اختيار النوع الصحيح هو ما يتيح لـ Adminium عرض أداة اختيار تاريخ بدل مربع نص، وجمع عمود من المبالغ.";
222
+ };
223
+ readonly unique: {
224
+ readonly example: "لا ينبغي أن يتشارك عميلان بريدًا إلكترونيًا واحدًا — اجعله فريدًا فلن يستطيعا ذلك.";
225
+ readonly term: "فريد";
226
+ readonly what: "لا يجوز أن يحمل صفان القيمة نفسها. ترفض قاعدة البيانات الصف الثاني.";
227
+ };
163
228
  };
164
- readonly card: {
165
- readonly readOnly: "للقراءة فقط";
166
- readonly tables: "الجداول";
167
- readonly pages: "الصفحات";
168
- readonly latency: "زمن الاستجابة";
169
- readonly latencyMs: "{latency, number} م.ث";
170
- readonly lastIntrospected: "آخر فحص للمخطط";
171
- readonly never: "أبدًا";
172
- readonly timezone: "المنطقة الزمنية";
173
- readonly timezoneGuessed: "من هذا الخادم";
174
- readonly paused: "لا يتصل Adminium بقاعدة البيانات هذه. ستُحمَّل صفحاتها من جديد بمجرد استئنافها.";
175
- readonly pausedSince: "متوقّف مؤقتًا {when} — لا يتصل Adminium بقاعدة البيانات هذه. ستُحمَّل صفحاتها من جديد بمجرد استئنافها.";
229
+ readonly keepTable: "الاحتفاظ بـ {table}";
230
+ readonly newTable: "جدول جديد";
231
+ readonly onDelete: {
232
+ readonly cascade: "احذف هذا الصف أيضًا";
233
+ readonly restrict: "منع الحذف";
234
+ readonly setNull: "اترك هذا الحقل فارغًا";
176
235
  };
177
- readonly action: {
178
- readonly test: "اختبار";
179
- readonly reintrospect: "إعادة فحص المخطط";
180
- readonly reintrospectFile: "مصادر ملفات المخطط لا تملك قاعدة بيانات حيّة أعد رفع الملف بدلًا من ذلك.";
181
- readonly remap: "إعادة تعيين المخطط";
182
- readonly delete: "حذف";
183
- readonly regional: "الإعدادات الإقليمية";
184
- readonly pause: "إيقاف مؤقت";
185
- readonly resume: "استئناف";
186
- readonly pausedHint: "هذا الاتصال متوقّف مؤقتًا — استأنفه للوصول إلى قاعدة البيانات.";
187
- readonly rename: "إعادة تسمية";
236
+ readonly plan: "مراجعة التغييرات";
237
+ readonly result: {
238
+ readonly applied: "تم التطبيق. أعاد Adminium قراءة مخططك.";
239
+ readonly failed: "لم يُطبَّق أي شيء قاعدة بياناتك لم تتغيّر. {error}";
240
+ readonly partial: "تم التطبيق جزئيًا: نُفِّذت {done} من {total} خطوة. إعادة تطبيق التغييرات نفسها تُكملها.";
241
+ readonly repaired: "جرى تطبيق إعادة التسمية على {pages, plural, one {صفحة واحدة} two {صفحتين} few {# صفحات} many {# صفحة} other {# صفحة}} و{grants, plural, one {صلاحية دور واحدة} two {صلاحيتَي دور} few {# صلاحيات أدوار} many {# صلاحية دور} other {# صلاحية دور}} و{overrides, plural, one {تجاوز مخطط واحد} two {تجاوزَي مخطط} few {# تجاوزات مخطط} many {# تجاوز مخطط} other {# تجاوز مخطط}}.";
188
242
  };
189
- readonly regional: {
190
- readonly title: "الإعدادات الإقليمية";
191
- readonly intro: "تصف هذه الإعدادات النشاط التجاري الذي تنتمي إليه قاعدة البيانات، لا الشخص الذي يقرؤها. والتطبيقات التي يقدّمها Adminium تقرؤها من هنا.";
192
- readonly timezone: "المنطقة الزمنية";
193
- readonly timezoneHelper: "تُعرض التواريخ والأوقات بهذه المنطقة الزمنية. وبدونها تعود التطبيقات المستضافة على Adminium إلى توقيت UTC وتوضّح ذلك على الشاشة.";
194
- readonly guessedTitle: "هذه المنطقة الزمنية جاءت من الخادم";
195
- readonly guessedBody: "أخذها Adminium من الجهاز الذي يعمل عليه، ولم يخترها أحد هنا. احفظ لتأكيدها، أو اختر المنطقة الزمنية التي يعمل بها هذا النشاط التجاري فعليًا.";
196
- readonly timezonePlaceholder: "المنطقة/المدينة";
197
- readonly currency: "العملة";
198
- readonly currencyHelper: "تُستخدم لتنسيق المبالغ. اختيارية — وتركها فارغة يؤثّر في التنسيق فقط.";
199
- readonly currencyPlaceholder: "رمز ISO-4217";
200
- readonly notSet: "غير محدَّد";
201
- readonly noMatch: "لا توجد منطقة مطابقة";
202
- readonly noMatchCurrency: "لا توجد عملة مطابقة";
203
- readonly save: "حفظ";
204
- readonly failed: "تعذّر حفظ الإعدادات الإقليمية";
205
- readonly saved: "تم تحديث الإعدادات الإقليمية";
243
+ readonly review: {
244
+ readonly noChanges: "لا توجد تغييرات على المخطّط بعد.";
245
+ readonly pending: "راجع تغييراتك لترى العبارات الدقيقة التي سينفّذها Adminium.";
246
+ readonly steps: "الخطوات المُخطَّطة";
247
+ readonly superAdmin: "مدير عام";
248
+ readonly unfinished: "عملية تطبيق سابقة على هذا الاتصال لم تُبلِّغ عن نتيجة قط. قد يكون مخطّطها في منتصف الطريق بين شكلين — راجع سجلّ التغييرات قبل تطبيق المزيد.";
206
249
  };
207
- readonly test: {
208
- readonly ok: "الاتصال سليم · {latency, number} م.ث";
209
- readonly failed: "فشل اختبار الاتصال";
250
+ readonly reviewPane: "مراجعة";
251
+ readonly table: {
252
+ readonly addColumn: "إضافة عمود";
253
+ readonly columns: "الأعمدة";
254
+ readonly drop: "حذف هذا الجدول";
255
+ readonly dropHelp: "سيُحذف الجدول وكل صفوفه. سترى بالضبط ما الذي سيتعطل قبل تنفيذ أي شيء.";
256
+ readonly name: "اسم الجدول";
257
+ readonly nameHelp: "حروف صغيرة وأرقام وشرطات سفلية.";
258
+ readonly namePlaceholder: "reservations";
259
+ readonly noKey: "هذا الجدول بلا مفتاح أساسي، لذا سيعامله Adminium للقراءة فقط — يمكن سرد الصفوف لا تعديلها.";
260
+ readonly renameHelp: "تغييره يعيد تسمية الجدول في قاعدة بياناتك.";
261
+ readonly uuidKeyUnavailable: "على هذا المحرّك يجب أن يكون المفتاح عددًا صحيحًا مُولَّدًا: لا يمكن قراءة uuid المُولَّد من قاعدة البيانات بعد الإدراج.";
262
+ };
263
+ readonly unnamed: "سمِّ كل جدول وعمود لمراجعة التغييرات.";
264
+ readonly unrepresentableDefaults: "تحتفظ هذه الأعمدة بقيمة افتراضية تولّدها قاعدة البيانات ولا يمكن لـ Adminium تعديلها هنا، وتُترك كما هي: {columns}";
265
+ };
266
+ readonly diagram: {
267
+ readonly ceiling: "يتم عرض أكثر {shown} جدولًا ترابطًا. و{omitted} جدولًا آخر مخفيّ — ابحث عنه لإظهاره.";
268
+ readonly legend: {
269
+ readonly declared: "مفتاح خارجي";
270
+ readonly inferred: "مُستنتَج";
271
+ readonly virtual: "مُضاف في Adminium";
272
+ };
273
+ readonly legendLabel: "مفتاح الرموز";
274
+ readonly node: {
275
+ readonly foreignKey: "مفتاح خارجي";
276
+ readonly more: "+{count} أخرى";
277
+ readonly primaryKey: "مفتاح أساسي";
278
+ };
279
+ readonly outline: {
280
+ readonly intro: "{tables} جدولًا و{relations} علاقة، في صورة قائمة.";
281
+ readonly more: " و{count} أخرى";
282
+ readonly referencedBy: "مُشار إليه من: {list}";
283
+ readonly references: "يشير إلى: {list}";
284
+ };
285
+ readonly saveLayout: "حفظ التخطيط";
286
+ readonly search: "ابحث عن جدول أو عمود";
287
+ readonly showDiagram: "عرض المخطّط";
288
+ readonly showList: "عرض كقائمة";
289
+ };
290
+ readonly documents: {
291
+ readonly cancel: "إلغاء";
292
+ readonly connectionLabel: "الاتصال";
293
+ readonly delete: "حذف";
294
+ readonly delivery: {
295
+ readonly email: "أرسله إلى";
296
+ readonly noEmail: "لا أحد — يبقى على السجل فقط";
297
+ readonly noEmailSlot: "هذا النوع من المستندات ليس فيه حقل عنوان، فلا يمكن إرساله.";
298
+ readonly noSmtp: "لم يُضبط خادم بريد لهذا Adminium بعد، فلا يمكن إرسال شيء. اضبط واحداً من Studio ← الإعدادات ← البريد.";
299
+ readonly stored: "يبقى على السجل دائماً.";
300
+ };
301
+ readonly disabled: "موقوف";
302
+ readonly edit: "تعديل";
303
+ readonly empty: "لا روابط بعد.";
304
+ readonly grants: {
305
+ readonly refused: "هذا الرابط يقرأ {tables}، وهو ما لا يحق لك قراءته. المستندات الصادرة عنه ستفشل لديك.";
306
+ readonly title: "لا يحق لك قراءة كل هذا";
307
+ };
308
+ readonly intro: "الرابط يحدد أي أعمدة أي جدول تصنع نوعاً من المستندات، وما الذي يرسمه، وإلى أين يذهب.";
309
+ readonly name: "سمِّ هذا الرابط";
310
+ readonly newFrom: "رابط جديد لـ:";
311
+ readonly noProvider: "لا توجد بعد إضافة مثبَّتة تستطيع رسم المستندات. ثبّت واحدة من الإضافات، فتظهر هنا الروابط الممكنة.";
312
+ readonly pickTable: "اختر جدولاً…";
313
+ readonly prefix: "بادئة الترقيم";
314
+ readonly render: {
315
+ readonly failedRow: "لم يُرسم شيء: {reason}";
316
+ readonly intro: "ارسم واحداً الآن، من صف تختاره. لا يُرسل شيء إلى أي مكان — يبقى على السجل مثل أي مستند آخر.";
317
+ readonly noRows: "لا توجد صفوف للرسم منها بعد.";
318
+ readonly open: "افتحه";
319
+ readonly pending: "يُرسم…";
320
+ readonly pick: "ارسم هذا";
321
+ readonly ready: "تم الرسم.";
322
+ readonly saveFirst: "احفظ الرابط أولاً. المستند يُرسم من رابط محفوظ، فترى ما يصنعه قبل أي أحد آخر.";
323
+ readonly search: "ابحث في الصفوف";
324
+ readonly slow: "لم يظهر أي مستند بعد. ربما ما زال ينتظر دوره، أو أن هذا التثبيت لا يشغّل المهام في الخلفية — ولن يُرسم شيء حتى يشغّلها.";
325
+ readonly slowTitle: "لا شيء حتى الآن";
326
+ };
327
+ readonly save: "حفظ الرابط";
328
+ readonly slot: {
329
+ readonly byDefault: "يملؤه Adminium";
330
+ readonly lineColumnOf: "{column} لكل بند";
331
+ readonly lineColumns: "ما الذي يملأ كل عمود من البند";
332
+ readonly looksLikeLines: "يبدو أنها بنود";
333
+ readonly noChildren: "لا شيء في قاعدة بياناتك يشير إلى هذا الجدول، فلا توجد بنود لرسمها. يحتاج المستند إلى جدول فرعي بمفتاح خارجي يعود إلى هذا الجدول.";
334
+ readonly noLines: "لا بنود";
335
+ readonly pii: "بيانات مخفية";
336
+ readonly typed: "قيمة أكتبها";
337
+ readonly typedHint: "مكتوبة هنا، لا تُقرأ من بياناتك — كل مستند من هذا الرابط يأخذ القيمة نفسها.";
338
+ readonly typedValue: "قيمة {slot}";
339
+ readonly unmapped: "غير مملوء";
210
340
  };
211
- readonly introspect: {
212
- readonly noChanges: "المخطط دون تغيير — لا لقطة جديدة.";
213
- readonly updated: "أُعيد فحص المخطط";
214
- readonly masksProposed: "{count, plural, one {عمود واحد مقترح} two {عمودان مقترحان} few {# أعمدة مقترحة} many {# عمودًا مقترحًا} other {# عمود مقترح}} للإخفاء — راجعها في محرر إعادة التعيين.";
215
- readonly failed: "فشل فحص المخطط. حاول مرة أخرى.";
341
+ readonly step: {
342
+ readonly delivery: "إلى أين يذهب";
343
+ readonly kind: "النوع";
344
+ readonly mapping: "ما الذي يملأ كل حقل";
345
+ readonly mappingHelp: "كل حقل يقرأ عموداً، أو يأخذ قيمة تكتبها هنا.";
346
+ readonly render: "جرّبه على صف";
347
+ readonly table: "الاتصال والجدول";
348
+ readonly trigger: "ما الذي يرسمه";
349
+ };
350
+ readonly tableLabel: "الجدول";
351
+ readonly title: "روابط المستندات";
352
+ readonly trigger: {
353
+ readonly created: "عند إضافة سطر";
354
+ readonly manual: "فقط عندما يطلب أحد";
355
+ readonly manualShort: "عند الطلب";
356
+ readonly note: "الأسطر القادمة من استيراد أو المكتوبة مباشرة في قاعدة البيانات لا ترسم شيئاً — فقط الكتابة عبر Adminium.";
357
+ readonly noteTitle: "ما الذي يُعدّ تغييراً";
358
+ readonly updated: "عند تغيّر سطر";
359
+ };
360
+ readonly unbound: "ما زال يلزم ملؤه: {slots}";
361
+ };
362
+ readonly enrich: {
363
+ readonly byo: {
364
+ readonly cardDescription: "انسخ مُوجّهًا مكتفيًا بذاته إلى Claude Code أو ChatGPT أو أي أداة — ثم الصق JSON مرة أخرى. لا حاجة إلى مفتاح، ولا يغادر أي شيء هذا الجهاز تلقائيًا.";
365
+ readonly cardTitle: "نسخ مُوجّه إلى أداة الذكاء الاصطناعي الخاصة بي";
366
+ readonly cardTitleRecommended: "انسخ موجّهًا إلى أداة الذكاء الاصطناعي الخاصة بي — موصى به";
367
+ readonly chunkTab: "المُوجّه {index}";
368
+ readonly chunkTabs: "أجزاء المُوجّه";
369
+ readonly chunkValid: "تم التحقّق من الجزء {index}";
370
+ readonly continueReview: "المتابعة إلى المراجعة";
371
+ readonly copyErrors: "نسخ الأخطاء لأداة الذكاء الاصطناعي";
372
+ readonly copyErrorsDone: "تم نسخ الأخطاء";
373
+ readonly copyErrorsHint: "الصق هذا مجددًا في أداة الذكاء الاصطناعي للحصول على استجابة مُصحّحة.";
374
+ readonly copyPrompt: "نسخ المُوجّه";
375
+ readonly copyPromptDone: "تم نسخ المُوجّه";
376
+ readonly download: "تنزيل .md";
377
+ readonly droppedItems: "أُسقِط {count} اقتراح أثناء التحقّق — تعرض المراجعة البقية.";
378
+ readonly errorsTitle: "عثر التحقّق على {count} مشكلة";
379
+ readonly guidance: "شغّل هذا في أي أداة ذكاء اصطناعي — Claude Code أو ChatGPT أو غيرها. الصق JSON الذي تُعيده أدناه.";
380
+ readonly mergedBody: "الاقتراحات جاهزة للمراجعة مقابل الأساس الاستدلالي.";
381
+ readonly mergedTitle: "تم التحقّق من كل الأجزاء البالغة {count} ودمجها";
382
+ readonly mergedTitleSingle: "تم التحقّق من الاستجابة";
383
+ readonly pasteLabel: "الصق استجابة JSON";
384
+ readonly pastePlaceholder: "الصق استجابة JSON هنا…";
385
+ readonly pendingBody: "الصق استجابة JSON أعلاه وتحقّق منها للمتابعة إلى المراجعة.";
386
+ readonly pendingBodyChunked: "يجب التحقّق من كل جزء قبل دمج الاقتراحات. الصق كل مُوجّه أعلاه وتحقّق منه.";
387
+ readonly pendingTitle: "تحقّق من كل مُوجّه للمتابعة";
388
+ readonly promptLabel: "مُوجّه الإثراء";
389
+ readonly promptLabelN: "مُوجّه الإثراء {index} من {total}";
390
+ readonly requestFailed: "تعذّر الوصول إلى الخادم للتحقّق — أعد المحاولة.";
391
+ readonly tokenChip: "≈ {tokens} رمزًا";
392
+ readonly valid: "تم التحقّق من الاستجابة";
393
+ readonly validate: "تحقّق";
394
+ readonly wholeDocument: "المستند بأكمله";
395
+ };
396
+ readonly copied: "تم النسخ";
397
+ readonly createFailed: "تعذّر إنشاء مُوجّه الإثراء — أعد المحاولة.";
398
+ readonly createFailedTitle: "تعذّر البدء";
399
+ readonly direct: {
400
+ readonly back: "العودة إلى الخيارات";
401
+ readonly building: "يجري إنشاء المُوجّه…";
402
+ readonly cancel: "إلغاء";
403
+ readonly continueReview: "المتابعة إلى المراجعة";
404
+ readonly done: "اكتمل الإثراء — راجع الاقتراحات.";
405
+ readonly errorTitle: "فشل الإثراء";
406
+ readonly failed: "فشل تشغيل المزوّد. تحقّق من إعدادات الذكاء الاصطناعي وأعد المحاولة.";
407
+ readonly jobFailed: "لم يكتمل تشغيل الإثراء.";
408
+ readonly logLabel: "سجلّ الإثراء";
409
+ readonly retry: "إعادة المحاولة";
410
+ readonly startFailed: "تعذّر بدء التشغيل — أعد المحاولة.";
411
+ readonly subtitle: "يجري إرسال مخططك إلى";
412
+ readonly title: "الإثراء بالذكاء الاصطناعي";
413
+ };
414
+ readonly fileBody: "لا تملك مصادر ملفات المخطط لقطة للإثراء بعد. اتصل بقاعدة بيانات حيّة لاستخدام الإثراء بالذكاء الاصطناعي، أو تابع — فالأساس الاستدلالي يُولّد تطبيقًا كاملًا رغم ذلك.";
415
+ readonly fileTitle: "يتطلّب الإثراء بالذكاء الاصطناعي قاعدة بيانات حيّة";
416
+ readonly generatePrompt: "إنشاء المُوجّه";
417
+ readonly intentLabel: "كيف تريد الإثراء؟";
418
+ readonly localeLocked: "(مطلوب)";
419
+ readonly localesLegend: "ترجمة التسميات إلى";
420
+ readonly noSections: "اختر مجموعة قرار واحدة على الأقل للإثراء.";
421
+ readonly provider: {
422
+ readonly configError: "تعذّر تحميل إعدادات المزوّد — هيّئ مزوّدًا من الإعدادات ← الذكاء الاصطناعي ثم عُد إلى هذه الخطوة.";
423
+ readonly description: "شغّل الإثراء الآن باستخدام مزوّدك المُهيّأ. تراجع كل اقتراح على هيئة فرق.";
424
+ readonly networkDisabled: "لا تملك نسخة Adminium هذه وصولاً صادرًا إلى الإنترنت، لذا لا يمكنها الوصول إلى واجهة أي مزوّد. استخدم بدلاً من ذلك دورة النسخ واللصق — الموجّه نفسه والمراجعة نفسها.";
425
+ readonly readyBody: "اختر «استخدام مزوّد الذكاء الاصطناعي الخاص بي» أعلاه لتشغيل الإثراء على هذا الاتصال الآن.";
426
+ readonly readyTitle: "تم تهيئة مزوّد الذكاء الاصطناعي";
427
+ readonly setUpHere: "هيّئ مزوّدًا هنا";
428
+ readonly setUpHide: "إخفاء تهيئة المزوّد";
429
+ readonly settingsHint: "هل تريد تشغيله مباشرةً؟";
430
+ readonly settingsLink: "هيّئ مزوّدًا في الإعدادات ← الذكاء الاصطناعي";
431
+ readonly title: "استخدام مزوّد الذكاء الاصطناعي الخاص بي";
432
+ readonly unconfigured: "لم يُهيّأ أي مزوّد ذكاء اصطناعي بعد — هيّئ واحدًا أدناه، أو انسخ مُوجّهًا إلى أداة الذكاء الاصطناعي الخاصة بك.";
433
+ };
434
+ readonly providerFallback: "مزوّد الذكاء الاصطناعي الخاص بك";
435
+ readonly samplingHint: "يضمّن ما يصل إلى 20 قيمة حقيقية لكل عمود غير حاوٍ على بيانات شخصية في المُوجّه.";
436
+ readonly samplingPreviewBody: "ما يصل إلى 20 قيمة من الأكثر شيوعًا لكل عمود غير حاوٍ على بيانات شخصية، إضافةً إلى الحد الأدنى/الأقصى للأعمدة الرقمية والتاريخية. لا تُؤخذ عينات من الأعمدة المُعلَّمة كبيانات شخصية أبدًا. يبقى كل ما عداها مُجمَّعًا فقط. راجع المُوجّه الدقيق قبل النسخ (BYO) — لا يُرسَل أي شيء دون إجراء منك.";
437
+ readonly samplingPreviewTitle: "ما الذي يغادر هذا الجهاز";
438
+ readonly samplingTitle: "تضمين قيم عينة";
439
+ readonly section: {
440
+ readonly enums: "دلالات التعداد";
441
+ readonly groups: "مجموعات التنقّل";
442
+ readonly icons: "الأيقونات";
443
+ readonly keys: "الأعمدة المفتاحية";
444
+ readonly labels: "التسميات والأوصاف";
445
+ readonly microcopy: "النصوص الدقيقة";
446
+ readonly pii: "البيانات الشخصية والإخفاء";
447
+ readonly relations: "العلاقات";
448
+ readonly templates: "قوالب الصفحات";
449
+ readonly widgets: "أدوات لوحة المعلومات";
450
+ };
451
+ readonly sectionsLegend: "ما الذي ينبغي للذكاء الاصطناعي أن يقرره؟";
452
+ readonly skip: {
453
+ readonly confirmBody: "سيستخدم التطبيق المُولّد التسميات والمجموعات ولوحات المعلومات الاستدلالية. تابع للتوليد — يمكنك تشغيل الإثراء بالذكاء الاصطناعي في أي وقت من الإعدادات ← الذكاء الاصطناعي.";
454
+ readonly confirmTitle: "المتابعة بالاستدلال";
455
+ readonly description: "التوليد من الأساس الاستدلالي. يمكنك الإثراء لاحقًا من الإعدادات ← الذكاء الاصطناعي — لا يُعاقَب التخطّي أبدًا.";
456
+ readonly title: "تخطٍّ — استخدام الاستدلال فقط";
457
+ };
458
+ readonly startOver: "البدء من جديد";
459
+ readonly startProvider: "بدء الإثراء";
460
+ readonly subtitle: "يمكنك اختياريًا تحسين التسميات والمجموعات والتعدادات ولوحات المعلومات المُولّدة باستخدام نموذج لغوي كبير. يعمل الأساس الاستدلالي بدونه — وهذا يضيف فقط اقتراحات تراجعها قبل تطبيق أي شيء.";
461
+ readonly title: "الإثراء بالذكاء الاصطناعي";
462
+ };
463
+ readonly generate: {
464
+ readonly errorTitle: "فشل التوليد";
465
+ readonly failed: "فشل التوليد — أعد المحاولة، أو أعد تشغيل الاستبطان أولًا.";
466
+ readonly fileBody: "تم تحليل مخططك بنجاح والمعاينة أعلاه حقيقية. توليد تطبيق يعمل مباشرةً من ملف مخطط (بصفوف بديلة) غير متاح بعد — اربط قاعدة بيانات حيّة للتوليد اليوم.";
467
+ readonly fileTitle: "تم تحليل ملف المخطط — يحتاج التوليد إلى قاعدة بيانات حيّة";
468
+ readonly log: {
469
+ readonly classifying: "جارٍ تصنيف المخطط…";
470
+ readonly composing: "جارٍ تركيب القوالب…";
471
+ readonly done: "تم توليد {pages} صفحة عبر {groups} مجموعات تنقّل";
472
+ readonly writing: "جارٍ كتابة الصفحات…";
473
+ };
474
+ readonly logLabel: "سجل التوليد";
475
+ readonly openApp: "افتح تطبيقك";
476
+ readonly run: "توليد لوحة المعلومات";
477
+ readonly subtitle: "صفحة لكل جدول مضمّن مع لوحات معلومات لكل مجال — الغرض:";
478
+ readonly successBody: "{pages} صفحة عبر {groups} مجموعات تنقّل — وُلّدت من مخططك، وقابلة للتحرير في الاستوديو.";
479
+ readonly successTitle: "لوحة معلوماتك جاهزة";
480
+ readonly title: "ولّد تطبيقك";
481
+ };
482
+ readonly hostedApps: {
483
+ readonly domains: {
484
+ readonly add: "إرفاق نطاق";
485
+ readonly hostLabel: "المضيف";
486
+ readonly instanceLabel: "النسخة";
487
+ readonly instanceOwn: "التطبيق نفسه";
488
+ readonly issuesTitle: "رُفضت خريطة النطاقات";
489
+ readonly none: "لا توجد نطاقات مرفقة.";
490
+ readonly remove: "إزالة";
491
+ readonly save: "حفظ النطاقات";
492
+ readonly savedBody: "تسري الارتباطات خلال ثوانٍ قليلة. لا يستجيب المضيف إلا عندما يصل DNS الخاص به وخادمك الوسيط فعلًا إلى هذا الخادم.";
493
+ readonly savedTitle: "تم الحفظ";
494
+ readonly subtitle: "وجّه DNS النطاق إلى الخادم الوسيط لديك، ومرّر ترويسة Host إلى Adminium، ثم أرفقه هنا — فيقدّم هذا المضيف الواجهة بدل هذه اللوحة. تبقى الشهادات على الخادم الوسيط.";
495
+ readonly surfaceLabel: "الواجهة";
496
+ readonly title: "النطاقات";
497
+ };
498
+ readonly emptyBody: "وجّه ADMINIUM_SURFACES_DIR إلى مجلد يضم الواجهات المبنية — مجلد لكل تطبيق وجهة، وبداخله index.html — ثم أعد التشغيل. تُقدَّم بعدها تحت ‎/apps/‎ وتظهر هنا.";
499
+ readonly emptyTitle: "لا تُقدَّم أي واجهات تطبيقات";
500
+ readonly error: "حدث خطأ ما";
501
+ readonly instances: {
502
+ readonly add: "إضافة نسخة";
503
+ readonly appLabel: "التطبيق";
504
+ readonly body: "قدّم التطبيق نفسه على أكثر من قاعدة بيانات. كل نسخة متاحة على /apps/<app>/<segment>/<side>/ ولا تقرأ سوى الاتصال الذي تحدّده لها.";
505
+ readonly empty: "لا توجد نسخ إضافية.";
506
+ readonly failed: "تعذّر حفظ النسخ";
507
+ readonly readsLabel: "يقرأ من";
508
+ readonly remove: "إزالة";
509
+ readonly save: "حفظ النسخ";
510
+ readonly slugLabel: "مقطع الرابط";
511
+ readonly title: "النسخ";
512
+ };
513
+ readonly subtitle: "واجهات التطبيقات التي يقدّمها هذا الخادم — أين تظهر كلٌّ منها، والنطاقات الموجّهة إليها.";
514
+ readonly surfaces: {
515
+ readonly boundKey: "تقدّم المفتاح";
516
+ readonly connectionLabel: "يقرأ من";
517
+ readonly connectionUnset: "أي اتصال يعمل";
518
+ readonly customer: "العملاء";
519
+ readonly mintLink: "أنشئ واحدًا من واجهة برمجة التطبيقات العامة";
520
+ readonly noKey: "لا يوجد مفتاح مرتبط — لا يمكن لهذه الواجهة قراءة البيانات حتى يُنشأ لها مفتاح.";
521
+ readonly noNav: "الدمج الداخلي غير متاح — أعد بناء هذه الواجهة بأحدث أدوات البناء حتى تُصدر surface.json.";
522
+ readonly placementExternal: "خارجية (عنوانها الخاص فقط)";
523
+ readonly placementInternal: "في الشريط الجانبي (مدمجة)";
524
+ readonly placementLabel: "الموضع";
525
+ readonly staff: "الموظفون";
526
+ readonly subtitle: "واجهة الموظفين يمكن أن تندمج في الشريط الجانبي لهذه اللوحة أو تبقى مستقلة؛ وواجهة العملاء عامة وتقرأ عبر مفتاحها المرتبط.";
527
+ readonly title: "الواجهات";
528
+ };
529
+ readonly title: "التطبيقات المستضافة";
530
+ readonly install: {
531
+ readonly steps: {
532
+ readonly bundle: "الحزمة";
533
+ readonly database: "قاعدة البيانات";
534
+ readonly plan: "خطة البنية";
535
+ readonly done: "تم";
536
+ };
537
+ readonly progress: "تقدّم التثبيت";
538
+ readonly failed: "فشل التثبيت";
539
+ readonly bundle: {
540
+ readonly title: "ارفع حزمة التطبيق";
541
+ readonly hint: "ملف ‎.tgz‎ الذي ينتجه `npm pack` لواجهة مبنية — يحتوي على manifest.json ومجلد staff/ أو customer/.";
542
+ readonly file: "ملف الحزمة (‎.tgz‎)";
543
+ readonly fileHint: "لا يُنشأ أي شيء قبل أن تؤكّد في خطوة خطة البنية.";
544
+ readonly key: "مفتاح التطبيق";
545
+ readonly version: "الإصدار";
546
+ readonly integrity: "التحقق من السلامة (اختياري)";
547
+ readonly integrityHint: "الصق قيمة ‎sha512-‎ من `npm pack --json` ليتحقق الخادم من هذه البايتات بالذات. وإن تركته فارغًا تُحسب هنا.";
548
+ };
549
+ readonly database: {
550
+ readonly title: "في أي قاعدة بيانات تريد التثبيت؟";
551
+ readonly hint: "اختر اتصالًا قابلًا للكتابة. هناك ستُنشأ الجداول، ومنه يقرأ التطبيق بعد ذلك.";
552
+ readonly tables: "الجداول: {count}";
553
+ readonly readOnly: "للقراءة فقط";
554
+ readonly writable: "قابل للكتابة";
555
+ readonly noWritable: "لا يوجد اتصال قابل للكتابة";
556
+ readonly allReadOnly: "كل الاتصالات هنا تستخدم دورًا للقراءة فقط، فلا يستطيع أي تطبيق إنشاء جداوله. أضف أولًا اتصالًا يسمح بتنفيذ DDL.";
557
+ };
558
+ readonly plan: {
559
+ readonly title: "راجع خطة البنية";
560
+ readonly hint: "هذا بالضبط ما سيُنشأ في قاعدة بياناتك. لم يُكتب شيء بعد.";
561
+ readonly refused: "لا يمكن تثبيت هذا التطبيق هنا";
562
+ readonly create: "إنشاء";
563
+ readonly reuse: "استخدام الموجود";
564
+ readonly toggleDdl: "إظهار معاينة DDL";
565
+ readonly ddl: "معاينة DDL";
566
+ readonly ddlNote: "للتوضيح فقط. الخادم ينتج العبارة الدقيقة لمحرّكك، بما فيها المفاتيح الأجنبية.";
567
+ readonly summary: "{created} أُنشئت · {reused} أُعيد استخدامها";
568
+ };
569
+ readonly done: {
570
+ readonly title: "تم التثبيت";
571
+ readonly body: "{key} تُقدَّم الآن. اختر بالأسفل مكان ظهور واجهة الموظفين.";
572
+ readonly schema: "جداول أُنشئت: {created} · أُعيد استخدامها: {reused}";
573
+ };
574
+ readonly cancel: "إلغاء";
575
+ readonly back: "رجوع";
576
+ readonly upload: "رفع";
577
+ readonly continue: "متابعة";
578
+ readonly confirm: "تثبيت";
579
+ readonly finish: "إدارة التطبيقات";
580
+ readonly staged: "ملفات مُستخرجة: {files}";
581
+ readonly footerStep: "الخطوة {n} من {total}";
582
+ readonly footerStepApp: "الخطوة {n} من {total} · {app}";
583
+ readonly chosen: {
584
+ readonly title: "تثبيت {app}";
585
+ readonly hint: "هذا التطبيق جاء مع نسختك وهو موجود بالفعل على القرص. لا يُنشأ شيء قبل أن تؤكّد خطة البنية.";
586
+ };
587
+ };
588
+ readonly installed: {
589
+ readonly title: "التطبيقات المثبَّتة";
590
+ readonly install: "ثبِّت تطبيقًا";
591
+ readonly emptyTitle: "لا توجد تطبيقات مثبَّتة بعد";
592
+ readonly emptyBody: "ارفع حزمة واجهة مبنية لتثبيت واحد. التطبيقات المثبَّتة هنا تُقدَّم فورًا — بلا إعادة تشغيل، بخلاف مجلد تشير إليه.";
593
+ readonly uninstall: "إزالة";
594
+ readonly confirmTitle: "إزالة هذا التطبيق؟";
595
+ readonly confirmBody: "ستتوقف واجهاته عن العمل وتُحذف الحزمة. أما الجداول التي أنشأها في قاعدة بياناتك فتبقى كما هي.";
596
+ readonly confirmPrompt: "اكتب {key} للتأكيد";
597
+ readonly confirmCancel: "إلغاء";
598
+ readonly confirmClose: "إغلاق";
599
+ readonly stagedTitle: "مرفوعة ولم تُثبَّت";
600
+ readonly stagedHint: "تخلَّص مما عدلت عنه، أو ارفع المفتاح نفسه مرة أخرى لاستبداله.";
601
+ readonly discard: "تخلَّص";
602
+ readonly installedAt: "ثُبِّت {when}";
603
+ };
604
+ readonly browse: {
605
+ readonly title: "تطبيقات يمكنك تثبيتها";
606
+ readonly subtitle: "تطبيقات جاهزة جاءت مع هذه النسخة. التثبيت يُنشئ الجداول التي يحتاجها ويبدأ تقديم شاشاته — ولا يحدث شيء قبل أن تؤكّد الخطة.";
607
+ readonly search: "ابحث عن تطبيقات…";
608
+ readonly clear: "مسح البحث";
609
+ readonly all: "الكل";
610
+ readonly by: "من {publisher}";
611
+ readonly install: "تثبيت";
612
+ readonly installed: "مثبَّت";
613
+ readonly noMatch: "لا تطبيق يطابق هذا البحث";
614
+ readonly noMatchBody: "جرّب كلمة أخرى، أو فئة أخرى.";
615
+ readonly emptyTitle: "لا توجد تطبيقات متاحة للتثبيت";
616
+ readonly emptyBody: "التطبيقات التي تأتي مع هذه النسخة تظهر هنا. وجّه ADMINIUM_BUNDLED_APPS إلى مجلد حزم تطبيقات، أو ارفع واحدة بنفسك.";
617
+ readonly unreadable: "تعذّرت قراءة بيان هذه الحزمة، فلا يمكن تثبيتها — تخلَّص منها بالأسفل.";
618
+ };
619
+ };
620
+ readonly hub: {
621
+ readonly action: {
622
+ readonly delete: "حذف";
623
+ readonly pause: "إيقاف مؤقت";
624
+ readonly pausedHint: "هذا الاتصال متوقّف مؤقتًا — استأنفه للوصول إلى قاعدة البيانات.";
625
+ readonly regional: "الإعدادات الإقليمية";
626
+ readonly reintrospect: "إعادة فحص المخطط";
627
+ readonly reintrospectFile: "مصادر ملفات المخطط لا تملك قاعدة بيانات حيّة — أعد رفع الملف بدلًا من ذلك.";
628
+ readonly remap: "إعادة تعيين المخطط";
629
+ readonly rename: "إعادة تسمية";
630
+ readonly resume: "استئناف";
631
+ readonly test: "اختبار";
632
+ };
633
+ readonly card: {
634
+ readonly lastIntrospected: "آخر فحص للمخطط";
635
+ readonly latency: "زمن الاستجابة";
636
+ readonly latencyMs: "{latency, number} م.ث";
637
+ readonly never: "أبدًا";
638
+ readonly pages: "الصفحات";
639
+ readonly paused: "لا يتصل Adminium بقاعدة البيانات هذه. ستُحمَّل صفحاتها من جديد بمجرد استئنافها.";
640
+ readonly pausedSince: "متوقّف مؤقتًا {when} — لا يتصل Adminium بقاعدة البيانات هذه. ستُحمَّل صفحاتها من جديد بمجرد استئنافها.";
641
+ readonly readOnly: "للقراءة فقط";
642
+ readonly tables: "الجداول";
643
+ readonly timezone: "المنطقة الزمنية";
644
+ readonly timezoneGuessed: "من هذا الخادم";
216
645
  };
646
+ readonly connectNew: "اتصال جديد";
217
647
  readonly delete: {
218
- readonly title: "حذف الاتصال";
219
648
  readonly body: "سيؤدي هذا إلى حذف «{name}» وصفحاته المولّدة. لن تُمسّ قاعدة بياناتك نفسها أبدًا.";
220
- readonly prompt: "اكتب {name} للتأكيد";
221
- readonly confirm: "حذف الاتصال";
222
649
  readonly cancel: "إلغاء";
223
650
  readonly close: "إغلاق";
224
- readonly success: "حُذف الاتصال «{name}»";
651
+ readonly confirm: "حذف الاتصال";
225
652
  readonly failed: "تعذّر حذف الاتصال. حاول مرة أخرى.";
653
+ readonly prompt: "اكتب {name} للتأكيد";
654
+ readonly success: "حُذف الاتصال «{name}»";
655
+ readonly title: "حذف الاتصال";
226
656
  };
227
657
  readonly empty: {
228
- readonly title: "لا مصادر بيانات بعد";
229
658
  readonly body: "اربط قاعدة بيانات وسيولّد Adminium لوحة الإدارة من مخططها.";
230
659
  readonly cta: "ربط قاعدة بيانات";
660
+ readonly title: "لا مصادر بيانات بعد";
231
661
  };
232
662
  readonly hostedApps: "التطبيقات المستضافة";
233
- readonly subtitlePaused: "{healthy, number} من {total, plural, one {اتصال واحد} two {اتصالين} few {# اتصالات} many {# اتصالًا} other {# اتصال}} بحالة سليمة · {paused, number} متوقّف مؤقتًا";
663
+ readonly introspect: {
664
+ readonly failed: "فشل فحص المخطط. حاول مرة أخرى.";
665
+ readonly masksProposed: "{count, plural, one {عمود واحد مقترح} two {عمودان مقترحان} few {# أعمدة مقترحة} many {# عمودًا مقترحًا} other {# عمود مقترح}} للإخفاء — راجعها في محرر إعادة التعيين.";
666
+ readonly noChanges: "المخطط دون تغيير — لا لقطة جديدة.";
667
+ readonly updated: "أُعيد فحص المخطط";
668
+ };
234
669
  readonly pause: {
235
- readonly title: "إيقاف هذا الاتصال مؤقتًا؟";
236
- readonly body: "يتوقّف Adminium عن فتح أي اتصال بـ «{name}». {pages, plural, other {صفحاته البالغ عددها #}} والتقارير المجدولة والتطبيقات المستضافة ستتوقّف عن تحميل البيانات حتى تستأنفه.";
237
- readonly keeps: "لا يُحذف أي شيء — يبقى الاتصال ومخططه {pages, plural, other {وصفحاته البالغ عددها #}}، وتعود جميعها بنقرة واحدة.";
670
+ readonly body: "يتوقّف Adminium عن فتح أي اتصال بـ «{name}». {pages, plural, zero {صفحاته} one {صفحته} two {صفحتاه} few {صفحاته البالغ عددها #} many {صفحاته البالغ عددها #} other {صفحاته البالغ عددها #}} والتقارير المجدولة والتطبيقات المستضافة ستتوقّف عن تحميل البيانات حتى تستأنفه.";
238
671
  readonly confirm: "إيقاف الاتصال مؤقتًا";
239
- readonly pausedToast: "تم إيقاف الاتصال «{name}» مؤقتًا";
240
- readonly resumedToast: "تم استئناف الاتصال «{name}»";
672
+ readonly keeps: "لا يُحذف أي شيء — يبقى الاتصال ومخططه {pages, plural, zero {وصفحاته} one {وصفحته} two {وصفحتاه} few {وصفحاته البالغ عددها #} many {وصفحاته البالغ عددها #} other {وصفحاته البالغ عددها #}}، وتعود جميعها بنقرة واحدة.";
241
673
  readonly pauseFailed: "تعذّر إيقاف الاتصال مؤقتًا. حاول مرة أخرى.";
674
+ readonly pausedToast: "تم إيقاف الاتصال «{name}» مؤقتًا";
242
675
  readonly resumeFailed: "تعذّر استئناف الاتصال. حاول مرة أخرى.";
676
+ readonly resumedToast: "تم استئناف الاتصال «{name}»";
677
+ readonly title: "إيقاف هذا الاتصال مؤقتًا؟";
678
+ };
679
+ readonly regional: {
680
+ readonly currency: "العملة";
681
+ readonly currencyHelper: "تُستخدم لتنسيق المبالغ. اختيارية — وتركها فارغة يؤثّر في التنسيق فقط.";
682
+ readonly currencyPlaceholder: "رمز ISO-4217";
683
+ readonly failed: "تعذّر حفظ الإعدادات الإقليمية";
684
+ readonly guessedBody: "أخذها Adminium من الجهاز الذي يعمل عليه، ولم يخترها أحد هنا. احفظ لتأكيدها، أو اختر المنطقة الزمنية التي يعمل بها هذا النشاط التجاري فعليًا.";
685
+ readonly guessedTitle: "هذه المنطقة الزمنية جاءت من الخادم";
686
+ readonly intro: "تصف هذه الإعدادات النشاط التجاري الذي تنتمي إليه قاعدة البيانات، لا الشخص الذي يقرؤها. والتطبيقات التي يقدّمها Adminium تقرؤها من هنا.";
687
+ readonly noMatch: "لا توجد منطقة مطابقة";
688
+ readonly noMatchCurrency: "لا توجد عملة مطابقة";
689
+ readonly notSet: "غير محدَّد";
690
+ readonly save: "حفظ";
691
+ readonly saved: "تم تحديث الإعدادات الإقليمية";
692
+ readonly timezone: "المنطقة الزمنية";
693
+ readonly timezoneHelper: "تُعرض التواريخ والأوقات بهذه المنطقة الزمنية. وبدونها تعود التطبيقات المستضافة على Adminium إلى توقيت UTC وتوضّح ذلك على الشاشة.";
694
+ readonly timezonePlaceholder: "المنطقة/المدينة";
695
+ readonly title: "الإعدادات الإقليمية";
243
696
  };
244
697
  readonly rename: {
245
- readonly title: "إعادة تسمية الاتصال";
246
- readonly label: "الاسم";
698
+ readonly failed: "تعذّرت إعادة تسمية الاتصال";
247
699
  readonly helper: "اسم قاعدة البيانات هذه في Adminium كله — البطاقة، ومجموعة الشريط الجانبي فوق صفحاتها، وكل قائمة اختيار تعرضها. أما قاعدة البيانات نفسها فلا يُعاد تسميتها.";
700
+ readonly label: "الاسم";
248
701
  readonly save: "إعادة التسمية";
249
702
  readonly saved: "تمت إعادة تسمية الاتصال";
250
- readonly failed: "تعذّرت إعادة تسمية الاتصال";
703
+ readonly title: "إعادة تسمية الاتصال";
704
+ };
705
+ readonly stats: {
706
+ readonly connections: "الاتصالات";
707
+ readonly healthy: "سليمة";
708
+ readonly pages: "الصفحات المولّدة";
709
+ readonly tables: "الجداول المضمّنة";
251
710
  };
711
+ readonly status: {
712
+ readonly connected: "متصل";
713
+ readonly error: "خطأ";
714
+ readonly paused: "متوقّف مؤقتًا";
715
+ readonly testing: "جارٍ الاختبار…";
716
+ readonly unconfigured: "مسودة";
717
+ };
718
+ readonly subtitle: "{healthy, number} من {total, plural, one {اتصال واحد} two {اتصالين} few {# اتصالات} many {# اتصالًا} other {# اتصال}} بحالة سليمة";
719
+ readonly subtitlePaused: "{healthy, number} من {total, plural, one {اتصال واحد} two {اتصالين} few {# اتصالات} many {# اتصالًا} other {# اتصال}} بحالة سليمة · {paused, number} متوقّف مؤقتًا";
720
+ readonly test: {
721
+ readonly failed: "فشل اختبار الاتصال";
722
+ readonly ok: "الاتصال سليم · {latency, number} م.ث";
723
+ };
724
+ readonly title: "اتصالات البيانات";
252
725
  };
253
- readonly settingsHub: {
254
- readonly title: "إعدادات مساحة العمل";
255
- readonly subtitle: "الهوية والأمان والإجراءات الخطرة لمساحة العمل هذه.";
256
- readonly save: "حفظ التغييرات";
257
- readonly saved: "تم تحديث إعدادات مساحة العمل";
258
- readonly saveFailed: "تعذّر حفظ إعدادات مساحة العمل. حاول مرة أخرى.";
259
- readonly superAdminOnlyTitle: "يتطلب مشرفًا أعلى";
260
- readonly superAdminOnly: "لا يمكن تغيير هوية مساحة العمل وإعدادات الأمان إلا لمشرف أعلى.";
261
- readonly identity: {
262
- readonly heading: "هوية مساحة العمل";
263
- readonly appName: {
264
- readonly label: "اسم التطبيق";
265
- readonly helper: "يظهر في الشريط الجانبي وعنوان المتصفح ورسائل البريد الإلكتروني.";
266
- readonly error: "أدخل اسمًا لا يتجاوز 60 حرفًا.";
726
+ readonly intent: {
727
+ readonly analytics: {
728
+ readonly description: "لوحات معلومات ورسوم بيانية وجداول للقراءة فقط. لا نماذج ولا كتابة — كل دور محدود بمشاهد.";
729
+ readonly title: "تحليلات للقراءة فقط";
730
+ };
731
+ readonly crud: {
732
+ readonly description: "صفحة تحرير واحدة لكل جدول مع البحث والاستيراد/التصدير — صفحة رئيسية بسيطة، دون لوحات معلومات.";
733
+ readonly title: "جداول CRUD";
734
+ };
735
+ readonly fullAdmin: {
736
+ readonly description: "لوحات معلومات وصفحات CRUD وبحث واستيراد وتصدير — كل ما يدعمه مخططك.";
737
+ readonly title: "لوحة إدارة كاملة";
738
+ };
739
+ readonly subtitle: "يحدد الغرض الصفحات التي سيتم توليدها. يمكنك تغييره لاحقًا — تغييره يقترح إعادة توليد، ولا يعيد الكتابة بصمت أبدًا.";
740
+ readonly support: {
741
+ readonly description: "قوائم الانتظار وصفحات التذاكر وتفاصيل العملاء أولًا. الحذف معطّل افتراضيًا. (تصل قوالب قوائم الانتظار في M7 — مجموعة صفحات v1 تطابق لوحة الإدارة الكاملة.)";
742
+ readonly title: "وحدة تحكم الدعم";
743
+ };
744
+ readonly title: "ما الذي تحتاجه؟";
745
+ readonly trust: "نقرأ مخططك فقط — ولا نقرأ بيانات صفوفك أبدًا أثناء الإعداد.";
746
+ };
747
+ readonly llmRuns: {
748
+ readonly review: {
749
+ readonly applied: {
750
+ readonly body: "الاقتراحات المقبولة أدناه للقراءة فقط.";
751
+ readonly title: "تم تطبيق هذا التشغيل";
267
752
  };
268
- readonly logo: {
269
- readonly label: "الشعار";
270
- readonly drop: "أفلِت صورة هنا";
271
- readonly helper: "PNG أو JPEG أو WebP أو GIF أو SVG بحجم أقصاه 1 ميغابايت. يحل محل العلامة المدمجة في كل مكان.";
272
- readonly upload: "رفع شعار";
273
- readonly replace: "استبدال الشعار";
274
- readonly remove: "إزالة";
275
- readonly uploaded: "تم تحديث الشعار";
276
- readonly removed: "تمت إزالة الشعار";
277
- readonly tooLarge: "حجم الصورة أكبر من 1 ميغابايت.";
278
- readonly badType: "اختر صورة PNG أو JPEG أو WebP أو GIF أو SVG.";
279
- readonly undo: "تراجع";
753
+ readonly apply: {
754
+ readonly confirm: "تطبيق التغييرات";
755
+ readonly empty: "لم يتم تحديد شيء للتطبيق.";
756
+ readonly subtitle: "تُكتب هذه التغييرات في معاملة واحدة ويمكن التراجع عنها.";
757
+ readonly title: "تطبيق {n} اقتراحات";
280
758
  };
281
- readonly showVersion: {
282
- readonly label: "الإصدار في الشريط الجانبي";
283
- readonly helper: "رقم الإصدار بجوار الشعار. إيقافه يخفي الإصدار الذي تشغّله.";
759
+ readonly applyFailed: "لم يتم تطبيق أي شيء";
760
+ readonly applyUnknown: "لم يذكر الخادم السبب.";
761
+ readonly bulk: {
762
+ readonly acceptAll: "قبول الكل ≥ {pct}%";
763
+ readonly clear: "مسح التحديد";
764
+ readonly thresholdAria: "حد الثقة لخيار «قبول الكل»";
765
+ readonly thresholdLabel: "حد الثقة";
284
766
  };
285
- };
286
- readonly security: {
287
- readonly heading: "الأمان";
288
- readonly require2fa: {
289
- readonly label: "فرض المصادقة الثنائية";
290
- readonly desc: "يجب على كل عضو تفعيل المصادقة الثنائية لتسجيل الدخول.";
291
- readonly note: "إرشادي وليس مانعًا: يُوجَّه الأعضاء بلا مصادقة ثنائية إلى إعدادها ولا يمكنهم إيقافها بعد ذلك، لكن تسجيل دخولهم لا يُمنع أبدًا، ومفاتيح API غير متأثرة.";
767
+ readonly cat: {
768
+ readonly copy: "نص مصغّر";
769
+ readonly dashboard: "لوحة معلومات";
770
+ readonly enum: "تعداد";
771
+ readonly group: "مجموعة تنقل";
772
+ readonly key: "أعمدة مفتاحية";
773
+ readonly label: "تسمية";
774
+ readonly pii: "بيانات شخصية";
775
+ readonly relation: "علاقة";
776
+ readonly template: "قالب صفحة";
777
+ readonly widget: "أداة";
292
778
  };
293
- readonly allowSignup: {
294
- readonly label: "السماح بالتسجيل الذاتي";
295
- readonly desc: "يمكن لأي شخص إنشاء حساب — عند الإيقاف تبقى مساحة العمل بالدعوة فقط.";
779
+ readonly empty: {
780
+ readonly body: "لم يُنتج هذا التشغيل أي اقتراحات للمراجعة.";
781
+ readonly title: "لا اقتراحات";
296
782
  };
297
- readonly sessionTtl: {
298
- readonly label: "مدة الجلسة (بالساعات)";
299
- readonly error: "بين {min, number} و{max, number} ساعة.";
783
+ readonly error: {
784
+ readonly title: "تعذّر تحميل هذا التشغيل";
300
785
  };
301
- readonly passwordMin: {
302
- readonly label: "الحد الأدنى لطول كلمة المرور";
303
- readonly error: "بين {min, number} و{max, number} حرفًا.";
786
+ readonly footer: {
787
+ readonly apply: "تطبيق {n} اقتراحات مقبولة";
788
+ readonly count: "تم تحديد {n} اقتراحات";
789
+ readonly failed: "فشل التطبيق";
304
790
  };
305
- };
306
- readonly email: {
307
- readonly heading: "البريد الإلكتروني (SMTP)";
308
- readonly unconfigured: "لا يوجد خادم بريد مُعدّ، لذلك لا يستطيع Adminium إرسال إعادة تعيين كلمات المرور أو دعوات المستخدمين أو التقارير المجدولة.";
309
- readonly host: {
310
- readonly label: "مضيف SMTP";
311
- readonly error: "اسم مضيف أو عنوان IP فقط — بدون بروتوكول أو منفذ أو بيانات اعتماد.";
791
+ readonly group: {
792
+ readonly dashboards: "لوحات المعلومات والأدوات";
793
+ readonly enums: "دلالات التعدادات";
794
+ readonly icons: "الأيقونات";
795
+ readonly keys: "الأعمدة المفتاحية";
796
+ readonly labels: "التسميات والترجمات";
797
+ readonly microcopy: "النصوص المصغّرة";
798
+ readonly navigation: "التنقل والمجالات";
799
+ readonly pii: "البيانات الشخصية والإخفاء";
800
+ readonly relations: "العلاقات";
801
+ readonly templates: "قوالب الصفحات";
312
802
  };
313
- readonly port: {
314
- readonly label: "المنفذ";
315
- readonly error: "بين {min, number} و{max, number}.";
803
+ readonly header: {
804
+ readonly agree: "{n} متوافقة";
805
+ readonly byo: "مفتاحك الخاص";
806
+ readonly conflict: "{n} متعارضة";
807
+ readonly countsAria: "أعداد الاقتراحات";
808
+ readonly model: "النموذج";
809
+ readonly new: "{n} جديدة";
810
+ readonly pathByo: "نسخ ولصق";
811
+ readonly pathDirect: "واجهة مباشرة";
812
+ readonly rejects: "{n} مرفوضة";
813
+ readonly snapshot: "لقطة";
814
+ readonly title: "مراجعة اقتراحات الذكاء الاصطناعي";
316
815
  };
317
- readonly user: {
318
- readonly label: "اسم المستخدم";
319
- readonly helper: "اتركه فارغًا إذا كان المُرحِّل لا يطلب مصادقة.";
816
+ readonly notReady: {
817
+ readonly body: "يجب التحقق من التشغيل قبل إمكانية مراجعة اقتراحاته. أنشئ استجابة أو الصقها أولًا.";
818
+ readonly title: "لا يحتوي هذا التشغيل على اقتراحات للمراجعة بعد";
320
819
  };
321
- readonly pass: {
322
- readonly label: "كلمة المرور";
323
- readonly helper: "تُخزَّن مشفَّرة ولا تُعرض مرة أخرى. اتركها فارغة للإبقاء على الحالية.";
324
- readonly error: "اسم المستخدم هذا يحتاج إلى كلمة مرور.";
820
+ readonly row: {
821
+ readonly acceptAria: "قبول اقتراح {noun} لـ {target}";
822
+ readonly confidenceAria: "الثقة {pct}%";
823
+ readonly hideTranslations: "إخفاء الترجمات";
824
+ readonly keptEdited: "محتفَظ به — عدّلته بنفسك";
825
+ readonly noAi: "لا يوجد اقتراح من الذكاء الاصطناعي";
826
+ readonly rejectsCallout: "يرفض الذكاء الاصطناعي قرارًا إرشاديًا — أكِّد قبل القبول.";
827
+ readonly showTranslations: "عرض الترجمات";
325
828
  };
326
- readonly from: {
327
- readonly label: "عنوان المُرسِل";
328
- readonly helper: "العنوان وحده، أو اسم معروض قبله.";
329
- readonly error: "أدخل عنوان بريد إلكتروني.";
829
+ readonly section: {
830
+ readonly acceptedCount: "{n} مقبولة";
831
+ readonly selectAllAria: "تحديد الكل في {group}";
330
832
  };
331
- readonly secure: {
332
- readonly label: "TLS ضمني";
333
- readonly helper: "مُفعَّل للمنفذ 465. عند الإيقاف يبدأ الاتصال بنص واضح ثم يُرقَّى عبر STARTTLS، وهو ما يتوقعه المنفذ 587.";
833
+ readonly status: {
834
+ readonly agree: "متوافق";
835
+ readonly conflict: "تعارض";
836
+ readonly heuristicOnly: "إرشادي فقط";
837
+ readonly locked: "مقفل";
838
+ readonly new: "جديد";
839
+ readonly rejects: "يرفض الإرشادي";
334
840
  };
335
- readonly remove: "إزالة خادم البريد";
336
- readonly review: {
337
- readonly removed: "أُزيل";
338
- readonly password: "استُبدلت";
841
+ readonly toast: {
842
+ readonly applied: "تم تطبيق {n} اقتراحات";
843
+ readonly appliedPartial: "تم تطبيق {n} اقتراحات (تم تخطي بعضها)";
844
+ readonly applyFailed: "تعذّر تطبيق الاقتراحات";
845
+ readonly undoFailed: "تعذّر التراجع عن هذا التغيير";
846
+ };
847
+ readonly value: {
848
+ readonly absent: "لا شيء";
849
+ readonly dash: "—";
850
+ readonly description: "الوصف";
851
+ readonly display: "العرض";
852
+ readonly enumCategory: "فئة";
853
+ readonly enumWorkflow: "سير عمل";
854
+ readonly guidance: "إرشاد الحالة الفارغة";
855
+ readonly headline: "عنوان الحالة الفارغة";
856
+ readonly key: "المفتاح";
857
+ readonly label: "التسمية";
858
+ readonly none: "لا قيمة";
859
+ readonly notPii: "ليست بيانات شخصية";
860
+ readonly rank: "الترتيب {n}";
861
+ readonly span: "العرض {n}";
862
+ readonly subtitle: "العنوان الفرعي للصفحة";
863
+ readonly tableCount: "{n} جداول";
864
+ readonly widgetCount: "{n} أدوات";
339
865
  };
340
866
  };
341
- readonly review: {
342
- readonly title: "حفظ إعدادات مساحة العمل";
343
- readonly subtitle: "راجع تغييراتك قبل الحفظ.";
344
- readonly confirm: "حفظ التغييرات";
345
- readonly cancel: "إلغاء";
346
- readonly close: "إغلاق";
347
- readonly on: "مفعّل";
348
- readonly off: "متوقف";
349
- readonly shown: "ظاهر";
350
- readonly hidden: "مخفي";
351
- readonly change: "{before} → {after}";
352
- };
353
- readonly defaultsCard: {
354
- readonly heading: "الإعدادات الافتراضية للمظهر واللغة";
355
- readonly body: "إعدادات السمة ولون التمييز والكثافة واللغة على مستوى مساحة العمل موجودة ضمن الإعدادات الافتراضية العامة.";
356
- readonly cta: "فتح الإعدادات الافتراضية العامة";
867
+ };
868
+ readonly meta: {
869
+ readonly move: {
870
+ readonly copying: "جارٍ نقل جداول Adminium…";
871
+ readonly copyingBody: "يجري نسخ كل جدول adminium_ إلى قاعدة البيانات الجديدة. لا تُمس بياناتك المصدرية، ولا يتم التبديل قبل التحقق من النسخة.";
872
+ readonly failed: "تعذّر نقل جداول Adminium — أعد المحاولة.";
873
+ readonly restarting: "جارٍ إعادة التشغيل…";
874
+ readonly restartingBody: "اكتمل النسخ. يعيد Adminium التشغيل على قاعدة البيانات الجديدة — ستتابع هذه الصفحة تلقائيًا خلال ثوانٍ.";
875
+ readonly timeout: "نقل Adminium جداوله لكنه لم يعد بعد. بياناتك آمنة في قاعدة البيانات الجديدة — أعد تحميل هذه الصفحة بعد قليل.";
876
+ readonly title: "جارٍ نقل جداول Adminium";
357
877
  };
358
- readonly danger: {
359
- readonly heading: "منطقة الخطر";
360
- readonly subtitle: "إجراءات لا يمكن التراجع عنها.";
361
- readonly empty: "لا شيء للحذفلا اتصالات بعد.";
362
- readonly deleteDesc: "يحذف الاتصال والصفحات المولّدة منه. لن تُمسّ قاعدة بياناتك. لا يمكن التراجع عن هذا الإجراء.";
363
- readonly deleteCta: "حذف الاتصال";
878
+ readonly sameDb: {
879
+ readonly description: "تُنشأ جداول adminium_* بجانب جداول المصدر. أبسط إعداد — يتطلب دورًا بصلاحيات الكتابة وCREATE TABLE.";
880
+ readonly disabledFile: "ملف المخطط ليس له قاعدة بيانات حيّة — اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
881
+ readonly disabledNoDdl: "لا يمكن لهذا الدور تنفيذ DDL تحتاج ترحيلات Adminium إلى CREATE TABLE. اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
882
+ readonly disabledReadOnly: "دورك للقراءة فقط لا يكتب Adminium أبدًا في هذه القاعدة. اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
883
+ readonly title: "قاعدة البيانات نفسها";
364
884
  };
365
- readonly aiCard: {
366
- readonly heading: "الإثراء بالذكاء الاصطناعي";
367
- readonly body: "هيّئ مزوّد ذكاء اصطناعي (أو رحلة النسخ واللصق) لإثراء التسميات والمجموعات والعلاقات.";
368
- readonly cta: "فتح إعدادات الذكاء الاصطناعي";
885
+ readonly separate: {
886
+ readonly description: "يحتفظ Adminium بجداوله في قاعدة بيانات مختلفة. يبقى مصدرك كما هو — وهذا مطلوب للمصادر ذات القراءة فقط.";
887
+ readonly dsn: "سلسلة اتصال قاعدة البيانات الوصفية";
888
+ readonly errorTitle: "مخزن البيانات الوصفية غير متوافق";
889
+ readonly helper: "يتطلب صلاحيات الكتابة وDDL — يشغّل Adminium ترحيلاته الخاصة هناك.";
890
+ readonly insufficient: "لا يمكن لهذا الدور استضافة المخزن الوصفي — يحتاج Adminium هناك إلى صلاحيات الكتابة وCREATE TABLE.";
891
+ readonly ok: "متوافق — كتابة ✓ · DDL ✓";
892
+ readonly test: "اختبار الاتصال";
893
+ readonly title: "قاعدة بيانات منفصلة";
369
894
  };
370
- readonly pagesCard: {
371
- readonly heading: "الصفحات";
372
- readonly body: "أضف الصفحات وحرّرها واحذفها، وغيّر ما تعرضه كل صفحة، وأعد ترتيب الشريط الجانبي.";
373
- readonly cta: "إدارة الصفحات";
895
+ readonly subtitle: "تُخزَّن الصفحات والأدوار وسجل التدقيق والإعدادات في جداول تبدأ بـ adminium_ — ولا تُخلط أبدًا ببياناتك.";
896
+ readonly testFailed: "فشل الاتصال.";
897
+ readonly title: "أين يجب أن يحتفظ Adminium بجداوله الخاصة؟";
898
+ readonly v1Note: {
899
+ readonly body: "يحتفظ هذا الخادم بجداوله الخاصة في قاعدة بيانات مُعدّة مسبقًا، وهذه الخطوة لا تنقلها. إنها تتحقق من توافق اختيارك مع هذا الاتصال — ويطبّق الخادم القاعدة نفسها بشكل مستقل (409 META_PLACEMENT_INVALID).";
900
+ readonly title: "حول هذا التثبيت";
374
901
  };
375
- readonly translationsCard: {
376
- readonly heading: "اللغات والترجمات";
377
- readonly body: "أعد صياغة أي نص في Adminium، واختر اللغات المتاحة للناس، وأضف لغاتك الخاصة.";
378
- readonly cta: "فتح الترجمات";
902
+ readonly willMove: {
903
+ readonly body: "يستخدم Adminium حاليًا مخزن SQLite المدمج. يؤدي «متابعة» إلى نسخ هذا المخزن إلى قاعدة البيانات التي اخترتها وإعادة التشغيل عليها — تنتقل معه الحسابات والصفحات والإعدادات، فتظل مسجّل الدخول.";
904
+ readonly title: "سيؤدي هذا إلى نقل جداول Adminium";
379
905
  };
380
906
  };
381
- readonly settingsAi: {
382
- readonly title: "الإثراء بالذكاء الاصطناعي";
383
- readonly subtitle: "اربط نموذجًا ليقترح Adminium التسميات والمجموعات والعلاقات والمزيد — تُراجَع دائمًا كفرق قبل تطبيق أي شيء.";
384
- readonly saved: "تم حفظ مزوّد الذكاء الاصطناعي";
385
- readonly saveFailed: "تعذّر حفظ مزوّد الذكاء الاصطناعي. حاول مرة أخرى.";
386
- readonly save: "حفظ المزوّد";
387
- readonly test: "اختبار الاتصال";
388
- readonly testHintDirty: "احفظ تغييراتك قبل الاختبار.";
389
- readonly testing: "جارٍ التواصل مع المزوّد…";
390
- readonly testError: "فشل الاختبار";
391
- readonly testErrorBody: "تعذّر الوصول إلى المزوّد. تحقق من المفتاح وعنوان URL الأساسي.";
392
- readonly testOk: "تم الاتصال بـ {model} خلال {latency} مللي ثانية";
393
- readonly testUnknownModel: "المزوّد";
394
- readonly provider: {
395
- readonly heading: "مزوّد الذكاء الاصطناعي";
396
- readonly subtitle: "اختر كيف يصل Adminium إلى نموذج لإثراء مخططك. تُخزَّن المفاتيح مشفّرة ولا تُعرض مرة أخرى أبدًا.";
397
- readonly active: "نشط";
398
- readonly anthropic: {
399
- readonly label: "Anthropic";
400
- readonly desc: "نماذج Claude عبر واجهة Anthropic البرمجية.";
401
- };
402
- readonly openai: {
403
- readonly label: "OpenAI";
404
- readonly desc: "نماذج GPT عبر واجهة OpenAI البرمجية.";
907
+ readonly pages: {
908
+ readonly action: {
909
+ readonly delete: "حذف الصفحة";
910
+ readonly duplicate: "تكرار";
911
+ readonly edit: "تحرير الصفحة";
912
+ readonly hide: "إخفاء من الشريط الجانبي";
913
+ readonly show: "إظهار في الشريط الجانبي";
914
+ };
915
+ readonly attachments: {
916
+ readonly accept: "أنواع الملفات المقبولة";
917
+ readonly acceptHint: "عدم اختيار أي نوع يقبل كل ما تسمح به مساحة العمل. والاختيار هنا لا يمكنه إلا تضييق تلك القائمة، لا توسيعها أبدًا.";
918
+ readonly column: {
919
+ readonly adoptHint: "هذا الجدول يحتوي بالفعل على هذا العمود، لذا لن يُنشأ شيء — سيُستخدم كما هو.";
920
+ readonly bound: "تُخزَّن الملفات في عمود {column} بهذا الجدول.";
921
+ readonly boundHint: "إيقاف المرفقات لاحقًا يفصل هذه الصفحة فقط. يبقى العمود والملفات التي فيه كما هي.";
922
+ readonly confirm: "نفِّذ";
923
+ readonly create: "أنشئ العمود";
924
+ readonly createHint: "يضيف Adminium عمودًا نصيًا واحدًا إلى هذا الجدول. ستطّلع على العبارة الدقيقة قبل تنفيذ أي شيء.";
925
+ readonly createdHint: "العمود موجود الآن. احفظ هذه الصفحة لإتمام الربط.";
926
+ readonly failed: "لم ينجح ذلك";
927
+ readonly invalid: "يجب أن يبدأ اسم العمود بحرف وألا يحتوي إلا على حروف صغيرة وأرقام وشرطات سفلية.";
928
+ readonly label: "العمود الذي يحتوي على الملفات";
929
+ readonly required: "أعطِ العمود اسمًا.";
930
+ readonly tooLong: "هذا الاسم طويل جدًا لعمود.";
931
+ readonly use: "استخدم هذا العمود";
932
+ readonly wrongType: "هذا الجدول يحتوي بالفعل على عمود بهذا الاسم، ولا يمكنه حمل مرجع ملف. اختر اسمًا آخر.";
405
933
  };
406
- readonly openaiCompatible: {
407
- readonly label: "متوافق مع OpenAI";
408
- readonly desc: "أي نقطة نهاية تتحدث بتنسيق OpenAI Groq وTogether وvLLM وLM Studio.";
934
+ readonly destination: "أين تذهب الملفات";
935
+ readonly destinationDefault: "الوجهة الافتراضية";
936
+ readonly destinationHint: "اتركه على الافتراضية ما لم تكن ملفات هذا الجدول تنتمي إلى مكان آخر.";
937
+ readonly destinationIsDefault: "{name} (الافتراضية)";
938
+ readonly destinationLocal: "قرص هذا الخادم";
939
+ readonly enable: "السماح بالمرفقات على سجلات هذا الجدول";
940
+ readonly enableHint: "تُربط الملفات من جهة Adminium، فلا يحتاج هذا الجدول إلى عمود جديد — وهو يعمل على اتصال للقراءة فقط، وعلى جدول تفضّل ألا تعدّله.";
941
+ readonly enableHintColumn: "تُخزَّن الملفات في عمود واحد بهذا الجدول، لذا تظهر في مربعي «جديد» و«تعديل» وكذلك مع كل سجل.";
942
+ readonly enableHintSidecar: "تُربط الملفات في جانب Adminium بدلًا من ذلك. تظهر في صفحة كل سجل، لا في مربع «جديد».";
943
+ readonly maxBytes: "أكبر ملف (ميغابايت)";
944
+ readonly maxBytesHint: "اتركه فارغًا لاتّباع حد مساحة العمل. والرقم هنا لا يمكنه إلا خفضه.";
945
+ readonly maxCount: "أقصى عدد ملفات لكل سجل";
946
+ readonly maxCountHint: "اتركه فارغًا لقبول ما يحتاجه السجل مهما بلغ عدده.";
947
+ readonly sidecar: {
948
+ readonly noPrivilege: "لا يستطيع دور هذا الاتصال تعديل الجداول، لذا لا يستطيع Adminium إضافة عمود إليه.";
949
+ readonly readOnlyIntent: "هذا الاتصال مُعدّ للتحليل للقراءة فقط، لذا لا يستطيع Adminium إضافة عمود إليه.";
950
+ readonly readOnlyRole: "يسجّل هذا الاتصال الدخول بدور للقراءة فقط، لذا لا يستطيع Adminium إضافة عمود إليه.";
951
+ readonly schemaFile: "أُنشئ هذا الاتصال من ملف مخطط، لذا لا يستطيع Adminium إضافة عمود إليه.";
409
952
  };
410
- readonly ollama: {
411
- readonly label: "Ollama (محلي)";
412
- readonly desc: "نماذج تعمل محليًا عبر Ollama — بدون مفتاح وبدون سحابة.";
953
+ readonly type: {
954
+ readonly office: "مستندات Office";
955
+ readonly text: "نص عادي";
413
956
  };
414
- readonly requiresNetwork: "يتطلب اتصالاً بالإنترنت ومفتاح API";
415
- readonly networkDisabledTitle: "مزوّدو الذكاء الاصطناعي المباشرون معطَّلون في هذا التثبيت";
416
- readonly networkDisabledBody: "تم إعداد نسخة Adminium هذه دون وصول صادر إلى الإنترنت، لذا لا يمكنها الوصول إلى واجهة أي مزوّد. استخدم دورة النسخ واللصق أدناه — لا تحتاج إلى مفتاح ولا إلى شبكة.";
417
- };
418
- readonly configure: {
419
- readonly heading: "تهيئة {provider}";
420
- };
421
- readonly field: {
422
- readonly baseUrl: "عنوان URL الأساسي";
423
- readonly baseUrlOptional: "اتركه كما هو ما لم يكن Ollama يعمل على مضيف آخر.";
424
- readonly baseUrlHelper: "جذر نقطة النهاية الذي يخدم ‎/chat/completions.";
425
- readonly model: "النموذج";
426
- readonly modelFreeText: "أدخل معرّف النموذج الدقيق الذي تخدمه نقطة النهاية لديك.";
427
- readonly modelLive: "تم التحميل مباشرة من المزوّد.";
428
- readonly modelStatic: "قائمة موثوقة؛ اكتب معرّفًا مخصصًا بعد الحفظ لتحديثها.";
429
- readonly modelLoading: "جارٍ التحميل…";
430
- readonly modelPlaceholder: "اختر نموذجًا…";
431
- readonly key: "مفتاح API";
432
- readonly keyStored: "مخزَّن مشفّرًا. استبدله لاستخدام مفتاح مختلف.";
433
- readonly keyMask: "sk-…{last4}";
434
- readonly keyReplace: "استبدال المفتاح";
435
- readonly keyOptional: "اختياري — بعض نقاط النهاية لا تحتاج إلى مفتاح.";
436
- readonly keyWriteOnly: "للكتابة فقط: بمجرد حفظه لا يُعرض مرة أخرى أبدًا.";
437
- readonly noKeyTitle: "لا حاجة إلى مفتاح API";
438
- readonly noKeyBody: "يعمل Ollama محليًا، لذا لا يغادر أي شيء هذا الجهاز.";
439
- };
440
- readonly runStatus: {
441
- readonly draft: "مسودة";
442
- readonly running: "قيد التشغيل";
443
- readonly awaitingResponse: "في انتظار الرد";
444
- readonly validated: "تم التحقق";
445
- readonly applied: "مطبَّق";
446
- readonly partiallyApplied: "مطبَّق جزئيًا";
447
- readonly failed: "فشل";
448
- readonly discarded: "مُهمَل";
449
- };
450
- readonly byo: {
451
- readonly heading: "لا مفتاح؟ استخدم أداة الذكاء الاصطناعي الخاصة بك";
452
- readonly subtitle: "رحلة النسخ واللصق — لا يغادر أي شيء هذا الجهاز.";
453
- readonly body: "يستطيع Studio توليد مطالبة مكتفية ذاتيًا من مخططك. شغّلها في Claude Code أو ChatGPT أو أي أداة تفضّلها، ثم الصق JSON الذي تعيده في معالج الاتصال. نفس التحقق ونفس المراجعة ونفس النتيجة كالمسار المباشر.";
454
- readonly guaranteeTitle: "ضمان الخلو من القياس عن بُعد";
455
- readonly guarantee1: "تحمل المطالبة مخططك والإحصاءات المجمّعة فقط — ولا تحمل بيانات الصفوف افتراضيًا أبدًا.";
456
- readonly guarantee2: "لا تُضمَّن أي بيانات اعتماد أو عنوان URL للنسخة أو معرّفات.";
457
- readonly guarantee3: "عمليات BYO لا تُجري أي اتصالات شبكية.";
458
- readonly promptVersion: "المطالبة {version}";
459
- readonly schemaVersion: "المخطط {version}";
460
- readonly headingRecommended: "استخدم أداة الذكاء الاصطناعي الخاصة بك — دون الحاجة إلى مفتاح";
461
- readonly recommended: "موصى به";
462
957
  };
463
- readonly history: {
464
- readonly heading: "سجل العمليات";
465
- readonly subtitle: "عمليات الإثراء السابقة. افتح إحداها لمراجعة اقتراحاتها.";
466
- readonly tableLabel: "عمليات الإثراء";
467
- readonly colDate: "التاريخ";
468
- readonly colSource: "المصدر";
469
- readonly colStatus: "الحالة";
470
- readonly colChunks: "الأجزاء";
471
- readonly openReview: "افتح مراجعة العملية بتاريخ {date}";
472
- readonly connection: "الاتصال";
473
- readonly empty: "لا توجد عمليات إثراء بعد. أثرِ مخططًا من معالج الاتصال لعرض السجل هنا.";
474
- readonly errorTitle: "تعذّر تحميل العمليات";
475
- readonly errorBody: "أعد تحميل الصفحة للمحاولة مرة أخرى.";
476
- readonly noConnections: "اربط قاعدة بيانات أولًا — تُسجَّل عمليات الإثراء لكل اتصال على حدة.";
477
- readonly byo: "BYO";
478
- readonly directPath: "مباشر";
479
- };
480
- };
481
- readonly enrich: {
482
- readonly title: "الإثراء بالذكاء الاصطناعي";
483
- readonly subtitle: "يمكنك اختياريًا تحسين التسميات والمجموعات والتعدادات ولوحات المعلومات المُولّدة باستخدام نموذج لغوي كبير. يعمل الأساس الاستدلالي بدونه — وهذا يضيف فقط اقتراحات تراجعها قبل تطبيق أي شيء.";
484
- readonly intentLabel: "كيف تريد الإثراء؟";
485
- readonly sectionsLegend: "ما الذي ينبغي للذكاء الاصطناعي أن يقرره؟";
486
- readonly localesLegend: "ترجمة التسميات إلى";
487
- readonly localeLocked: "(مطلوب)";
488
- readonly samplingTitle: "تضمين قيم عينة";
489
- readonly samplingHint: "يضمّن ما يصل إلى 20 قيمة حقيقية لكل عمود غير حاوٍ على بيانات شخصية في المُوجّه.";
490
- readonly samplingPreviewTitle: "ما الذي يغادر هذا الجهاز";
491
- readonly samplingPreviewBody: "ما يصل إلى 20 قيمة من الأكثر شيوعًا لكل عمود غير حاوٍ على بيانات شخصية، إضافةً إلى الحد الأدنى/الأقصى للأعمدة الرقمية والتاريخية. لا تُؤخذ عينات من الأعمدة المُعلَّمة كبيانات شخصية أبدًا. يبقى كل ما عداها مُجمَّعًا فقط. راجع المُوجّه الدقيق قبل النسخ (BYO) — لا يُرسَل أي شيء دون إجراء منك.";
492
- readonly noSections: "اختر مجموعة قرار واحدة على الأقل للإثراء.";
493
- readonly generatePrompt: "إنشاء المُوجّه";
494
- readonly startProvider: "بدء الإثراء";
495
- readonly startOver: "البدء من جديد";
496
- readonly copied: "تم النسخ";
497
- readonly createFailed: "تعذّر إنشاء مُوجّه الإثراء — أعد المحاولة.";
498
- readonly createFailedTitle: "تعذّر البدء";
499
- readonly providerFallback: "مزوّد الذكاء الاصطناعي الخاص بك";
500
- readonly fileTitle: "يتطلّب الإثراء بالذكاء الاصطناعي قاعدة بيانات حيّة";
501
- readonly fileBody: "لا تملك مصادر ملفات المخطط لقطة للإثراء بعد. اتصل بقاعدة بيانات حيّة لاستخدام الإثراء بالذكاء الاصطناعي، أو تابع فالأساس الاستدلالي يُولّد تطبيقًا كاملًا رغم ذلك.";
502
- readonly section: {
503
- readonly labels: "التسميات والأوصاف";
504
- readonly groups: "مجموعات التنقّل";
505
- readonly enums: "دلالات التعداد";
506
- readonly relations: "العلاقات";
507
- readonly keys: "الأعمدة المفتاحية";
508
- readonly templates: "قوالب الصفحات";
509
- readonly widgets: "أدوات لوحة المعلومات";
510
- readonly pii: "البيانات الشخصية والإخفاء";
511
- readonly icons: "الأيقونات";
512
- readonly microcopy: "النصوص الدقيقة";
958
+ readonly columns: {
959
+ readonly addFromLinked: "من الجداول المرتبطة";
960
+ readonly addFromTable: "من {table}";
961
+ readonly addLinkedFrom: "جداول ترتبط بهذا الجدول";
962
+ readonly addLinkedFromHelp: "احسب عدد الصفوف التي تشير إلى كل سجل، أو اجمع أحد أرقامها.";
963
+ readonly addLinkedHelp: "اعرض قيمة من الجدول الذي يشير إليه عمود الربط.";
964
+ readonly addNoMatches: "لا توجد أعمدة تطابق ”{query}“.";
965
+ readonly addOpen: "إضافة عمود";
966
+ readonly addSearch: "البحث في الأعمدة…";
967
+ readonly addTitle: "إضافة عمود";
968
+ readonly addVia: "عبر {column}";
969
+ readonly avatar: "صورة رمزية";
970
+ readonly avatarToggle: "إظهار حرف مختصر بجانب {name}";
971
+ readonly countBadge: "العدد";
972
+ readonly dragHandle: "إعادة ترتيب {name}";
973
+ readonly empty: "لا توجد أعمدة بعد — أضفها أدناه.";
974
+ readonly file: {
975
+ readonly acceptHelp: "اترك كل الأنواع دون تحديد ليقبل العمود ما تقبله مساحة العمل. واختيار أنواع لا يمكنه إلا تضييق تلك القائمة — فلا يقبل عمود نوعًا ترفضه مساحة العمل أبدًا.";
976
+ readonly acceptLabel: "الأنواع المقبولة";
977
+ readonly badge: "ملف";
978
+ readonly destinationDefault: "الوجهة الافتراضية";
979
+ readonly destinationHelp: "المكان الذي تُحفظ فيه البايتات المرفوعة عبر هذا العمود.";
980
+ readonly destinationLabel: "الوجهة";
981
+ readonly inlineHelp: "لا تُرسم في الخلية إلا الصور. أما ما عداها فيبقى شارة تحمل اسمه وحجمه، مهما كان هذا الإعداد.";
982
+ readonly inlineLabel: "إظهاره في الجدول";
983
+ readonly maxCountHelp: "اتركه فارغًا لقبول ما يحتاجه السجل من ملفات.";
984
+ readonly maxCountLabel: "أقصى عدد ملفات لكل سجل";
985
+ readonly maxCountToggle: "أقصى عدد ملفات لـ {name}";
986
+ readonly maxHelp: "اتركه فارغًا لاستخدام حد مساحة العمل. ولا يمكن للعمود أن يطلب إلا أقل منه.";
987
+ readonly maxLabel: "أكبر ملف (ميغابايت)";
988
+ readonly maxToggle: "أكبر ملف يقبله {name}، بالميغابايت";
989
+ readonly multipleHelp: "يخزّن العمود قائمة ملفات بدلًا من ملف واحد. تظل القيم المفردة الحالية تعمل — تُقرأ كقائمة من عنصر واحد.";
990
+ readonly multipleLabel: "استيعاب أكثر من ملف";
991
+ readonly ref: {
992
+ readonly id: "معرّف الملف في Adminium";
993
+ readonly key: "المفتاح داخل الوجهة";
994
+ readonly url: "رابط إلى الملف";
995
+ };
996
+ readonly refHelp: "ما يُكتب في هذا العمود عند رفع ملف. تظل القيم المخزَّنة سلفًا تعملوهذا لا يغيّر إلا القيمة التالية.";
997
+ readonly refLabel: "القيمة المخزَّنة";
998
+ readonly refTooNarrow: "هذا العمود أقصر من أن يتّسع لتلك القيمة. اختر قيمة يتّسع لها، أو وسّع العمود في قاعدة البيانات.";
999
+ readonly refWidth: "{shape} — يحتاج إلى {needs} من الأحرف، وهذا العمود يتّسع لـ {holds}";
1000
+ readonly switch: "ملف";
1001
+ readonly switchToggle: "{name} يخزّن ملفًا";
1002
+ readonly type: {
1003
+ readonly csv: "CSV";
1004
+ readonly gif: "GIF";
1005
+ readonly heic: "HEIC";
1006
+ readonly jpeg: "JPEG";
1007
+ readonly json: "JSON";
1008
+ readonly markdown: "Markdown";
1009
+ readonly mp3: "صوت MP3";
1010
+ readonly mp4: "فيديو MP4";
1011
+ readonly office: "مستندات Office";
1012
+ readonly ogg: "Ogg";
1013
+ readonly pdf: "PDF";
1014
+ readonly png: "PNG";
1015
+ readonly svg: "SVG";
1016
+ readonly text: "نص عادي";
1017
+ readonly wav: "صوت WAV";
1018
+ readonly webm: "WebM";
1019
+ readonly webp: "WebP";
1020
+ readonly zip: "ZIP";
1021
+ };
1022
+ };
1023
+ readonly fold: {
1024
+ readonly avg: "المتوسط";
1025
+ readonly max: "الأعلى";
1026
+ readonly min: "الأدنى";
1027
+ readonly sum: "المجموع";
1028
+ };
1029
+ readonly foldAdd: "إضافة";
1030
+ readonly foldLabel: "التجميع";
1031
+ readonly followColumn: "تتبّع {name}";
1032
+ readonly header: "عنوان العمود {name}";
1033
+ readonly help: "اسحب لإعادة ترتيب الأعمدة، وغيّر أسماء عناوينها، واختر ما يظهر منها في الجدول.";
1034
+ readonly lookupBack: "رجوع";
1035
+ readonly lookupBadge: "مرتبط";
1036
+ readonly lookupBroken: "تعذّر تحليل هذا الارتباط";
1037
+ readonly lookupBrokenBody: "تغيّر المخطط أثناء التصفح. ابدأ الارتباط من جديد.";
1038
+ readonly lookupBrowse: "اختر ما يُعرض من {table}";
1039
+ readonly mask: "إخفاء";
1040
+ readonly maskHelp: "الإخفاء يضع القيمة خلف زر إظهار لمن يُسمح له برؤيتها. أما خروج البيانات من قاعدة البيانات أصلًا فيُضبط على الاتصال، لا هنا.";
1041
+ readonly maskToggle: "إخفاء {name} خلف زر إظهار";
1042
+ readonly masked: "مُخفى";
1043
+ readonly none: {
1044
+ readonly body: "تُقرأ الأعمدة من الجدول عند توليد الصفحة. اربط هذه الصفحة بجدول ثم أعد التوليد لملئها.";
1045
+ readonly title: "لا تحتوي هذه الصفحة على أعمدة بعد";
1046
+ };
1047
+ readonly pk: "مفتاح";
1048
+ readonly remove: "إزالة {name}";
1049
+ readonly schemaUnavailable: "تعذّر سرد أعمدة قاعدة البيانات، لذا لا يمكن إضافة الأعمدة هنا.";
1050
+ readonly shown: "ظاهر";
1051
+ readonly toggle: "إظهار {name} في الجدول";
513
1052
  };
514
- readonly provider: {
515
- readonly title: "استخدام مزوّد الذكاء الاصطناعي الخاص بي";
516
- readonly description: "شغّل الإثراء الآن باستخدام مزوّدك المُهيّأ. تراجع كل اقتراح على هيئة فرق.";
517
- readonly unconfigured: "لم يُهيّأ أي مزوّد ذكاء اصطناعي بعد انسخ مُوجّهًا إلى أداتك الخاصة أدناه، أو هيّئ مزوّدًا أولًا.";
518
- readonly settingsHint: "هل تريد تشغيله مباشرةً؟";
519
- readonly settingsLink: "هيّئ مزوّدًا في الإعدادات ← الذكاء الاصطناعي";
520
- readonly networkDisabled: "لا تملك نسخة Adminium هذه وصولاً صادرًا إلى الإنترنت، لذا لا يمكنها الوصول إلى واجهة أي مزوّد. استخدم بدلاً من ذلك دورة النسخ واللصق — الموجّه نفسه والمراجعة نفسها.";
1053
+ readonly create: {
1054
+ readonly failed: "تعذّر إنشاء الصفحة";
1055
+ readonly submit: "إنشاء الصفحة";
1056
+ readonly subtitle: "اختر ما تعرضه هذه الصفحة وكيف تبدو. المعاينة تتبع اختياراتك.";
1057
+ readonly title: "صفحة جديدة";
521
1058
  };
522
- readonly byo: {
523
- readonly cardTitle: "نسخ مُوجّه إلى أداة الذكاء الاصطناعي الخاصة بي";
524
- readonly cardDescription: "انسخ مُوجّهًا مكتفيًا بذاته إلى Claude Code أو ChatGPT أو أي أداة ثم الصق JSON مرة أخرى. لا حاجة إلى مفتاح، ولا يغادر أي شيء هذا الجهاز تلقائيًا.";
525
- readonly guidance: "شغّل هذا في أي أداة ذكاء اصطناعي Claude Code أو ChatGPT أو غيرها. الصق JSON الذي تُعيده أدناه.";
526
- readonly promptLabel: "مُوجّه الإثراء";
527
- readonly promptLabelN: "مُوجّه الإثراء {index} من {total}";
528
- readonly tokenChip: " {tokens} رمزًا";
529
- readonly copyPrompt: "نسخ المُوجّه";
530
- readonly copyPromptDone: "تم نسخ المُوجّه";
531
- readonly download: "تنزيل .md";
532
- readonly chunkTabs: "أجزاء المُوجّه";
533
- readonly chunkTab: "المُوجّه {index}";
534
- readonly chunkValid: "تم التحقّق من الجزء {index}";
535
- readonly pasteLabel: "الصق استجابة JSON";
536
- readonly pastePlaceholder: "الصق استجابة JSON هنا…";
537
- readonly validate: "تحقّق";
538
- readonly valid: "تم التحقّق من الاستجابة";
539
- readonly mergedTitle: "تم التحقّق من كل الأجزاء البالغة {count} ودمجها";
540
- readonly mergedTitleSingle: "تم التحقّق من الاستجابة";
541
- readonly mergedBody: "الاقتراحات جاهزة للمراجعة مقابل الأساس الاستدلالي.";
542
- readonly errorsTitle: "عثر التحقّق على {count} مشكلة";
543
- readonly copyErrors: "نسخ الأخطاء لأداة الذكاء الاصطناعي";
544
- readonly copyErrorsDone: "تم نسخ الأخطاء";
545
- readonly copyErrorsHint: "الصق هذا مجددًا في أداة الذكاء الاصطناعي للحصول على استجابة مُصحّحة.";
546
- readonly droppedItems: "أُسقِط {count} اقتراح أثناء التحقّق — تعرض المراجعة البقية.";
547
- readonly pendingTitle: "تحقّق من كل مُوجّه للمتابعة";
548
- readonly pendingBody: "الصق استجابة JSON أعلاه وتحقّق منها للمتابعة إلى المراجعة.";
549
- readonly pendingBodyChunked: "يجب التحقّق من كل جزء قبل دمج الاقتراحات. الصق كل مُوجّه أعلاه وتحقّق منه.";
550
- readonly requestFailed: "تعذّر الوصول إلى الخادم للتحقّق — أعد المحاولة.";
551
- readonly continueReview: "المتابعة إلى المراجعة";
552
- readonly wholeDocument: "المستند بأكمله";
553
- readonly cardTitleRecommended: "انسخ موجّهًا إلى أداة الذكاء الاصطناعي الخاصة بي — موصى به";
1059
+ readonly createButton: "صفحة جديدة";
1060
+ readonly delete: {
1061
+ readonly body: "لا يمكن التراجع عن ذلك. ستُحذف العروض المحفوظة والتخطيطات الشخصية لهذه الصفحة لدى الجميع.";
1062
+ readonly bodyGenerated: "أُنشئت هذه الصفحة عبر توليد المخطّط، لذا ستعود في المرة التالية التي تعيد فيها التوليد. وستُحذف العروض المحفوظة والتخطيطات الشخصية لدى الجميع.";
1063
+ readonly confirm: "حذف الصفحة";
1064
+ readonly prompt: "اكتب {slug} للتأكيد";
1065
+ readonly title: "هل تريد حذف هذه الصفحة؟";
554
1066
  };
555
- readonly direct: {
556
- readonly title: "الإثراء بالذكاء الاصطناعي";
557
- readonly subtitle: "يجري إرسال مخططك إلى";
558
- readonly building: "يجري إنشاء المُوجّه…";
559
- readonly logLabel: "سجلّ الإثراء";
1067
+ readonly derived: {
1068
+ readonly add: "إضافة عمود";
1069
+ readonly atLeast: "لا يقل عن";
560
1070
  readonly cancel: "إلغاء";
561
- readonly back: "العودة إلى الخيارات";
562
- readonly retry: "إعادة المحاولة";
563
- readonly done: "اكتمل الإثراء — راجع الاقتراحات.";
564
- readonly continueReview: "المتابعة إلى المراجعة";
565
- readonly failed: "فشل تشغيل المزوّد. تحقّق من إعدادات الذكاء الاصطناعي وأعد المحاولة.";
566
- readonly jobFailed: "لم يكتمل تشغيل الإثراء.";
567
- readonly startFailed: "تعذّر بدء التشغيل — أعد المحاولة.";
568
- readonly errorTitle: "فشل الإثراء";
1071
+ readonly emptyBody: "لخّص جدولًا مرتبطًا في بطاقة الأعمدة أولًا — فالقواعد هنا تُبنى على تلك الأرقام.";
1072
+ readonly emptyTitle: "لا توجد أرقام محسوبة بعد";
1073
+ readonly fieldBadge: "محسوب";
1074
+ readonly foldBadge: "تجميع";
1075
+ readonly help: "احسب أرقامًا من الملخصات أعلاه ومن أعمدة هذا السجل. تُحسب عند تحميل الصفحة ولا يمكن ترتيبها.";
1076
+ readonly label: "عنوان العمود";
1077
+ readonly minus: "ناقص";
1078
+ readonly numberHelp: "الأرقام أعداد عشرية بسيطة — 500 أو 12.50، وليس 1,000 أو 5e3.";
1079
+ readonly operandA: "رقم";
1080
+ readonly operandB: "رقم";
1081
+ readonly operator: "العملية";
1082
+ readonly otherwise: "وإلا";
1083
+ readonly percentOf: "بالمئة من هذا السجل";
1084
+ readonly plus: "زائد";
1085
+ readonly preset: {
1086
+ readonly combine: "جمع أو طرح رقمين";
1087
+ readonly percent: "نسبة مئوية من رقم";
1088
+ readonly rule: "قاعدة بحد فاصل";
1089
+ };
1090
+ readonly previewHelp: "قيم نموذجية، محسوبة بالشيفرة نفسها التي تستخدمها الصفحة.";
1091
+ readonly previewTitle: "معاينة";
1092
+ readonly remove: "إزالة {name}";
1093
+ readonly thenShow: "فأظهر";
569
1094
  };
570
- readonly skip: {
571
- readonly title: "تخطٍّ استخدام الاستدلال فقط";
572
- readonly description: "التوليد من الأساس الاستدلالي. يمكنك الإثراء لاحقًا من الإعدادات ← الذكاء الاصطناعي — لا يُعاقَب التخطّي أبدًا.";
573
- readonly confirmTitle: "المتابعة بالاستدلال";
574
- readonly confirmBody: "سيستخدم التطبيق المُولّد التسميات والمجموعات ولوحات المعلومات الاستدلالية. تابع للتوليد — يمكنك تشغيل الإثراء بالذكاء الاصطناعي في أي وقت من الإعدادات ← الذكاء الاصطناعي.";
1095
+ readonly duplicate: {
1096
+ readonly failed: "تعذّر تكرار الصفحة";
1097
+ readonly submit: "تكرار";
1098
+ readonly title: "تكرار الصفحة";
575
1099
  };
576
- };
577
- readonly review: {
578
- readonly unavailableTitle: "شاشة المراجعة غير متوفرة";
579
- readonly unavailableBody: "لا يتضمّن هذا الإصدار شاشة مراجعة الإثراء بعد (06-T14). ستصل مع تدفق الفرق والتطبيق.";
580
- };
581
- readonly llmRuns: {
582
- readonly review: {
583
- readonly header: {
584
- readonly title: "مراجعة اقتراحات الذكاء الاصطناعي";
585
- readonly model: "النموذج";
586
- readonly snapshot: "لقطة";
587
- readonly byo: "مفتاحك الخاص";
588
- readonly pathDirect: "واجهة مباشرة";
589
- readonly pathByo: "نسخ ولصق";
590
- readonly agree: "{n} متوافقة";
591
- readonly conflict: "{n} متعارضة";
592
- readonly new: "{n} جديدة";
593
- readonly rejects: "{n} مرفوضة";
594
- readonly countsAria: "أعداد الاقتراحات";
595
- };
596
- readonly bulk: {
597
- readonly thresholdLabel: "حد الثقة";
598
- readonly thresholdAria: "حد الثقة لخيار «قبول الكل»";
599
- readonly acceptAll: "قبول الكل ≥ {pct}%";
600
- readonly clear: "مسح التحديد";
601
- };
602
- readonly section: {
603
- readonly selectAllAria: "تحديد الكل في {group}";
604
- readonly acceptedCount: "{n} مقبولة";
605
- };
606
- readonly group: {
607
- readonly labels: "التسميات والترجمات";
608
- readonly navigation: "التنقل والمجالات";
609
- readonly enums: "دلالات التعدادات";
610
- readonly relations: "العلاقات";
611
- readonly keys: "الأعمدة المفتاحية";
612
- readonly templates: "قوالب الصفحات";
613
- readonly dashboards: "لوحات المعلومات والأدوات";
614
- readonly pii: "البيانات الشخصية والإخفاء";
615
- readonly icons: "الأيقونات";
616
- readonly microcopy: "النصوص المصغّرة";
617
- };
618
- readonly status: {
619
- readonly agree: "متوافق";
620
- readonly conflict: "تعارض";
621
- readonly new: "جديد";
622
- readonly heuristicOnly: "إرشادي فقط";
623
- readonly rejects: "يرفض الإرشادي";
624
- readonly locked: "مقفل";
625
- };
626
- readonly row: {
627
- readonly acceptAria: "قبول اقتراح {noun} لـ {target}";
628
- readonly keptEdited: "محتفَظ به — عدّلته بنفسك";
629
- readonly rejectsCallout: "يرفض الذكاء الاصطناعي قرارًا إرشاديًا — أكِّد قبل القبول.";
630
- readonly showTranslations: "عرض الترجمات";
631
- readonly hideTranslations: "إخفاء الترجمات";
632
- readonly confidenceAria: "الثقة {pct}%";
633
- readonly noAi: "لا يوجد اقتراح من الذكاء الاصطناعي";
634
- };
635
- readonly value: {
636
- readonly none: "لا قيمة";
637
- readonly absent: "لا شيء";
638
- readonly dash: "—";
639
- readonly display: "العرض";
640
- readonly key: "المفتاح";
641
- readonly rank: "الترتيب {n}";
642
- readonly span: "العرض {n}";
643
- readonly tableCount: "{n} جداول";
644
- readonly widgetCount: "{n} أدوات";
645
- readonly enumWorkflow: "سير عمل";
646
- readonly enumCategory: "فئة";
647
- readonly notPii: "ليست بيانات شخصية";
648
- readonly label: "التسمية";
649
- readonly description: "الوصف";
650
- readonly subtitle: "العنوان الفرعي للصفحة";
651
- readonly headline: "عنوان الحالة الفارغة";
652
- readonly guidance: "إرشاد الحالة الفارغة";
653
- };
654
- readonly apply: {
655
- readonly title: "تطبيق {n} اقتراحات";
656
- readonly subtitle: "تُكتب هذه التغييرات في معاملة واحدة ويمكن التراجع عنها.";
657
- readonly empty: "لم يتم تحديد شيء للتطبيق.";
658
- readonly confirm: "تطبيق التغييرات";
659
- };
660
- readonly footer: {
661
- readonly count: "تم تحديد {n} اقتراحات";
662
- readonly apply: "تطبيق {n} اقتراحات مقبولة";
663
- readonly failed: "فشل التطبيق";
664
- };
665
- readonly toast: {
666
- readonly applied: "تم تطبيق {n} اقتراحات";
667
- readonly appliedPartial: "تم تطبيق {n} اقتراحات (تم تخطي بعضها)";
668
- readonly applyFailed: "تعذّر تطبيق الاقتراحات";
669
- readonly undoFailed: "تعذّر التراجع عن هذا التغيير";
670
- };
671
- readonly error: {
672
- readonly title: "تعذّر تحميل هذا التشغيل";
673
- };
674
- readonly notReady: {
675
- readonly title: "لا يحتوي هذا التشغيل على اقتراحات للمراجعة بعد";
676
- readonly body: "يجب التحقق من التشغيل قبل إمكانية مراجعة اقتراحاته. أنشئ استجابة أو الصقها أولًا.";
677
- };
678
- readonly applied: {
679
- readonly title: "تم تطبيق هذا التشغيل";
680
- readonly body: "الاقتراحات المقبولة أدناه للقراءة فقط.";
681
- };
682
- readonly empty: {
683
- readonly title: "لا اقتراحات";
684
- readonly body: "لم يُنتج هذا التشغيل أي اقتراحات للمراجعة.";
685
- };
686
- readonly cat: {
687
- readonly label: "تسمية";
688
- readonly key: "أعمدة مفتاحية";
689
- readonly enum: "تعداد";
690
- readonly relation: "علاقة";
691
- readonly pii: "بيانات شخصية";
692
- readonly template: "قالب صفحة";
693
- readonly group: "مجموعة تنقل";
694
- readonly dashboard: "لوحة معلومات";
695
- readonly widget: "أداة";
696
- readonly copy: "نص مصغّر";
1100
+ readonly editor: {
1101
+ readonly appearance: "المظهر";
1102
+ readonly attachments: "المرفقات";
1103
+ readonly columns: "الأعمدة";
1104
+ readonly contentInvalid: "تعذّرت قراءة إعدادات هذه الصفحة";
1105
+ readonly contentInvalidBody: "كُتبت بإصدار أحدث، أو أنها تالفة. أعد توليد الصفحة أو احذفها.";
1106
+ readonly contentUnavailable: "تعذّر تحميل محتوى الصفحة";
1107
+ readonly contentUnavailableBody: "لا يزال بإمكانك حفظ البيانات أعلاه.";
1108
+ readonly data: "البيانات";
1109
+ readonly derived: "أرقام محسوبة";
1110
+ readonly details: "التفاصيل";
1111
+ readonly generated: {
1112
+ readonly body: "تُحفظ تعديلاتك عند إعادة التوليد، إذ تُعلَّم الصفحة بأنها محرَّرة وتُترك كما هي. أما الحذف فلا يدوم إلا حتى تُعيد عملية التوليد التالية إنشاءها.";
1113
+ readonly title: "وُلِّدت هذه الصفحة من مخطّط قاعدة بياناتك";
697
1114
  };
1115
+ readonly itemsPending: "احفظ التغيير أعلاه أولًا — سيُعاد بناء محتوى الصفحة من القالب والجدول الجديدين.";
1116
+ readonly missing: "لم تعد هذه الصفحة موجودة";
1117
+ readonly missingBody: "ربما حُذفت، أو أزالتها عملية توليد.";
1118
+ readonly notBindable: "هذا القالب غير مرتبط بجدول واحد";
1119
+ readonly notBindableBody: "يُبنى محتواه عنصرًا تلو الآخر. افتح الصفحة واستخدم «تحرير» لإضافتها.";
1120
+ readonly openPage: "فتح الصفحة";
1121
+ readonly recompose: "ستُعاد بناء هذه الصفحة";
1122
+ readonly recomposeBody: "الحفظ يستبدل محتواها بتخطيط جديد للقالب والجدول أعلاه. ستفقد تعديلات الأعمدة وتغييرات العناصر في هذه الصفحة.";
1123
+ readonly save: "حفظ التغييرات";
1124
+ readonly saveFailed: "تعذّر حفظ التغييرات";
1125
+ readonly schemaFailed: "تعذّر عرض الجداول";
1126
+ readonly schemaFailedBody: "قد لا يكون هذا الاتصال قد خضع للتحليل بعد. شغّل الفحص من الاستوديو ← اتصالات البيانات.";
1127
+ readonly title: "تحرير الصفحة";
698
1128
  };
699
- };
700
- readonly wizard: {
701
- readonly title: "اتصال جديد";
702
- readonly back: "رجوع";
703
- readonly continue: "متابعة";
704
- readonly progress: "تقدّم الإعداد";
705
- readonly persistFailed: "تعذّر حفظ اختيار الجداول — أعد المحاولة.";
706
- readonly persistFailedTitle: "فشل الحفظ";
707
- readonly bridgeAppliedTitle: "تم استلام سلسلة الاتصال";
708
- readonly bridgeAppliedBody: "سلّمها متصفحك من adminium.dev — وصلت مباشرةً إلى هذا الجهاز ولم تُرفع إلى أي خادم. راجعها بالأسفل ثم تابع.";
709
- readonly bridgeFailedTitle: "تعذّر استخدام عملية التسليم هذه";
710
- readonly bridgeFailedBody: "إمّا أنها استُخدمت من قبل أو انتهت صلاحيتها. الصق سلسلة الاتصال بالأسفل بدلاً من ذلك.";
711
- readonly step: {
712
- readonly source: "المصدر";
713
- readonly test: "تحليل";
714
- readonly tables: "الجداول";
715
- readonly meta: "تخزين البيانات الوصفية";
716
- readonly intent: "الغرض";
717
- readonly enrich: "إثراء";
718
- readonly generate: "توليد";
1129
+ readonly empty: {
1130
+ readonly body: "اربط قاعدة بيانات لتوليد الصفحات تلقائيًا، أو أنشئ صفحة يدويًا.";
1131
+ readonly title: "لا توجد صفحات بعد";
719
1132
  };
720
- };
721
- readonly meta: {
722
- readonly title: "أين يجب أن يحتفظ Adminium بجداوله الخاصة؟";
723
- readonly subtitle: "تُخزَّن الصفحات والأدوار وسجل التدقيق والإعدادات في جداول تبدأ بـ adminium_ — ولا تُخلط أبدًا ببياناتك.";
724
- readonly sameDb: {
725
- readonly title: "قاعدة البيانات نفسها";
726
- readonly description: "تُنشأ جداول adminium_* بجانب جداول المصدر. أبسط إعداد — يتطلب دورًا بصلاحيات الكتابة وCREATE TABLE.";
727
- readonly disabledReadOnly: "دورك للقراءة فقط — لا يكتب Adminium أبدًا في هذه القاعدة. اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
728
- readonly disabledNoDdl: "لا يمكن لهذا الدور تنفيذ DDL — تحتاج ترحيلات Adminium إلى CREATE TABLE. اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
729
- readonly disabledFile: "ملف المخطط ليس له قاعدة بيانات حيّة اختر قاعدة بيانات منفصلة لجداول Adminium الخاصة.";
1133
+ readonly field: {
1134
+ readonly connection: "مصدر البيانات";
1135
+ readonly connectionNone: "بدون";
1136
+ readonly group: "مجموعة الشريط الجانبي";
1137
+ readonly groupHint: "القسم الذي تظهر فيه ضمن الشريط الجانبي.";
1138
+ readonly icon: "الأيقونة";
1139
+ readonly iconHint: "تظهر بجوار اسم الصفحة في الشريط الجانبي.";
1140
+ readonly iconPick: "اختر أيقونة الصفحة";
1141
+ readonly newRowLabel: "زر الإضافة";
1142
+ readonly newRowLabelHint: "النص الظاهر على الزر الذي يضيف سجلاً. اتركه فارغًا لاستخدام النص الافتراضي المترجَم.";
1143
+ readonly padding: "حشو الصفحة";
1144
+ readonly slug: "مسار الصفحة";
1145
+ readonly slugHint: "أحرف إنجليزية صغيرة وأرقام وشرطات. الجزء الأخير من المسار فقط — يُضاف الباقي تلقائيًا.";
1146
+ readonly slugTaken: "يستخدم هذا المسار صفحة أخرى بالفعل.";
1147
+ readonly slugWarning: "تغيير المسار يُبطل الروابط والإشارات المرجعية الحالية إلى هذه الصفحة.";
1148
+ readonly table: "الجدول";
1149
+ readonly tableCreateHint: "الجدول الذي تقرأ منه هذه الصفحة. اختر واحدًا الآن لتصبح الصفحة جاهزة للاستخدام، أو اتركه فارغًا لربطه لاحقًا.";
1150
+ readonly tableNeedsConnection: "اختر مصدر بيانات أولًا.";
1151
+ readonly tableNone: "غير مرتبط";
1152
+ readonly template: "القالب";
1153
+ readonly templateHint: "يحدّد ما يمكن أن تحتويه الصفحة. يمكنك تغييره لاحقًا.";
1154
+ readonly title: "العنوان";
1155
+ readonly titleHint: "يظهر في الشريط الجانبي وفي ترويسة الصفحة.";
1156
+ readonly visible: "إظهار في الشريط الجانبي";
1157
+ readonly visibleHint: "تبقى الصفحة المخفية متاحة عبر رابطها لكل من يملك الرابط.";
1158
+ readonly width: "عرض المحتوى";
1159
+ readonly widthHint: "إلى أي مدى يتّسع عمود محتوى الصفحة على الشاشات الكبيرة.";
730
1160
  };
731
- readonly separate: {
732
- readonly title: "قاعدة بيانات منفصلة";
733
- readonly description: "يحتفظ Adminium بجداوله في قاعدة بيانات مختلفة. يبقى مصدرك كما هو — وهذا مطلوب للمصادر ذات القراءة فقط.";
734
- readonly dsn: "سلسلة اتصال قاعدة البيانات الوصفية";
735
- readonly helper: "يتطلب صلاحيات الكتابة وDDL — يشغّل Adminium ترحيلاته الخاصة هناك.";
736
- readonly test: "اختبار الاتصال";
737
- readonly ok: "متوافق — كتابة ✓ · DDL ✓";
738
- readonly insufficient: "لا يمكن لهذا الدور استضافة المخزن الوصفي — يحتاج Adminium هناك إلى صلاحيات الكتابة وCREATE TABLE.";
739
- readonly errorTitle: "مخزن البيانات الوصفية غير متوافق";
1161
+ readonly icon: {
1162
+ readonly noMatches: "لا توجد أيقونات تطابق هذا البحث.";
1163
+ readonly none: "اختر أيقونة";
1164
+ readonly search: "ابحث عن أيقونة";
740
1165
  };
741
- readonly testFailed: "فشل الاتصال.";
742
- readonly v1Note: {
743
- readonly title: "حول هذا التثبيت";
744
- readonly body: "يحتفظ هذا الخادم بجداوله الخاصة في قاعدة بيانات مُعدّة مسبقًا، وهذه الخطوة لا تنقلها. إنها تتحقق من توافق اختيارك مع هذا الاتصال — ويطبّق الخادم القاعدة نفسها بشكل مستقل (409 META_PLACEMENT_INVALID).";
1166
+ readonly list: {
1167
+ readonly count: "{count, plural, zero {لا صفحات} one {صفحة واحدة} two {صفحتان} few {# صفحات} many {# صفحة} other {# صفحة}}";
1168
+ readonly title: "الصفحات";
745
1169
  };
746
- readonly move: {
747
- readonly title: "جارٍ نقل جداول Adminium";
748
- readonly copying: "جارٍ نقل جداول Adminium…";
749
- readonly restarting: "جارٍ إعادة التشغيل…";
750
- readonly copyingBody: "يجري نسخ كل جدول adminium_ إلى قاعدة البيانات الجديدة. لا تُمس بياناتك المصدرية، ولا يتم التبديل قبل التحقق من النسخة.";
751
- readonly restartingBody: "اكتمل النسخ. يعيد Adminium التشغيل على قاعدة البيانات الجديدة — ستتابع هذه الصفحة تلقائيًا خلال ثوانٍ.";
752
- readonly failed: "تعذّر نقل جداول Adminium — أعد المحاولة.";
753
- readonly timeout: "نقل Adminium جداوله لكنه لم يعد بعد. بياناتك آمنة في قاعدة البيانات الجديدة — أعد تحميل هذه الصفحة بعد قليل.";
1170
+ readonly loadFailed: {
1171
+ readonly body: "تتطلب إدارة الصفحات صلاحية «إدارة الصفحات». اطلب من أحد المسؤولين منحها لأحد أدوارك.";
1172
+ readonly title: "تعذّر تحميل الصفحات";
754
1173
  };
755
- readonly willMove: {
756
- readonly title: "سيؤدي هذا إلى نقل جداول Adminium";
757
- readonly body: "يستخدم Adminium حاليًا مخزن SQLite المدمج. يؤدي «متابعة» إلى نسخ هذا المخزن إلى قاعدة البيانات التي اخترتها وإعادة التشغيل عليها — تنتقل معه الحسابات والصفحات والإعدادات، فتظل مسجّل الدخول.";
1174
+ readonly origin: {
1175
+ readonly generated: "مولّدة";
1176
+ readonly llm: "المساعد";
1177
+ readonly manifest: "إضافة";
1178
+ readonly system: "النظام";
1179
+ readonly user: "مخصّصة";
758
1180
  };
759
- };
760
- readonly intent: {
761
- readonly title: "ما الذي تحتاجه؟";
762
- readonly subtitle: "يحدد الغرض الصفحات التي سيتم توليدها. يمكنك تغييره لاحقًا — تغييره يقترح إعادة توليد، ولا يعيد الكتابة بصمت أبدًا.";
763
- readonly trust: "نقرأ مخططك فقط — ولا نقرأ بيانات صفوفك أبدًا أثناء الإعداد.";
764
- readonly fullAdmin: {
765
- readonly title: "لوحة إدارة كاملة";
766
- readonly description: "لوحات معلومات وصفحات CRUD وبحث واستيراد وتصدير — كل ما يدعمه مخططك.";
1181
+ readonly padding: {
1182
+ readonly custom: "مخصص…";
1183
+ readonly default: "الافتراضي لهذا القالب";
1184
+ readonly none: "بدون";
1185
+ readonly standard: "قياسي (28 × 24)";
1186
+ readonly x: "الجانبان (بكسل)";
1187
+ readonly y: "أعلى وأسفل (بكسل)";
767
1188
  };
768
- readonly analytics: {
769
- readonly title: "تحليلات للقراءة فقط";
770
- readonly description: "لوحات معلومات ورسوم بيانية وجداول للقراءة فقط. لا نماذج ولا كتابة — كل دور محدود بمشاهد.";
1189
+ readonly preview: {
1190
+ readonly note: "رسم توضيحي للتخطيط، لا لبياناتك. تمتلئ الصفحة الحقيقية بعد الحفظ.";
1191
+ readonly untitled: "صفحة بلا عنوان";
771
1192
  };
772
- readonly crud: {
773
- readonly title: "جداول CRUD";
774
- readonly description: "صفحة تحرير واحدة لكل جدول مع البحث والاستيراد/التصدير — صفحة رئيسية بسيطة، دون لوحات معلومات.";
1193
+ readonly row: {
1194
+ readonly menu: "إجراءات {title}";
775
1195
  };
776
- readonly support: {
777
- readonly title: "وحدة تحكم الدعم";
778
- readonly description: "قوائم الانتظار وصفحات التذاكر وتفاصيل العملاء أولًا. الحذف معطّل افتراضيًا. (تصل قوالب قوائم الانتظار في M7 — مجموعة صفحات v1 تطابق لوحة الإدارة الكاملة.)";
1196
+ readonly sidebar: {
1197
+ readonly discard: "تجاهل";
1198
+ readonly emptyGroup: "لا توجد صفحات في هذه المجموعة.";
1199
+ readonly help: "أعد ترتيب الصفحات داخل المجموعة، أو انقل إحداها إلى مجموعة أخرى. تسري التغييرات على الجميع.";
1200
+ readonly moveDown: "تحريك {title} لأسفل";
1201
+ readonly moveTo: "نقل {title} إلى مجموعة";
1202
+ readonly moveUp: "تحريك {title} لأعلى";
1203
+ readonly save: "حفظ الترتيب";
1204
+ readonly saveFailed: "تعذّر حفظ الترتيب الجديد";
1205
+ readonly ungrouped: {
1206
+ readonly body: "تعمل هذه الصفحات عبر روابطها لكنها لا تظهر في الشريط الجانبي. افتح كلًا منها واختر لها مجموعة.";
1207
+ readonly title: "بعض الصفحات لا تنتمي إلى أي مجموعة";
1208
+ };
1209
+ };
1210
+ readonly status: {
1211
+ readonly hidden: "مخفية";
1212
+ readonly live: "مفعّلة";
1213
+ };
1214
+ readonly subtitle: "أضف صفحات تطبيقك وحرّرها ونظّمها، وكذلك ترتيب ظهورها في الشريط الجانبي.";
1215
+ readonly tab: {
1216
+ readonly pages: "كل الصفحات";
1217
+ readonly sidebar: "ترتيب الشريط الجانبي";
1218
+ };
1219
+ readonly title: "الصفحات";
1220
+ readonly width: {
1221
+ readonly content: "محتوى (900 بكسل)";
1222
+ readonly dash: "لوحة معلومات (1320 بكسل)";
1223
+ readonly default: "الافتراضي لهذا القالب";
1224
+ readonly full: "عرض كامل (بلا حد)";
1225
+ readonly narrow: "ضيّق (720 بكسل)";
1226
+ readonly page: "صفحة (1080 بكسل)";
1227
+ readonly wide: "عريض (1800 بكسل)";
779
1228
  };
780
1229
  };
781
- readonly generate: {
782
- readonly title: "ولّد تطبيقك";
783
- readonly subtitle: "صفحة لكل جدول مضمّن مع لوحات معلومات لكل مجال — الغرض:";
784
- readonly run: "توليد لوحة المعلومات";
785
- readonly openApp: "افتح تطبيقك";
786
- readonly logLabel: "سجل التوليد";
787
- readonly log: {
788
- readonly classifying: "جارٍ تصنيف المخطط…";
789
- readonly composing: "جارٍ تركيب القوالب…";
790
- readonly writing: "جارٍ كتابة الصفحات…";
791
- readonly done: "تم توليد {pages} صفحة عبر {groups} مجموعات تنقّل";
1230
+ readonly publicApi: {
1231
+ readonly cancel: "إلغاء";
1232
+ readonly close: "إغلاق";
1233
+ readonly error: "حدث خطأ ما";
1234
+ readonly keys: {
1235
+ readonly appHint: "تقدّم واجهة العملاء في التطبيق هذا المفتاح بنفسها — وتدويره لا يحتاج إعادة بناء.";
1236
+ readonly appLabel: "اربطه بواجهة تطبيق مستضافة (اختياري)";
1237
+ readonly appNone: "غير مرتبط";
1238
+ readonly create: "إنشاء مفتاح";
1239
+ readonly emptyBody: "أنشئ نطاقًا أولًا، ثم أنشئ له مفتاحًا.";
1240
+ readonly emptyTitle: "لا توجد مفاتيح بعد";
1241
+ readonly formLabel: "إنشاء مفتاح";
1242
+ readonly nameLabel: "الاسم";
1243
+ readonly reveal: "إظهار المفتاح";
1244
+ readonly revoke: "إبطال";
1245
+ readonly rotate: "تدوير";
1246
+ readonly scopeIsAuthBody: "يصل المفتاح إلى ما يذكره نطاقه بالضبط ولا شيء غيره. لا يستخدم الأدوار ولا صلاحيات الجداول، ولا يستطيع قراءة أي شيء عبر بقية واجهة API.";
1247
+ readonly scopeIsAuthTitle: "النطاق هو الصلاحية الوحيدة";
1248
+ readonly scopeLabel: "النطاق";
1249
+ readonly scopePlaceholder: "اختر نطاقًا";
1250
+ readonly subtitle: "توضع هذه في شفرة JavaScript الخاصة بصفحتك، فيستطيع أي شخص قراءتها. وهذا متوقَّع — لا يستطيع المفتاح أبدًا أن يفعل غير ما يسمح به نطاقه.";
1251
+ readonly title: "المفاتيح";
1252
+ };
1253
+ readonly notRegistered: {
1254
+ readonly body: "اضبط ADMINIUM_PUBLIC_API_ORIGINS على الأصول المحدّدة المسموح لها باستدعائها، ثم أعد التشغيل. وحتى ذلك الحين لا تُقدَّم هذه المسارات على الإطلاق.";
1255
+ readonly title: "غير مُفعَّل على هذا الخادم";
1256
+ };
1257
+ readonly origins: {
1258
+ readonly label: "الأصول المسموح لها باستدعائها";
1259
+ };
1260
+ readonly scopes: {
1261
+ readonly connectionLabel: "معرّف الاتصال";
1262
+ readonly create: "إنشاء نطاق";
1263
+ readonly delete: "حذف";
1264
+ readonly deleteBody: "أي صفحة تستخدم مفتاحًا مرتبطًا بهذا النطاق ستتوقف عن تحميل البيانات. لا تُحذف المفاتيح — أبطِلها أولًا إن كان هذا ما تقصده.";
1265
+ readonly deleteConfirm: "حذف النطاق";
1266
+ readonly deletePrompt: "اكتب اسم النطاق للتأكيد";
1267
+ readonly deleteTitle: "حذف هذا النطاق";
1268
+ readonly documentHint: "يُصرَّف مقابل مخططك عند الحفظ. كل عمود يستطيع المستدعي الوصول إليه مذكور هنا ولا مكان غيره. قد تكون القيمة الافتراضية '{'\"$generate\": \"uuid\"'}' أو '{'\"$generate\": \"now\"'}' — يملؤها الخادم عند الإنشاء، فيستطيع الزائر إضافة صف دون اختيار معرّفه.";
1269
+ readonly documentLabel: "مستند النطاق";
1270
+ readonly emptyBody: "أنشئ واحدًا بالأسفل. يُتحقَّق منه مقابل مخططك الفعلي قبل حفظه.";
1271
+ readonly emptyTitle: "لا توجد نطاقات بعد";
1272
+ readonly formLabel: "إنشاء نطاق";
1273
+ readonly issuesTitle: "تعذّر تصريف هذا النطاق";
1274
+ readonly keyCount: "{count, plural, =0 {لا مفاتيح} one {مفتاح واحد} two {مفتاحان} few {# مفاتيح} many {# مفتاحًا} other {# مفتاح}}";
1275
+ readonly nameLabel: "الاسم";
1276
+ readonly subtitle: "النطاق هو كل ما يمكن للمفتاح الوصول إليه — الجداول والأعمدة بعينها وعامل تصفية يستطيع المستدعي تضييقه لكن لا يزيله أبدًا.";
1277
+ readonly title: "النطاقات";
1278
+ };
1279
+ readonly status: {
1280
+ readonly heading: "الحالة";
1281
+ };
1282
+ readonly subtitle: "اسمح لصفحاتك الموجَّهة للعملاء أو للموظفين بقراءة قاعدة البيانات هذه، عبر نطاق تحدده أنت.";
1283
+ readonly title: "واجهة API العامة";
1284
+ readonly toggle: {
1285
+ readonly hint: "إيقاف هذا يوقف كل طلب عام فورًا. ولا يُحذف شيء — تبقى المفاتيح والنطاقات والبيانات كما هي.";
1286
+ readonly label: "تقديم واجهة API العامة";
792
1287
  };
793
- readonly successTitle: "لوحة معلوماتك جاهزة";
794
- readonly successBody: "{pages} صفحة عبر {groups} مجموعات تنقّل — وُلّدت من مخططك، وقابلة للتحرير في الاستوديو.";
795
- readonly errorTitle: "فشل التوليد";
796
- readonly failed: "فشل التوليد — أعد المحاولة، أو أعد تشغيل الاستبطان أولًا.";
797
- readonly fileTitle: "تم تحليل ملف المخطط — يحتاج التوليد إلى قاعدة بيانات حيّة";
798
- readonly fileBody: "تم تحليل مخططك بنجاح والمعاينة أعلاه حقيقية. توليد تطبيق يعمل مباشرةً من ملف مخطط (بصفوف بديلة) غير متاح بعد — اربط قاعدة بيانات حيّة للتوليد اليوم.";
799
1288
  };
800
1289
  readonly remap: {
1290
+ readonly badge: {
1291
+ readonly fk: "FK";
1292
+ readonly masked: "مخفي";
1293
+ readonly pii: "بيانات شخصية";
1294
+ readonly pk: "PK";
1295
+ readonly unique: "UNIQUE";
1296
+ };
801
1297
  readonly column: {
802
- readonly nullable: "يقبل NULL";
803
- readonly labelOverride: "تسمية العرض";
804
- readonly labelHelper: "المستنتج: {name}";
805
- readonly logicalType: "النوع المنطقي";
806
- readonly logicalTypeHelper: "المستنتج: {type} (من {dbType}) — يربطه المهايئ؛ ولا يمكن تجاوزه في v1.";
807
- readonly semantic: "النوع الدلالي";
808
- readonly unclassified: "لم يُصنَّف بعد.";
809
- readonly semanticHelper: "المصنِّف: {tag} · الثقة {confidence}% · المصدر: {source}";
810
- readonly semanticInferred: "المستنتج: {tag}";
811
1298
  readonly currency: "العملة";
812
1299
  readonly currencyHelper: "رمز ISO 4217 المطبَّق على تنسيق المبالغ المالية.";
813
- readonly pii: "الإخفاء افتراضيًا";
814
- readonly piiHelper: "تُعرض القيم المخفية محجوبة؛ ويتطلب كشفها صلاحية data.unmask_pii ويُسجَّل في سجل التدقيق.";
815
1300
  readonly enum: "دلالات التعداد";
816
- readonly enumKind: "نوع التعداد";
817
- readonly enumWorkflow: "سير عمل";
818
1301
  readonly enumCategory: "فئة";
1302
+ readonly enumHelper: "تعدادات سير العمل تُشغّل شارات الحالة وأعمدة اللوحات؛ وتربط درجات الألوان القيم بمقياس التظليل الدلالي.";
1303
+ readonly enumKind: "نوع التعداد";
819
1304
  readonly enumLabelFor: "تسمية {value}";
820
- readonly enumToneFor: "درجة لون {value}";
821
1305
  readonly enumToneAuto: "تلقائي";
822
- readonly enumHelper: "تعدادات سير العمل تُشغّل شارات الحالة وأعمدة اللوحات؛ وتربط درجات الألوان القيم بمقياس التظليل الدلالي.";
1306
+ readonly enumToneFor: "درجة لون {value}";
1307
+ readonly enumWorkflow: "سير عمل";
1308
+ readonly labelHelper: "المستنتج: {name}";
1309
+ readonly labelOverride: "تسمية العرض";
1310
+ readonly logicalType: "النوع المنطقي";
1311
+ readonly logicalTypeHelper: "المستنتج: {type} (من {dbType}) — يربطه المهايئ؛ ولا يمكن تجاوزه في v1.";
1312
+ readonly nullable: "يقبل NULL";
1313
+ readonly pii: "الإخفاء افتراضيًا";
1314
+ readonly piiHelper: "تُعرض القيم المخفية محجوبة؛ ويتطلب كشفها صلاحية data.unmask_pii ويُسجَّل في سجل التدقيق.";
1315
+ readonly semantic: "النوع الدلالي";
1316
+ readonly semanticHelper: "المصنِّف: {tag} · الثقة {confidence}% · المصدر: {source}";
1317
+ readonly semanticInferred: "المستنتج: {tag}";
1318
+ readonly unclassified: "لم يُصنَّف بعد.";
823
1319
  };
824
1320
  readonly diff: {
825
- readonly one: "تغيير واحد";
826
1321
  readonly count: "{count} تغييرات";
827
- readonly saved: "تم حفظ التجاوزات.";
828
- readonly revertOne: "التراجع عن {change}";
1322
+ readonly one: "تغيير واحد";
829
1323
  readonly regenerate: "إعادة توليد الصفحات";
830
1324
  readonly revertAll: "التراجع عن الكل";
1325
+ readonly revertOne: "التراجع عن {change}";
831
1326
  readonly save: "حفظ التجاوزات";
1327
+ readonly saved: "تم حفظ التجاوزات.";
1328
+ };
1329
+ readonly empty: {
1330
+ readonly description: "حدد عنصرًا في شجرة المخطط لإعادة تعيين تسميته أو نوعه أو علاقاته أو إخفائه.";
1331
+ readonly title: "اختر جدولًا أو عمودًا";
832
1332
  };
833
- readonly table: {
834
- readonly iconPicker: "أيقونة الجدول";
835
- readonly system: "نظام";
836
- readonly labelOverride: "تسمية العرض";
837
- readonly labelHelper: "المستنتج: {name}";
838
- readonly icon: "الأيقونة";
839
- readonly navGroup: "مجموعة التنقل";
840
- readonly navGroupHelper: "يقرر المولِّد موضع التنقل — تجاوز table.navGroup ليس ضمن مفردات v1.";
841
- readonly include: "التضمين في التطبيق المولَّد";
842
- readonly includeHelper: "الجداول المستبعدة لا تحصل على صفحات وتختفي من التنقل.";
843
- readonly shape: "شكل الجدول (مصنَّف)";
844
- readonly role: "الدور";
845
- readonly unclassified: "غير مصنَّف";
846
- readonly kind: "النوع";
847
- readonly hierarchy: "التسلسل الهرمي";
848
- readonly selfFk: "مرجع ذاتي عبر {column}";
849
- readonly polymorphic: "أزواج متعددة الأشكال";
850
- readonly rows: "تقدير عدد الصفوف";
851
- readonly shapeHelper: "يُعاد حساب التصنيف مع كل استبطان؛ وتُطبَّق التجاوزات فوقه وتبقى بعد إعادة التوليد.";
1333
+ readonly inspector: "الفاحص";
1334
+ readonly loadFailed: "تعذّر تحميل المخطط لهذا الاتصال.";
1335
+ readonly mode: {
1336
+ readonly design: "التصميم";
1337
+ readonly diagram: "مخطّط";
1338
+ readonly remap: "التسميات والعلاقات";
1339
+ };
1340
+ readonly modeLabel: "وضع المحرِّر";
1341
+ readonly noDesign: {
1342
+ readonly noPrivilege: "لا يستطيع دور هذا الاتصال إنشاء الجداول أو تعديلها. امنحه صلاحيات المخطط، أو اتصل بدور يمتلكها.";
1343
+ readonly readOnlyIntent: "أُعِدَّ هذا الاتصال للتحليلات للقراءة فقط. غيّر الغرض منه في الإعدادات لتعديل مخططه.";
1344
+ readonly readOnlyRole: "يسجّل هذا الاتصال الدخول بدور للقراءة فقط، لذا لا يستطيع Adminium تغيير مخططه.";
1345
+ readonly schemaFile: "أُنشئ هذا الاتصال من ملف مخطط، فلا توجد قاعدة بيانات لتغييرها. التسميات والعلاقات ما زالت تعمل.";
852
1346
  };
853
1347
  readonly relations: {
854
- readonly declared: "المفاتيح الخارجية المعلنة";
855
- readonly noneDeclared: "لا توجد مفاتيح خارجية معلنة تمسّ هذا الجدول.";
856
- readonly inferred: "العلاقات المستنتجة";
857
- readonly noneInferred: "لا شيء مستنتج لهذا الجدول.";
858
- readonly confidence: "مستنتجة · {pct}%";
859
- readonly accepted: "مقبولة";
860
- readonly suppressed: "مستبعدة";
861
1348
  readonly accept: "قبول";
862
- readonly suppress: "استبعاد";
863
- readonly overrides: "علاقات التجاوز (المطبَّقة)";
864
- readonly overrideBadge: "تجاوز";
1349
+ readonly accepted: "مقبولة";
865
1350
  readonly add: "إضافة علاقة افتراضية";
1351
+ readonly addButton: "إضافة علاقة";
1352
+ readonly cardinality: "التعددية";
1353
+ readonly confidence: "مستنتجة · {pct}%";
1354
+ readonly declared: "المفاتيح الخارجية المعلنة";
866
1355
  readonly fromColumn: "من العمود";
867
- readonly noColumns: "لا يوجد عمود مطابق";
868
1356
  readonly fromPlaceholder: "customer_id";
869
- readonly toTable: "إلى الجدول";
1357
+ readonly inferred: "العلاقات المستنتجة";
1358
+ readonly noColumns: "لا يوجد عمود مطابق";
870
1359
  readonly noTables: "لا يوجد جدول مطابق";
1360
+ readonly noneDeclared: "لا توجد مفاتيح خارجية معلنة تمسّ هذا الجدول.";
1361
+ readonly noneInferred: "لا شيء مستنتج لهذا الجدول.";
1362
+ readonly overrideBadge: "تجاوز";
1363
+ readonly overrides: "علاقات التجاوز (المطبَّقة)";
1364
+ readonly suppress: "استبعاد";
1365
+ readonly suppressed: "مستبعدة";
871
1366
  readonly toColumn: "إلى العمود";
872
- readonly cardinality: "التعددية";
873
- readonly addButton: "إضافة علاقة";
874
- };
875
- readonly toast: {
876
- readonly saved: "تم حفظ تجاوزات المخطط";
877
- readonly savedDetail: "يعكس المخطط المطبَّق أدناه تغييراتك.";
878
- readonly regenerated: "{created} أُنشئت · {updated} حُدّثت · {unchanged} لم تتغير";
879
- readonly regeneratedDetail: "تُحفظ الصفحات التي حرّرتها يدويًا — لم يُعَد التوليد في مكانه إلا للصفحات التي بقي generated_hash الخاص بها دون تعديل.";
880
- readonly regenerateFailed: "فشلت إعادة التوليد";
1367
+ readonly toTable: "إلى الجدول";
881
1368
  };
882
- readonly title: "إعادة تعيين المخطط";
883
- readonly subtitle: "{tables} جدولًا · {applied} تجاوزًا مطبَّقًا";
884
1369
  readonly saveFailed: "فشل الحفظ: {message}";
885
- readonly loadFailed: "تعذّر تحميل المخطط لهذا الاتصال.";
886
- readonly inspector: "الفاحص";
887
- readonly empty: {
888
- readonly title: "اختر جدولًا أو عمودًا";
889
- readonly description: "حدد عنصرًا في شجرة المخطط لإعادة تعيين تسميته أو نوعه أو علاقاته أو إخفائه.";
1370
+ readonly subtitle: "{tables} جدولًا · {applied} تجاوزًا مطبَّقًا";
1371
+ readonly table: {
1372
+ readonly hierarchy: "التسلسل الهرمي";
1373
+ readonly icon: "الأيقونة";
1374
+ readonly iconPicker: "أيقونة الجدول";
1375
+ readonly include: "التضمين في التطبيق المولَّد";
1376
+ readonly includeHelper: "الجداول المستبعدة لا تحصل على صفحات وتختفي من التنقل.";
1377
+ readonly kind: "النوع";
1378
+ readonly labelHelper: "المستنتج: {name}";
1379
+ readonly labelOverride: "تسمية العرض";
1380
+ readonly navGroup: "مجموعة التنقل";
1381
+ readonly navGroupHelper: "يقرر المولِّد موضع التنقل — تجاوز table.navGroup ليس ضمن مفردات v1.";
1382
+ readonly polymorphic: "أزواج متعددة الأشكال";
1383
+ readonly role: "الدور";
1384
+ readonly rows: "تقدير عدد الصفوف";
1385
+ readonly selfFk: "مرجع ذاتي عبر {column}";
1386
+ readonly shape: "شكل الجدول (مصنَّف)";
1387
+ readonly shapeHelper: "يُعاد حساب التصنيف مع كل استبطان؛ وتُطبَّق التجاوزات فوقه وتبقى بعد إعادة التوليد.";
1388
+ readonly system: "نظام";
1389
+ readonly unclassified: "غير مصنَّف";
890
1390
  };
891
1391
  readonly tabs: {
892
1392
  readonly details: "التفاصيل";
893
1393
  readonly relations: "العلاقات";
894
1394
  };
1395
+ readonly title: "المخطّط";
1396
+ readonly toast: {
1397
+ readonly regenerateFailed: "فشلت إعادة التوليد";
1398
+ readonly regenerated: "{created} أُنشئت · {updated} حُدّثت · {unchanged} لم تتغير";
1399
+ readonly regeneratedDetail: "تُحفظ الصفحات التي حرّرتها يدويًا — لم يُعَد التوليد في مكانه إلا للصفحات التي بقي generated_hash الخاص بها دون تعديل.";
1400
+ readonly saved: "تم حفظ تجاوزات المخطط";
1401
+ readonly savedDetail: "يعكس المخطط المطبَّق أدناه تغييراتك.";
1402
+ };
895
1403
  readonly tree: {
1404
+ readonly collapse: "طي الجدول";
1405
+ readonly excluded: "مستبعد";
1406
+ readonly expand: "توسيع الجدول";
896
1407
  readonly label: "المخطط";
1408
+ readonly noMatches: "لا توجد جداول تطابق بحثك.";
897
1409
  readonly search: "البحث في الجداول والأعمدة";
898
1410
  readonly searchPlaceholder: "ابحث في الجداول…";
899
- readonly noMatches: "لا توجد جداول تطابق بحثك.";
900
- readonly collapse: "طي الجدول";
901
- readonly expand: "توسيع الجدول";
902
1411
  readonly unsaved: "تغيير غير محفوظ";
903
- readonly excluded: "مستبعد";
904
- };
905
- readonly badge: {
906
- readonly pk: "PK";
907
- readonly fk: "FK";
908
- readonly unique: "UNIQUE";
909
- readonly pii: "بيانات شخصية";
910
- readonly masked: "مخفي";
911
1412
  };
912
- readonly unavailableTitle: "محرّر إعادة تعيين المخطط غير متوفر";
913
1413
  readonly unavailableBody: "لا يتضمّن هذا الإصدار محرّر إعادة التعيين بعد (09-T12). أعد تشغيل التوليد بعد وصوله لإعادة تعيين التسميات والأنواع والعلاقات.";
1414
+ readonly unavailableTitle: "محرّر إعادة تعيين المخطط غير متوفر";
914
1415
  };
915
- readonly publicApi: {
916
- readonly error: "Something went wrong";
917
- readonly scopes: {
918
- readonly deleteTitle: "Delete this scope";
919
- readonly deleteBody: "Any page using a key bound to this scope stops loading data. Keys are not deleted — revoke them first if that is what you meant.";
920
- readonly deletePrompt: "Type the scope name to confirm";
921
- readonly deleteConfirm: "Delete scope";
922
- readonly issuesTitle: "This scope did not compile";
923
- readonly title: "Scopes";
924
- readonly subtitle: "A scope is the whole of what a key may reach — the tables, the exact columns, and a filter the caller can narrow but never remove.";
925
- readonly emptyTitle: "No scopes yet";
926
- readonly emptyBody: "Create one below. It is checked against your live schema before it is saved.";
927
- readonly keyCount: "{count, plural, =0 {no keys} one {# key} other {# keys}}";
928
- readonly delete: "Delete";
929
- readonly nameLabel: "Name";
930
- readonly connectionLabel: "Connection ID";
931
- readonly documentLabel: "Scope document";
932
- readonly documentHint: "Compiled against your schema when you save. Every column a caller can reach is listed here and nowhere else.";
933
- readonly create: "Create scope";
934
- readonly formLabel: "Create a scope";
935
- };
936
- readonly cancel: "Cancel";
937
- readonly close: "Close";
938
- readonly title: "Public API";
939
- readonly subtitle: "Let your own customer- or staff-facing pages read this database, through a scope you define.";
940
- readonly notRegistered: {
941
- readonly title: "Not enabled on this server";
942
- readonly body: "Set ADMINIUM_PUBLIC_API_ORIGINS to the exact origins allowed to call it, then restart. Until then these routes are not served at all.";
943
- };
944
- readonly toggle: {
945
- readonly label: "Serve the public API";
946
- readonly hint: "Turning this off stops every public request immediately. Nothing is deleted — keys, scopes and data all survive.";
947
- };
948
- readonly origins: {
949
- readonly label: "Origins allowed to call it";
1416
+ readonly review: {
1417
+ readonly unavailableBody: "لا يتضمّن هذا الإصدار شاشة مراجعة الإثراء بعد (06-T14). ستصل مع تدفق الفرق والتطبيق.";
1418
+ readonly unavailableTitle: "شاشة المراجعة غير متوفرة";
1419
+ };
1420
+ readonly settings: {
1421
+ readonly globalDefaultsNav: "الإعدادات الافتراضية العامة";
1422
+ readonly title: "الإعدادات";
1423
+ readonly workspaceSection: "مساحة العمل";
1424
+ };
1425
+ readonly settingsAi: {
1426
+ readonly byo: {
1427
+ readonly body: "يستطيع Studio توليد مطالبة مكتفية ذاتيًا من مخططك. شغّلها في Claude Code أو ChatGPT أو أي أداة تفضّلها، ثم الصق JSON الذي تعيده في معالج الاتصال. نفس التحقق ونفس المراجعة ونفس النتيجة كالمسار المباشر.";
1428
+ readonly guarantee1: "تحمل المطالبة مخططك والإحصاءات المجمّعة فقط ولا تحمل بيانات الصفوف افتراضيًا أبدًا.";
1429
+ readonly guarantee2: "لا تُضمَّن أي بيانات اعتماد أو عنوان URL للنسخة أو معرّفات.";
1430
+ readonly guarantee3: "عمليات BYO لا تُجري أي اتصالات شبكية.";
1431
+ readonly guaranteeTitle: "ضمان الخلو من القياس عن بُعد";
1432
+ readonly heading: "لا مفتاح؟ استخدم أداة الذكاء الاصطناعي الخاصة بك";
1433
+ readonly headingRecommended: "استخدم أداة الذكاء الاصطناعي الخاصة بك دون الحاجة إلى مفتاح";
1434
+ readonly promptVersion: "المطالبة {version}";
1435
+ readonly recommended: "موصى به";
1436
+ readonly schemaVersion: "المخطط {version}";
1437
+ readonly subtitle: "رحلة النسخ واللصق — لا يغادر أي شيء هذا الجهاز.";
950
1438
  };
951
- readonly keys: {
952
- readonly title: "Keys";
953
- readonly subtitle: "These go in your page’s JavaScript, so anyone can read them. That is expected — a key can only ever do what its scope allows.";
954
- readonly emptyTitle: "No keys yet";
955
- readonly emptyBody: "Create a scope first, then mint a key for it.";
956
- readonly reveal: "Show key";
957
- readonly rotate: "Rotate";
958
- readonly revoke: "Revoke";
959
- readonly nameLabel: "Name";
960
- readonly scopeLabel: "Scope";
961
- readonly scopePlaceholder: "Choose a scope";
962
- readonly create: "Create key";
963
- readonly formLabel: "Create a key";
964
- readonly scopeIsAuthTitle: "The scope is the only permission";
965
- readonly scopeIsAuthBody: "A key can reach exactly what its scope lists and nothing else. It does not use roles or table permissions, and it cannot read anything through the rest of the API.";
966
- readonly appLabel: "اربطه بواجهة تطبيق مستضافة (اختياري)";
967
- readonly appHint: "تقدّم واجهة العملاء في التطبيق هذا المفتاح بنفسها — وتدويره لا يحتاج إعادة بناء.";
968
- readonly appNone: "غير مرتبط";
1439
+ readonly configure: {
1440
+ readonly heading: "تهيئة {provider}";
969
1441
  };
970
- readonly status: {
971
- readonly heading: "Status";
1442
+ readonly field: {
1443
+ readonly baseUrl: "عنوان URL الأساسي";
1444
+ readonly baseUrlHelper: "جذر نقطة النهاية الذي يخدم ‎/chat/completions.";
1445
+ readonly baseUrlOptional: "اتركه كما هو ما لم يكن Ollama يعمل على مضيف آخر.";
1446
+ readonly key: "مفتاح API";
1447
+ readonly keyMask: "sk-…{last4}";
1448
+ readonly keyOptional: "اختياري — بعض نقاط النهاية لا تحتاج إلى مفتاح.";
1449
+ readonly keyReplace: "استبدال المفتاح";
1450
+ readonly keyStored: "مخزَّن مشفّرًا. استبدله لاستخدام مفتاح مختلف.";
1451
+ readonly keyWriteOnly: "للكتابة فقط: بمجرد حفظه لا يُعرض مرة أخرى أبدًا.";
1452
+ readonly model: "النموذج";
1453
+ readonly modelFreeText: "أدخل معرّف النموذج الدقيق الذي تخدمه نقطة النهاية لديك.";
1454
+ readonly modelLive: "تم التحميل مباشرة من المزوّد.";
1455
+ readonly modelLoading: "جارٍ التحميل…";
1456
+ readonly modelPlaceholder: "اختر نموذجًا…";
1457
+ readonly modelStatic: "قائمة موثوقة؛ اكتب معرّفًا مخصصًا بعد الحفظ لتحديثها.";
1458
+ readonly noKeyBody: "يعمل Ollama محليًا، لذا لا يغادر أي شيء هذا الجهاز.";
1459
+ readonly noKeyTitle: "لا حاجة إلى مفتاح API";
972
1460
  };
973
- };
974
- readonly hostedApps: {
975
- readonly title: "التطبيقات المستضافة";
976
- readonly subtitle: "واجهات التطبيقات التي يقدّمها هذا الخادم — أين تظهر كلٌّ منها، والنطاقات الموجّهة إليها.";
977
- readonly error: "حدث خطأ ما";
978
- readonly emptyTitle: "لا تُقدَّم أي واجهات تطبيقات";
979
- readonly emptyBody: "وجّه ADMINIUM_SURFACES_DIR إلى مجلد يضم الواجهات المبنية — مجلد لكل تطبيق وجهة، وبداخله index.html — ثم أعد التشغيل. تُقدَّم بعدها تحت ‎/apps/‎ وتظهر هنا.";
980
- readonly surfaces: {
981
- readonly title: "الواجهات";
982
- readonly subtitle: "واجهة الموظفين يمكن أن تندمج في الشريط الجانبي لهذه اللوحة أو تبقى مستقلة؛ وواجهة العملاء عامة وتقرأ عبر مفتاحها المرتبط.";
983
- readonly staff: "الموظفون";
984
- readonly customer: "العملاء";
985
- readonly noNav: "الدمج الداخلي غير متاحأعد بناء هذه الواجهة بأحدث أدوات البناء حتى تُصدر surface.json.";
986
- readonly noKey: "لا يوجد مفتاح مرتبط — لا يمكن لهذه الواجهة قراءة البيانات حتى يُنشأ لها مفتاح.";
987
- readonly mintLink: "أنشئ واحدًا من واجهة برمجة التطبيقات العامة";
988
- readonly boundKey: "تقدّم المفتاح";
989
- readonly placementLabel: "الموضع";
990
- readonly placementInternal: "في الشريط الجانبي (مدمجة)";
991
- readonly placementExternal: "خارجية (عنوانها الخاص فقط)";
992
- readonly connectionLabel: "يقرأ من";
993
- readonly connectionUnset: "أي اتصال يعمل";
1461
+ readonly history: {
1462
+ readonly byo: "BYO";
1463
+ readonly colChunks: "الأجزاء";
1464
+ readonly colDate: "التاريخ";
1465
+ readonly colSource: "المصدر";
1466
+ readonly colStatus: "الحالة";
1467
+ readonly connection: "الاتصال";
1468
+ readonly directPath: "مباشر";
1469
+ readonly empty: "لا توجد عمليات إثراء بعد. أثرِ مخططًا من معالج الاتصال لعرض السجل هنا.";
1470
+ readonly errorBody: "أعد تحميل الصفحة للمحاولة مرة أخرى.";
1471
+ readonly errorTitle: "تعذّر تحميل العمليات";
1472
+ readonly heading: "سجل العمليات";
1473
+ readonly noConnections: "اربط قاعدة بيانات أولًاتُسجَّل عمليات الإثراء لكل اتصال على حدة.";
1474
+ readonly openReview: "افتح مراجعة العملية بتاريخ {date}";
1475
+ readonly subtitle: "عمليات الإثراء السابقة. افتح إحداها لمراجعة اقتراحاتها.";
1476
+ readonly tableLabel: "عمليات الإثراء";
994
1477
  };
995
- readonly domains: {
996
- readonly title: "النطاقات";
997
- readonly subtitle: "وجّه DNS النطاق إلى الخادم الوسيط لديك، ومرّر ترويسة Host إلى Adminium، ثم أرفقه هنا — فيقدّم هذا المضيف الواجهة بدل هذه اللوحة. تبقى الشهادات على الخادم الوسيط.";
998
- readonly issuesTitle: "رُفضت خريطة النطاقات";
999
- readonly savedTitle: "تم الحفظ";
1000
- readonly savedBody: "تسري الارتباطات خلال ثوانٍ قليلة. لا يستجيب المضيف إلا عندما يصل DNS الخاص به وخادمك الوسيط فعلًا إلى هذا الخادم.";
1001
- readonly none: "لا توجد نطاقات مرفقة.";
1002
- readonly hostLabel: "المضيف";
1003
- readonly surfaceLabel: "الواجهة";
1004
- readonly remove: "إزالة";
1005
- readonly add: "إرفاق نطاق";
1006
- readonly save: "حفظ النطاقات";
1007
- readonly instanceLabel: "النسخة";
1008
- readonly instanceOwn: "التطبيق نفسه";
1478
+ readonly provider: {
1479
+ readonly active: "نشط";
1480
+ readonly anthropic: {
1481
+ readonly desc: "نماذج Claude عبر واجهة Anthropic البرمجية.";
1482
+ readonly label: "Anthropic";
1483
+ };
1484
+ readonly heading: "مزوّد الذكاء الاصطناعي";
1485
+ readonly networkDisabledBody: "تم إعداد نسخة Adminium هذه دون وصول صادر إلى الإنترنت، لذا لا يمكنها الوصول إلى واجهة أي مزوّد. استخدم دورة النسخ واللصق أدناه — لا تحتاج إلى مفتاح ولا إلى شبكة.";
1486
+ readonly networkDisabledTitle: "مزوّدو الذكاء الاصطناعي المباشرون معطَّلون في هذا التثبيت";
1487
+ readonly ollama: {
1488
+ readonly desc: "نماذج تعمل محليًا عبر Ollama — بدون مفتاح وبدون سحابة.";
1489
+ readonly label: "Ollama (محلي)";
1490
+ };
1491
+ readonly openai: {
1492
+ readonly desc: "نماذج GPT عبر واجهة OpenAI البرمجية.";
1493
+ readonly label: "OpenAI";
1494
+ };
1495
+ readonly openaiCompatible: {
1496
+ readonly desc: "أي نقطة نهاية تتحدث بتنسيق OpenAI — Groq وTogether وvLLM وLM Studio.";
1497
+ readonly label: "متوافق مع OpenAI";
1498
+ };
1499
+ readonly requiresNetwork: "يتطلب اتصالاً بالإنترنت ومفتاح API";
1500
+ readonly subtitle: "اختر كيف يصل Adminium إلى نموذج لإثراء مخططك. تُخزَّن المفاتيح مشفّرة ولا تُعرض مرة أخرى أبدًا.";
1009
1501
  };
1010
- readonly instances: {
1011
- readonly title: "النسخ";
1012
- readonly body: "قدّم التطبيق نفسه على أكثر من قاعدة بيانات. كل نسخة متاحة على /apps/<app>/<segment>/<side>/ ولا تقرأ سوى الاتصال الذي تحدّده لها.";
1013
- readonly appLabel: "التطبيق";
1014
- readonly slugLabel: "مقطع الرابط";
1015
- readonly readsLabel: "يقرأ من";
1016
- readonly add: "إضافة نسخة";
1017
- readonly save: "حفظ النسخ";
1018
- readonly remove: "إزالة";
1019
- readonly empty: "لا توجد نسخ إضافية.";
1020
- readonly failed: "تعذّر حفظ النسخ";
1502
+ readonly runStatus: {
1503
+ readonly applied: "مطبَّق";
1504
+ readonly awaitingResponse: "في انتظار الرد";
1505
+ readonly discarded: "مُهمَل";
1506
+ readonly draft: "مسودة";
1507
+ readonly failed: "فشل";
1508
+ readonly partiallyApplied: "مطبَّق جزئيًا";
1509
+ readonly running: "قيد التشغيل";
1510
+ readonly validated: "تم التحقق";
1021
1511
  };
1512
+ readonly save: "حفظ المزوّد";
1513
+ readonly saveFailed: "تعذّر حفظ مزوّد الذكاء الاصطناعي. حاول مرة أخرى.";
1514
+ readonly saved: "تم حفظ مزوّد الذكاء الاصطناعي";
1515
+ readonly subtitle: "اربط نموذجًا ليقترح Adminium التسميات والمجموعات والعلاقات والمزيد — تُراجَع دائمًا كفرق قبل تطبيق أي شيء.";
1516
+ readonly test: "اختبار الاتصال";
1517
+ readonly testError: "فشل الاختبار";
1518
+ readonly testErrorBody: "تعذّر الوصول إلى المزوّد. تحقق من المفتاح وعنوان URL الأساسي.";
1519
+ readonly testHintDirty: "احفظ تغييراتك قبل الاختبار.";
1520
+ readonly testOk: "تم الاتصال بـ {model} خلال {latency} مللي ثانية";
1521
+ readonly testUnknownModel: "المزوّد";
1522
+ readonly testing: "جارٍ التواصل مع المزوّد…";
1523
+ readonly title: "الإثراء بالذكاء الاصطناعي";
1022
1524
  };
1023
- readonly addOns: {
1024
- readonly plan: {
1025
- readonly blocked: "This cannot be installed here";
1026
- readonly needsColumns: "This add-on needs columns you do not have";
1027
- readonly needsColumnsBody: "Adminium will not add columns to tables you already own. Add them yourself, then install.";
1028
- readonly willCreate: "This will create tables in your database";
1029
- readonly willCreateBody: "Installing creates these tables. Uninstalling later leaves them, and their data, alone.";
1030
- readonly noData: "This add-on reads and writes no tables of its own.";
1031
- readonly reuse: "This add-on will use tables you already have:";
1525
+ readonly settingsHub: {
1526
+ readonly addOnsCard: {
1527
+ readonly body: "تصفَّح الإضافات وثبِّتها واربطها — كتل إضافية وحِزم بيانات وتكاملات — أو ارفع واحدة بنفسك.";
1528
+ readonly cta: "فتح الإضافات";
1529
+ readonly heading: "الإضافات";
1032
1530
  };
1033
- readonly consent: {
1034
- readonly title: "Install {name}";
1035
- readonly subtitle: "What this add-on will do, before it can do it.";
1036
- readonly close: "Close";
1037
- readonly loading: "Working out what this would do…";
1038
- readonly hosts: "Attach to";
1039
- readonly cancel: "Cancel";
1040
- readonly confirm: "Install";
1531
+ readonly aiCard: {
1532
+ readonly body: "هيّئ مزوّد ذكاء اصطناعي (أو رحلة النسخ واللصق) لإثراء التسميات والمجموعات والعلاقات.";
1533
+ readonly cta: "فتح إعدادات الذكاء الاصطناعي";
1534
+ readonly heading: "الإثراء بالذكاء الاصطناعي";
1041
1535
  };
1042
- readonly connect: {
1043
- readonly apiKey: "API key";
1044
- readonly submit: "Connect";
1536
+ readonly danger: {
1537
+ readonly deleteCta: "حذف الاتصال";
1538
+ readonly deleteDesc: "يحذف الاتصال والصفحات المولّدة منه. لن تُمسّ قاعدة بياناتك. لا يمكن التراجع عن هذا الإجراء.";
1539
+ readonly empty: "لا شيء للحذف — لا اتصالات بعد.";
1540
+ readonly heading: "منطقة الخطر";
1541
+ readonly subtitle: "إجراءات لا يمكن التراجع عنها.";
1045
1542
  };
1046
- readonly title: "Add-ons";
1047
- readonly subtitle: "Extra capabilities you can add to your apps shipping, artwork, data. Each one says what it needs before you install it.";
1048
- readonly error: "Something went wrong";
1049
- readonly browse: {
1050
- readonly title: "Available";
1051
- readonly online: "Includes add-ons from the online catalogue. Checking for newer versions is a separate action.";
1052
- readonly offline: "Showing the add-ons that came with this build. Browsing online is switched off, and nothing here has contacted the internet.";
1053
- readonly refresh: "Check for newer";
1054
- readonly emptyTitle: "No add-ons available";
1055
- readonly emptyBody: "This build shipped none, and the online catalogue is off.";
1056
- readonly bundled: "Included";
1057
- readonly upgrade: "v{version} available";
1058
- readonly download: "Download";
1059
- readonly install: "Install";
1060
- readonly discard: "Discard";
1061
- readonly upgradeAction: "Upgrade";
1062
- readonly toggle: "Browse the online catalogue";
1543
+ readonly defaultsCard: {
1544
+ readonly body: "إعدادات السمة ولون التمييز والكثافة واللغة على مستوى مساحة العمل موجودة ضمن الإعدادات الافتراضية العامة.";
1545
+ readonly cta: "فتح الإعدادات الافتراضية العامة";
1546
+ readonly heading: "الإعدادات الافتراضية للمظهر واللغة";
1063
1547
  };
1064
- readonly installed: {
1065
- readonly title: "Installed";
1066
- readonly emptyTitle: "Nothing installed yet";
1067
- readonly emptyBody: "Install an add-on above and it will appear here with its hosts and connection.";
1068
- readonly connected: "Connected";
1069
- readonly notConnected: "Not connected";
1070
- readonly egress: "May contact: {hosts}";
1071
- readonly on: "on";
1072
- readonly off: "off";
1073
- readonly disconnect: "Disconnect";
1074
- readonly uninstall: "Uninstall";
1548
+ readonly email: {
1549
+ readonly attachmentCap: {
1550
+ readonly error: "بين {min, number} و{max, number} ميغابايت.";
1551
+ readonly helper: "أقصى حجم للمرفقات في الرسالة الواحدة.";
1552
+ readonly label: "حد المرفقات (ميغابايت)";
1553
+ };
1554
+ readonly from: {
1555
+ readonly error: "أدخل عنوان بريد إلكتروني.";
1556
+ readonly helper: "العنوان وحده، أو اسم معروض قبله.";
1557
+ readonly label: "عنوان المُرسِل";
1558
+ };
1559
+ readonly heading: "البريد الإلكتروني (SMTP)";
1560
+ readonly host: {
1561
+ readonly error: "اسم مضيف أو عنوان IP فقط — بدون بروتوكول أو منفذ أو بيانات اعتماد.";
1562
+ readonly label: "مضيف SMTP";
1563
+ };
1564
+ readonly pass: {
1565
+ readonly error: "اسم المستخدم هذا يحتاج إلى كلمة مرور.";
1566
+ readonly helper: "تُخزَّن مشفَّرة ولا تُعرض مرة أخرى. اتركها فارغة للإبقاء على الحالية.";
1567
+ readonly label: "كلمة المرور";
1568
+ };
1569
+ readonly port: {
1570
+ readonly error: "بين {min, number} و{max, number}.";
1571
+ readonly label: "المنفذ";
1572
+ };
1573
+ readonly remove: "إزالة خادم البريد";
1574
+ readonly review: {
1575
+ readonly password: "استُبدلت";
1576
+ readonly removed: "أُزيل";
1577
+ };
1578
+ readonly secure: {
1579
+ readonly helper: "مُفعَّل للمنفذ 465. عند الإيقاف يبدأ الاتصال بنص واضح ثم يُرقَّى عبر STARTTLS، وهو ما يتوقعه المنفذ 587.";
1580
+ readonly label: "TLS ضمني";
1581
+ };
1582
+ readonly senders: {
1583
+ readonly add: "إضافة مرسل";
1584
+ readonly address: "العنوان";
1585
+ readonly error: "أدخل عنوان بريد إلكتروني.";
1586
+ readonly heading: "المرسلون";
1587
+ readonly helper: "العناوين التي يمكن إرسال البريد منها. عنوان مرسل SMTP متاح دائمًا.";
1588
+ readonly implicit: "عنوان مرسل SMTP";
1589
+ readonly name: "الاسم المعروض";
1590
+ readonly remove: "إزالة المرسل";
1591
+ readonly review: "المرسلون";
1592
+ };
1593
+ readonly unconfigured: "لا يوجد خادم بريد مُعدّ، لذلك لا يستطيع Adminium إرسال إعادة تعيين كلمات المرور أو دعوات المستخدمين أو التقارير المجدولة.";
1594
+ readonly user: {
1595
+ readonly helper: "اتركه فارغًا إذا كان المُرحِّل لا يطلب مصادقة.";
1596
+ readonly label: "اسم المستخدم";
1597
+ };
1075
1598
  };
1076
- readonly confirm: {
1077
- readonly close: "Close";
1078
- readonly disconnectTitle: "Disconnect this add-on";
1079
- readonly uninstallTitle: "Uninstall this add-on";
1080
- readonly discardTitle: "Discard this download";
1081
- readonly disconnectBody: "Its keys are deleted and it stops making calls. Every table and every row it created stays exactly as it is, and you can reconnect at any time.";
1082
- readonly uninstallBody: "Its keys are deleted and its files are removed from this server. Every table and every row it created stays exactly as it is. You can install it again later.";
1083
- readonly discardBody: "The downloaded files are deleted. Nothing was installed, so nothing else changes — you can download it again whenever you like.";
1084
- readonly cancel: "Cancel";
1085
- readonly disconnect: "Disconnect";
1086
- readonly uninstall: "Uninstall";
1087
- readonly discard: "Discard";
1599
+ readonly identity: {
1600
+ readonly appName: {
1601
+ readonly error: "أدخل اسمًا لا يتجاوز 60 حرفًا.";
1602
+ readonly helper: "يظهر في الشريط الجانبي وعنوان المتصفح ورسائل البريد الإلكتروني.";
1603
+ readonly label: "اسم التطبيق";
1604
+ };
1605
+ readonly heading: "هوية مساحة العمل";
1606
+ readonly logo: {
1607
+ readonly badType: "اختر صورة PNG أو JPEG أو WebP أو GIF أو SVG.";
1608
+ readonly drop: "أفلِت صورة هنا";
1609
+ readonly helper: "PNG أو JPEG أو WebP أو GIF أو SVG بحجم أقصاه 1 ميغابايت. يحل محل العلامة المدمجة في كل مكان.";
1610
+ readonly label: "الشعار";
1611
+ readonly remove: "إزالة";
1612
+ readonly removed: "تمت إزالة الشعار";
1613
+ readonly replace: "استبدال الشعار";
1614
+ readonly tooLarge: "حجم الصورة أكبر من 1 ميغابايت.";
1615
+ readonly undo: "تراجع";
1616
+ readonly upload: "رفع شعار";
1617
+ readonly uploaded: "تم تحديث الشعار";
1618
+ };
1619
+ readonly showVersion: {
1620
+ readonly helper: "رقم الإصدار بجوار الشعار. إيقافه يخفي الإصدار الذي تشغّله.";
1621
+ readonly label: "الإصدار في الشريط الجانبي";
1622
+ };
1088
1623
  };
1089
- readonly upgradeNote: "Upgrading keeps the hosts an add-on is attached to and the connection it already has.";
1090
- readonly job: {
1091
- readonly title: "Downloading";
1092
- readonly body: "Fetching and verifying. Nothing is installed until you say so.";
1093
- readonly failed: "The download did not finish. Nothing was installed.";
1624
+ readonly pagesCard: {
1625
+ readonly body: "أضف الصفحات وحرّرها واحذفها، وغيّر ما تعرضه كل صفحة، وأعد ترتيب الشريط الجانبي.";
1626
+ readonly cta: "إدارة الصفحات";
1627
+ readonly heading: "الصفحات";
1094
1628
  };
1095
- readonly veto: {
1096
- readonly title: "This deployment cannot browse online";
1097
- readonly body: "The setting is saved, but network features are off for this server and that wins. Downloaded add-ons still work, and you can still upload one yourself.";
1629
+ readonly publicApiCard: {
1630
+ readonly body: "اسمح لصفحاتك الموجَّهة للعملاء أو للموظفين بقراءة قاعدة البيانات هذه، عبر نطاق تحدده أنت.";
1631
+ readonly cta: "فتح واجهة API العامة";
1632
+ readonly heading: "واجهة API العامة";
1098
1633
  };
1099
- readonly sideload: {
1100
- readonly title: "Upload a package";
1101
- readonly hint: "For a server with no internet. It is checked exactly as a download would be, so it needs the hash that came with it.";
1102
- readonly file: "Package file (.tgz)";
1103
- readonly key: "Add-on key";
1104
- readonly version: "Version";
1105
- readonly sha: "Integrity (sha512-…)";
1106
- readonly shaHint: "The `integrity` value `npm pack --json` printed. The upload is refused if the bytes do not match.";
1107
- readonly submit: "Upload";
1634
+ readonly review: {
1635
+ readonly cancel: "إلغاء";
1636
+ readonly change: "{before} {after}";
1637
+ readonly close: "إغلاق";
1638
+ readonly confirm: "حفظ التغييرات";
1639
+ readonly hidden: "مخفي";
1640
+ readonly off: "متوقف";
1641
+ readonly on: "مفعّل";
1642
+ readonly shown: "ظاهر";
1643
+ readonly subtitle: "راجع تغييراتك قبل الحفظ.";
1644
+ readonly title: "حفظ إعدادات مساحة العمل";
1108
1645
  };
1109
- };
1110
- readonly pages: {
1111
- readonly title: "الصفحات";
1112
- readonly subtitle: "أضف صفحات تطبيقك وحرّرها ونظّمها، وكذلك ترتيب ظهورها في الشريط الجانبي.";
1113
- readonly createButton: "صفحة جديدة";
1114
- readonly loadFailed: {
1115
- readonly title: "تعذّر تحميل الصفحات";
1116
- readonly body: "تتطلب إدارة الصفحات صلاحية «إدارة الصفحات». اطلب من أحد المسؤولين منحها لأحد أدوارك.";
1646
+ readonly save: "حفظ التغييرات";
1647
+ readonly saveFailed: "تعذّر حفظ إعدادات مساحة العمل. حاول مرة أخرى.";
1648
+ readonly saved: "تم تحديث إعدادات مساحة العمل";
1649
+ readonly security: {
1650
+ readonly allowSignup: {
1651
+ readonly desc: "يمكن لأي شخص إنشاء حساب — عند الإيقاف تبقى مساحة العمل بالدعوة فقط.";
1652
+ readonly label: "السماح بالتسجيل الذاتي";
1653
+ };
1654
+ readonly heading: "الأمان";
1655
+ readonly passwordMin: {
1656
+ readonly error: "بين {min, number} و{max, number} حرفًا.";
1657
+ readonly label: "الحد الأدنى لطول كلمة المرور";
1658
+ };
1659
+ readonly require2fa: {
1660
+ readonly desc: "يجب على كل عضو تفعيل المصادقة الثنائية لتسجيل الدخول.";
1661
+ readonly label: "فرض المصادقة الثنائية";
1662
+ readonly note: "إرشادي وليس مانعًا: يُوجَّه الأعضاء بلا مصادقة ثنائية إلى إعدادها ولا يمكنهم إيقافها بعد ذلك، لكن تسجيل دخولهم لا يُمنع أبدًا، ومفاتيح API غير متأثرة.";
1663
+ };
1664
+ readonly sessionTtl: {
1665
+ readonly error: "بين {min, number} و{max, number} ساعة.";
1666
+ readonly label: "مدة الجلسة (بالساعات)";
1667
+ };
1117
1668
  };
1118
- readonly tab: {
1119
- readonly pages: "كل الصفحات";
1120
- readonly sidebar: "ترتيب الشريط الجانبي";
1669
+ readonly storageCard: {
1670
+ readonly body: "اختر أين تعيش الملفات المرفوعة وملفات التصدير وغيرها من البايتات المخزَّنة — هذا الخادم، أو حاوية، أو خادمك الخاص.";
1671
+ readonly cta: "فتح التخزين";
1672
+ readonly heading: "التخزين";
1121
1673
  };
1122
- readonly list: {
1123
- readonly title: "الصفحات";
1124
- readonly count: "{count, plural, zero {لا صفحات} one {صفحة واحدة} two {صفحتان} few {# صفحات} many {# صفحة} other {# صفحة}}";
1674
+ readonly subtitle: "الهوية والأمان والإجراءات الخطرة لمساحة العمل هذه.";
1675
+ readonly superAdminOnly: "لا يمكن تغيير هوية مساحة العمل وإعدادات الأمان إلا لمشرف أعلى.";
1676
+ readonly superAdminOnlyTitle: "يتطلب مشرفًا أعلى";
1677
+ readonly title: "إعدادات مساحة العمل";
1678
+ readonly translationsCard: {
1679
+ readonly body: "أعد صياغة أي نص في Adminium، واختر اللغات المتاحة للناس، وأضف لغاتك الخاصة.";
1680
+ readonly cta: "فتح الترجمات";
1681
+ readonly heading: "اللغات والترجمات";
1125
1682
  };
1126
- readonly empty: {
1127
- readonly title: "لا توجد صفحات بعد";
1128
- readonly body: "اربط قاعدة بيانات لتوليد الصفحات تلقائيًا، أو أنشئ صفحة يدويًا.";
1683
+ };
1684
+ readonly source: {
1685
+ readonly dsn: {
1686
+ readonly helper: "postgres://user:password@host:5432/database — يعمل أيضًا mysql:// وsqlite:.";
1687
+ readonly incomplete: "أضف المضيف وقاعدة البيانات، مثل postgres://user@host:5432/db";
1688
+ readonly invalidScheme: "مخطط غير معروف — المتوقع postgres:// أو mysql:// أو mariadb:// أو sqlite:";
1689
+ readonly label: "سلسلة الاتصال";
1690
+ readonly quickFill: "تعبئة سريعة:";
1129
1691
  };
1130
- readonly status: {
1131
- readonly live: "مفعّلة";
1132
- readonly hidden: "مخفية";
1692
+ readonly engine: {
1693
+ readonly label: "محرّك قاعدة البيانات";
1694
+ readonly mysql: "MySQL / MariaDB";
1695
+ readonly postgres: "PostgreSQL";
1696
+ readonly sqlite: "SQLite";
1133
1697
  };
1134
- readonly origin: {
1135
- readonly generated: "مولّدة";
1136
- readonly manifest: "إضافة";
1137
- readonly llm: "المساعد";
1138
- readonly system: "النظام";
1139
- readonly user: "مخصّصة";
1698
+ readonly fields: {
1699
+ readonly database: "قاعدة البيانات";
1700
+ readonly host: "المضيف";
1701
+ readonly password: "كلمة المرور";
1702
+ readonly port: "المنفذ";
1703
+ readonly preview: "معاينة سلسلة الاتصال:";
1704
+ readonly ssl: "وضع SSL";
1705
+ readonly user: "المستخدم";
1140
1706
  };
1141
- readonly row: {
1142
- readonly menu: "إجراءات {title}";
1707
+ readonly file: {
1708
+ readonly columns: "أعمدة";
1709
+ readonly detectedAs: "تم اكتشاف: {format}";
1710
+ readonly dropHint: "SQL DDL / pg_dump وPrisma وDrizzle وTypeORM وSequelize وRails schema.rb ونماذج Django وAdminium JSON";
1711
+ readonly dropTitle: "أسقط ملف المخطط هنا، أو تصفّح";
1712
+ readonly errorTitle: "تعذّر تحليل الملف";
1713
+ readonly moreWarnings: "+{count} تحذيرات إضافية — تظهر القائمة الكاملة في خطوة التحليل.";
1714
+ readonly parseFailed: "تعذّر تحليل هذا الملف. إذا أخطأ الاكتشاف التلقائي، فاختر التنسيق صراحةً وأعد المحاولة.";
1715
+ readonly parsing: "جارٍ قراءة ملف المخطط المرفوع…";
1716
+ readonly pitch: "لا حاجة إلى اتصال بقاعدة البيانات — نحلّل ملف المخطط ونبني اللوحات نفسها.";
1717
+ readonly requestFailed: "فشل الرفع — تحقّق من اتصالك وأعد المحاولة.";
1718
+ readonly tables: "جداول";
1719
+ readonly unsupported: "تنسيق غير معروف — المدعوم: SQL DDL وPrisma وDrizzle وTypeORM وSequelize وRails schema.rb ونماذج Django وAdminium JSON. اختر واحدًا صراحةً وأعد المحاولة.";
1720
+ readonly warnings: "تحذيرات";
1143
1721
  };
1144
- readonly action: {
1145
- readonly edit: "تحرير الصفحة";
1146
- readonly duplicate: "تكرار";
1147
- readonly hide: "إخفاء من الشريط الجانبي";
1148
- readonly show: "إظهار في الشريط الجانبي";
1149
- readonly delete: "حذف الصفحة";
1722
+ readonly format: {
1723
+ readonly auto: "اكتشاف تلقائي";
1724
+ readonly django: "Django models.py";
1725
+ readonly drizzle: "Drizzle ORM";
1726
+ readonly helper: "اترك الاكتشاف التلقائي مفعّلًا ما لم يخطئ في التعرّف.";
1727
+ readonly json: "Adminium JSON";
1728
+ readonly label: "تنسيق المخطط";
1729
+ readonly prisma: "مخطط Prisma";
1730
+ readonly rails: "Rails schema.rb";
1731
+ readonly sequelize: "نماذج Sequelize";
1732
+ readonly sql: "SQL DDL / pg_dump";
1733
+ readonly typeorm: "كيانات TypeORM";
1150
1734
  };
1151
- readonly create: {
1152
- readonly title: "صفحة جديدة";
1153
- readonly failed: "تعذّر إنشاء الصفحة";
1154
- readonly submit: "إنشاء الصفحة";
1155
- readonly subtitle: "اختر ما تعرضه هذه الصفحة وكيف تبدو. المعاينة تتبع اختياراتك.";
1735
+ readonly mode: {
1736
+ readonly dsn: "سلسلة الاتصال";
1737
+ readonly fields: "حقول منفصلة";
1738
+ readonly file: "ملف المخطط";
1156
1739
  };
1157
- readonly duplicate: {
1158
- readonly title: "تكرار الصفحة";
1159
- readonly failed: "تعذّر تكرار الصفحة";
1160
- readonly submit: "تكرار";
1740
+ readonly modeLabel: "وضع إدخال المصدر";
1741
+ readonly name: "اسم الاتصال";
1742
+ readonly namePlaceholder: "Postgres للإنتاج";
1743
+ readonly readOnlyRole: {
1744
+ readonly body: "أثناء الإعداد يقرأ Adminium بيانات المخطّط الوصفية فقط — ولا يقرأ صفوفك أبدًا. ننصح بمستخدم مخصّص بصلاحيات SELECT فقط؛ ويمكنك تحديد مكان جداول Adminium الخاصة في خطوة تخزين البيانات الوصفية.";
1745
+ readonly title: "استخدم دورًا للقراءة فقط";
1746
+ };
1747
+ readonly sqlite: {
1748
+ readonly file: "مسار ملف قاعدة البيانات";
1749
+ readonly helper: "SQLite ملف وليس خادمًا — أدخل المسار المطلق على الجهاز الذي يشغّل Adminium.";
1161
1750
  };
1751
+ readonly subtitle: "وجّه Adminium إلى قاعدة بيانات وسننشئ لوحة إدارة من مخططها.";
1752
+ readonly title: "اربط قاعدة بياناتك";
1753
+ };
1754
+ readonly storage: {
1755
+ readonly actionFailed: "لم ينجح ذلك";
1756
+ readonly add: "إضافة وجهة";
1757
+ readonly availableOnDisk: "{size} متاح على هذا القرص";
1758
+ readonly default: "الافتراضية";
1759
+ readonly defaultBlockedByDisabled: "لا يمكن أن تكون وجهة معطَّلة هي الافتراضية. فعّلها أولًا.";
1162
1760
  readonly delete: {
1163
- readonly title: "هل تريد حذف هذه الصفحة؟";
1164
- readonly body: "لا يمكن التراجع عن ذلك. ستُحذف العروض المحفوظة والتخطيطات الشخصية لهذه الصفحة لدى الجميع.";
1165
- readonly bodyGenerated: "أُنشئت هذه الصفحة عبر توليد المخطّط، لذا ستعود في المرة التالية التي تعيد فيها التوليد. وستُحذف العروض المحفوظة والتخطيطات الشخصية لدى الجميع.";
1166
- readonly prompt: "اكتب {slug} للتأكيد";
1167
- readonly confirm: "حذف الصفحة";
1761
+ readonly blockedBody: "لا تزال {name} تحتوي على {count, plural, one {ملف واحد} two {ملفين} few {# ملفات} many {# ملفًا} other {# ملف}}. انقل هذه الملفات إلى وجهة أخرى أولًا، ثم احذفها.";
1762
+ readonly blockedTitle: "لا تزال هذه الوجهة تحتوي على ملفات";
1763
+ readonly body: "ينسى Adminium {name} وبيانات اعتمادها. ولا يُمسّ أي شيء مخزَّن فيها فالحاوية أو الخادم نفسه ملكك، وأي ملفات ما زالت مسجَّلة عليها ستمنع الحذف.";
1764
+ readonly confirm: "حذف الوجهة";
1765
+ readonly title: "حذف هذه الوجهة";
1766
+ };
1767
+ readonly deleteButton: "حذف";
1768
+ readonly disable: "تعطيل";
1769
+ readonly disabled: "معطَّلة";
1770
+ readonly driver: {
1771
+ readonly local: "مسار على هذا الجهاز";
1772
+ readonly s3: "حاوية متوافقة مع S3";
1773
+ readonly webdav: "خادم WebDAV";
1774
+ };
1775
+ readonly edit: "تحرير";
1776
+ readonly editor: {
1777
+ readonly createTitle: "إضافة وجهة";
1778
+ readonly editTitle: "تحرير الوجهة";
1779
+ readonly subtitle: "يقرأ Adminium ويكتب عبر هذه الوجهة نيابةً عنك؛ فهي بنية تحتية تتحكم فيها أنت.";
1168
1780
  };
1781
+ readonly enable: "تفعيل";
1169
1782
  readonly field: {
1170
- readonly title: "العنوان";
1171
- readonly titleHint: "يظهر في الشريط الجانبي وفي ترويسة الصفحة.";
1172
- readonly slug: "مسار الصفحة";
1173
- readonly slugHint: "أحرف إنجليزية صغيرة وأرقام وشرطات. الجزء الأخير من المسار فقط يُضاف الباقي تلقائيًا.";
1174
- readonly slugTaken: "يستخدم هذا المسار صفحة أخرى بالفعل.";
1175
- readonly slugWarning: "تغيير المسار يُبطل الروابط والإشارات المرجعية الحالية إلى هذه الصفحة.";
1176
- readonly template: "القالب";
1177
- readonly templateHint: "يحدّد ما يمكن أن تحتويه الصفحة. يمكنك تغييره لاحقًا.";
1178
- readonly group: "مجموعة الشريط الجانبي";
1179
- readonly groupHint: "القسم الذي تظهر فيه ضمن الشريط الجانبي.";
1180
- readonly icon: "الأيقونة";
1181
- readonly iconHint: "تظهر بجوار اسم الصفحة في الشريط الجانبي.";
1182
- readonly visible: "إظهار في الشريط الجانبي";
1183
- readonly visibleHint: "تبقى الصفحة المخفية متاحة عبر رابطها لكل من يملك الرابط.";
1184
- readonly table: "الجدول";
1185
- readonly tableCreateHint: "الجدول الذي تقرأ منه هذه الصفحة. اختر واحدًا الآن لتصبح الصفحة جاهزة للاستخدام، أو اتركه فارغًا لربطه لاحقًا.";
1186
- readonly tableNone: "غير مرتبط";
1187
- readonly tableNeedsConnection: "اختر مصدر بيانات أولًا.";
1188
- readonly connection: "مصدر البيانات";
1189
- readonly connectionNone: "بدون";
1190
- readonly iconPick: "اختر أيقونة الصفحة";
1191
- readonly padding: "حشو الصفحة";
1192
- readonly width: "عرض المحتوى";
1193
- readonly widthHint: "إلى أي مدى يتّسع عمود محتوى الصفحة على الشاشات الكبيرة.";
1783
+ readonly accessKeyId: "معرّف مفتاح الوصول";
1784
+ readonly bucket: "الحاوية";
1785
+ readonly driver: "النوع";
1786
+ readonly driverLocked: "تغيير نوع وجهة تحتوي على ملفات بالفعل يجعل الوصول إلى تلك الملفات متعذّرًا.";
1787
+ readonly endpoint: "نقطة النهاية";
1788
+ readonly endpointDerived: "اتركها فارغة مع AWS نفسها فنقطة النهاية تُشتق من المنطقة.";
1789
+ readonly name: "الاسم";
1790
+ readonly namePlaceholder: "حاوية الملفات المرفوعة";
1791
+ readonly password: "كلمة المرور";
1792
+ readonly pathStyle: "العنونة بنمط المسار";
1793
+ readonly pathStyleToggle: "عنونة الحاوية كمسار بدلًا من اسم مضيف";
1794
+ readonly prefix: "البادئة";
1795
+ readonly prefixHelper: "مجلد داخل الوجهة. ووجهتان على حاوية واحدة لا تختلفان إلا هنا تتشاركان الحاوية دون أن تتشاركا مساحة الأسماء.";
1796
+ readonly preset: "المزوّد";
1797
+ readonly presetHelper: "يملأ نقطة النهاية والمنطقة ونمط العنونة. أما ما لا يستطيع المزوّد معرفته عن حسابك فيُترك فارغًا لتكتبه بنفسك.";
1798
+ readonly publicBaseUrl: "عنوان URL الأساسي العام";
1799
+ readonly publicBaseUrlHelper: "اختياري. المكان الذي يمكن قراءة هذه الكائنات منه دون Adminium — شبكة CDN أمام حاوية عامة. لا يُستخدم إلا عندما يخزّن العمود رابطًا.";
1800
+ readonly region: "المنطقة";
1801
+ readonly root: "المجلد";
1802
+ readonly rootHelper: "مسار مطلق يستطيع هذا الخادم الكتابة فيه — وحدة تخزين موصولة أو مشاركة شبكية. وليس المجلد الافتراضي، فهو أصلًا أول عنصر في القائمة.";
1803
+ readonly secretAccessKey: "مفتاح الوصول السرّي";
1804
+ readonly secretKept: "هناك مفتاح مخزَّن. اترك الحقلين فارغين للإبقاء عليه، أو املأهما معًا لاستبداله.";
1805
+ readonly url: "عنوان URL للمجموعة";
1806
+ readonly urlHelper: "المجموعة التي يكتب فيها Adminium، كما ينشرها خادمك.";
1807
+ readonly username: "اسم المستخدم";
1808
+ };
1809
+ readonly fileCount: "{count, plural, zero {لا ملفات} one {ملف واحد} two {ملفان} few {# ملفات} many {# ملفًا} other {# ملف}}";
1810
+ readonly kind: {
1811
+ readonly archive: "دفعات سجل التدقيق المؤرشفة";
1812
+ readonly branding: "شعار مساحة العمل";
1813
+ readonly export: "ملفات ناتجة عن تصدير البيانات";
1814
+ readonly import: "ملفات CSV المرفوعة وتقارير أخطائها";
1815
+ readonly schema: "ملفات المخطط المستوردة";
1816
+ readonly upload: "ملفات مرفقة بالسجلات";
1194
1817
  };
1195
- readonly editor: {
1196
- readonly title: "تحرير الصفحة";
1197
- readonly save: "حفظ التغييرات";
1198
- readonly saveFailed: "تعذّر حفظ التغييرات";
1199
- readonly openPage: "فتح الصفحة";
1200
- readonly generated: {
1201
- readonly title: "وُلِّدت هذه الصفحة من مخطّط قاعدة بياناتك";
1202
- readonly body: "تُحفظ تعديلاتك عند إعادة التوليد، إذ تُعلَّم الصفحة بأنها محرَّرة وتُترك كما هي. أما الحذف فلا يدوم إلا حتى تُعيد عملية التوليد التالية إنشاءها.";
1203
- };
1204
- readonly contentUnavailable: "تعذّر تحميل محتوى الصفحة";
1205
- readonly contentUnavailableBody: "لا يزال بإمكانك حفظ البيانات أعلاه.";
1206
- readonly contentInvalid: "تعذّرت قراءة إعدادات هذه الصفحة";
1207
- readonly contentInvalidBody: "كُتبت بإصدار أحدث، أو أنها تالفة. أعد توليد الصفحة أو احذفها.";
1208
- readonly data: "البيانات";
1209
- readonly schemaFailed: "تعذّر عرض الجداول";
1210
- readonly schemaFailedBody: "قد لا يكون هذا الاتصال قد خضع للتحليل بعد. شغّل الفحص من الاستوديو ← اتصالات البيانات.";
1211
- readonly notBindable: "هذا القالب غير مرتبط بجدول واحد";
1212
- readonly notBindableBody: "يُبنى محتواه عنصرًا تلو الآخر. افتح الصفحة واستخدم «تحرير» لإضافتها.";
1213
- readonly recompose: "ستُعاد بناء هذه الصفحة";
1214
- readonly recomposeBody: "الحفظ يستبدل محتواها بتخطيط جديد للقالب والجدول أعلاه. ستفقد تعديلات الأعمدة وتغييرات العناصر في هذه الصفحة.";
1215
- readonly missing: "لم تعد هذه الصفحة موجودة";
1216
- readonly missingBody: "ربما حُذفت، أو أزالتها عملية توليد.";
1217
- readonly details: "التفاصيل";
1218
- readonly itemsPending: "احفظ التغيير أعلاه أولًا — سيُعاد بناء محتوى الصفحة من القالب والجدول الجديدين.";
1219
- readonly columns: "الأعمدة";
1220
- readonly appearance: "المظهر";
1818
+ readonly list: {
1819
+ readonly subtitle: "تذهب الملفات الجديدة إلى الوجهة الافتراضية. أما الملفات الموجودة فتبقى مكانها حتى تنقلها.";
1820
+ readonly title: "الوجهات";
1221
1821
  };
1222
- readonly sidebar: {
1223
- readonly help: "أعد ترتيب الصفحات داخل المجموعة، أو انقل إحداها إلى مجموعة أخرى. تسري التغييرات على الجميع.";
1224
- readonly discard: "تجاهل";
1225
- readonly save: "حفظ الترتيب";
1226
- readonly saveFailed: "تعذّر حفظ الترتيب الجديد";
1227
- readonly emptyGroup: "لا توجد صفحات في هذه المجموعة.";
1228
- readonly moveUp: "تحريك {title} لأعلى";
1229
- readonly moveDown: "تحريك {title} لأسفل";
1230
- readonly moveTo: "نقل {title} إلى مجموعة";
1231
- readonly ungrouped: {
1232
- readonly title: "بعض الصفحات لا تنتمي إلى أي مجموعة";
1233
- readonly body: "تعمل هذه الصفحات عبر روابطها لكنها لا تظهر في الشريط الجانبي. افتح كلًا منها واختر لها مجموعة.";
1234
- };
1822
+ readonly loadFailed: {
1823
+ readonly forbidden: "يتطلب تغيير مكان تخزين الملفات صلاحية «إدارة التخزين». اطلب من أحد المسؤولين منحها لأحد أدوارك.";
1824
+ readonly title: "تعذّر تحميل الوجهات";
1235
1825
  };
1236
- readonly columns: {
1237
- readonly help: "اسحب لإعادة ترتيب الأعمدة، وغيّر أسماء عناوينها، واختر ما يظهر منها في الجدول.";
1238
- readonly empty: "لا توجد أعمدة بعد — أضفها أدناه.";
1239
- readonly pk: "مفتاح";
1240
- readonly pii: "بيانات شخصية";
1241
- readonly header: "عنوان العمود {name}";
1242
- readonly shown: "ظاهر";
1243
- readonly toggle: "إظهار {name} في الجدول";
1244
- readonly dragHandle: "إعادة ترتيب {name}";
1245
- readonly remove: "إزالة {name}";
1246
- readonly addOpen: "إضافة عمود";
1247
- readonly addTitle: "إضافة عمود";
1248
- readonly addSearch: "البحث في الأعمدة…";
1249
- readonly addFromTable: "من {table}";
1250
- readonly addFromLinked: "من الجداول المرتبطة";
1251
- readonly addLinkedHelp: "اعرض قيمة من الجدول الذي يشير إليه عمود الربط.";
1252
- readonly addVia: "عبر {column}";
1253
- readonly addNoMatches: "لا توجد أعمدة تطابق ”{query}“.";
1254
- readonly followColumn: "تتبّع {name}";
1255
- readonly addLinkedFrom: "جداول ترتبط بهذا الجدول";
1256
- readonly addLinkedFromHelp: "أضِف عدد الصفوف التي تشير إلى كل سجل.";
1257
- readonly countBadge: "العدد";
1258
- readonly lookupBadge: "مرتبط";
1259
- readonly lookupBack: "رجوع";
1260
- readonly lookupBrowse: "اختر ما يُعرض من {table}";
1261
- readonly lookupBroken: "تعذّر تحليل هذا الارتباط";
1262
- readonly lookupBrokenBody: "تغيّر المخطط أثناء التصفح. ابدأ الارتباط من جديد.";
1263
- readonly schemaUnavailable: "تعذّر سرد أعمدة قاعدة البيانات، لذا لا يمكن إضافة الأعمدة هنا.";
1264
- readonly none: {
1265
- readonly title: "لا تحتوي هذه الصفحة على أعمدة بعد";
1266
- readonly body: "تُقرأ الأعمدة من الجدول عند توليد الصفحة. اربط هذه الصفحة بجدول ثم أعد التوليد لملئها.";
1267
- };
1826
+ readonly localDisk: "قرص هذا الخادم";
1827
+ readonly move: {
1828
+ readonly from: "من";
1829
+ readonly kinds: "الاقتصار على";
1830
+ readonly kindsHelp: "اترك كل الخيارات بلا تحديد لنقلها جميعًا. الملفات المرفوعة هي التي يرفقها الأشخاص؛ أما البقية فهي مخرجات أنتجها Adminium نفسه.";
1831
+ readonly open: "نقل الملفات…";
1832
+ readonly start: "بدء النقل";
1833
+ readonly startedBody: "يعمل النقل في الخلفية كمهمة {jobId} ويستمر حتى لو غادرت هذه الصفحة. تتغيّر الأعداد أدناه كلما وصلت الملفات — أعد التحميل لرؤيتها.";
1834
+ readonly startedTitle: "بدأ النقل";
1835
+ readonly subtitle: "ينسخ كل ملف من وجهة إلى أخرى ثم ينسى النسخة القديمة. وتظل التنزيلات تعمل طوال الوقت.";
1836
+ readonly title: "نقل الملفات";
1837
+ readonly to: "إلى";
1838
+ };
1839
+ readonly preset: {
1840
+ readonly aws: "AWS S3";
1841
+ readonly b2: "Backblaze B2";
1842
+ readonly minio: "MinIO أو خادم آخر متوافق مع S3";
1843
+ readonly r2: "Cloudflare R2";
1844
+ readonly spaces: "DigitalOcean Spaces";
1845
+ readonly tigris: "Tigris";
1846
+ readonly wasabi: "Wasabi";
1847
+ };
1848
+ readonly save: "حفظ الوجهة";
1849
+ readonly secret: {
1850
+ readonly partialBody: "املأ الحقلين معًا لاستبدال بيانات الاعتماد المخزَّنة، أو أفرغهما معًا للإبقاء عليها. أما حفظ أحدهما وحده فسيُبقي القديمة بصمت.";
1851
+ readonly partialTitle: "نصف بيانات الاعتماد ليس بيانات اعتماد";
1852
+ };
1853
+ readonly setDefault: "جعلها الافتراضية";
1854
+ readonly status: {
1855
+ readonly error: "يتعذّر الوصول إليها";
1856
+ readonly ok: "يمكن الوصول إليها";
1857
+ readonly untested: "لم تُختبر";
1268
1858
  };
1269
- readonly icon: {
1270
- readonly none: "اختر أيقونة";
1271
- readonly search: "ابحث عن أيقونة";
1272
- readonly noMatches: "لا توجد أيقونات تطابق هذا البحث.";
1859
+ readonly subtitle: "المكان الذي تحفظ فيه هذه النسخة الملفات المرفوعة وملفات التصدير وغيرها من البايتات المخزَّنة.";
1860
+ readonly test: {
1861
+ readonly button: "اختبار";
1862
+ readonly failed: "تعذّر الوصول إلى هذه الوجهة";
1863
+ readonly ok: "تم الوصول خلال {ms} م.ث";
1864
+ readonly unreachable: "تعذّر إجراء الاختبار";
1273
1865
  };
1274
- readonly preview: {
1275
- readonly untitled: "صفحة بلا عنوان";
1276
- readonly note: "رسم توضيحي للتخطيط، لا لبياناتك. تمتلئ الصفحة الحقيقية بعد الحفظ.";
1866
+ readonly title: "التخزين";
1867
+ readonly usedBytes: "{size} مستخدَم";
1868
+ };
1869
+ readonly tables: {
1870
+ readonly emptyFilter: "لا توجد جداول مطابقة لعامل التصفية.";
1871
+ readonly highVolume: "حجم كبير";
1872
+ readonly highVolumeNote: "الجداول التي تتجاوز 100,000 صف تبدأ غير محددة — نادرًا ما تنتمي جداول التشغيل إلى لوحة معلومات.";
1873
+ readonly importNoCounts: "ملفات المخطط لا تحمل أعداد صفوف — يعرض العمود — حتى يتم توصيل قاعدة بيانات مباشرة.";
1874
+ readonly joinHidden: "تم إخفاء {count} من جداول الربط/النظام مسبقًا — لكنها لا تزال تشغّل علاقات متعدد-إلى-متعدد.";
1875
+ readonly listLabel: "الجداول القابلة للتضمين";
1876
+ readonly pii: "PII";
1877
+ readonly search: "تصفية الجداول…";
1878
+ readonly subtitle: "اختر ما تريد تضمينه. يمكنك تغيير ذلك في أي وقت.";
1879
+ readonly title: "اختر جداولك";
1880
+ };
1881
+ readonly test: {
1882
+ readonly errorTitle: "فشل الاتصال";
1883
+ readonly hint: {
1884
+ readonly auth: "فشلت المصادقة — تحقّق من اسم المستخدم وكلمة المرور في DSN.";
1885
+ readonly hostUnreachable: "تعذّر الوصول إلى المضيف — تحقّق من اسم المضيف والمنفذ، ومن أن قاعدة البيانات تقبل الاتصالات من هذا الجهاز (أضف عناوين IP الخاصة بنا إلى قائمة السماح).";
1886
+ readonly metaPlacement: "لا يمكن لهذا المصدر استضافة جداول Adminium الوصفية — تابع بقاعدة بيانات وصفية منفصلة.";
1887
+ readonly permission: "اتصل الدور لكنه يفتقر إلى صلاحيات قراءة المخطط — امنح دور الاستبطان صلاحية USAGE على المخطط.";
1888
+ readonly timeout: "لم تُجب قاعدة البيانات في الوقت المناسب — تحقّق من مسار الشبكة والحمل ثم أعد المحاولة.";
1889
+ readonly tls: "فشل تفاوض TLS — جرّب sslmode=require، أو ارفع شهادة CA التي يتوقعها خادمك.";
1890
+ readonly unknown: "فشل الاتصال — تحقّق من DSN وأعد المحاولة.";
1277
1891
  };
1278
- readonly padding: {
1279
- readonly default: "الافتراضي لهذا القالب";
1280
- readonly none: "بدون";
1281
- readonly standard: "قياسي (28 × 24)";
1282
- readonly custom: "مخصص…";
1283
- readonly x: "الجانبان (بكسل)";
1284
- readonly y: "أعلى وأسفل (بكسل)";
1892
+ readonly log: {
1893
+ readonly connectFailed: "فشل الاتصال.";
1894
+ readonly connected: "متصل ({latency} م.ث) · استبطان للقراءة فقط";
1895
+ readonly connecting: "جارٍ إنشاء اتصال آمن…";
1896
+ readonly detected: "تم اكتشاف {tables} جدولًا · {columns} عمودًا";
1897
+ readonly found: "تم العثور على {tables} جدولًا · {columns} عمودًا";
1898
+ readonly jobFailed: "فشل الاستبطان.";
1899
+ readonly mapping: "جارٍ ربط أنواع الأعمدة ← عناصر الإدخال";
1900
+ readonly moreWarnings: "+{count} تحذيرات إضافية من المحلّل";
1901
+ readonly networkFailed: "فشل الطلب — تحقّق من اتصالك وأعد المحاولة.";
1902
+ readonly parsingFile: "جارٍ تحليل {file}…";
1903
+ readonly piiDone: "اكتمل فحص البيانات الشخصية — تم إخفاء {count} عمودًا افتراضيًا";
1904
+ readonly piiDoneUnknown: "اكتمل فحص البيانات الشخصية";
1905
+ readonly piiScan: "جارٍ البحث عن أعمدة البيانات الشخصية…";
1906
+ readonly readingFile: "جارٍ قراءة ملف المخطط المرفوع…";
1907
+ readonly readingSchema: "جارٍ قراءة المخطط: public";
1908
+ readonly ready: "جاهز";
1909
+ readonly relations: "جارٍ اكتشاف العلاقات…";
1285
1910
  };
1286
- readonly width: {
1287
- readonly default: "الافتراضي لهذا القالب";
1288
- readonly narrow: "ضيّق (720 بكسل)";
1289
- readonly content: "محتوى (900 بكسل)";
1290
- readonly page: "صفحة (1080 بكسل)";
1291
- readonly dash: "لوحة معلومات (1320 بكسل)";
1292
- readonly wide: "عريض (1800 بكسل)";
1293
- readonly full: "عرض كامل (بلا حد)";
1911
+ readonly logLabel: "سجل الاستبطان";
1912
+ readonly retry: "إعادة المحاولة";
1913
+ readonly subtitle: "جارٍ استبطان الجداول والأعمدة والعلاقات. يستغرق ذلك بضع ثوانٍ.";
1914
+ readonly title: "جارٍ تحليل مخططك";
1915
+ readonly trust: "نقرأ مخططك وبياناتك فقط. لا يتم تعديل أي شيء.";
1916
+ };
1917
+ readonly title: "Studio";
1918
+ readonly wizard: {
1919
+ readonly back: "رجوع";
1920
+ readonly bridgeAppliedBody: "سلّمها متصفحك من adminium.dev — وصلت مباشرةً إلى هذا الجهاز ولم تُرفع إلى أي خادم. راجعها بالأسفل ثم تابع.";
1921
+ readonly bridgeAppliedTitle: "تم استلام سلسلة الاتصال";
1922
+ readonly bridgeFailedBody: "إمّا أنها استُخدمت من قبل أو انتهت صلاحيتها. الصق سلسلة الاتصال بالأسفل بدلاً من ذلك.";
1923
+ readonly bridgeFailedTitle: "تعذّر استخدام عملية التسليم هذه";
1924
+ readonly continue: "متابعة";
1925
+ readonly persistFailed: "تعذّر حفظ اختيار الجداول — أعد المحاولة.";
1926
+ readonly persistFailedTitle: "فشل الحفظ";
1927
+ readonly progress: "تقدّم الإعداد";
1928
+ readonly step: {
1929
+ readonly enrich: "إثراء";
1930
+ readonly generate: "توليد";
1931
+ readonly intent: "الغرض";
1932
+ readonly meta: "تخزين البيانات الوصفية";
1933
+ readonly source: "المصدر";
1934
+ readonly tables: "الجداول";
1935
+ readonly test: "تحليل";
1294
1936
  };
1937
+ readonly title: "اتصال جديد";
1295
1938
  };
1296
1939
  };
1297
1940
  export default _default;