@adminiumjs/i18n 0.3.47 → 0.3.49

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 (380) 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 +199 -2
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/resources/ar-eg/addOns.d.ts +1 -1
  6. package/dist/resources/ar-eg/addOns.js +1 -1
  7. package/dist/resources/ar-eg/addOns.js.map +1 -1
  8. package/dist/resources/ar-eg/assistant.d.ts +9 -9
  9. package/dist/resources/ar-eg/assistant.js +9 -9
  10. package/dist/resources/ar-eg/assistant.js.map +1 -1
  11. package/dist/resources/ar-eg/automations.d.ts +1 -1
  12. package/dist/resources/ar-eg/automations.js +1 -1
  13. package/dist/resources/ar-eg/automations.js.map +1 -1
  14. package/dist/resources/ar-eg/common.d.ts +147 -23
  15. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  16. package/dist/resources/ar-eg/common.js +149 -25
  17. package/dist/resources/ar-eg/common.js.map +1 -1
  18. package/dist/resources/ar-eg/designer.d.ts +2 -2
  19. package/dist/resources/ar-eg/designer.js +2 -2
  20. package/dist/resources/ar-eg/email.d.ts +22 -4
  21. package/dist/resources/ar-eg/email.d.ts.map +1 -1
  22. package/dist/resources/ar-eg/email.js +22 -4
  23. package/dist/resources/ar-eg/email.js.map +1 -1
  24. package/dist/resources/ar-eg/files.d.ts +2 -2
  25. package/dist/resources/ar-eg/files.js +2 -2
  26. package/dist/resources/ar-eg/files.js.map +1 -1
  27. package/dist/resources/ar-eg/onboarding.d.ts +5 -5
  28. package/dist/resources/ar-eg/onboarding.js +5 -5
  29. package/dist/resources/ar-eg/onboarding.js.map +1 -1
  30. package/dist/resources/ar-eg/roles.d.ts +2 -2
  31. package/dist/resources/ar-eg/roles.js +2 -2
  32. package/dist/resources/ar-eg/roles.js.map +1 -1
  33. package/dist/resources/ar-eg/studio.d.ts +1014 -29
  34. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  35. package/dist/resources/ar-eg/studio.js +1020 -35
  36. package/dist/resources/ar-eg/studio.js.map +1 -1
  37. package/dist/resources/ar-eg/ui.d.ts +4 -4
  38. package/dist/resources/ar-eg/ui.js +4 -4
  39. package/dist/resources/ar-eg/ui.js.map +1 -1
  40. package/dist/resources/cs-cz/addOns.d.ts +1 -1
  41. package/dist/resources/cs-cz/addOns.js +1 -1
  42. package/dist/resources/cs-cz/addOns.js.map +1 -1
  43. package/dist/resources/cs-cz/assistant.d.ts +9 -9
  44. package/dist/resources/cs-cz/assistant.js +9 -9
  45. package/dist/resources/cs-cz/assistant.js.map +1 -1
  46. package/dist/resources/cs-cz/automations.d.ts +1 -1
  47. package/dist/resources/cs-cz/automations.js +1 -1
  48. package/dist/resources/cs-cz/common.d.ts +147 -23
  49. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  50. package/dist/resources/cs-cz/common.js +149 -25
  51. package/dist/resources/cs-cz/common.js.map +1 -1
  52. package/dist/resources/cs-cz/email.d.ts +24 -6
  53. package/dist/resources/cs-cz/email.d.ts.map +1 -1
  54. package/dist/resources/cs-cz/email.js +24 -6
  55. package/dist/resources/cs-cz/email.js.map +1 -1
  56. package/dist/resources/cs-cz/files.d.ts +2 -2
  57. package/dist/resources/cs-cz/files.js +2 -2
  58. package/dist/resources/cs-cz/files.js.map +1 -1
  59. package/dist/resources/cs-cz/onboarding.d.ts +5 -5
  60. package/dist/resources/cs-cz/onboarding.js +5 -5
  61. package/dist/resources/cs-cz/onboarding.js.map +1 -1
  62. package/dist/resources/cs-cz/roles.d.ts +2 -2
  63. package/dist/resources/cs-cz/roles.js +2 -2
  64. package/dist/resources/cs-cz/roles.js.map +1 -1
  65. package/dist/resources/cs-cz/studio.d.ts +1014 -29
  66. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  67. package/dist/resources/cs-cz/studio.js +1020 -35
  68. package/dist/resources/cs-cz/studio.js.map +1 -1
  69. package/dist/resources/cs-cz/ui.d.ts +4 -4
  70. package/dist/resources/cs-cz/ui.js +4 -4
  71. package/dist/resources/cs-cz/ui.js.map +1 -1
  72. package/dist/resources/da-dk/addOns.d.ts +1 -1
  73. package/dist/resources/da-dk/addOns.js +1 -1
  74. package/dist/resources/da-dk/addOns.js.map +1 -1
  75. package/dist/resources/da-dk/assistant.d.ts +9 -9
  76. package/dist/resources/da-dk/assistant.js +9 -9
  77. package/dist/resources/da-dk/assistant.js.map +1 -1
  78. package/dist/resources/da-dk/automations.d.ts +1 -1
  79. package/dist/resources/da-dk/automations.js +1 -1
  80. package/dist/resources/da-dk/automations.js.map +1 -1
  81. package/dist/resources/da-dk/common.d.ts +147 -23
  82. package/dist/resources/da-dk/common.d.ts.map +1 -1
  83. package/dist/resources/da-dk/common.js +149 -25
  84. package/dist/resources/da-dk/common.js.map +1 -1
  85. package/dist/resources/da-dk/designer.d.ts +2 -2
  86. package/dist/resources/da-dk/designer.js +2 -2
  87. package/dist/resources/da-dk/designer.js.map +1 -1
  88. package/dist/resources/da-dk/email.d.ts +22 -4
  89. package/dist/resources/da-dk/email.d.ts.map +1 -1
  90. package/dist/resources/da-dk/email.js +22 -4
  91. package/dist/resources/da-dk/email.js.map +1 -1
  92. package/dist/resources/da-dk/files.d.ts +2 -2
  93. package/dist/resources/da-dk/files.js +2 -2
  94. package/dist/resources/da-dk/files.js.map +1 -1
  95. package/dist/resources/da-dk/onboarding.d.ts +5 -5
  96. package/dist/resources/da-dk/onboarding.js +5 -5
  97. package/dist/resources/da-dk/onboarding.js.map +1 -1
  98. package/dist/resources/da-dk/roles.d.ts +2 -2
  99. package/dist/resources/da-dk/roles.js +2 -2
  100. package/dist/resources/da-dk/roles.js.map +1 -1
  101. package/dist/resources/da-dk/studio.d.ts +1014 -29
  102. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  103. package/dist/resources/da-dk/studio.js +1020 -35
  104. package/dist/resources/da-dk/studio.js.map +1 -1
  105. package/dist/resources/da-dk/ui.d.ts +4 -4
  106. package/dist/resources/da-dk/ui.js +4 -4
  107. package/dist/resources/da-dk/ui.js.map +1 -1
  108. package/dist/resources/de-de/addOns.d.ts +1 -1
  109. package/dist/resources/de-de/addOns.js +1 -1
  110. package/dist/resources/de-de/addOns.js.map +1 -1
  111. package/dist/resources/de-de/assistant.d.ts +9 -9
  112. package/dist/resources/de-de/assistant.js +9 -9
  113. package/dist/resources/de-de/assistant.js.map +1 -1
  114. package/dist/resources/de-de/automations.d.ts +1 -1
  115. package/dist/resources/de-de/automations.js +1 -1
  116. package/dist/resources/de-de/automations.js.map +1 -1
  117. package/dist/resources/de-de/common.d.ts +147 -23
  118. package/dist/resources/de-de/common.d.ts.map +1 -1
  119. package/dist/resources/de-de/common.js +149 -25
  120. package/dist/resources/de-de/common.js.map +1 -1
  121. package/dist/resources/de-de/designer.d.ts +2 -2
  122. package/dist/resources/de-de/designer.js +2 -2
  123. package/dist/resources/de-de/designer.js.map +1 -1
  124. package/dist/resources/de-de/email.d.ts +22 -4
  125. package/dist/resources/de-de/email.d.ts.map +1 -1
  126. package/dist/resources/de-de/email.js +22 -4
  127. package/dist/resources/de-de/email.js.map +1 -1
  128. package/dist/resources/de-de/files.d.ts +2 -2
  129. package/dist/resources/de-de/files.js +2 -2
  130. package/dist/resources/de-de/files.js.map +1 -1
  131. package/dist/resources/de-de/onboarding.d.ts +5 -5
  132. package/dist/resources/de-de/onboarding.js +5 -5
  133. package/dist/resources/de-de/onboarding.js.map +1 -1
  134. package/dist/resources/de-de/roles.d.ts +2 -2
  135. package/dist/resources/de-de/roles.js +2 -2
  136. package/dist/resources/de-de/roles.js.map +1 -1
  137. package/dist/resources/de-de/studio.d.ts +1014 -29
  138. package/dist/resources/de-de/studio.d.ts.map +1 -1
  139. package/dist/resources/de-de/studio.js +1020 -35
  140. package/dist/resources/de-de/studio.js.map +1 -1
  141. package/dist/resources/de-de/ui.d.ts +4 -4
  142. package/dist/resources/de-de/ui.js +4 -4
  143. package/dist/resources/de-de/ui.js.map +1 -1
  144. package/dist/resources/deferred-counts.d.ts +5 -1
  145. package/dist/resources/deferred-counts.d.ts.map +1 -1
  146. package/dist/resources/deferred-counts.js +1 -1
  147. package/dist/resources/deferred-counts.js.map +1 -1
  148. package/dist/resources/en-us/addOns.d.ts +1 -1
  149. package/dist/resources/en-us/addOns.js +1 -1
  150. package/dist/resources/en-us/addOns.js.map +1 -1
  151. package/dist/resources/en-us/assistant.d.ts +9 -9
  152. package/dist/resources/en-us/assistant.js +9 -9
  153. package/dist/resources/en-us/assistant.js.map +1 -1
  154. package/dist/resources/en-us/automations.d.ts +1 -1
  155. package/dist/resources/en-us/automations.js +1 -1
  156. package/dist/resources/en-us/automations.js.map +1 -1
  157. package/dist/resources/en-us/common-deferred.d.ts +132 -12
  158. package/dist/resources/en-us/common-deferred.d.ts.map +1 -1
  159. package/dist/resources/en-us/common-deferred.js +132 -12
  160. package/dist/resources/en-us/common-deferred.js.map +1 -1
  161. package/dist/resources/en-us/common.d.ts +16 -12
  162. package/dist/resources/en-us/common.d.ts.map +1 -1
  163. package/dist/resources/en-us/common.js +18 -14
  164. package/dist/resources/en-us/common.js.map +1 -1
  165. package/dist/resources/en-us/email.d.ts +22 -4
  166. package/dist/resources/en-us/email.d.ts.map +1 -1
  167. package/dist/resources/en-us/email.js +22 -4
  168. package/dist/resources/en-us/email.js.map +1 -1
  169. package/dist/resources/en-us/files.d.ts +2 -2
  170. package/dist/resources/en-us/files.js +2 -2
  171. package/dist/resources/en-us/files.js.map +1 -1
  172. package/dist/resources/en-us/onboarding.d.ts +5 -5
  173. package/dist/resources/en-us/onboarding.js +5 -5
  174. package/dist/resources/en-us/onboarding.js.map +1 -1
  175. package/dist/resources/en-us/roles.d.ts +2 -2
  176. package/dist/resources/en-us/roles.js +2 -2
  177. package/dist/resources/en-us/roles.js.map +1 -1
  178. package/dist/resources/en-us/studio.d.ts +1014 -29
  179. package/dist/resources/en-us/studio.d.ts.map +1 -1
  180. package/dist/resources/en-us/studio.js +1020 -35
  181. package/dist/resources/en-us/studio.js.map +1 -1
  182. package/dist/resources/en-us/ui-deferred.d.ts +4 -4
  183. package/dist/resources/en-us/ui-deferred.js +4 -4
  184. package/dist/resources/en-us/ui-deferred.js.map +1 -1
  185. package/dist/resources/fr-fr/addOns.d.ts +1 -1
  186. package/dist/resources/fr-fr/addOns.js +1 -1
  187. package/dist/resources/fr-fr/addOns.js.map +1 -1
  188. package/dist/resources/fr-fr/assistant.d.ts +9 -9
  189. package/dist/resources/fr-fr/assistant.js +9 -9
  190. package/dist/resources/fr-fr/assistant.js.map +1 -1
  191. package/dist/resources/fr-fr/automations.d.ts +1 -1
  192. package/dist/resources/fr-fr/automations.js +1 -1
  193. package/dist/resources/fr-fr/common.d.ts +147 -23
  194. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  195. package/dist/resources/fr-fr/common.js +149 -25
  196. package/dist/resources/fr-fr/common.js.map +1 -1
  197. package/dist/resources/fr-fr/designer.d.ts +2 -2
  198. package/dist/resources/fr-fr/designer.js +2 -2
  199. package/dist/resources/fr-fr/designer.js.map +1 -1
  200. package/dist/resources/fr-fr/email.d.ts +22 -4
  201. package/dist/resources/fr-fr/email.d.ts.map +1 -1
  202. package/dist/resources/fr-fr/email.js +22 -4
  203. package/dist/resources/fr-fr/email.js.map +1 -1
  204. package/dist/resources/fr-fr/files.d.ts +2 -2
  205. package/dist/resources/fr-fr/files.js +2 -2
  206. package/dist/resources/fr-fr/files.js.map +1 -1
  207. package/dist/resources/fr-fr/onboarding.d.ts +5 -5
  208. package/dist/resources/fr-fr/onboarding.js +5 -5
  209. package/dist/resources/fr-fr/onboarding.js.map +1 -1
  210. package/dist/resources/fr-fr/roles.d.ts +2 -2
  211. package/dist/resources/fr-fr/roles.js +2 -2
  212. package/dist/resources/fr-fr/roles.js.map +1 -1
  213. package/dist/resources/fr-fr/studio.d.ts +1014 -29
  214. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  215. package/dist/resources/fr-fr/studio.js +1020 -35
  216. package/dist/resources/fr-fr/studio.js.map +1 -1
  217. package/dist/resources/fr-fr/ui.d.ts +4 -4
  218. package/dist/resources/fr-fr/ui.js +4 -4
  219. package/dist/resources/fr-fr/ui.js.map +1 -1
  220. package/dist/resources/namespaces.d.ts +7 -3
  221. package/dist/resources/namespaces.d.ts.map +1 -1
  222. package/dist/resources/namespaces.js +6 -2
  223. package/dist/resources/namespaces.js.map +1 -1
  224. package/dist/resources/zh-cn/addOns.d.ts +1 -1
  225. package/dist/resources/zh-cn/addOns.js +1 -1
  226. package/dist/resources/zh-cn/addOns.js.map +1 -1
  227. package/dist/resources/zh-cn/assistant.d.ts +9 -9
  228. package/dist/resources/zh-cn/assistant.js +9 -9
  229. package/dist/resources/zh-cn/assistant.js.map +1 -1
  230. package/dist/resources/zh-cn/automations.d.ts +1 -1
  231. package/dist/resources/zh-cn/automations.js +1 -1
  232. package/dist/resources/zh-cn/common.d.ts +147 -23
  233. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  234. package/dist/resources/zh-cn/common.js +149 -25
  235. package/dist/resources/zh-cn/common.js.map +1 -1
  236. package/dist/resources/zh-cn/designer.d.ts +2 -2
  237. package/dist/resources/zh-cn/designer.js +2 -2
  238. package/dist/resources/zh-cn/email.d.ts +22 -4
  239. package/dist/resources/zh-cn/email.d.ts.map +1 -1
  240. package/dist/resources/zh-cn/email.js +22 -4
  241. package/dist/resources/zh-cn/email.js.map +1 -1
  242. package/dist/resources/zh-cn/files.d.ts +2 -2
  243. package/dist/resources/zh-cn/files.js +2 -2
  244. package/dist/resources/zh-cn/onboarding.d.ts +5 -5
  245. package/dist/resources/zh-cn/onboarding.js +5 -5
  246. package/dist/resources/zh-cn/roles.d.ts +2 -2
  247. package/dist/resources/zh-cn/roles.js +2 -2
  248. package/dist/resources/zh-cn/studio.d.ts +1014 -29
  249. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  250. package/dist/resources/zh-cn/studio.js +1020 -35
  251. package/dist/resources/zh-cn/studio.js.map +1 -1
  252. package/dist/resources/zh-cn/ui.d.ts +4 -4
  253. package/dist/resources/zh-cn/ui.js +4 -4
  254. package/dist/resources/zh-cn/ui.js.map +1 -1
  255. package/dist/resources/zh-tw/addOns.d.ts +1 -1
  256. package/dist/resources/zh-tw/addOns.js +1 -1
  257. package/dist/resources/zh-tw/assistant.d.ts +9 -9
  258. package/dist/resources/zh-tw/assistant.js +9 -9
  259. package/dist/resources/zh-tw/assistant.js.map +1 -1
  260. package/dist/resources/zh-tw/automations.d.ts +1 -1
  261. package/dist/resources/zh-tw/automations.js +1 -1
  262. package/dist/resources/zh-tw/automations.js.map +1 -1
  263. package/dist/resources/zh-tw/common.d.ts +147 -23
  264. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  265. package/dist/resources/zh-tw/common.js +149 -25
  266. package/dist/resources/zh-tw/common.js.map +1 -1
  267. package/dist/resources/zh-tw/designer.d.ts +2 -2
  268. package/dist/resources/zh-tw/designer.js +2 -2
  269. package/dist/resources/zh-tw/email.d.ts +22 -4
  270. package/dist/resources/zh-tw/email.d.ts.map +1 -1
  271. package/dist/resources/zh-tw/email.js +22 -4
  272. package/dist/resources/zh-tw/email.js.map +1 -1
  273. package/dist/resources/zh-tw/files.d.ts +2 -2
  274. package/dist/resources/zh-tw/files.js +2 -2
  275. package/dist/resources/zh-tw/onboarding.d.ts +5 -5
  276. package/dist/resources/zh-tw/onboarding.js +5 -5
  277. package/dist/resources/zh-tw/roles.d.ts +2 -2
  278. package/dist/resources/zh-tw/roles.js +2 -2
  279. package/dist/resources/zh-tw/studio.d.ts +1014 -29
  280. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  281. package/dist/resources/zh-tw/studio.js +1020 -35
  282. package/dist/resources/zh-tw/studio.js.map +1 -1
  283. package/dist/resources/zh-tw/ui.d.ts +4 -4
  284. package/dist/resources/zh-tw/ui.js +4 -4
  285. package/dist/resources/zh-tw/ui.js.map +1 -1
  286. package/dist/review-status.js +7 -7
  287. package/locales/ar-EG/.meta.json +3685 -89
  288. package/locales/ar-EG/addOns.json +1 -1
  289. package/locales/ar-EG/assistant.json +9 -9
  290. package/locales/ar-EG/automations.json +1 -1
  291. package/locales/ar-EG/common.json +149 -25
  292. package/locales/ar-EG/designer.json +2 -2
  293. package/locales/ar-EG/email.json +22 -4
  294. package/locales/ar-EG/files.json +2 -2
  295. package/locales/ar-EG/onboarding.json +5 -5
  296. package/locales/ar-EG/roles.json +2 -2
  297. package/locales/ar-EG/studio.json +1020 -35
  298. package/locales/ar-EG/ui.json +4 -4
  299. package/locales/cs-CZ/.meta.json +3688 -92
  300. package/locales/cs-CZ/addOns.json +1 -1
  301. package/locales/cs-CZ/assistant.json +9 -9
  302. package/locales/cs-CZ/automations.json +1 -1
  303. package/locales/cs-CZ/common.json +149 -25
  304. package/locales/cs-CZ/email.json +24 -6
  305. package/locales/cs-CZ/files.json +2 -2
  306. package/locales/cs-CZ/onboarding.json +5 -5
  307. package/locales/cs-CZ/roles.json +2 -2
  308. package/locales/cs-CZ/studio.json +1020 -35
  309. package/locales/cs-CZ/ui.json +4 -4
  310. package/locales/da-DK/.meta.json +3688 -92
  311. package/locales/da-DK/addOns.json +1 -1
  312. package/locales/da-DK/assistant.json +9 -9
  313. package/locales/da-DK/automations.json +1 -1
  314. package/locales/da-DK/common.json +149 -25
  315. package/locales/da-DK/designer.json +2 -2
  316. package/locales/da-DK/email.json +22 -4
  317. package/locales/da-DK/files.json +2 -2
  318. package/locales/da-DK/onboarding.json +5 -5
  319. package/locales/da-DK/roles.json +2 -2
  320. package/locales/da-DK/studio.json +1020 -35
  321. package/locales/da-DK/ui.json +4 -4
  322. package/locales/de-DE/.meta.json +3685 -89
  323. package/locales/de-DE/addOns.json +1 -1
  324. package/locales/de-DE/assistant.json +9 -9
  325. package/locales/de-DE/automations.json +1 -1
  326. package/locales/de-DE/common.json +149 -25
  327. package/locales/de-DE/designer.json +2 -2
  328. package/locales/de-DE/email.json +22 -4
  329. package/locales/de-DE/files.json +2 -2
  330. package/locales/de-DE/onboarding.json +5 -5
  331. package/locales/de-DE/roles.json +2 -2
  332. package/locales/de-DE/studio.json +1020 -35
  333. package/locales/de-DE/ui.json +4 -4
  334. package/locales/en-US/addOns.json +1 -1
  335. package/locales/en-US/assistant.json +9 -9
  336. package/locales/en-US/automations.json +1 -1
  337. package/locales/en-US/common.json +149 -25
  338. package/locales/en-US/email.json +22 -4
  339. package/locales/en-US/files.json +2 -2
  340. package/locales/en-US/onboarding.json +5 -5
  341. package/locales/en-US/roles.json +2 -2
  342. package/locales/en-US/studio.json +1020 -35
  343. package/locales/en-US/ui.json +4 -4
  344. package/locales/fr-FR/.meta.json +3686 -90
  345. package/locales/fr-FR/addOns.json +1 -1
  346. package/locales/fr-FR/assistant.json +9 -9
  347. package/locales/fr-FR/automations.json +1 -1
  348. package/locales/fr-FR/common.json +149 -25
  349. package/locales/fr-FR/designer.json +2 -2
  350. package/locales/fr-FR/email.json +22 -4
  351. package/locales/fr-FR/files.json +2 -2
  352. package/locales/fr-FR/onboarding.json +5 -5
  353. package/locales/fr-FR/roles.json +2 -2
  354. package/locales/fr-FR/studio.json +1020 -35
  355. package/locales/fr-FR/ui.json +4 -4
  356. package/locales/zh-CN/.meta.json +3685 -89
  357. package/locales/zh-CN/addOns.json +1 -1
  358. package/locales/zh-CN/assistant.json +9 -9
  359. package/locales/zh-CN/automations.json +1 -1
  360. package/locales/zh-CN/common.json +149 -25
  361. package/locales/zh-CN/designer.json +2 -2
  362. package/locales/zh-CN/email.json +22 -4
  363. package/locales/zh-CN/files.json +2 -2
  364. package/locales/zh-CN/onboarding.json +5 -5
  365. package/locales/zh-CN/roles.json +2 -2
  366. package/locales/zh-CN/studio.json +1020 -35
  367. package/locales/zh-CN/ui.json +4 -4
  368. package/locales/zh-TW/.meta.json +3685 -89
  369. package/locales/zh-TW/addOns.json +1 -1
  370. package/locales/zh-TW/assistant.json +9 -9
  371. package/locales/zh-TW/automations.json +1 -1
  372. package/locales/zh-TW/common.json +149 -25
  373. package/locales/zh-TW/designer.json +2 -2
  374. package/locales/zh-TW/email.json +22 -4
  375. package/locales/zh-TW/files.json +2 -2
  376. package/locales/zh-TW/onboarding.json +5 -5
  377. package/locales/zh-TW/roles.json +2 -2
  378. package/locales/zh-TW/studio.json +1020 -35
  379. package/locales/zh-TW/ui.json +4 -4
  380. package/package.json +1 -1
@@ -688,11 +688,9 @@ declare const _default: {
688
688
  readonly failed: "Install failed";
689
689
  readonly bundle: {
690
690
  readonly title: "Upload the app bundle";
691
- readonly hint: "The app’s release file (.tgz) — it holds manifest.json and a staff/ or customer/ directory.";
692
691
  readonly file: "Bundle file (.tgz)";
693
692
  readonly fileHint: "Nothing is created until you confirm on the schema-plan step.";
694
- readonly integrity: "Integrity (optional)";
695
- readonly integrityHint: "Paste the sha512- fingerprint published with the release to have the server check these exact bytes. Left empty, it is computed here.";
693
+ readonly fileOnly: "The app’s file (.tgz).";
696
694
  };
697
695
  readonly database: {
698
696
  readonly title: "Install into which database?";
@@ -702,6 +700,12 @@ declare const _default: {
702
700
  readonly writable: "Writable";
703
701
  readonly noWritable: "No writable connection";
704
702
  readonly allReadOnly: "Every connection here uses a read-only role, so no app can create its tables. Connect one that can run DDL first.";
703
+ readonly version: "Installing {app} {version}.";
704
+ readonly ownCopy: "Each database can have its own copy of {app}.";
705
+ readonly noneTitle: "No database yet";
706
+ readonly none: "Connect a database first. An app goes into a database this server already has.";
707
+ readonly installed: "Installed · {version}";
708
+ readonly notTouched: "This copy gets its own settings, roles and email templates. {app} on {databases} is not touched.";
705
709
  };
706
710
  readonly plan: {
707
711
  readonly title: "Review the schema plan";
@@ -715,7 +719,7 @@ declare const _default: {
715
719
  readonly summary: "{created} created · {reused} reused";
716
720
  readonly ruleWarnings: "Some of this app’s rules would show what a table of yours keeps hidden, and are left out";
717
721
  readonly pageWarnings: "Some of this app’s pages will arrive without a table";
718
- readonly installedElsewhere: "{app} is already installed on the connection {connection}. An app runs on one connection: update it there, or uninstall it there before installing it on another.";
722
+ readonly oneVersion: "{database} has {app} {version}, and every copy of an app runs one version. Update the copies first, then install this one here.";
719
723
  };
720
724
  readonly done: {
721
725
  readonly body: "{key} is being served now. Choose where its staff side appears below.";
@@ -727,6 +731,11 @@ declare const _default: {
727
731
  readonly sampleAdding: "adding…";
728
732
  readonly sampleAdded: "added";
729
733
  readonly sampleLater: "You can add it later from the app’s page.";
734
+ readonly titleOn: "{app} {version} is installed on {database}";
735
+ readonly rulesOff: "Rules that send data out";
736
+ readonly rulesOffValue: "{count}, switched off";
737
+ readonly toDo: "{count, plural, one {# thing to do} other {# things to do}}";
738
+ readonly openPage: "Open the app’s page";
730
739
  };
731
740
  readonly cancel: "Cancel";
732
741
  readonly back: "Back";
@@ -736,7 +745,6 @@ declare const _default: {
736
745
  readonly finish: "Manage apps";
737
746
  readonly staged: "Files unpacked: {files}";
738
747
  readonly footerStep: "Step {n} of {total}";
739
- readonly footerStepApp: "Step {n} of {total} · {app}";
740
748
  readonly chosen: {
741
749
  readonly title: "Install {app}";
742
750
  readonly hint: "This app came with your build and is already on disk. Nothing is created until you confirm the schema plan.";
@@ -751,6 +759,8 @@ declare const _default: {
751
759
  readonly check: {
752
760
  readonly title: "Check the tables";
753
761
  readonly hint: "{app} will create these in {connection}. Nothing changes until you press Install.";
762
+ readonly hintUse: "{app} will use these in {connection} and create none. Nothing changes until you press Install.";
763
+ readonly hintSome: "{app} will create some of these in {connection} and use the others. Nothing changes until you press Install.";
754
764
  readonly summaryNew: "{count} new";
755
765
  readonly summaryEarlier: "{count} from your earlier install";
756
766
  readonly summaryShared: "{count} shared with another app";
@@ -806,6 +816,8 @@ declare const _default: {
806
816
  readonly labelTables: "Which tables {app} uses";
807
817
  readonly recommended: "Recommended";
808
818
  };
819
+ readonly summaryUsed: "{count, plural, one {# used as it is} other {# used as they are}}";
820
+ readonly badgeUsed: "Used as it is";
809
821
  };
810
822
  readonly running: {
811
823
  readonly title: "Installing {app}";
@@ -844,14 +856,16 @@ declare const _default: {
844
856
  };
845
857
  readonly privacyGrants: {
846
858
  readonly title: "A role can erase people";
847
- readonly body: "{roles} can find, download and erase everything this workspace keeps about a person, on the privacy page.";
859
+ readonly body: "{roles} can find, download and erase everything this server keeps about a person, on the privacy page.";
848
860
  };
861
+ readonly footerStepVersion: "Step {n} of {total} · {app} {version}";
849
862
  };
850
863
  readonly installed: {
851
864
  readonly title: "Installed apps";
852
865
  readonly install: "Install an app";
853
866
  readonly emptyTitle: "No apps installed yet";
854
867
  readonly emptyBody: "Upload a built surface bundle to install one. Apps installed here are served immediately — no restart, unlike a directory you point at.";
868
+ readonly emptyHere: "No app is installed on this workspace’s databases";
855
869
  readonly uninstall: "Uninstall";
856
870
  readonly stagedTitle: "Uploaded but not installed";
857
871
  readonly stagedHint: "Discard one you decided against, or upload the same key again to replace it.";
@@ -945,6 +959,23 @@ declare const _default: {
945
959
  readonly title: "This version gives its roles more";
946
960
  readonly addOnSettings: "{roles} can change the settings of {addOn}, which every app it serves shares.";
947
961
  };
962
+ readonly stopped: {
963
+ readonly pages: "The update to {to} stopped while writing pages. Nothing was lost; {from}’s pages are still here.";
964
+ readonly other: "The update to {to} stopped part way. Nothing was lost, and finishing it carries on from where it stopped.";
965
+ readonly seeds: "The update to {to} stopped while adding its starting rows. Nothing was lost, and finishing it adds the rest.";
966
+ readonly instance: "The update to {to} stopped while applying the look and languages. Nothing was lost, and finishing it applies them.";
967
+ };
968
+ readonly titleOn: "Update {app} on {database} to v{version}";
969
+ readonly copyOf: "Copy {n} of {total} · {from} → {to}";
970
+ readonly reviewSubtitle: "Check what this version brings.";
971
+ readonly onlyThis: "Only {app} on {database} changes in this dialog. Its settings, roles and email templates there are kept.";
972
+ readonly finish: "Finish the update";
973
+ readonly instanceRestore: {
974
+ readonly title: "The server’s look goes back";
975
+ readonly body: "{count, plural, one {This version no longer carries the server’s look and languages. # value it set goes back to what it was: the look, the words and the system emails.} other {This version no longer carries the server’s look and languages. # values it set go back to what they were: the look, the words and the system emails.}}";
976
+ readonly manager: "Only someone who may change the server’s settings can run this update.";
977
+ readonly locked: "Only someone who may change the server’s settings can run this update: ask someone who has that permission.";
978
+ };
948
979
  };
949
980
  readonly veto: {
950
981
  readonly title: "This deployment cannot browse online";
@@ -972,6 +1003,148 @@ declare const _default: {
972
1003
  readonly cancel: "Cancel";
973
1004
  readonly confirm: "Rename tables";
974
1005
  };
1006
+ readonly review: {
1007
+ readonly source: {
1008
+ readonly title: "Where it came from";
1009
+ readonly badge: "Your own app";
1010
+ readonly madeOn: "Made on {date} · Adminium {version}";
1011
+ readonly madeAt: "Made at {label} on {date} · Adminium {version}";
1012
+ readonly publisher: "Published by {publisher}";
1013
+ readonly warning: "It was saved on another Adminium server, not on adminium.dev. Install it only if you know who saved it.";
1014
+ };
1015
+ readonly fingerprint: {
1016
+ readonly label: "Check against the fingerprint shown when it was saved";
1017
+ readonly labelRelease: "Check against the fingerprint published with the release";
1018
+ readonly check: "Check";
1019
+ readonly ok: "Matches. This is the file that was saved.";
1020
+ readonly okRelease: "Matches. This is the file that was published.";
1021
+ readonly bad: "Does not match. This is not the file that was saved.";
1022
+ readonly badRelease: "Does not match. This is not the file that was published.";
1023
+ readonly none: "Not checked";
1024
+ readonly hold: "The fingerprint does not match. Clear it, or paste the one shown when it was saved.";
1025
+ };
1026
+ readonly existing: {
1027
+ readonly title: "{count, plural, one {# table already exists here with this name.} other {# tables already exist here with these names.}}";
1028
+ readonly use: "Use the existing tables";
1029
+ readonly useNote: "Uses them as they are, with their rows. Never renames them.";
1030
+ readonly used: "{count, plural, one {# used as it is · 0 changes to it} other {# used as they are · 0 changes to them}}";
1031
+ readonly cannot: "{table} can’t be used as it is.";
1032
+ readonly cannotHelp: "Rename the table here, or save the app again without it.";
1033
+ readonly whyRename: "Using the existing tables never renames one out of the way.";
1034
+ readonly whyRequired: "It requires columns the app never fills, so every row the app saves there would be refused.";
1035
+ readonly whyRequiredColumns: "It requires {columns}, which the app never fills, so every row the app saves there would be refused.";
1036
+ readonly whyNotOffered: "It isn’t offered for use as it is.";
1037
+ readonly whyChanges: "Using it would change these columns: {columns}. Using the existing tables changes none of them.";
1038
+ };
1039
+ readonly change: "Change";
1040
+ readonly pages: {
1041
+ readonly title: "{count, plural, one {# page has a name already used here} other {# pages have names already used here}}";
1042
+ readonly untouched: "— the page here is as Adminium made it.";
1043
+ readonly changed: "— changed here.";
1044
+ readonly replace: "Replace it";
1045
+ readonly rename: "Rename the page here";
1046
+ readonly skip: "Skip it";
1047
+ readonly replaced: "Replaced by the app’s page.";
1048
+ readonly skipped: "Skipped. The page here stays.";
1049
+ readonly renamed: "The page here moves to {address}.";
1050
+ readonly renameField: "New address for the page here";
1051
+ readonly hold: "Choose what to do with {pages}.";
1052
+ };
1053
+ readonly outside: {
1054
+ readonly title: "These rules would send data out";
1055
+ readonly bodyUpdate: "A new one arrives switched off and empty. One already here keeps its address.";
1056
+ readonly body: "They arrive switched off and empty. Someone who manages automations can turn them on.";
1057
+ readonly webhook: "sends to a web address · address left empty";
1058
+ readonly address: "emails a fixed address · address left empty";
1059
+ readonly outbound: "sends out by what it writes or links to · check it first";
1060
+ readonly off: "Off";
1061
+ };
1062
+ readonly instance: {
1063
+ readonly title: "The look and languages";
1064
+ readonly tick: "Also apply the look and languages";
1065
+ readonly locked: "Ask someone who manages settings to apply this part.";
1066
+ readonly what: "What’s in it";
1067
+ readonly languagesOn: "Languages switched on: {languages}";
1068
+ readonly languagesOff: "Languages switched off: {languages}";
1069
+ readonly wording: "{count, plural, one {# edited wording} other {# edited wordings}}";
1070
+ readonly emails: "System emails changed: {count}";
1071
+ readonly left: "Not taken here:";
1072
+ readonly caption: "Passwords, keys and email server settings are never in the file. You can undo this part from the app’s page.";
1073
+ readonly hideChanges: "Hide changes";
1074
+ readonly showChanges: "Show changes";
1075
+ readonly noLinks: "It has no links, so it is applied with this part.";
1076
+ readonly links: "Links in this email go to:";
1077
+ readonly carries: "A link to {host} carries {names}, filled in when the email is sent.";
1078
+ readonly subject: "Subject: {from} → {to}";
1079
+ readonly blocks: "Blocks: {added} added · {removed} removed · {changed} changed";
1080
+ readonly preheader: "Preview text changed";
1081
+ readonly footer: "Footer changed";
1082
+ };
1083
+ readonly screens: {
1084
+ readonly title: "Screens";
1085
+ readonly lead: "This app has its own screens.";
1086
+ readonly body: "They run with the rights of whoever opens them. Install it only if you trust who saved it.";
1087
+ };
1088
+ readonly after: {
1089
+ readonly webhook: "The web address of the rule {item}";
1090
+ readonly address: "Who the rule {item} emails";
1091
+ readonly document: "The document the rule {item} makes";
1092
+ readonly delivery: "Where the document {item} is mailed";
1093
+ readonly paymentKey: "The keys of the payment service {item}";
1094
+ readonly bankAccount: "The bank account for {item}";
1095
+ readonly recipients: "{count, plural, one {Who receives the scheduled report {item}} other {Who receives the # scheduled reports}}";
1096
+ readonly sender: "{count, plural, one {The sender address of the email {item}} other {The sender address for # email templates}}";
1097
+ readonly systemGrant: "The {item} role’s console rights";
1098
+ readonly outbound: "What the rule {item} sends out";
1099
+ readonly title: "After you install";
1100
+ readonly note: "These stay on the app’s page until they are done.";
1101
+ };
1102
+ readonly title: "Check before you install";
1103
+ readonly intro: "{app} goes into {database}. Nothing changes until you press Install.";
1104
+ readonly docsLink: "What the review checks";
1105
+ };
1106
+ readonly refusal: {
1107
+ readonly back: "Back";
1108
+ readonly older: {
1109
+ readonly copy: "{database} already has {version}";
1110
+ readonly title: "An older file";
1111
+ readonly body: "{copies}. The file is the older {version}.";
1112
+ };
1113
+ readonly lineage: {
1114
+ readonly title: "A different app with this key";
1115
+ readonly body: "This server already has a different {key}, on {database}. Save this one with another key.";
1116
+ };
1117
+ readonly newer: {
1118
+ readonly title: "Needs a newer Adminium";
1119
+ readonly body: "This file needs Adminium {needed} or newer. This server runs {running}.";
1120
+ };
1121
+ readonly savedHere: {
1122
+ readonly title: "Saved from this database";
1123
+ readonly body: "This file was saved from {database} on this server. Installing it there would run every automation twice. Pick another database, or try it on a test server.";
1124
+ };
1125
+ readonly everywhere: {
1126
+ readonly title: "Installed on every database";
1127
+ readonly body: "{app} {version} is already installed on every database here.";
1128
+ };
1129
+ readonly docsLink: "Why a file is refused";
1130
+ };
1131
+ readonly route: {
1132
+ readonly update: {
1133
+ readonly button: "Update every copy ({databases})";
1134
+ readonly rest: "Update the rest ({databases})";
1135
+ readonly also: "Also install on another database";
1136
+ readonly title: "Update {app} to {version}";
1137
+ readonly body: "This file is newer than every copy on this server. Every copy runs one version, so each one is updated, with its own review.";
1138
+ readonly updated: "Updated";
1139
+ readonly waiting: "Not updated yet";
1140
+ readonly done: "{app} is on {version} on every database.";
1141
+ };
1142
+ readonly another: {
1143
+ readonly button: "Install on another database";
1144
+ readonly title: "Install {app} on another database";
1145
+ readonly body: "{app} {version} is installed on {databases}. Each database can have its own copy.";
1146
+ };
1147
+ };
975
1148
  };
976
1149
  readonly hub: {
977
1150
  readonly action: {
@@ -985,6 +1158,7 @@ declare const _default: {
985
1158
  readonly rename: "Rename";
986
1159
  readonly resume: "Resume";
987
1160
  readonly test: "Test";
1161
+ readonly saveAsApp: "Save as app";
988
1162
  };
989
1163
  readonly card: {
990
1164
  readonly lastIntrospected: "Last introspected";
@@ -1084,6 +1258,58 @@ declare const _default: {
1084
1258
  readonly ok: "Connection healthy · {latency, number} ms";
1085
1259
  };
1086
1260
  readonly title: "Data connections";
1261
+ readonly workspaces: {
1262
+ readonly title: "Workspaces";
1263
+ readonly subtitle: "Databases that serve one business share one menu. A database can be in several.";
1264
+ readonly new: {
1265
+ readonly title: "New workspace";
1266
+ readonly name: "Name";
1267
+ readonly nameHint: "Its tile shows the first letters of its name.";
1268
+ readonly databases: "Databases to put in it";
1269
+ readonly tables: "{engine} · {count, plural, one {# table} other {# tables}}";
1270
+ readonly first: "Everyone’s menu groups by workspace from now on. Databases in none show under Other databases.";
1271
+ readonly create: "Create workspace";
1272
+ };
1273
+ readonly error: {
1274
+ readonly nameRequired: "Give the workspace a name.";
1275
+ readonly nameLong: "Keep the name to 80 characters.";
1276
+ readonly nameTaken: "A workspace already has that name.";
1277
+ readonly noDatabase: "Tick at least one database.";
1278
+ readonly saveFailed: "The workspace could not be saved. Try again.";
1279
+ readonly deleteFailed: "The workspace could not be deleted. Try again.";
1280
+ };
1281
+ readonly created: "Workspace “{name}” created";
1282
+ readonly deleted: "Workspace “{name}” deleted";
1283
+ readonly rename: {
1284
+ readonly title: "Rename workspace";
1285
+ readonly save: "Rename";
1286
+ };
1287
+ readonly delete: {
1288
+ readonly title: "Delete {name}?";
1289
+ readonly body: "Its databases stay. They leave this workspace.";
1290
+ readonly last: "It is the last workspace: everyone’s menu goes back to one list.";
1291
+ readonly confirm: "Delete";
1292
+ };
1293
+ readonly connection: {
1294
+ readonly title: "Workspaces for {name}";
1295
+ readonly newInline: "New workspace…";
1296
+ readonly note: "Its pages and apps show in each workspace you tick. Nobody’s access changes.";
1297
+ readonly saved: "Workspaces saved";
1298
+ readonly action: "Workspaces…";
1299
+ };
1300
+ readonly reorderFailed: "The order could not be saved. Try again.";
1301
+ readonly moved: "{name} moved to {position} of {total}.";
1302
+ readonly move: "Move {name}. Drag, or use the arrow keys.";
1303
+ readonly otherLock: "Always last. It can’t be renamed or deleted.";
1304
+ readonly sender: "Sender";
1305
+ readonly empty: {
1306
+ readonly title: "No workspaces yet";
1307
+ readonly body: "Until there is one, everyone’s menu lists every database’s pages together.";
1308
+ };
1309
+ readonly youAreIn: "The workspace you are in";
1310
+ readonly tickNone: "Tick none to put it in Other databases.";
1311
+ readonly docsLink: "How workspaces work";
1312
+ };
1087
1313
  };
1088
1314
  readonly intent: {
1089
1315
  readonly analytics: {
@@ -1288,7 +1514,7 @@ declare const _default: {
1288
1514
  };
1289
1515
  readonly attachments: {
1290
1516
  readonly accept: "Accepted file types";
1291
- readonly acceptHint: "Choosing none accepts everything this workspace allows. A choice here can only narrow that list, never widen it.";
1517
+ readonly acceptHint: "Choosing none accepts everything this server allows. A choice here can only narrow that list, never widen it.";
1292
1518
  readonly column: {
1293
1519
  readonly adoptHint: "This table already has that column, so nothing is created — it is used as it is.";
1294
1520
  readonly bound: "Files are stored in this table’s {column} column.";
@@ -1315,7 +1541,7 @@ declare const _default: {
1315
1541
  readonly enableHintColumn: "Files are stored in one column on this table, so they appear in the New and Edit dialogs as well as on each record.";
1316
1542
  readonly enableHintSidecar: "Files are linked on Adminium’s side instead. They appear on each record’s page, not in the New dialog.";
1317
1543
  readonly maxBytes: "Largest file (MB)";
1318
- readonly maxBytesHint: "Leave empty to follow the workspace limit. A number here can only lower it.";
1544
+ readonly maxBytesHint: "Leave empty to follow the server’s limit. A number here can only lower it.";
1319
1545
  readonly maxCount: "Most files per record";
1320
1546
  readonly maxCountHint: "Leave empty to accept as many as a record needs.";
1321
1547
  readonly sidecar: {
@@ -1347,7 +1573,7 @@ declare const _default: {
1347
1573
  readonly dragHandle: "Reorder {name}";
1348
1574
  readonly empty: "No columns yet — add them below.";
1349
1575
  readonly file: {
1350
- readonly acceptHelp: "Leave every type off to accept whatever this workspace accepts. Choosing types can only narrow that list — a column can never accept a type the workspace refuses.";
1576
+ readonly acceptHelp: "Leave every type off to accept whatever this server accepts. Choosing types can only narrow that list — a column can never accept a type the server refuses.";
1351
1577
  readonly acceptLabel: "Accepted types";
1352
1578
  readonly badge: "File";
1353
1579
  readonly destinationDefault: "The default destination";
@@ -1358,7 +1584,7 @@ declare const _default: {
1358
1584
  readonly maxCountHelp: "Leave empty to accept as many as a record needs.";
1359
1585
  readonly maxCountLabel: "Most files per record";
1360
1586
  readonly maxCountToggle: "Most files on one {name}";
1361
- readonly maxHelp: "Leave empty to use the workspace limit. A column can only ask for less.";
1587
+ readonly maxHelp: "Leave empty to use the server’s limit. A column can only ask for less.";
1362
1588
  readonly maxLabel: "Largest file (MB)";
1363
1589
  readonly maxToggle: "Largest file accepted by {name}, in MB";
1364
1590
  readonly multipleHelp: "The column stores a list of files instead of one. Existing single values keep working — they read as a list of one.";
@@ -2102,7 +2328,7 @@ declare const _default: {
2102
2328
  readonly optionsListHelp: "Edit the lists themselves in Studio → Lists.";
2103
2329
  readonly optionsListLabel: "List";
2104
2330
  readonly optionsListUnavailable: "The lists could not be read.";
2105
- readonly optionsMissingList: "{key} (not in this workspace)";
2331
+ readonly optionsMissingList: "{key} (not on this server)";
2106
2332
  readonly optionsPickList: "Choose a list…";
2107
2333
  readonly optionsSource: "Allowed values";
2108
2334
  readonly optionsSourceHelp: "A list is written once in Studio and used by every column that names it.";
@@ -2227,7 +2453,7 @@ declare const _default: {
2227
2453
  readonly settings: {
2228
2454
  readonly globalDefaultsNav: "Global defaults";
2229
2455
  readonly title: "Settings";
2230
- readonly workspaceSection: "Workspace";
2456
+ readonly workspaceSection: "Server";
2231
2457
  };
2232
2458
  readonly settingsAi: {
2233
2459
  readonly assistant: {
@@ -2407,7 +2633,7 @@ declare const _default: {
2407
2633
  readonly change: "Change";
2408
2634
  readonly changeWhat: "Edit a row or a saved document. You confirm each one.";
2409
2635
  readonly send: "Send";
2410
- readonly sendWhat: "Send an existing email template to people in this workspace. You confirm each one.";
2636
+ readonly sendWhat: "Send an existing email template to people on this server. You confirm each one.";
2411
2637
  readonly delete: "Delete";
2412
2638
  readonly deleteWhat: "Remove a row or a document. You confirm each one.";
2413
2639
  readonly rows: "Rows in one confirmation";
@@ -2476,7 +2702,7 @@ declare const _default: {
2476
2702
  readonly subtitle: "Irreversible actions.";
2477
2703
  };
2478
2704
  readonly defaultsCard: {
2479
- readonly body: "Workspace-wide theme, accent, density and language live under Global defaults.";
2705
+ readonly body: "Server-wide theme, accent, density and language live under Global defaults.";
2480
2706
  readonly cta: "Open global defaults";
2481
2707
  readonly heading: "Appearance & language defaults";
2482
2708
  };
@@ -2542,7 +2768,7 @@ declare const _default: {
2542
2768
  readonly helper: "Shown in the sidebar, browser title, and emails.";
2543
2769
  readonly label: "Application name";
2544
2770
  };
2545
- readonly heading: "Workspace identity";
2771
+ readonly heading: "Server identity";
2546
2772
  readonly logo: {
2547
2773
  readonly badType: "Choose a PNG, JPEG, WebP, GIF or SVG image.";
2548
2774
  readonly drop: "Drop an image here";
@@ -2586,14 +2812,14 @@ declare const _default: {
2586
2812
  readonly on: "On";
2587
2813
  readonly shown: "Shown";
2588
2814
  readonly subtitle: "Review your changes before saving.";
2589
- readonly title: "Save workspace settings";
2815
+ readonly title: "Save server settings";
2590
2816
  };
2591
2817
  readonly save: "Save changes";
2592
- readonly saveFailed: "Could not save workspace settings. Try again.";
2593
- readonly saved: "Workspace settings updated";
2818
+ readonly saveFailed: "Could not save the server settings. Try again.";
2819
+ readonly saved: "Server settings updated";
2594
2820
  readonly security: {
2595
2821
  readonly allowSignup: {
2596
- readonly desc: "Anyone can create an account — off keeps this workspace invite-only.";
2822
+ readonly desc: "Anyone can create an account — off keeps this server invite-only.";
2597
2823
  readonly label: "Allow self-signup";
2598
2824
  };
2599
2825
  readonly heading: "Security";
@@ -2616,10 +2842,10 @@ declare const _default: {
2616
2842
  readonly cta: "Open storage";
2617
2843
  readonly heading: "Storage";
2618
2844
  };
2619
- readonly subtitle: "Identity, security and destructive actions for this workspace.";
2620
- readonly superAdminOnly: "Only a super admin can change workspace identity and security settings.";
2845
+ readonly subtitle: "Identity, security and destructive actions for this server.";
2846
+ readonly superAdminOnly: "Only a super admin can change the server’s identity and security settings.";
2621
2847
  readonly superAdminOnlyTitle: "Super admin required";
2622
- readonly title: "Workspace settings";
2848
+ readonly title: "Server settings";
2623
2849
  readonly translationsCard: {
2624
2850
  readonly body: "Reword anything in Adminium, choose which languages people can pick, and add your own.";
2625
2851
  readonly cta: "Open translations";
@@ -2774,7 +3000,7 @@ declare const _default: {
2774
3000
  readonly fileCount: "{count, plural, one {# file} other {# files}}";
2775
3001
  readonly kind: {
2776
3002
  readonly archive: "Archived audit batches";
2777
- readonly branding: "The workspace logo";
3003
+ readonly branding: "The server’s logo";
2778
3004
  readonly export: "Export artifacts";
2779
3005
  readonly import: "Uploaded CSVs and their error reports";
2780
3006
  readonly schema: "Imported schema files";
@@ -2918,7 +3144,7 @@ declare const _default: {
2918
3144
  readonly andMore: "and {count} more";
2919
3145
  readonly builtin: "Built in";
2920
3146
  readonly builtinCount: "{count} values";
2921
- readonly builtinSubtitle: "A list Adminium ships. It is the same in every workspace, and its names are written in each person’s own language.";
3147
+ readonly builtinSubtitle: "A list Adminium ships. It is the same on every server, and its names are written in each person’s own language.";
2922
3148
  readonly cancel: "Cancel";
2923
3149
  readonly close: "Close";
2924
3150
  readonly copiedFrom: "a copy of {key}";
@@ -2954,7 +3180,7 @@ declare const _default: {
2954
3180
  readonly removeValue: "Remove {value}";
2955
3181
  readonly save: "Save changes";
2956
3182
  readonly storeLabel: "Store the label instead";
2957
- readonly storeLabelHelp: "A copy stores the code, e.g. DE. \"Store the label instead\" stores what it is called here, e.g. Germany — in this workspace’s language, from now on.";
3183
+ readonly storeLabelHelp: "A copy stores the code, e.g. DE. \"Store the label instead\" stores what it is called here, e.g. Germany — in this server’s language, from now on.";
2958
3184
  readonly subtitle: "The answers a column accepts, named once and used from anywhere.";
2959
3185
  readonly title: "Lists";
2960
3186
  readonly valueAt: "Value {n}";
@@ -3139,7 +3365,7 @@ declare const _default: {
3139
3365
  readonly note: {
3140
3366
  readonly notRegistered: "The public API is not enabled on this server. Set ADMINIUM_PUBLIC_API_ORIGINS and restart — keys made here will work from then on.";
3141
3367
  readonly off: "The public API is switched off, so no key works right now.";
3142
- readonly offLink: "Open Workspace settings";
3368
+ readonly offLink: "Open Server settings";
3143
3369
  };
3144
3370
  readonly quick: {
3145
3371
  readonly body: "Authenticate requests with your key in the Authorization header.";
@@ -3203,7 +3429,7 @@ declare const _default: {
3203
3429
  readonly keys: "Active keys";
3204
3430
  readonly requests: "Requests · 24h";
3205
3431
  };
3206
- readonly subtitle: "Manage programmatic access to your workspace";
3432
+ readonly subtitle: "Manage programmatic access to your server";
3207
3433
  readonly summary: "{endpoints, plural, one {# endpoint} other {# endpoints}} · {methods, plural, one {# method} other {# methods}}";
3208
3434
  readonly title: "API keys & tokens";
3209
3435
  };
@@ -3226,6 +3452,17 @@ declare const _default: {
3226
3452
  readonly title: "Page not found";
3227
3453
  readonly body: "There’s nothing at this address. Check the link and try again.";
3228
3454
  };
3455
+ readonly moved: {
3456
+ readonly one: "{app} is installed on {database}.";
3457
+ readonly other: "{app} is installed on other databases.";
3458
+ readonly body: "This address belonged to a copy that has been taken away.";
3459
+ readonly open: "Open {app} on {database}";
3460
+ readonly hidden: "{app} has moved.";
3461
+ readonly signIn: "This address moved; sign in to see where.";
3462
+ readonly signInLink: "Sign in";
3463
+ readonly noCopy: "This address moved to a copy this account can’t open.";
3464
+ readonly guest: "This address has moved.";
3465
+ };
3229
3466
  };
3230
3467
  readonly appSettings: {
3231
3468
  readonly notInstalled: "This app is not installed";
@@ -3311,6 +3548,8 @@ declare const _default: {
3311
3548
  readonly pages: "{count, plural, one {# page} other {# pages}}";
3312
3549
  readonly keys: "{count, plural, one {Its browser key} other {Its # browser keys}}";
3313
3550
  readonly settings: "Its settings";
3551
+ readonly instance: "The look and languages it applied, put back as they were";
3552
+ readonly instanceLocked: "It changed the look and languages of the whole server. Putting them back needs the permission to change the server’s settings: ask someone who has it to uninstall this app.";
3314
3553
  readonly hosts: "{count, plural, one {Its domain} other {Its # domains}}";
3315
3554
  readonly tables: "{count, plural, one {# table and every record in it} other {# tables and every record in them}}";
3316
3555
  readonly editedPages: "Pages you edited stay as ordinary pages";
@@ -4310,7 +4549,7 @@ declare const _default: {
4310
4549
  };
4311
4550
  readonly person: {
4312
4551
  readonly locked: "This server can’t read its address keys (its secret was changed), so nobody can be found or erased. Ask whoever runs this server.";
4313
- readonly staffAddress: "This address belongs to a member of staff here. Only someone who manages privacy for the whole workspace can look it up or erase it.";
4552
+ readonly staffAddress: "This address belongs to a member of staff here. Only someone who manages privacy for the whole server can look it up or erase it.";
4314
4553
  readonly copyOf: "{label} (copies of them)";
4315
4554
  readonly inApp: "{label} — {app}";
4316
4555
  readonly kind: {
@@ -4838,8 +5077,754 @@ declare const _default: {
4838
5077
  readonly title: "Send campaign";
4839
5078
  readonly unfilled: "Nothing fills {names}: every recipient would get it as written. Give it a backup in the editor, or take it out.";
4840
5079
  readonly when: "When";
4841
- readonly workspaceUsers: "Workspace users";
5080
+ readonly workspaceUsers: "Users on this server";
5081
+ };
5082
+ };
5083
+ };
5084
+ readonly workspaceSender: {
5085
+ readonly title: "Sender for {workspace}";
5086
+ readonly subtitle: "Mail about the records in this workspace’s databases goes from this sender.";
5087
+ readonly close: "Close";
5088
+ readonly loading: "Loading";
5089
+ readonly accepted: {
5090
+ readonly title: "Addresses this server can send from";
5091
+ readonly domains: "Any address at:";
5092
+ readonly addresses: "Or exactly:";
5093
+ };
5094
+ readonly noMail: {
5095
+ readonly title: "This server has no sender yet";
5096
+ readonly body: "Set up e-mail in Settings first. Until then, a workspace cannot have a sender of its own.";
5097
+ readonly action: "Open e-mail settings";
5098
+ };
5099
+ readonly name: {
5100
+ readonly label: "Sender name";
5101
+ readonly helper: "Who the mail says it is from, such as Kiln Street Pottery.";
5102
+ };
5103
+ readonly from: {
5104
+ readonly label: "From address";
5105
+ readonly helper: "An address at one of the places above.";
5106
+ };
5107
+ readonly replyTo: {
5108
+ readonly label: "Reply-to";
5109
+ readonly helper: "Where replies go. Leave it blank for the From address.";
5110
+ };
5111
+ readonly postal: {
5112
+ readonly label: "Postal address";
5113
+ readonly helper: "Printed at the foot of this workspace’s marketing mail. Leave it blank for the server’s.";
5114
+ };
5115
+ readonly sharedList: "The do-not-email list belongs to the whole server: someone who unsubscribes from one business gets no marketing mail from any business on it.";
5116
+ readonly refusal: {
5117
+ readonly notSendingDomain: "This server can only send from {accepted}. Use an address there.";
5118
+ readonly noMail: "This server has no sender yet. Set up e-mail in Settings first.";
5119
+ readonly notAnAddress: "Enter one e-mail address, such as hello@example.com.";
5120
+ };
5121
+ readonly failed: "The sender could not be saved. Try again.";
5122
+ readonly footer: {
5123
+ readonly own: "Its mail goes from {from}.";
5124
+ readonly server: "Until a From address is saved, its mail goes from the server’s sender.";
5125
+ };
5126
+ readonly clear: "Use the server’s sender";
5127
+ readonly cancel: "Cancel";
5128
+ readonly save: "Save sender";
5129
+ readonly docsLink: "Which sender a mail uses";
5130
+ };
5131
+ readonly saveApp: {
5132
+ readonly step: {
5133
+ readonly database: "Database";
5134
+ readonly include: "What to include";
5135
+ readonly about: "About the app";
5136
+ readonly check: "Check";
5137
+ readonly download: "Download";
5138
+ };
5139
+ readonly progress: "Save as app progress";
5140
+ readonly loading: "Reading the database…";
5141
+ readonly footerStep: "Step {n} of {total}";
5142
+ readonly footerStepKey: "Step {n} of {total} · {key}";
5143
+ readonly include: {
5144
+ readonly nothingChanges: "Saving changes nothing on this server.";
5145
+ readonly title: "What to include";
5146
+ readonly body: "Untick anything to leave it out. Rows go in only where you choose them.";
5147
+ readonly searchLabel: "Search what to include";
5148
+ readonly search: "Search tables, pages, roles…";
5149
+ readonly nothing: "Nothing to include";
5150
+ readonly showMore: "Show {count} more";
5151
+ readonly paymentsBody: "Which tables take payments, and how. Payment keys never go in the file.";
5152
+ readonly instanceBody: "The look, the logo, the languages, changed wording and edited system emails. The new server applies them only if the person installing ticks them.";
5153
+ readonly pageMade: "As Adminium made it";
5154
+ readonly pageChanged: "Changed by hand";
5155
+ readonly pagesNote: "{total, plural, one {# page} other {# pages}}: {made} as Adminium made them, {changed} changed by hand.";
5156
+ readonly brought: "Brought in with it: {names}";
5157
+ readonly columns: "{count, plural, one {# column} other {# columns}}";
5158
+ readonly rows: "{count, plural, one {# row} other {# rows}}";
5159
+ readonly rowsAbout: "{count, plural, one {about # row} other {about # rows}}";
5160
+ readonly rowsFor: "Rows for {table}";
5161
+ readonly rowsNone: "Nothing";
5162
+ readonly rowsStarting: "Starting rows";
5163
+ readonly rowsSample: "Sample rows";
5164
+ readonly leftOut: "Left out";
5165
+ readonly rowsNotYours: "You can’t read {table}, so its rows can’t go in. Its structure still can.";
5166
+ readonly chooseWhich: "{rows} rows — choose which {cap}";
5167
+ readonly whichRows: "Which {cap} rows of {table}";
5168
+ readonly pageOrder: "The page’s order";
5169
+ readonly byView: "Saved view: {view}";
5170
+ readonly personal: "Personal:";
5171
+ readonly included: "— included";
5172
+ readonly leftOutDash: "— left out";
5173
+ readonly leaveThemOut: "Leave them out";
5174
+ readonly includeThem: "Include them";
5175
+ readonly secretLike: "{count, plural, one {looks like a key} other {look like keys}}";
5176
+ readonly leaveItOut: "{count, plural, one {Leave it out} other {Leave them out}}";
5177
+ readonly includeIt: "{count, plural, one {Include it} other {Include them}}";
5178
+ };
5179
+ readonly done: "Done";
5180
+ readonly download: {
5181
+ readonly done: "{file} downloaded";
5182
+ readonly failed: "The file could not be downloaded";
5183
+ readonly button: "Download";
5184
+ readonly body: "{app} {version} is saved as a file. Download it to install it on another server.";
5185
+ readonly fingerprint: "Fingerprint";
5186
+ readonly copied: "Fingerprint copied";
5187
+ readonly copyFailed: "The fingerprint could not be copied";
5188
+ readonly copy: "Copy";
5189
+ readonly keep: "Keep the fingerprint with the file. The new server asks for it to check the file is the one you saved.";
5190
+ };
5191
+ readonly cancel: "Cancel";
5192
+ readonly back: "Back";
5193
+ readonly save: "Save";
5194
+ readonly continue: "Continue";
5195
+ readonly database: {
5196
+ readonly title: "Database";
5197
+ readonly body: "One app describes one database.";
5198
+ readonly none: "This server has no database connected yet.";
5199
+ readonly tables: "Tables: {count}";
5200
+ readonly other: "Other databases";
5201
+ };
5202
+ readonly about: {
5203
+ readonly title: "About the app";
5204
+ readonly body: "How the app is named and shown where it is installed.";
5205
+ readonly name: "Name";
5206
+ readonly key: "Key";
5207
+ readonly keyFree: "No other app uses {key}";
5208
+ readonly version: "Version";
5209
+ readonly lastSaved: "Last saved: {last} on {date}. This one: {next}.";
5210
+ readonly description: "Description";
5211
+ readonly label: "Made at";
5212
+ readonly labelHint: "Shown where the app is installed. Use a name, not an address.";
5213
+ readonly labelPlaceholder: "This server’s name";
5214
+ readonly nameMissing: "Give the app a name.";
5215
+ readonly keyShape: "A key is 2 to 80 lower-case letters, digits and -, starting with a letter.";
5216
+ readonly keyTaken: "That key belongs to an app on adminium.dev. Pick another.";
5217
+ readonly keyElsewhere: "That key was saved from another database. Pick another.";
5218
+ readonly versionShape: "A version is three numbers, like 1.2.0.";
5219
+ readonly versionSaved: "{version} was already saved. A saved version can’t be saved again.";
5220
+ readonly versionOlder: "{version} is older than {last}, the last one saved. Use a higher version.";
5221
+ readonly labelAddress: "That looks like an address. Use a name, not an address.";
5222
+ readonly icon: "Icon";
5223
+ };
5224
+ readonly group: {
5225
+ readonly tables: "Tables";
5226
+ readonly pages: "Pages";
5227
+ readonly roles: "Roles";
5228
+ readonly automations: "Automations";
5229
+ readonly emailTemplates: "Email templates";
5230
+ readonly documents: "Documents";
5231
+ readonly reports: "Reports";
5232
+ readonly invoiceLayouts: "Invoice layouts";
5233
+ readonly scheduledReports: "Scheduled reports";
5234
+ readonly publicEndpoints: "Public access";
5235
+ readonly views: "Saved views";
5236
+ readonly payments: "Payments setup";
5237
+ readonly instance: "This server’s look and words";
5238
+ };
5239
+ readonly views: {
5240
+ readonly sharedOf: "{shared} of {total} shared";
5241
+ readonly isShared: "Shared in the app";
5242
+ readonly notShared: "Not shared · see Check";
5243
+ readonly shared: "{shared} of {total}";
5244
+ };
5245
+ readonly deps: {
5246
+ readonly title: "Other things use {name}";
5247
+ readonly body: "If {name} stays out, these lose what they point to.";
5248
+ readonly group: "{group} ({count})";
5249
+ readonly links: "Tables that link to it ({count})";
5250
+ readonly leaveAll: "Leave them all out";
5251
+ readonly keepColumns: "Keep the columns, drop the links";
5252
+ readonly keep: "Keep {name}";
5253
+ };
5254
+ readonly check: {
5255
+ readonly noteProblems: "Fix what blocks saving to save.";
5256
+ readonly noteSecret: "Clear or leave out the saved secret to save.";
5257
+ readonly noteChoices: "{count, plural, one {Answer # choice to save.} other {Answer # choices to save.}}";
5258
+ readonly body: "What goes in the file, and what needs you first.";
5259
+ readonly blocks: "Blocks saving";
5260
+ readonly choices: "Needs a choice";
5261
+ readonly after: "After you install";
5262
+ readonly info: "For your information";
5263
+ readonly checking: "Checking the file again…";
5264
+ readonly backToInclude: "Back to What to include";
5265
+ readonly afterNote: "Passwords, keys and addresses are never in the file. The new server lists these until they are done.";
5266
+ readonly undo: "Undo";
5267
+ readonly views: "{count, plural, one {# saved view belongs to a person. Make it shared in the app to take it along.} other {# saved views belong to people. Make a view shared in the app to take it along.}}";
5268
+ readonly answer: {
5269
+ readonly makeShared: "Make shared";
5270
+ readonly carry: "Carry as text";
5271
+ readonly leaveOut: "Leave it out";
5272
+ readonly clear: "Clear this field";
5273
+ readonly keep: "It is not a key";
5274
+ readonly carryKey: "Keep them unique together";
4842
5275
  };
5276
+ readonly done: {
5277
+ readonly clear: "The field will be empty in the file. Nothing on this server changes.";
5278
+ readonly leaveOutColumn: "The column is left out of the file. The table on this server is unchanged.";
5279
+ readonly leaveOut: "It is left out of the file. Nothing on this server changes.";
5280
+ readonly keep: "Marked as not a key. It goes in as written.";
5281
+ readonly carry: "It goes in as text. The column on this server is unchanged.";
5282
+ readonly makeShared: "It goes in as a shared view of the app. Here it stays as it is.";
5283
+ readonly carryKey: "It goes in with those columns kept unique together, and no key. The table on this server is unchanged.";
5284
+ };
5285
+ readonly secret: "{kind} ‘{item}’ · {field} · holds a saved secret of this server.";
5286
+ readonly secretLikely: "{kind} ‘{item}’ · {field} · looks like a key.";
5287
+ readonly noType: "{column} has no matching type. Carry it as text, or leave it out.";
5288
+ readonly columnName: "{column} has a name an app file cannot hold. Leave it out, or rename it first.";
5289
+ readonly compositeKey: "{table} is keyed by several columns together. Carry them kept unique together, or leave the table out.";
5290
+ readonly pageTable: "‘{page}’ shows a table that is not in the app. Leave the page out, or put its table in.";
5291
+ readonly emailEnglish: "‘{email}’ has no US English text, which an app’s mail needs. Leave it out, or write one first.";
5292
+ readonly rowsPersonal: "{column} is personal or looks like a key, and every row needs a value in it. Include its values, or leave the rows of {table} out.";
5293
+ readonly rowsCycle: "The rows of {table} need rows of another table that need them back. Leave the rows of one of them out.";
5294
+ readonly noPage: "An app needs at least one page. Include a page of this database.";
5295
+ readonly docsLink: "What each group means";
5296
+ readonly named: "{kind} ‘{item}’";
5297
+ readonly personalView: "‘{view}’ is somebody’s own view. Make it a shared view of the app, or leave it out.";
5298
+ readonly ruleEmailEnglish: "‘{rule}’ sends a mail with no US English text, which an app’s mail needs. Leave the rule out, or write one first.";
5299
+ readonly ruleBuiltinEmail: "‘{rule}’ sends a built-in mail, which is not saved in an app. Leave the rule out, or change it first.";
5300
+ readonly ruleAppEmail: "‘{rule}’ sends a mail of an installed app, which is not saved in this one. Leave the rule out, or change it first.";
5301
+ readonly ruleTellsPeople: "‘{rule}’ tells people by name, and an app tells roles. Leave it out, or change it to tell a role first.";
5302
+ readonly ruleRoles: "‘{rule}’ tells only roles that are not in the app (a built-in role, or one left out). Leave it out, or change it to tell another role first.";
5303
+ readonly rowsHidden: "{column} never travels (a code a shared link opens its row with, or a column your role does not read), and every row needs a value in it. Leave the rows of {table} out.";
5304
+ };
5305
+ readonly planFailed: "The file could not be checked";
5306
+ readonly saveFailed: "Could not save. Nothing was written. Try again.";
5307
+ readonly tryAgain: "Try again";
5308
+ readonly quick: {
5309
+ readonly title: "Save {database} as an app";
5310
+ readonly body: "Everything on {database} goes in, without rows. Nothing on this server changes.";
5311
+ readonly summary: "{tables, plural, one {# table} other {# tables}}, {pages, plural, one {# page} other {# pages}}, {roles, plural, one {# role} other {# roles}}, {automations, plural, one {# automation} other {# automations}} and {more, plural, one {# more thing} other {# more things}}.";
5312
+ readonly hide: "Hide them";
5313
+ readonly show: "Show them";
5314
+ readonly viewsNote: "Saved views belong to people, so none go in until they are shared.";
5315
+ readonly checking: "Checking what the file would hold…";
5316
+ readonly ready: "Ready to save";
5317
+ readonly needs: "{count, plural, one {# thing needs a choice} other {# things need a choice}}";
5318
+ readonly viewsNeed: "{count, plural, one {# saved view belongs to a person} other {# saved views belong to people}}";
5319
+ readonly more: "More choices";
5320
+ readonly review: "Review choices";
5321
+ };
5322
+ readonly inventoryFailed: "This database could not be read for saving";
5323
+ readonly saved: {
5324
+ readonly title: "Saved from here";
5325
+ readonly emptyTitle: "Nothing saved yet";
5326
+ readonly empty: "Save as app turns a database’s dashboard into a file you can install on another server.";
5327
+ readonly when: "saved {date}";
5328
+ readonly by: "by {person}";
5329
+ readonly copy: "Copy fingerprint";
5330
+ readonly again: "Download again";
5331
+ readonly newer: "Save a newer version";
5332
+ readonly docsLink: "About saved versions";
5333
+ readonly notDownloadable: "Download again is not open to you: its copy is gone, or it carries something you do not have the rights for.";
5334
+ };
5335
+ readonly entry: {
5336
+ readonly button: "Save as app";
5337
+ readonly which: "Save which database?";
5338
+ readonly tables: "{count, plural, one {# table} other {# tables}}";
5339
+ };
5340
+ readonly kind: {
5341
+ readonly table: "Table";
5342
+ readonly column: "Column";
5343
+ readonly page: "Page";
5344
+ readonly view: "Saved view";
5345
+ readonly role: "Role";
5346
+ readonly automation: "Automation";
5347
+ readonly email: "Email template";
5348
+ readonly document: "Document";
5349
+ readonly report: "Report";
5350
+ readonly invoice: "Invoice layout";
5351
+ readonly schedule: "Scheduled report";
5352
+ readonly public: "Public access";
5353
+ readonly payments: "Payments setup";
5354
+ readonly rows: "Rows";
5355
+ readonly addOn: "Add-on";
5356
+ readonly optionList: "Option list";
5357
+ readonly setting: "Setting";
5358
+ readonly instance: "Look and words";
5359
+ readonly file: "File";
5360
+ readonly app: "App";
5361
+ };
5362
+ readonly after: {
5363
+ readonly webhook: "The web address of ‘{rule}’";
5364
+ readonly webhookHeader: "The header values of ‘{rule}’";
5365
+ readonly addresses: "The fixed addresses of ‘{rule}’";
5366
+ readonly systemGrant: "The {role} role’s console rights (they never travel)";
5367
+ readonly paymentKey: "The payment keys for {item}";
5368
+ readonly documentRecipient: "Who receives ‘{document}’";
5369
+ readonly senders: "{count, plural, one {The sender address for # email template} other {The sender address for # email templates}}";
5370
+ readonly schedules: "{count, plural, one {Who receives the # scheduled report} other {Who receives the # scheduled reports}}";
5371
+ readonly instanceSender: "Who the system email ‘{email}’ is sent from";
5372
+ readonly addOnCredentials: "The keys and passwords of {addOn}";
5373
+ readonly addOnSetting: "The {setting} setting of {addOn}";
5374
+ readonly bankAccount: "The bank account a transfer is paid into (paying by transfer stays off until then)";
5375
+ readonly contact: "The contact address and phone of ‘{item}’";
5376
+ readonly paymentLines: "The payment lines (where to pay) of ‘{item}’";
5377
+ };
5378
+ readonly info: {
5379
+ readonly wildcard: "{roles, plural, one {# role can use every table.} other {# roles can use every table.}} {tables, plural, one {In the app they cover this # table only.} other {In the app they cover these # tables only.}}";
5380
+ readonly builtinRoles: "{count, plural, one {The # built-in role stays behind.} other {The # built-in roles stay behind.}}";
5381
+ readonly minVersion: "Needs Adminium {version} or newer.";
5382
+ readonly viewNotCarried: "{table} is a view of the database, not a table: an app makes tables only, so it is left out.";
5383
+ readonly tableNoColumns: "{table} has no column an app file can hold, so it is left out.";
5384
+ readonly keyFieldNotCarried: "The column {table} names its rows by is left out, so the target names them its own way.";
5385
+ readonly existingCustomers: "{table} lets existing customers get marketing mail. An install never switches that on: whoever sends campaigns there decides it, with their own tick.";
5386
+ readonly keyNotUnique: "{table} is carried without its key, and its key columns cannot be kept unique together.";
5387
+ readonly enumEmpty: "{column} allows an empty answer, which an app file’s choices cannot hold; it is left off the list.";
5388
+ readonly longText: "{column} has a length limit an app file does not keep; it travels as text of any length.";
5389
+ readonly timestampZone: "{column} keeps a time without a zone; an app file makes it a time with a zone.";
5390
+ readonly keyNumbered: "{column} is a number key the database does not count itself; an install makes it count.";
5391
+ readonly semanticNotCarried: "{column} was marked as a kind of value an app file cannot name; the target guesses it again.";
5392
+ readonly uniqueTextWidth: "{column} is unique and of any length; an app file gives it a length limit so every database can keep it unique.";
5393
+ readonly columnFieldNotCarried: "{column} keeps a setting here only: an app file cannot hold it as it is.";
5394
+ readonly linkRemoval: "{column} was taken off a link Adminium guessed; the target guesses its links again.";
5395
+ readonly linkTableLeftOut: "{column} links to a table that is not in the app, so it is carried as a plain column.";
5396
+ readonly linkNotToKey: "{column} links to a column that is not its table’s one key; an app file links only to a key, so it is carried as a plain column.";
5397
+ readonly defaultNotCarried: "{column} has a default the database works out; an app file cannot carry it, so the target’s column has none.";
5398
+ readonly columnRule: "{column} keeps a rule here only: an app file cannot carry it as it is.";
5399
+ readonly tableRule: "{table} keeps a rule or setting here only: an app file cannot carry it as it is.";
5400
+ readonly uniqueNotCarried: "{table} keeps some columns unique together in a way an app file cannot hold; the target goes without it.";
5401
+ readonly indexNotCarried: "{table} has an index an app file cannot hold; the target goes without it.";
5402
+ readonly stateRole: "A move between the states of {table} is kept for a role that is not in the app; it keeps the roles that are, or is left out if none is.";
5403
+ readonly listNotCarried: "An app file cannot hold this list as it is, so it is left out.";
5404
+ readonly appTableRenamed: "{table} is an installed app’s table, saved under another name, so the install could not find it.";
5405
+ readonly rowsTableLeftOut: "The rows of {table} stay behind: the table is not in the app.";
5406
+ readonly rowsPrivate: "{table} is private: only the people its rows belong to write it, so it starts empty.";
5407
+ readonly rowsViewGone: "The view chosen for {table} is not there any more: its rows are picked in key order.";
5408
+ readonly rowsViewUnread: "The view chosen for {table} filters in a way the save cannot read: its rows are picked in key order.";
5409
+ readonly rowsFirst: "Only the first rows of {table} travel. Pick a saved view to choose others.";
5410
+ readonly rowsPersonalEmpty: "{column} holds personal data or looks like a secret: its values stay behind and the rows carry it empty. Tick it to carry them.";
5411
+ readonly rowsPersonalLeftOut: "{column} holds personal data or looks like a secret: its values stay behind, and the target fills its default. Tick it to carry them.";
5412
+ readonly rowsPeople: "{column} holds or names staff members: people never travel, so the rows carry it empty.";
5413
+ readonly rowsFiles: "Some files in the rows of {table} stay behind (only pictures travel, and only in sample rows); those cells are empty.";
5414
+ readonly rowsBytes: "Raw bytes in the rows of {table} cannot travel in an app file; those cells are empty.";
5415
+ readonly rowsJson: "Some json values in the rows of {table} hold keys starting with “@”, which an app file reads as directions; those cells are empty.";
5416
+ readonly rowsParentEmpty: "Some rows of {table} carry {column} empty: the rows it names do not travel with them.";
5417
+ readonly rowsParentLeftOut: "Some rows of {table} stay behind: they need {column}, and the rows it names do not travel with them.";
5418
+ readonly rowsCycleEmpty: "Some sample rows of {table} carry {column} empty: they and the rows they name point at each other, and sample rows are written in one pass.";
5419
+ readonly rowsCode: "{column} is a code Adminium makes: its values never travel, whatever is ticked, and the target makes new ones.";
5420
+ readonly rowsLinkCode: "{column} is the code a shared link opens its row with: its values never travel, whatever is ticked.";
5421
+ readonly rowsUnreadable: "{column} is not shown to your role: its values never travel, whatever is ticked.";
5422
+ readonly widgetTable: "A card reads a table that is not in the app, so the card was left out.";
5423
+ readonly columnTable: "A column counts rows of a table that is not in the app, so the column was left out.";
5424
+ readonly formField: "A form field picks rows of a table that is not in the app, so the field was left out.";
5425
+ readonly pageLink: "A link opens a page that is not in the app, so it will lead nowhere there.";
5426
+ readonly instanceValue: "An entry names something that exists only on this server (a person, a role, a record of its own), so it was left out.";
5427
+ readonly destination: "Files go to the default storage of the server the app is installed on.";
5428
+ readonly tabTable: "A related tab shows a table that is not in the app, so the tab was left out.";
5429
+ readonly measureTable: "A page total adds up a table that is not in the app, so the total was left out.";
5430
+ readonly viewsTooMany: "The page already carries as many views as an app file holds, so this one was left out.";
5431
+ readonly pageUnreadable: "The page has no document Adminium can read, so it was left out.";
5432
+ readonly pageDisabled: "The page is switched off here; it is switched on where the app is installed.";
5433
+ readonly limitTable: "A limit names a table that is not in the app, so that part of the limit is left out.";
5434
+ readonly addOnTableAction: "Export and import on an add-on’s table are not carried; the role gets them by hand.";
5435
+ readonly grantTable: "A grant on a table that is not in the app is left out.";
5436
+ readonly grantPage: "A grant on a page that is not in the app is left out.";
5437
+ readonly grantAddOn: "A grant on the settings of an add-on this database does not have is left out.";
5438
+ readonly appScreens: "A grant on another app’s screens is not carried.";
5439
+ readonly appScreensAll: "A grant on the screens of every app is not carried.";
5440
+ readonly screensOnly: "The app has no screens of its own, so the role opens the dashboard.";
5441
+ readonly builtinEmail: "A built-in mail is not saved in an app.";
5442
+ readonly emailMissing: "This mail has no live text, so it is left out.";
5443
+ readonly emailNotSent: "No rule of the app sends this mail and it is not a campaign, so it is left out.";
5444
+ readonly emailNotOurs: "This mail belongs to an installed app, so it is left out.";
5445
+ readonly builtinEmailEdited: "An edited built-in mail travels with this server’s look and words, not in this app.";
5446
+ readonly emailFileMissing: "A file this mail carries could not be read, so it is left out.";
5447
+ readonly emailFileKind: "A file this mail carries is not a kind an app’s mail may carry, so it is left out.";
5448
+ readonly emailLanguageEmpty: "A language of this mail has no subject or nothing left to send, so that language is left out.";
5449
+ readonly emailHtml: "An app’s mail may not hold an HTML block, so that block is left out.";
5450
+ readonly emailLibraryPicture: "A picture from the Files library does not travel in a mail’s text, so that block is left out.";
5451
+ readonly emailRowsTable: "A block lists the rows of a table that is not in the app, so that block is left out.";
5452
+ readonly emailBlockStyle: "How some blocks look (their padding, colours and borders) is not saved in an app.";
5453
+ readonly emailDocument: "A document drawn for each mail is not carried; only files are.";
5454
+ readonly ruleNoDatabase: "This rule is not tied to a database, so it is not saved in an app.";
5455
+ readonly ruleUnfinished: "This rule is not finished, so it is left out.";
5456
+ readonly rulesTooMany: "The app already carries as many rules as a file holds, so this one is left out.";
5457
+ readonly ruleTable: "This rule reads a table that is not in the app, so it is left out.";
5458
+ readonly ruleRole: "A role this rule tells is not in the app (a built-in role, or one left out), so it is not told.";
5459
+ readonly ruleEmailLeftOut: "This rule sends a mail you left out, so it is left out too.";
5460
+ readonly ruleStep: "This rule has a step an app cannot carry, so it is left out.";
5461
+ readonly ruleDocument: "This rule draws a document that is not in the app, so it is left out.";
5462
+ readonly documentTrigger: "What draws it cannot be said in a file: it arrives drawn by hand only.";
5463
+ readonly documentOff: "It is switched off here, so it is not saved.";
5464
+ readonly cannotSay: "It cannot be said in a file as it is, so it is not saved.";
5465
+ readonly ownLanguage: "It is a language made here: it is switched on where the app is installed only if that server has it too.";
5466
+ readonly defaultLanguageOff: "The language everybody starts in is switched off here, so which language comes first stays out.";
5467
+ readonly instanceLeft: "A saved app cannot carry this as it is, so it stays out.";
5468
+ readonly wordsCut: "There are more changed words than a saved app carries: the rest stay out.";
5469
+ readonly instanceEmailHtml: "This system email holds an HTML block, which a saved app cannot carry: it stays out.";
5470
+ readonly instanceEmailLook: "The look of this system email (its name, mark and colour) stays here: it is sent with the look of the server it is installed on.";
5471
+ readonly instanceEmailStyle: "The block styles of this system email stay here: its blocks travel in the plain style.";
5472
+ readonly instanceEmailFiles: "What this system email attaches stays as the server it is installed on has it.";
5473
+ readonly secretSetting: "A secret setting never travels: it is set again on the server the app is installed on, if it is needed there.";
5474
+ readonly instanceNothing: "Nothing of this server’s look, languages, wording, system emails or settings was changed, so none of it travels.";
5475
+ readonly instanceTicked: "This server’s look, languages, wording, system emails and settings travel. They are written over the server it is installed on only when the person installing ticks them.";
5476
+ readonly logoLeft: "The logo could not be carried (it is gone from the Files library, cannot be read, or is not a PNG, JPEG, WebP, GIF or SVG picture), so it stays out.";
5477
+ readonly faviconLeft: "The browser tab icon could not be carried (it is gone from the Files library, cannot be read, or is not a PNG, JPEG, WebP, GIF or SVG picture), so it stays out.";
5478
+ readonly appFromFile: "It was installed from a file. Its tables, pages and rules stay with it; save it again where it was made.";
5479
+ readonly appsTooMany: "The file already names as many apps as it can: install this one on the target first.";
5480
+ readonly appRequired: "It must be installed on the target database first, at the version it has here or later.";
5481
+ readonly addOnNotHere: "It is named by what is saved but is not installed here, so any version of it is asked for.";
5482
+ readonly addOnsTooMany: "The file already names as many add-ons as it can: install this one on the target by hand.";
5483
+ readonly payableLeftOut: "It is not saved as payable: its table, a column of it, or its set-up cannot travel.";
5484
+ readonly paymentWayNarrowed: "It is offered here for some payable tables only; after installing it is offered for all of them until that is chosen again.";
5485
+ readonly payPageContacts: "The pay page’s logo and contact details are not saved: they are set again after installing.";
5486
+ readonly paymentsLeftOut: "The payments set-up cannot be said in a file, so it is not saved.";
5487
+ readonly publicScopeByHand: "A public scope written by hand cannot be said in a file, so it is not saved.";
5488
+ readonly publicKeyLeftOut: "This key cannot be said in a file as it is, so it is not saved. Make one again after installing if it is needed.";
5489
+ readonly publicShared: "It is served through another key too, which is not saved that way: after installing it is served through one key only.";
5490
+ readonly publicUnused: "No key that is saved serves it, so it is not saved.";
5491
+ readonly publicNarrowed: "What strangers may filter, search or sort by is not saved: after installing they may do less here.";
5492
+ readonly publicKeysNew: "New keys are made when it is installed: the apps that call it need the new key, and its allowed origins are set again.";
5493
+ readonly pictureLeftOut: "A picture linked from elsewhere is not saved: put it in again after installing.";
5494
+ readonly customerLines: "Its example customer and delivery lines are not saved: they may name a real person.";
5495
+ readonly scheduleLeftOut: "The page it reports on is not saved, so it is not saved either.";
5496
+ };
5497
+ readonly icon: {
5498
+ readonly coffee: "Coffee";
5499
+ readonly bean: "Bean";
5500
+ readonly flame: "Flame";
5501
+ readonly package: "Package";
5502
+ readonly store: "Shop";
5503
+ readonly truck: "Truck";
5504
+ readonly leaf: "Leaf";
5505
+ readonly sprout: "Sprout";
5506
+ readonly shoppingBag: "Shopping bag";
5507
+ readonly receipt: "Receipt";
5508
+ readonly warehouse: "Warehouse";
5509
+ readonly cupSoda: "Cup";
5510
+ };
5511
+ readonly problem: {
5512
+ readonly instanceId: "The file would hold an id of this server at {place}, so it cannot be made. Leave out what holds it, then check again.";
5513
+ readonly instanceIdNoPlace: "The file would hold an id of this server, so it cannot be made. Leave out what holds it, then check again.";
5514
+ readonly manifest: "The file would not pass the checks every app file meets at {place}, so it cannot be made. Leave out what it names, then check again.";
5515
+ readonly manifestNoPlace: "The file would not pass the checks every app file meets, so it cannot be made. Leave out what it names, then check again.";
5516
+ readonly plan: "Installing the file would be refused at {place}, so it cannot be made. Leave out what it names, then check again.";
5517
+ readonly planNoPlace: "Installing the file would be refused, so it cannot be made. Leave out what it names, then check again.";
5518
+ readonly other: "The file cannot be made as it is. Leave out what was added last, then check again.";
5519
+ };
5520
+ readonly error: {
5521
+ readonly snapshotMissing: "This database has not been read yet. Refresh its schema, then save.";
5522
+ readonly keyElsewhere: "An app with this key was saved from another database. Give this app another key.";
5523
+ readonly versionSaved: "This version was saved before. Save a newer version.";
5524
+ readonly versionOlder: "A higher version was saved before. Save a version above it.";
5525
+ readonly instanceNotYours: "Saving the look, languages, wording and system emails needs managing settings.";
5526
+ readonly rowsNotYours: "Saving rows needs reading and exporting the whole table, and personal columns need reading them. Leave out what you may not save.";
5527
+ readonly filesNotYours: "The app carries files from the Files library, and saving them needs managing files.";
5528
+ readonly tableNotYours: "You may not save a table you cannot read, nor a page or a public endpoint of one. Leave it out, then save again.";
5529
+ readonly viewNotYours: "You may share only your own views. Leave out a view that is not yours, then save again.";
5530
+ readonly refused: "The file cannot be made. Fix what blocks saving in Check, then save again.";
5531
+ readonly needsAnswers: "Something in Check still needs an answer. Answer it, then save again.";
5532
+ readonly downloadNotYours: "You may not download this file again: it carries something you do not have the rights for.";
5533
+ };
5534
+ };
5535
+ readonly workspaceFiles: {
5536
+ readonly app: {
5537
+ readonly choose: "Choose a database";
5538
+ readonly chooseWhere: "Choose where {app} goes.";
5539
+ readonly counts: {
5540
+ readonly after: "{count, plural, one {# thing after you install} other {# things after you install}}";
5541
+ readonly choices: "{count, plural, one {# choice} other {# choices}}";
5542
+ readonly outside: "{count, plural, one {# outside address} other {# outside addresses}}";
5543
+ readonly screens: "{count, plural, one {# screen} other {# screens}}";
5544
+ readonly tables: "{count, plural, one {# table} other {# tables}}";
5545
+ };
5546
+ readonly hideReview: "Hide the review";
5547
+ readonly installOn: "Install on";
5548
+ readonly showReview: "Show the review";
5549
+ readonly update: "This file is newer. Every copy of {app} is updated: {databases}.";
5550
+ };
5551
+ readonly cancel: "Cancel";
5552
+ readonly choice: {
5553
+ readonly addTo: "Add to {name}";
5554
+ readonly create: "Create workspace {name}";
5555
+ readonly createHint: "The databases the apps go into are put in it.";
5556
+ readonly existing: "Add to an existing workspace";
5557
+ readonly existingHint: "Pick it below.";
5558
+ readonly existingLabel: "Existing workspace";
5559
+ readonly first: "Everyone’s menu groups by workspace from now on. Databases in none show under Other databases.";
5560
+ readonly none: "No workspace";
5561
+ readonly noneHint: "The databases stay in Other databases.";
5562
+ readonly noneHintFirst: "The databases stay as they are in the menu.";
5563
+ readonly noneYet: "No workspaces on {server} yet";
5564
+ readonly title: "Workspace";
5565
+ };
5566
+ readonly close: "Close";
5567
+ readonly copied: "Copied";
5568
+ readonly copy: "Copy";
5569
+ readonly done: {
5570
+ readonly chooseRest: "Choose a database for the rest";
5571
+ readonly inExisting: "They are on {server}, in the workspace {workspace}.";
5572
+ readonly inNew: "They are on {server}, in the new workspace {workspace}.";
5573
+ readonly installed: "Installed";
5574
+ readonly notInstalled: "Not installed";
5575
+ readonly notFinished: "not finished";
5576
+ readonly on: "They are on {server}.";
5577
+ readonly onDatabase: "on {database}";
5578
+ readonly openWorkspace: "Open the workspace";
5579
+ readonly rest: "Install the rest";
5580
+ readonly stoppedPartWay: "{done} of {total} installed. {app} stopped part way. Nothing was removed, and Install the rest finishes from where it stopped.";
5581
+ readonly title: "{done} of {total} apps are installed";
5582
+ readonly waiting: "not installed yet";
5583
+ readonly what: "What happened";
5584
+ readonly workspace: "Workspace";
5585
+ readonly workspaceGone: "They are on {server}. The workspace {workspace} was deleted, so the rest are in no workspace.";
5586
+ };
5587
+ readonly error: "Something went wrong";
5588
+ readonly install: {
5589
+ readonly apps: "{count, plural, one {# app} other {# apps}}";
5590
+ readonly appsIntro: "Each app installs on its own database. One that is refused does not stop the others.";
5591
+ readonly appsTitle: "Apps in the file";
5592
+ readonly back: "Back";
5593
+ readonly badge: "Workspace file";
5594
+ readonly button: "{count, plural, one {Install # app} other {Install # apps}}";
5595
+ readonly buttonBoth: "{installs, plural, one {Install # app} other {Install # apps}}, {updates, plural, one {update #} other {update #}}";
5596
+ readonly buttonUpdate: "{count, plural, one {Update # app} other {Update # apps}}";
5597
+ readonly checkIntro: "The apps in {workspace} go onto {server}. Nothing changes until you press Install.";
5598
+ readonly checkTitle: "Check before you install";
5599
+ readonly failed: "The install did not run";
5600
+ readonly footer: "Step {n} of {total} · {file}";
5601
+ readonly noDatabases: {
5602
+ readonly body: "Apps go onto databases that are connected. Connect a database first, then come back to this file.";
5603
+ readonly title: "No database here yet";
5604
+ };
5605
+ readonly progress: "Install progress";
5606
+ readonly reading: "Reading the workspace file…";
5607
+ readonly steps: {
5608
+ readonly bundle: "Bundle";
5609
+ readonly done: "Done";
5610
+ readonly review: "Review";
5611
+ };
5612
+ readonly summary: {
5613
+ readonly refused: "{apps} {count, plural, one {is refused.} other {are refused.}} The others install.";
5614
+ readonly refusedAll: "{apps} {count, plural, one {is refused.} other {are refused.}}";
5615
+ readonly waiting: "{ready} {count, plural, one {installs now.} other {install now.}} Make the choices for {apps} to add {others, plural, one {it} other {them}}.";
5616
+ readonly waitingAll: "Choose a database for {apps}, and answer its review.";
5617
+ };
5618
+ readonly title: "Install a workspace file";
5619
+ readonly workspaceGone: {
5620
+ readonly title: "The workspace was deleted";
5621
+ readonly body: "The workspace {workspace} was deleted after the first apps were installed. The rest install in no workspace.";
5622
+ };
5623
+ };
5624
+ readonly refusal: {
5625
+ readonly extra: "The file carries something its list of apps does not name.";
5626
+ readonly integrity: "An app inside is not the file that was saved: its fingerprint does not match.";
5627
+ readonly mismatch: "An app inside is not the app the file says it is.";
5628
+ readonly missing: "An app the file names is not in it.";
5629
+ readonly nested: "A workspace file inside a workspace file is not installed.";
5630
+ readonly title: "This workspace file can’t be installed";
5631
+ readonly twoInstances: "Two apps inside carry the server settings. A workspace file carries them with one app at most.";
5632
+ readonly app: "This app can’t be installed on that database as it is.";
5633
+ readonly plan: "This app can’t be installed on that database as it is. Open it to see what stands in the way.";
5634
+ };
5635
+ readonly save: {
5636
+ readonly button: "Save workspace";
5637
+ readonly include: "Include {database}";
5638
+ readonly intro: "Each database becomes an app inside one file. Nothing on this server changes.";
5639
+ readonly key: "Key";
5640
+ readonly lastSaved: "Last saved {version}";
5641
+ readonly moreChoices: "More choices";
5642
+ readonly choicesTitle: "More choices for {database}";
5643
+ readonly name: "Name";
5644
+ readonly needChoice: "{count, plural, one {# thing needs a choice} other {# things need a choice}}";
5645
+ readonly noneIncluded: "Tick at least one database.";
5646
+ readonly ready: "Nothing needs a choice.";
5647
+ readonly save: "Save";
5648
+ readonly settings: {
5649
+ readonly from: "From {database}";
5650
+ readonly help: "The look, languages, wording and system emails of this server travel with one app at most.";
5651
+ readonly label: "Server settings";
5652
+ readonly none: "None";
5653
+ };
5654
+ readonly subtitle: "Workspace · {count, plural, one {{n} database} other {{n} databases}}";
5655
+ readonly title: "Save {workspace} as one file";
5656
+ readonly tooBig: "This workspace file would be larger than {size}. Leave out a database or its sample rows and try again.";
5657
+ readonly useMoreChoices: "Use More choices on an app to make its choices.";
5658
+ readonly useChoices: "Use these choices";
5659
+ readonly version: "Version";
5660
+ readonly leaks: "The workspace file would carry a secret or an id of this server in a workspace, database or label name. Rename it, then save again.";
5661
+ };
5662
+ readonly saved: {
5663
+ readonly copyApp: "Copy the fingerprint of {file}";
5664
+ readonly copyFile: "Copy the file’s fingerprint";
5665
+ readonly done: "Done";
5666
+ readonly download: "Download";
5667
+ readonly fingerprint: "Fingerprint";
5668
+ readonly inside: "Apps inside";
5669
+ readonly intro: "Download it to install it on another server.";
5670
+ readonly keep: "Keep the fingerprints with the file. The new server asks for them to check the file is the one you saved.";
5671
+ readonly title: "{workspace} is saved as one file";
5672
+ };
5673
+ readonly saves: {
5674
+ readonly again: "Save a newer version";
5675
+ readonly copy: "Copy fingerprint";
5676
+ readonly download: "Download again";
5677
+ readonly label: "Workspace files saved here";
5678
+ readonly saved: "saved {date} · {size}";
5679
+ };
5680
+ readonly status: {
5681
+ readonly checking: "Checking";
5682
+ readonly choice: "Needs a choice";
5683
+ readonly installed: "Installed · {version}";
5684
+ readonly ready: "Ready";
5685
+ readonly refused: "Refused";
5686
+ readonly stopped: "Stopped";
5687
+ readonly update: "Update · {from} → {to}";
5688
+ readonly updated: "Updated";
5689
+ };
5690
+ readonly waiting: {
5691
+ readonly discard: "Discard";
5692
+ readonly label: "Workspace files waiting";
5693
+ readonly review: "Review and install";
5694
+ readonly staged: "{workspace} is uploaded and waits to be installed.";
5695
+ readonly stopped: "{workspace}: {done} of {total} installed. The install stopped part way.";
5696
+ };
5697
+ readonly docsLink: "How workspace files work";
5698
+ readonly saveRefusal: {
5699
+ readonly changed: "The workspace file came out different from the one saved. Save the workspace again.";
5700
+ readonly tooLarge: "This workspace file would be larger than 128 MB. Leave out a database or its sample rows and try again.";
5701
+ readonly appTooLarge: "An app would be larger than 32 MB. Leave out its sample rows and try again.";
5702
+ readonly empty: "Choose at least one database to save.";
5703
+ readonly tooMany: "A workspace file holds too many apps. Leave out a database.";
5704
+ readonly notMember: "Some of those databases are not in this workspace.";
5705
+ readonly duplicate: "Each database becomes one app: name it once.";
5706
+ readonly duplicateKey: "Two apps would have the same key. Give each its own.";
5707
+ readonly instanceFrom: "The server settings travel with one of the apps saved.";
5708
+ };
5709
+ };
5710
+ readonly apps: {
5711
+ readonly copies: {
5712
+ readonly on: "on {database}";
5713
+ readonly updateEvery: "Update every copy";
5714
+ readonly screensFirstOnly: "This app’s screens open for its first install only. Its pages, tables and rules work here.";
5715
+ readonly screensFirstOnlyOn: "This app’s screens open for its first install only, on {database}. Its pages, tables and rules work here.";
5716
+ readonly uninstallNote: "Removes {app} from {database}: its pages and rules there. Keeps the tables and their rows.";
5717
+ readonly uninstall: "Uninstall {app} from {database}";
5718
+ readonly docsLink: "How the copies of one app update";
5719
+ };
5720
+ readonly page: {
5721
+ readonly versionOnly: "Version {version}";
5722
+ readonly ownVersion: "Version {version} · Your own app";
5723
+ readonly uploadNewer: "Upload a newer version";
5724
+ readonly uninstallNoteBefore: "Removes the app’s pages and rules. Keeps the tables and their rows — they were here before the app.";
5725
+ readonly uninstallNote: "Removes the app’s pages and rules. Keeps the tables and their rows.";
5726
+ readonly madeOn: "Version {version} · Your own app · made on {date}";
5727
+ readonly madeAt: "Version {version} · Your own app · made at {label} on {date}";
5728
+ };
5729
+ readonly added: {
5730
+ readonly onlyHere: "On {database} only.";
5731
+ readonly pagesOnly: "Pages only. This app has no screens of its own.";
5732
+ readonly pages: "Pages";
5733
+ readonly emailTemplates: "Email templates";
5734
+ readonly scheduledReports: "Scheduled reports";
5735
+ readonly roles: "Roles";
5736
+ readonly title: "What it added";
5737
+ readonly nothing: "Nothing of its own yet.";
5738
+ };
5739
+ readonly own: {
5740
+ readonly badge: "Your own app";
5741
+ readonly madeOn: "Made on {date}";
5742
+ readonly madeAtList: "Made at {label} · {date}";
5743
+ };
5744
+ readonly afterInstall: {
5745
+ readonly item: {
5746
+ readonly webhookHeader: "Fill in the header value of '{name}'";
5747
+ readonly webhook: "Add the web address to '{name}'";
5748
+ readonly address: "Add the email address to '{name}'";
5749
+ readonly document: "Choose the document '{name}' sends";
5750
+ readonly delivery: "Choose where '{name}' is mailed";
5751
+ readonly recipients: "{count, plural, one {Choose who receives the scheduled report} other {Choose who receives the # scheduled reports}}";
5752
+ readonly sender: "{count, plural, one {Set the sender address for # email template} other {Set the sender address for # email templates}}";
5753
+ readonly paymentKey: "Add the keys for '{name}'";
5754
+ readonly bankAccount: "Add the bank account for '{name}'";
5755
+ readonly systemGrant: "Give the {name} role its console rights";
5756
+ readonly outbound: "Check what '{name}' sends out, then switch it on";
5757
+ readonly other: "Fill in '{name}'";
5758
+ };
5759
+ readonly link: {
5760
+ readonly automation: "Open the rule";
5761
+ readonly emailTemplates: "Open email settings";
5762
+ readonly reports: "Open reports";
5763
+ readonly roles: "Open roles";
5764
+ readonly payments: "Open payments";
5765
+ readonly documents: "Open documents";
5766
+ readonly settings: "Open settings";
5767
+ };
5768
+ readonly needs: {
5769
+ readonly automations: "Needs someone who manages automations";
5770
+ readonly settings: "Needs someone who manages settings";
5771
+ readonly reports: "Needs someone who manages reports";
5772
+ readonly roles: "Needs someone who manages roles";
5773
+ readonly payments: "Needs someone who manages payments";
5774
+ readonly apps: "Needs someone who manages apps";
5775
+ };
5776
+ readonly hidden: "After you install is hidden";
5777
+ readonly count: "{done} of {total} done";
5778
+ readonly allSet: "All set";
5779
+ readonly allSetBody: "Every step after installing is done.";
5780
+ readonly hide: "Hide";
5781
+ readonly title: "After you install";
5782
+ readonly seenDone: "Done";
5783
+ readonly doneBy: "Done by {name} {when}";
5784
+ };
5785
+ readonly look: {
5786
+ readonly part: {
5787
+ readonly logo: "logo";
5788
+ readonly colours: "colours";
5789
+ readonly languages: "{count, plural, one {# language} other {# languages}}";
5790
+ readonly wordings: "{count, plural, one {# wording} other {# wordings}}";
5791
+ readonly systemEmails: "{count, plural, one {# system email} other {# system emails}}";
5792
+ readonly settings: "{count, plural, one {# setting} other {# settings}}";
5793
+ };
5794
+ readonly undone: "The look and languages are back to what was here before";
5795
+ readonly row: {
5796
+ readonly logo: "Logo";
5797
+ readonly colours: "Colours";
5798
+ readonly languages: "{count, plural, one {# language · {names}} other {# languages · {names}}}";
5799
+ readonly wordings: "{count, plural, one {# wording} other {# wordings}}";
5800
+ readonly systemEmails: "{count, plural, one {# system email} other {# system emails}}";
5801
+ readonly settings: "{count, plural, one {# setting} other {# settings}}";
5802
+ };
5803
+ readonly title: "The look and languages";
5804
+ readonly body: "Applied from the file on {date}: {parts}.";
5805
+ readonly undo: "Undo";
5806
+ readonly confirmTitle: "Put back what was here before?";
5807
+ readonly confirmSubtitle: "The look and languages · {app}";
5808
+ readonly confirmBody: "These were applied from the file on {date}. Undo puts back what this server had before.";
5809
+ readonly changedSince: "changed since, left as they are";
5810
+ readonly untouched: "Pages, rules and data are not touched.";
5811
+ readonly putBack: "Put it back";
5812
+ };
5813
+ readonly editable: {
5814
+ readonly folderExists: "{folder} already exists here. Rename or remove that folder first.";
5815
+ readonly severalInstalls: "{app} is installed on {count, plural, one {# database} other {# databases}}. Remove the others first.";
5816
+ readonly noProject: "Editing screens needs a project folder. Open this server with the Designer to make one.";
5817
+ readonly done: "{app} is editable here";
5818
+ readonly title: "Edit these screens";
5819
+ readonly after: "Open this server with the Designer to change the screens.";
5820
+ readonly body: "The file has the source of these screens. Copy it into this server's project folder to change them in the Designer.";
5821
+ readonly action: "Make it editable here";
5822
+ readonly confirmTitle: "Make {app} editable here?";
5823
+ readonly confirmBody: "Its source is copied to {folder} so the Designer can change it. From then on the app comes from that folder: newer files of it can't be uploaded here.";
5824
+ readonly confirm: "Make it editable";
5825
+ };
5826
+ readonly data: {
5827
+ readonly before: "{count, plural, one {# table} other {# tables}}. {before} of them were here before the app.";
4843
5828
  };
4844
5829
  };
4845
5830
  };