@tribe-nest/forge 3.60.0 → 3.61.0

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 (207) hide show
  1. package/package.json +2 -1
  2. package/src/contexts/CartContext.tsx +34 -1
  3. package/src/contexts/PublicAuthContext.tsx +15 -3
  4. package/src/data/queries/_tests/metaSignals.spec.tsx +130 -0
  5. package/src/data/queries/useAccount.ts +33 -2
  6. package/src/data/queries/useAnalytics.ts +6 -6
  7. package/src/data/queries/useCallChat.ts +2 -2
  8. package/src/data/queries/useChat.ts +10 -1
  9. package/src/data/queries/useCheckouts.ts +2 -1
  10. package/src/data/queries/useCoachingAvailability.ts +10 -1
  11. package/src/data/queries/useCommunities.ts +2 -0
  12. package/src/data/queries/useCommunity.ts +362 -18
  13. package/src/data/queries/useCommunityAgent.ts +247 -0
  14. package/src/data/queries/useCommunityCalendar.ts +150 -0
  15. package/src/data/queries/useCommunityClassroom.ts +75 -0
  16. package/src/data/queries/useCommunityMembers.ts +108 -0
  17. package/src/data/queries/useCommunityModeration.ts +327 -0
  18. package/src/data/queries/useCommunityWiki.ts +137 -0
  19. package/src/data/queries/useCourses.ts +2 -0
  20. package/src/data/queries/useEmailSignIn.ts +79 -0
  21. package/src/data/queries/useEvents.ts +6 -1
  22. package/src/data/queries/useForms.ts +5 -1
  23. package/src/data/queries/useLeadMagnet.ts +6 -2
  24. package/src/data/queries/useMyBookings.ts +24 -1
  25. package/src/data/queries/useMyTickets.ts +24 -1
  26. package/src/data/queries/useNotifications.ts +6 -2
  27. package/src/data/queries/useOrders.ts +2 -1
  28. package/src/data/queries/usePWA.ts +111 -35
  29. package/src/data/queries/useSiteApp.ts +130 -0
  30. package/src/data/queries/useSubscriptions.ts +6 -1
  31. package/src/i18n/de.json +746 -1
  32. package/src/i18n/en.json +746 -1
  33. package/src/index.ts +17 -0
  34. package/src/runtime/pages.spec.ts +5 -0
  35. package/src/runtime/pages.ts +32 -6
  36. package/src/types/models.ts +11 -0
  37. package/src/ui/analytics/ForgeAnalytics.tsx +64 -34
  38. package/src/ui/analytics/PageMetaPixel.tsx +23 -8
  39. package/src/ui/analytics/_tests/ForgeAnalytics.meta.spec.tsx +129 -0
  40. package/src/ui/analytics/_tests/metaCommerceEvents.spec.tsx +159 -0
  41. package/src/ui/analytics/useMetaEvents.ts +78 -0
  42. package/src/ui/headless/_tests/communityAgent.spec.tsx +519 -0
  43. package/src/ui/headless/_tests/communityCalendar.spec.tsx +195 -0
  44. package/src/ui/headless/_tests/communityClassroom.spec.tsx +120 -0
  45. package/src/ui/headless/_tests/communityHarness.tsx +10 -3
  46. package/src/ui/headless/_tests/communityMembers.spec.tsx +316 -0
  47. package/src/ui/headless/_tests/communityPoll.spec.tsx +389 -0
  48. package/src/ui/headless/_tests/memberHomeBar.spec.ts +84 -0
  49. package/src/ui/headless/_tests/siteAppBar.spec.ts +83 -0
  50. package/src/ui/headless/_tests/siteAppHarness.ts +19 -0
  51. package/src/ui/headless/_tests/siteAppHome.spec.ts +226 -0
  52. package/src/ui/headless/_tests/siteAppPrompts.spec.ts +185 -0
  53. package/src/ui/headless/_tests/useCommunityJoin.spec.tsx +228 -14
  54. package/src/ui/headless/_tests/useCommunityMembership.spec.tsx +29 -1
  55. package/src/ui/headless/_tests/useCommunityModeration.spec.tsx +420 -0
  56. package/src/ui/headless/_tests/useCommunityReads.spec.tsx +11 -2
  57. package/src/ui/headless/_tests/useCommunityWiki.spec.tsx +224 -0
  58. package/src/ui/headless/_tests/useSiteApp.spec.tsx +52 -0
  59. package/src/ui/headless/_tests/wikiMediaImage.spec.tsx +132 -0
  60. package/src/ui/headless/auth/useEmailCodeSignIn.ts +186 -0
  61. package/src/ui/headless/auth/useSignupForm.ts +20 -1
  62. package/src/ui/headless/chat/useChatAttachmentUpload.ts +9 -6
  63. package/src/ui/headless/chat/useChatRoom.ts +35 -1
  64. package/src/ui/headless/communities/index.ts +41 -0
  65. package/src/ui/headless/communities/useCommunityCalendar.ts +156 -0
  66. package/src/ui/headless/communities/useCommunityClassroom.ts +84 -0
  67. package/src/ui/headless/communities/useCommunityHome.ts +3 -0
  68. package/src/ui/headless/communities/useCommunityJoin.ts +73 -23
  69. package/src/ui/headless/communities/useCommunityMembership.ts +48 -2
  70. package/src/ui/headless/communities/useCommunityWiki.ts +266 -0
  71. package/src/ui/headless/community/communityPoll.ts +297 -0
  72. package/src/ui/headless/community/countries.ts +123 -0
  73. package/src/ui/headless/community/index.ts +81 -1
  74. package/src/ui/headless/community/linkPreview.ts +71 -0
  75. package/src/ui/headless/community/richLexical.ts +27 -2
  76. package/src/ui/headless/community/useCommunityAgent.ts +285 -0
  77. package/src/ui/headless/community/useCommunityMembers.ts +175 -0
  78. package/src/ui/headless/community/useCommunityModeration.ts +300 -0
  79. package/src/ui/headless/community/useCommunitySpaceFeed.ts +22 -4
  80. package/src/ui/headless/community/useCommunityThread.ts +16 -3
  81. package/src/ui/headless/community/useMentionComposer.ts +17 -9
  82. package/src/ui/headless/community/useRichMentionComposer.ts +21 -5
  83. package/src/ui/headless/downloads/index.ts +8 -0
  84. package/src/ui/headless/downloads/useDownloadPage.ts +134 -0
  85. package/src/ui/headless/index.ts +13 -0
  86. package/src/ui/headless/memberHome/index.ts +10 -0
  87. package/src/ui/headless/memberHome/memberHomeBar.ts +91 -0
  88. package/src/ui/headless/memberHome/useMemberHomeNav.ts +56 -18
  89. package/src/ui/headless/portal/index.ts +57 -0
  90. package/src/ui/headless/portal/usePortal.ts +274 -0
  91. package/src/ui/headless/portal/usePortalFiles.ts +68 -0
  92. package/src/ui/headless/portal/usePortalMessages.ts +189 -0
  93. package/src/ui/headless/portal/usePortalPreview.ts +142 -0
  94. package/src/ui/headless/siteApp/appBar.ts +102 -0
  95. package/src/ui/headless/siteApp/appHome.ts +344 -0
  96. package/src/ui/headless/siteApp/appPrompts.ts +229 -0
  97. package/src/ui/headless/siteApp/index.ts +58 -0
  98. package/src/ui/headless/siteApp/useAppHome.ts +210 -0
  99. package/src/ui/headless/siteApp/useAppInstallRequest.ts +16 -0
  100. package/src/ui/headless/work/index.ts +2 -0
  101. package/src/ui/headless/work/useWorkPortal.ts +37 -26
  102. package/src/ui/index.ts +11 -0
  103. package/src/ui/styled/AccountDashboard.tsx +712 -352
  104. package/src/ui/styled/AiAgentWidget.tsx +13 -1
  105. package/src/ui/styled/ChatRoom.tsx +126 -16
  106. package/src/ui/styled/Checkout.tsx +8 -0
  107. package/src/ui/styled/CheckoutConfirmation.tsx +8 -0
  108. package/src/ui/styled/CoachingConfirmation.tsx +8 -0
  109. package/src/ui/styled/CoachingDetail.tsx +2 -0
  110. package/src/ui/styled/CourseConfirmation.tsx +5 -0
  111. package/src/ui/styled/CourseDetail.tsx +2 -0
  112. package/src/ui/styled/DownloadPage.tsx +263 -0
  113. package/src/ui/styled/EventConfirmation.tsx +10 -0
  114. package/src/ui/styled/EventDetail.tsx +10 -0
  115. package/src/ui/styled/FilmLibrary.tsx +22 -9
  116. package/src/ui/styled/MusicLinkPage.tsx +5 -5
  117. package/src/ui/styled/ProductDetail.tsx +12 -0
  118. package/src/ui/styled/PwaRegistration.tsx +5 -1
  119. package/src/ui/styled/SignupForm.tsx +18 -3
  120. package/src/ui/styled/_tests/AccountDashboardBookingCall.spec.tsx +5 -5
  121. package/src/ui/styled/_tests/AccountNotifications.spec.tsx +135 -0
  122. package/src/ui/styled/_tests/DownloadPage.spec.tsx +68 -0
  123. package/src/ui/styled/app/AppBar.tsx +298 -0
  124. package/src/ui/styled/app/AppHome.tsx +1139 -0
  125. package/src/ui/styled/app/AppHomeMark.tsx +66 -0
  126. package/src/ui/styled/app/AppPrompts.tsx +464 -0
  127. package/src/ui/styled/app/_tests/AppBar.spec.tsx +96 -0
  128. package/src/ui/styled/app/_tests/AppHome.spec.tsx +209 -0
  129. package/src/ui/styled/app/_tests/AppPrompts.spec.tsx +232 -0
  130. package/src/ui/styled/app/index.ts +7 -0
  131. package/src/ui/styled/chat/ChatThreadPanel.tsx +29 -4
  132. package/src/ui/styled/chat/MessageBubble.tsx +43 -6
  133. package/src/ui/styled/communities/CommunityAbout.tsx +6 -1
  134. package/src/ui/styled/communities/CommunityCalendar.tsx +484 -0
  135. package/src/ui/styled/communities/CommunityClassroom.tsx +302 -0
  136. package/src/ui/styled/communities/CommunityHome.tsx +134 -11
  137. package/src/ui/styled/communities/CommunityJoinSheet.tsx +119 -19
  138. package/src/ui/styled/communities/CommunityMembershipMenu.tsx +168 -52
  139. package/src/ui/styled/communities/CommunityPublicWiki.tsx +75 -0
  140. package/src/ui/styled/communities/CommunityWiki.tsx +289 -0
  141. package/src/ui/styled/communities/MyMembershipsList.tsx +31 -5
  142. package/src/ui/styled/communities/_tests/CommunityAppHome.spec.tsx +92 -0
  143. package/src/ui/styled/communities/_tests/CommunityClassroomCalendar.spec.tsx +453 -0
  144. package/src/ui/styled/communities/_tests/CommunityMobile.spec.tsx +399 -0
  145. package/src/ui/styled/communities/_tests/CommunityWiki.spec.tsx +223 -0
  146. package/src/ui/styled/communities/index.ts +9 -0
  147. package/src/ui/styled/communities/shared.tsx +39 -11
  148. package/src/ui/styled/community/CommunityAgent.tsx +286 -0
  149. package/src/ui/styled/community/CommunityComposer.tsx +266 -15
  150. package/src/ui/styled/community/CommunityFeed.tsx +50 -1
  151. package/src/ui/styled/community/CommunityLinkPreview.tsx +159 -0
  152. package/src/ui/styled/community/CommunityMemberGlobe.tsx +171 -0
  153. package/src/ui/styled/community/CommunityMemberProfile.tsx +137 -4
  154. package/src/ui/styled/community/CommunityMembers.tsx +387 -0
  155. package/src/ui/styled/community/CommunityModeration.tsx +587 -0
  156. package/src/ui/styled/community/CommunityModerationState.tsx +127 -0
  157. package/src/ui/styled/community/CommunityModeratorMenu.tsx +317 -0
  158. package/src/ui/styled/community/CommunityNotifications.tsx +52 -6
  159. package/src/ui/styled/community/CommunityPollCard.tsx +250 -0
  160. package/src/ui/styled/community/CommunityPostCard.tsx +110 -34
  161. package/src/ui/styled/community/CommunityPostDetail.tsx +157 -71
  162. package/src/ui/styled/community/CommunityRichText.tsx +177 -32
  163. package/src/ui/styled/community/CommunitySpaces.tsx +49 -14
  164. package/src/ui/styled/community/_tests/CommunityAgent.spec.tsx +571 -0
  165. package/src/ui/styled/community/_tests/CommunityLinkPreview.spec.tsx +167 -0
  166. package/src/ui/styled/community/_tests/CommunityMembers.spec.tsx +137 -0
  167. package/src/ui/styled/community/_tests/CommunityModeration.spec.tsx +291 -0
  168. package/src/ui/styled/community/_tests/CommunityPoll.spec.tsx +386 -0
  169. package/src/ui/styled/community/index.ts +37 -2
  170. package/src/ui/styled/forge-utilities.css +234 -0
  171. package/src/ui/styled/members/CallRecordingActions.tsx +182 -0
  172. package/src/ui/styled/members/MemberCallsCalendar.tsx +13 -158
  173. package/src/ui/styled/members/MemberHomeLayout.tsx +295 -15
  174. package/src/ui/styled/members/MemberPostsFeed.tsx +3 -2
  175. package/src/ui/styled/members/index.ts +8 -0
  176. package/src/ui/styled/portal/PortalAccountSection.tsx +61 -0
  177. package/src/ui/styled/portal/PortalActivity.tsx +167 -0
  178. package/src/ui/styled/portal/PortalBilling.tsx +197 -0
  179. package/src/ui/styled/portal/PortalFiles.tsx +279 -0
  180. package/src/ui/styled/portal/PortalHome.tsx +401 -0
  181. package/src/ui/styled/portal/PortalMessages.tsx +300 -0
  182. package/src/ui/styled/portal/PortalPreviewBanner.tsx +75 -0
  183. package/src/ui/styled/portal/PortalProjects.tsx +407 -0
  184. package/src/ui/styled/portal/PortalShell.tsx +397 -0
  185. package/src/ui/styled/portal/_tests/PortalAppHome.spec.tsx +90 -0
  186. package/src/ui/styled/portal/_tests/PortalFiles.spec.tsx +159 -0
  187. package/src/ui/styled/portal/_tests/PortalHome.spec.tsx +148 -0
  188. package/src/ui/styled/portal/_tests/PortalMessages.spec.tsx +168 -0
  189. package/src/ui/styled/portal/_tests/PortalPreviewBanner.spec.tsx +132 -0
  190. package/src/ui/styled/portal/_tests/portalNav.spec.ts +123 -0
  191. package/src/ui/styled/portal/index.ts +13 -0
  192. package/src/ui/styled/portal/portalNav.ts +260 -0
  193. package/src/ui/styled/portal/shared.tsx +206 -0
  194. package/src/ui/styled/work/WorkInviteAccept.tsx +228 -168
  195. package/src/ui/styled/work/WorkPortalProjects.tsx +68 -120
  196. package/src/ui/styled/work/WorkProjectDocuments.tsx +99 -128
  197. package/src/ui/styled/work/WorkProjectInvoices.tsx +91 -86
  198. package/src/ui/styled/work/WorkProjectReport.tsx +11 -17
  199. package/src/ui/styled/work/WorkReportBody.tsx +223 -248
  200. package/src/ui/styled/work/WorkTaskAttachments.tsx +23 -29
  201. package/src/ui/styled/work/WorkTaskComments.tsx +75 -102
  202. package/src/ui/styled/work/WorkTaskDetail.tsx +48 -59
  203. package/src/ui/styled/work/WorkTokenReport.tsx +8 -16
  204. package/src/ui/styled/work/index.ts +1 -1
  205. package/src/utils/_tests/metaEvents.spec.ts +264 -0
  206. package/src/utils/landing.ts +19 -6
  207. package/src/utils/metaEvents.ts +302 -0
package/src/i18n/en.json CHANGED
@@ -39,6 +39,9 @@
39
39
  "forge.account_dashboard.cancelling": "Cancelling…",
40
40
  "forge.account_dashboard.close": "Close",
41
41
  "forge.account_dashboard.confirm_password": "Confirm new password",
42
+ "forge.account_dashboard.course_open_continue": "Continue",
43
+ "forge.account_dashboard.course_open_review": "Review",
44
+ "forge.account_dashboard.course_open_start": "Start course",
42
45
  "forge.account_dashboard.courses_completed": "Completed",
43
46
  "forge.account_dashboard.courses_continue": "Continue where you left off",
44
47
  "forge.account_dashboard.courses_empty": "Nothing here yet. Courses you buy appear on this page.",
@@ -58,6 +61,7 @@
58
61
  "forge.account_dashboard.first_name": "First name",
59
62
  "forge.account_dashboard.last_name": "Last name",
60
63
  "forge.account_dashboard.leave_waitlist": "Leave waitlist",
64
+ "forge.account_dashboard.loading_more": "Loading",
61
65
  "forge.account_dashboard.log_out": "Log out",
62
66
  "forge.account_dashboard.member_area": "Member Area",
63
67
  "forge.account_dashboard.membership_cancel_error": "We couldn't cancel your membership. Please try again or contact us.",
@@ -73,10 +77,41 @@
73
77
  "forge.account_dashboard.membership_trial_until": "Free trial until {date}",
74
78
  "forge.account_dashboard.new_password": "New password",
75
79
  "forge.account_dashboard.notifications_title": "Notification Types",
80
+ "forge.account_dashboard.notify_channel_email": "Email",
81
+ "forge.account_dashboard.notify_channel_inapp": "In-app",
82
+ "forge.account_dashboard.notify_channel_push": "Push",
76
83
  "forge.account_dashboard.notify_chat_description": "Get notified when new chat messages arrive",
77
84
  "forge.account_dashboard.notify_chat_title": "Chat Messages",
85
+ "forge.account_dashboard.notify_digest_daily": "Daily",
86
+ "forge.account_dashboard.notify_digest_help": "Replies, reactions and new posts are collected into one email instead of one each. Direct messages, mentions and reminders always arrive straight away.",
87
+ "forge.account_dashboard.notify_digest_help_label": "What goes in the email summary?",
88
+ "forge.account_dashboard.notify_digest_hourly": "Hourly",
89
+ "forge.account_dashboard.notify_digest_inapp_only": "In the app only",
90
+ "forge.account_dashboard.notify_digest_off": "Off",
91
+ "forge.account_dashboard.notify_digest_title": "Email summary",
92
+ "forge.account_dashboard.notify_group_community": "Community",
93
+ "forge.account_dashboard.notify_group_events": "Events and live",
94
+ "forge.account_dashboard.notify_group_messages": "Messages",
78
95
  "forge.account_dashboard.notify_new_posts_description": "Get notified when new posts are published",
79
96
  "forge.account_dashboard.notify_new_posts_title": "New Posts",
97
+ "forge.account_dashboard.notify_push_device_off": "Off. Turn it on to get any push notifications here.",
98
+ "forge.account_dashboard.notify_push_device_on": "On. The push choices below reach this device.",
99
+ "forge.account_dashboard.notify_push_device_title": "Push on this device",
100
+ "forge.account_dashboard.notify_push_device_turn_off": "Turn off",
101
+ "forge.account_dashboard.notify_push_device_turn_on": "Turn on",
102
+ "forge.account_dashboard.notify_save_error": "Your change wasn't saved. Try again.",
103
+ "forge.account_dashboard.notify_toggle_label": "{type}: {channel}",
104
+ "forge.account_dashboard.notify_type_chat_message": "Chat messages",
105
+ "forge.account_dashboard.notify_type_client_message": "Replies from the team",
106
+ "forge.account_dashboard.notify_type_dm": "Direct messages",
107
+ "forge.account_dashboard.notify_type_event_reminder": "Event reminders",
108
+ "forge.account_dashboard.notify_type_mention": "Mentions",
109
+ "forge.account_dashboard.notify_type_mod": "Moderation updates",
110
+ "forge.account_dashboard.notify_type_new_community_post": "New posts in your spaces",
111
+ "forge.account_dashboard.notify_type_new_post": "New posts",
112
+ "forge.account_dashboard.notify_type_reaction": "Reactions to your posts",
113
+ "forge.account_dashboard.notify_type_reply": "Replies to you",
114
+ "forge.account_dashboard.notify_type_stream_live": "Live now",
80
115
  "forge.account_dashboard.order_line": "{title} × {quantity}",
81
116
  "forge.account_dashboard.order_number": "Order #{order_id}",
82
117
  "forge.account_dashboard.orders_empty": "You haven't placed any orders yet.",
@@ -111,6 +146,7 @@
111
146
  "forge.account_dashboard.session_window_zoned": "{day}, {start} to {end} ({timezone})",
112
147
  "forge.account_dashboard.sessions_empty": "You have no sessions booked.",
113
148
  "forge.account_dashboard.sessions_title": "My Sessions",
149
+ "forge.account_dashboard.show_more": "Show more",
114
150
  "forge.account_dashboard.tab_account": "Account",
115
151
  "forge.account_dashboard.tab_bookings": "Bookings",
116
152
  "forge.account_dashboard.tab_courses": "Courses",
@@ -124,6 +160,7 @@
124
160
  "forge.account_dashboard.ticket_cancel_error": "We could not cancel this ticket. Please try again.",
125
161
  "forge.account_dashboard.ticket_fallback_title": "Ticket",
126
162
  "forge.account_dashboard.ticket_line": "{title} × {quantity}",
163
+ "forge.account_dashboard.ticket_transfer_toggle": "Send a ticket to someone ({count})",
127
164
  "forge.account_dashboard.ticket_transferred": "Sent to you",
128
165
  "forge.account_dashboard.tickets_empty": "You have no tickets yet.",
129
166
  "forge.account_dashboard.tickets_title": "My Tickets",
@@ -153,6 +190,116 @@
153
190
  "forge.ai_agent_widget.default_title": "Assistant",
154
191
  "forge.ai_agent_widget.input_placeholder": "Type a message…",
155
192
  "forge.ai_agent_widget.send": "Send",
193
+ "forge.app_bar.aria_close": "Close",
194
+ "forge.app_bar.communities": "Communities",
195
+ "forge.app_bar.courses": "Courses",
196
+ "forge.app_bar.events": "Events",
197
+ "forge.app_bar.home": "Home",
198
+ "forge.app_bar.inbox": "Inbox",
199
+ "forge.app_bar.more": "More",
200
+ "forge.app_bar.more_title": "More",
201
+ "forge.app_bar.nav_label": "App",
202
+ "forge.app_bar.portal": "Portal",
203
+ "forge.app_bar.shop": "Shop",
204
+ "forge.app_home.accept_terms": "I accept the Terms and Privacy Policy",
205
+ "forge.app_home.action_pay": "Pay",
206
+ "forge.app_home.action_reply": "Reply",
207
+ "forge.app_home.action_review": "Review",
208
+ "forge.app_home.action_update": "Update",
209
+ "forge.app_home.all": "All",
210
+ "forge.app_home.all_courses": "All courses",
211
+ "forge.app_home.all_events": "All events",
212
+ "forge.app_home.apply_community": "Apply",
213
+ "forge.app_home.aria_account": "Your account",
214
+ "forge.app_home.aria_course_progress": "Course progress",
215
+ "forge.app_home.aria_notifications": "Notifications",
216
+ "forge.app_home.attention_approval": "Review {milestone}",
217
+ "forge.app_home.attention_invoice": "Invoice {number}",
218
+ "forge.app_home.attention_message_many": "{count} new messages",
219
+ "forge.app_home.attention_message_one": "1 new message",
220
+ "forge.app_home.attention_payment_failed": "Update your card for {community}",
221
+ "forge.app_home.code": "Code",
222
+ "forge.app_home.code_resent": "We sent a new code.",
223
+ "forge.app_home.code_sent": "We emailed a 6-digit code to {email}.",
224
+ "forge.app_home.coming_up": "Coming up",
225
+ "forge.app_home.community_details": "Details",
226
+ "forge.app_home.continue": "Continue",
227
+ "forge.app_home.continue_learning": "Continue learning",
228
+ "forge.app_home.courses": "Courses",
229
+ "forge.app_home.details": "Details",
230
+ "forge.app_home.different_email": "Use a different email",
231
+ "forge.app_home.email": "Email",
232
+ "forge.app_home.email_placeholder": "you@example.com",
233
+ "forge.app_home.explore_communities": "Explore communities",
234
+ "forge.app_home.explore_link_communities": "Communities",
235
+ "forge.app_home.explore_link_courses": "Courses",
236
+ "forge.app_home.explore_link_events": "Events",
237
+ "forge.app_home.explore_link_shop": "Shop",
238
+ "forge.app_home.first_name": "First name",
239
+ "forge.app_home.free": "Free",
240
+ "forge.app_home.from_the_shop": "From the shop",
241
+ "forge.app_home.greeting_afternoon": "Good afternoon",
242
+ "forge.app_home.greeting_afternoon_name": "Good afternoon, {name}",
243
+ "forge.app_home.greeting_evening": "Good evening",
244
+ "forge.app_home.greeting_evening_name": "Good evening, {name}",
245
+ "forge.app_home.greeting_morning": "Good morning",
246
+ "forge.app_home.greeting_morning_name": "Good morning, {name}",
247
+ "forge.app_home.join": "Join",
248
+ "forge.app_home.join_community": "Join",
249
+ "forge.app_home.last_name": "Last name",
250
+ "forge.app_home.lead_many": "{count} things are waiting for you.",
251
+ "forge.app_home.lead_one": "One thing is waiting for you.",
252
+ "forge.app_home.lessons_done": "{done} of {total} lessons done",
253
+ "forge.app_home.look_around": "or have a look around",
254
+ "forge.app_home.mark_label": "Home",
255
+ "forge.app_home.members": "{count} members",
256
+ "forge.app_home.needs_you": "Needs you",
257
+ "forge.app_home.new_count": "{count} new",
258
+ "forge.app_home.new_here": "New here? Tell us your name to finish signing up as {email}.",
259
+ "forge.app_home.open": "Open",
260
+ "forge.app_home.portal": "Your portal",
261
+ "forge.app_home.resend": "Send a new code",
262
+ "forge.app_home.see_all": "See all",
263
+ "forge.app_home.shop": "Shop",
264
+ "forge.app_home.start_again": "Start again",
265
+ "forge.app_home.tickets_many": "{count} tickets",
266
+ "forge.app_home.tickets_one": "1 ticket",
267
+ "forge.app_home.tile_bookings": "Bookings",
268
+ "forge.app_home.tile_courses": "Courses",
269
+ "forge.app_home.tile_documents": "Documents",
270
+ "forge.app_home.tile_invoices": "Invoices",
271
+ "forge.app_home.tile_orders": "Orders",
272
+ "forge.app_home.tile_projects": "Projects",
273
+ "forge.app_home.tile_saved": "Saved",
274
+ "forge.app_home.tile_settings": "Settings",
275
+ "forge.app_home.tile_tickets": "Tickets",
276
+ "forge.app_home.upcoming_events": "Upcoming events",
277
+ "forge.app_home.verify": "Sign in",
278
+ "forge.app_home.view_ticket": "Ticket",
279
+ "forge.app_home.your_communities": "Your communities",
280
+ "forge.app_prompts.aria_close": "Close",
281
+ "forge.app_prompts.benefit_notifications": "Replies and reminders as notifications",
282
+ "forge.app_prompts.benefit_one_place": "Everything you have here in one place",
283
+ "forge.app_prompts.benefit_one_tap": "Opens in one tap from your home screen",
284
+ "forge.app_prompts.install_accept": "Add to home screen",
285
+ "forge.app_prompts.install_lead": "Add {app} to your home screen.",
286
+ "forge.app_prompts.install_title_booking": "Booked. Keep your sessions one tap away.",
287
+ "forge.app_prompts.install_title_invite": "You're in. Keep your projects one tap away.",
288
+ "forge.app_prompts.install_title_joined": "You're in. Keep it one tap away.",
289
+ "forge.app_prompts.install_title_purchase": "Thank you. Keep your orders one tap away.",
290
+ "forge.app_prompts.ios_lead": "Two steps in Safari.",
291
+ "forge.app_prompts.ios_step_add": "Choose Add to Home Screen",
292
+ "forge.app_prompts.ios_step_share": "Tap Share in the toolbar",
293
+ "forge.app_prompts.not_now": "Not now",
294
+ "forge.app_prompts.push_accept": "Turn on notifications",
295
+ "forge.app_prompts.push_category_community": "New posts in your communities",
296
+ "forge.app_prompts.push_category_events": "Event reminders and live streams",
297
+ "forge.app_prompts.push_category_messages": "Messages, replies and mentions",
298
+ "forge.app_prompts.push_later": "Maybe later",
299
+ "forge.app_prompts.push_lead_categories": "Pick what {app} can tell you about.",
300
+ "forge.app_prompts.push_lead_single": "Let {app} tell you when something needs you.",
301
+ "forge.app_prompts.push_title": "Don't miss what matters",
302
+ "forge.app_prompts.this_app": "this app",
156
303
  "forge.audio_player.aria_close": "Close player",
157
304
  "forge.audio_player.next": "Next",
158
305
  "forge.audio_player.nothing_playing": "Nothing playing",
@@ -237,6 +384,15 @@
237
384
  "forge.bundle_confirmation.tickets_emailed": "Tickets emailed to you",
238
385
  "forge.bundle_confirmation.title": "You're all set",
239
386
  "forge.bundle_confirmation.view_orders": "View your orders",
387
+ "forge.call_recording_actions.download": "Download",
388
+ "forge.call_recording_actions.processing": "Recording is processing",
389
+ "forge.call_recording_actions.read_transcript": "Read transcript",
390
+ "forge.call_recording_actions.summary": "Summary",
391
+ "forge.call_recording_actions.transcript": "Transcript",
392
+ "forge.call_recording_actions.transcript_processing": "The transcript is being prepared",
393
+ "forge.call_recording_actions.transcript_ready": "The transcript is ready.",
394
+ "forge.call_recording_actions.watch": "Watch recording",
395
+ "forge.call_recording_actions.watch_minutes": "Watch recording · {minutes} min",
240
396
  "forge.call_stage.breakouts.assign_auto": "Automatically",
241
397
  "forge.call_stage.breakouts.assign_label": "Assign people",
242
398
  "forge.call_stage.breakouts.assign_manual": "I will assign them",
@@ -398,6 +554,7 @@
398
554
  "forge.cart.ticket_line": "{ticket_title} × {quantity}",
399
555
  "forge.cart.title": "My Cart",
400
556
  "forge.cart.total": "Total:",
557
+ "forge.chat_room.agent_dm_failed": "We couldn't open this conversation. Please try again.",
401
558
  "forge.chat_room.channel_fallback": "channel",
402
559
  "forge.chat_room.channels_title": "Channels",
403
560
  "forge.chat_room.dm_fallback": "Direct message",
@@ -406,6 +563,7 @@
406
563
  "forge.chat_room.group_private": "Private channels",
407
564
  "forge.chat_room.group_public": "Public",
408
565
  "forge.chat_room.load_earlier": "Load earlier",
566
+ "forge.chat_room.message_agent": "Message {agent_name}",
409
567
  "forge.chat_room.new_message": "New message",
410
568
  "forge.chat_room.select_channel": "Select a channel to start chatting",
411
569
  "forge.chat_room.typing": "{users} typing…",
@@ -671,11 +829,95 @@
671
829
  "forge.community_about.pending": "Your application is being reviewed.",
672
830
  "forge.community_about.tiers_title": "Membership tiers",
673
831
  "forge.community_about.view_application": "View your application",
832
+ "forge.community_agent.badge": "AI",
833
+ "forge.community_agent.badge_title": "Written by AI",
834
+ "forge.community_agent.catch_up": "Catch me up",
835
+ "forge.community_agent.catch_up_daily_limit": "You have reached today's limit for the assistant. Try again tomorrow.",
836
+ "forge.community_agent.catch_up_dismiss": "Dismiss summary",
837
+ "forge.community_agent.catch_up_failed": "Something went wrong. Please try again.",
838
+ "forge.community_agent.catch_up_panel_label": "Summary by {agent_name}",
839
+ "forge.community_agent.catch_up_pending": "Catching you up…",
840
+ "forge.community_agent.catch_up_private": "AI summary, only you can see it",
841
+ "forge.community_agent.catch_up_unavailable": "We can't summarise this thread right now.",
842
+ "forge.community_agent.feedback_down": "Not helpful",
843
+ "forge.community_agent.feedback_up": "Helpful answer",
844
+ "forge.community_agent.thinking": "{agent_name} is thinking…",
845
+ "forge.community_agent.thinking_unnamed": "The assistant is thinking…",
846
+ "forge.community_calendar.add_to_calendar": "Add to calendar",
847
+ "forge.community_calendar.call_label": "Video call, {time}",
848
+ "forge.community_calendar.cancelled": "Cancelled",
849
+ "forge.community_calendar.details": "Details",
850
+ "forge.community_calendar.empty": "Nothing on the calendar this month. Use the arrows to look at another month.",
851
+ "forge.community_calendar.error": "We couldn't load the calendar. Please try again.",
852
+ "forge.community_calendar.event_label": "Event, {time}",
853
+ "forge.community_calendar.forbidden": "The calendar is for members of this community.",
854
+ "forge.community_calendar.going_count": "Going ({count})",
855
+ "forge.community_calendar.help": "Going and Not going tell us who to expect. They don't reserve a place: every member can join a call while its room is open. Add to calendar puts the call or event in your own calendar app. Once a recorded call is over, you can watch it again here.",
856
+ "forge.community_calendar.help_label": "What does Going do?",
857
+ "forge.community_calendar.join": "Join call",
858
+ "forge.community_calendar.live_now": "Open now",
859
+ "forge.community_calendar.next_month": "Next month",
860
+ "forge.community_calendar.not_going_count": "Not going ({count})",
861
+ "forge.community_calendar.online": "Online",
862
+ "forge.community_calendar.past_heading": "Already happened",
863
+ "forge.community_calendar.previous_month": "Previous month",
864
+ "forge.community_calendar.rsvp_closed": "This call has ended or was cancelled, so we're no longer taking answers for it.",
865
+ "forge.community_calendar.rsvp_failed": "We couldn't save your answer. Please try again.",
866
+ "forge.community_calendar.rsvp_not_found": "We couldn't find this call any more.",
867
+ "forge.community_calendar.this_month": "This month",
868
+ "forge.community_calendar.time_range": "{start} to {end}",
869
+ "forge.community_calendar.today": "Today, {date}",
870
+ "forge.community_calendar.view_event": "View event",
871
+ "forge.community_classroom.completed": "Completed",
872
+ "forge.community_classroom.empty": "There are no courses here yet.",
873
+ "forge.community_classroom.error": "We couldn't load the classroom. Please try again.",
874
+ "forge.community_classroom.forbidden": "The classroom is for members of this community.",
875
+ "forge.community_classroom.included_in": "Included in {tiers}",
876
+ "forge.community_classroom.locked_label": "Locked",
877
+ "forge.community_classroom.locked_no_tier": "Not open to you yet",
878
+ "forge.community_classroom.progress": "{completed} of {total} lessons",
879
+ "forge.community_classroom.progress_label": "Your progress in {title}",
880
+ "forge.community_classroom.start": "Start the course",
881
+ "forge.community_classroom.title": "Classroom",
882
+ "forge.community_classroom.unlocks_at_level": "Unlocks at level {level}",
883
+ "forge.community_classroom.upgrade": "Upgrade",
884
+ "forge.community_composer.mention_hint": "Use @ to mention members",
885
+ "forge.community_composer.mention_hint_agent": "Use @ to mention members or ask {agent_name}",
886
+ "forge.community_composer.poll_add_option": "Add option",
887
+ "forge.community_composer.poll_closes_in_past": "The closing time must be in the future.",
888
+ "forge.community_composer.poll_closes_invalid": "Enter a valid closing time.",
889
+ "forge.community_composer.poll_closes_label": "Closes (optional)",
890
+ "forge.community_composer.poll_closes_required": "Set a closing time, or nobody will ever see the results.",
891
+ "forge.community_composer.poll_multiple_choice": "Allow more than one answer",
892
+ "forge.community_composer.poll_option_duplicate": "This option repeats another one.",
893
+ "forge.community_composer.poll_option_empty": "Fill in this option or remove it.",
894
+ "forge.community_composer.poll_option_label": "Option {number}",
895
+ "forge.community_composer.poll_option_placeholder": "Option {number}",
896
+ "forge.community_composer.poll_option_too_long": "Keep each option to 120 characters.",
897
+ "forge.community_composer.poll_options_legend": "Options",
898
+ "forge.community_composer.poll_options_too_few": "A poll needs at least 2 options.",
899
+ "forge.community_composer.poll_options_too_many": "A poll takes at most 10 options.",
900
+ "forge.community_composer.poll_question_label": "Poll question",
901
+ "forge.community_composer.poll_question_placeholder": "Ask a question",
902
+ "forge.community_composer.poll_question_required": "Add a question. It becomes the post title.",
903
+ "forge.community_composer.poll_question_too_long": "Keep the question to 200 characters.",
904
+ "forge.community_composer.poll_remove_option": "Remove option {number}",
905
+ "forge.community_composer.poll_toggle": "Poll",
906
+ "forge.community_composer.poll_visibility_after_close": "When the poll closes",
907
+ "forge.community_composer.poll_visibility_after_vote": "After they vote",
908
+ "forge.community_composer.poll_visibility_always": "Always",
909
+ "forge.community_composer.poll_visibility_help": "Always: everyone sees the counts from the start. After they vote: a member sees them once they have voted. When the poll closes: members see them only after the closing time. Moderators and the author always see them.",
910
+ "forge.community_composer.poll_visibility_help_label": "When do members see the results?",
911
+ "forge.community_composer.poll_visibility_invalid": "Choose when the results are shown.",
912
+ "forge.community_composer.poll_visibility_label": "Show results",
913
+ "forge.community_feed.back_to_spaces": "Back to spaces",
914
+ "forge.community_feed.unlocks_at_level": "Unlocks at level {level}",
674
915
  "forge.community_home.confirming": "Confirming your membership...",
675
916
  "forge.community_home.dismiss": "Dismiss",
676
917
  "forge.community_home.join": "Join",
677
918
  "forge.community_home.membership": "Membership",
678
919
  "forge.community_home.not_found": "This community could not be found.",
920
+ "forge.community_home.open_membership": "Your membership: {tier_name}",
679
921
  "forge.community_home.upgrade": "Upgrade",
680
922
  "forge.community_home.welcome": "Welcome to {community_name}!",
681
923
  "forge.community_join_sheet.accept_terms": "I accept the Terms and Privacy Policy",
@@ -696,8 +938,10 @@
696
938
  "forge.community_join_sheet.change_tier": "Change tier",
697
939
  "forge.community_join_sheet.choose_tier": "Choose a tier",
698
940
  "forge.community_join_sheet.code": "6-digit code",
941
+ "forge.community_join_sheet.code_resent": "We sent a new code.",
699
942
  "forge.community_join_sheet.code_sent": "We emailed a 6-digit code to {email}.",
700
943
  "forge.community_join_sheet.continue": "Continue",
944
+ "forge.community_join_sheet.different_email": "Use a different email",
701
945
  "forge.community_join_sheet.email": "Email",
702
946
  "forge.community_join_sheet.email_mismatch": "This invite is for {email}. You are signed in as {signed_in_email}.",
703
947
  "forge.community_join_sheet.first_name": "First name",
@@ -715,6 +959,7 @@
715
959
  "forge.community_join_sheet.mode_signup": "Create account",
716
960
  "forge.community_join_sheet.monthly": "Monthly",
717
961
  "forge.community_join_sheet.monthly_price": "Monthly, {amount}",
962
+ "forge.community_join_sheet.new_here": "Welcome. Tell us your name to finish setting up {email}.",
718
963
  "forge.community_join_sheet.password": "Password",
719
964
  "forge.community_join_sheet.pay": "Pay {amount}",
720
965
  "forge.community_join_sheet.pending_body": "Your application is being reviewed. We'll let you know when it is decided.",
@@ -722,15 +967,67 @@
722
967
  "forge.community_join_sheet.resend": "Resend code",
723
968
  "forge.community_join_sheet.select_placeholder": "Select...",
724
969
  "forge.community_join_sheet.sign_in_as": "Sign in as {email}",
970
+ "forge.community_join_sheet.start_again": "Start again",
725
971
  "forge.community_join_sheet.start_trial": "Start free trial",
726
972
  "forge.community_join_sheet.taking_you_inside": "Taking you inside...",
727
973
  "forge.community_join_sheet.title": "Join {community_name}",
728
974
  "forge.community_join_sheet.title_plain": "Join",
729
975
  "forge.community_join_sheet.trial_line": "{days}-day free trial, first charge on {date}",
976
+ "forge.community_join_sheet.use_code": "Use an email code instead",
977
+ "forge.community_join_sheet.use_password": "Use your password instead",
730
978
  "forge.community_join_sheet.verify": "Verify",
731
979
  "forge.community_join_sheet.working": "Please wait...",
732
980
  "forge.community_join_sheet.yearly": "Yearly",
733
981
  "forge.community_join_sheet.yearly_price": "Yearly, {amount}",
982
+ "forge.community_link_preview.new_tab": "(opens in a new tab)",
983
+ "forge.community_link_preview.play": "Play video",
984
+ "forge.community_link_preview.play_title": "Play {title}",
985
+ "forge.community_link_preview.video_frame": "Video",
986
+ "forge.community_member_profile.city": "City",
987
+ "forge.community_member_profile.city_help": "Next to your name in the member directory, as you type it. It is never used to place you on the map.",
988
+ "forge.community_member_profile.city_help_label": "Where does my city appear?",
989
+ "forge.community_member_profile.country": "Country",
990
+ "forge.community_member_profile.country_none": "Not set",
991
+ "forge.community_member_profile.directory_legend": "Member directory",
992
+ "forge.community_member_profile.save_error": "We couldn't save your settings. Please try again.",
993
+ "forge.community_member_profile.show_in_directory": "Show me in the member directory",
994
+ "forge.community_member_profile.show_in_directory_help": "Only members of this community. They see your name, picture, level, bio and the city and country you add here, never your email. Switch it off to be left out of the list.",
995
+ "forge.community_member_profile.show_in_directory_help_label": "Who sees the member directory?",
996
+ "forge.community_member_profile.show_on_map": "Show me on the member map",
997
+ "forge.community_member_profile.show_on_map_help": "Only the country you pick below, counted with everyone else there. The map never shows your city or anything more precise than your country.",
998
+ "forge.community_member_profile.show_on_map_help_label": "What does the member map show?",
999
+ "forge.community_members.empty": "No members to show yet.",
1000
+ "forge.community_members.empty_filtered": "No members match these filters.",
1001
+ "forge.community_members.error": "We couldn't load the members. Please try again.",
1002
+ "forge.community_members.forbidden": "The member directory is for members of this community.",
1003
+ "forge.community_members.globe_label": "A globe with a dot for each country members are in",
1004
+ "forge.community_members.level_any": "Any level",
1005
+ "forge.community_members.level_label": "Level",
1006
+ "forge.community_members.level_min": "Level {level} and up",
1007
+ "forge.community_members.map_empty": "No members have added themselves to the map yet.",
1008
+ "forge.community_members.map_error": "We couldn't load the map. Please try again.",
1009
+ "forge.community_members.map_help": "Members choose whether to appear on the map, and only ever share a country, so we never show where anyone lives. Members who haven't switched it on aren't counted.",
1010
+ "forge.community_members.map_help_label": "Why does the map only show countries?",
1011
+ "forge.community_members.map_summary": "{members} members in {countries} countries",
1012
+ "forge.community_members.next": "Next",
1013
+ "forge.community_members.page": "Page {page}",
1014
+ "forge.community_members.previous": "Previous",
1015
+ "forge.community_members.role_any": "All roles",
1016
+ "forge.community_members.role_badge_moderator": "Moderator",
1017
+ "forge.community_members.role_label": "Role",
1018
+ "forge.community_members.role_member": "Members",
1019
+ "forge.community_members.role_moderator": "Moderators",
1020
+ "forge.community_members.search_label": "Search members",
1021
+ "forge.community_members.search_placeholder": "Search by name",
1022
+ "forge.community_members.sort_active": "Most active",
1023
+ "forge.community_members.sort_label": "Sort by",
1024
+ "forge.community_members.sort_name": "Name",
1025
+ "forge.community_members.sort_newest": "Newest",
1026
+ "forge.community_members.sort_points": "Most points",
1027
+ "forge.community_members.title": "Members",
1028
+ "forge.community_members.view_label": "How to show members",
1029
+ "forge.community_members.view_list": "List",
1030
+ "forge.community_members.view_map": "Map",
734
1031
  "forge.community_membership_menu.aria_close": "Close",
735
1032
  "forge.community_membership_menu.cancel": "Cancel membership",
736
1033
  "forge.community_membership_menu.cancel_confirm": "Cancel membership",
@@ -741,17 +1038,153 @@
741
1038
  "forge.community_membership_menu.downgrade_to": "Switch to {tier_name} at renewal",
742
1039
  "forge.community_membership_menu.ending": "Ending",
743
1040
  "forge.community_membership_menu.ends_on": "Ends on {date}",
1041
+ "forge.community_membership_menu.free": "Free",
1042
+ "forge.community_membership_menu.leave": "Leave community",
1043
+ "forge.community_membership_menu.leave_confirm": "Leave community",
1044
+ "forge.community_membership_menu.leave_confirm_now": "You lose access now. You can join again at any time.",
1045
+ "forge.community_membership_menu.leave_confirm_title": "Leave this community?",
1046
+ "forge.community_membership_menu.leave_keep": "Stay",
744
1047
  "forge.community_membership_menu.payment_failed": "Payment failed",
745
1048
  "forge.community_membership_menu.pending_downgrade": "Switching to {tier_name} on {date}.",
1049
+ "forge.community_membership_menu.price_month": "{amount} per month",
1050
+ "forge.community_membership_menu.price_year": "{amount} per year",
746
1051
  "forge.community_membership_menu.renews_on": "Renews on {date}",
747
1052
  "forge.community_membership_menu.title": "Your membership",
748
1053
  "forge.community_membership_menu.trigger": "Membership",
749
1054
  "forge.community_membership_menu.undo_downgrade": "Keep my current tier",
750
1055
  "forge.community_membership_menu.update_card": "Update payment method",
751
1056
  "forge.community_membership_menu.upgrade": "Upgrade",
1057
+ "forge.community_moderation.action_adjust_points": "Adjusted points",
1058
+ "forge.community_moderation.action_approve": "Approved",
1059
+ "forge.community_moderation.action_ban": "Banned",
1060
+ "forge.community_moderation.action_hold": "Held for approval",
1061
+ "forge.community_moderation.action_lock": "Locked",
1062
+ "forge.community_moderation.action_mute": "Muted",
1063
+ "forge.community_moderation.action_other": "Moderation action",
1064
+ "forge.community_moderation.action_pin": "Pinned",
1065
+ "forge.community_moderation.action_reject": "Rejected",
1066
+ "forge.community_moderation.action_remove": "Removed",
1067
+ "forge.community_moderation.action_report_dismissed": "Dismissed a report",
1068
+ "forge.community_moderation.action_report_resolved": "Resolved a report",
1069
+ "forge.community_moderation.action_report_resolved_hidden": "Resolved a report and hid the content",
1070
+ "forge.community_moderation.action_restore": "Restored",
1071
+ "forge.community_moderation.action_role_member": "Made a member",
1072
+ "forge.community_moderation.action_role_moderator": "Made a moderator",
1073
+ "forge.community_moderation.action_unban": "Unbanned",
1074
+ "forge.community_moderation.action_unlock": "Unlocked",
1075
+ "forge.community_moderation.action_unmute": "Unmuted",
1076
+ "forge.community_moderation.action_unpin": "Unpinned",
1077
+ "forge.community_moderation.approve": "Approve",
1078
+ "forge.community_moderation.by_author": "By {name}",
1079
+ "forge.community_moderation.cancel": "Cancel",
1080
+ "forge.community_moderation.content_hidden": "Already hidden",
1081
+ "forge.community_moderation.dismiss": "Dismiss",
1082
+ "forge.community_moderation.error": "That didn't work. Please try again.",
1083
+ "forge.community_moderation.held_empty": "Nothing is waiting for approval.",
1084
+ "forge.community_moderation.held_help": "The community's approval setting, or a blocked word, held these back. Nobody but their author can see them until you approve. Rejecting tells the author, with your reason if you give one.",
1085
+ "forge.community_moderation.held_help_label": "Why are these held?",
1086
+ "forge.community_moderation.held_kind_post": "Post in {space}",
1087
+ "forge.community_moderation.held_kind_reply": "Reply to {post}",
1088
+ "forge.community_moderation.held_title": "Waiting for approval ({count})",
1089
+ "forge.community_moderation.held_untitled": "a post",
1090
+ "forge.community_moderation.help": "Reports from members, posts and replies held for approval, and a record of every moderation action in this community.",
1091
+ "forge.community_moderation.help_label": "What is on this page?",
1092
+ "forge.community_moderation.log_actor_system": "Automatic",
1093
+ "forge.community_moderation.log_empty": "No moderation actions yet.",
1094
+ "forge.community_moderation.log_kind_post": "Post",
1095
+ "forge.community_moderation.log_kind_reply": "Reply",
1096
+ "forge.community_moderation.log_reason": "Reason: {reason}",
1097
+ "forge.community_moderation.log_target": "Member: {name}",
1098
+ "forge.community_moderation.log_title": "Moderation log",
1099
+ "forge.community_moderation.next": "Next",
1100
+ "forge.community_moderation.not_moderator": "This page is for the community's moderators.",
1101
+ "forge.community_moderation.open_post": "Open post",
1102
+ "forge.community_moderation.page": "Page {page}",
1103
+ "forge.community_moderation.previous": "Previous",
1104
+ "forge.community_moderation.queue_error": "We couldn't load the moderation queue. Please try again.",
1105
+ "forge.community_moderation.reason_all_posts": "All posts need approval",
1106
+ "forge.community_moderation.reason_keyword": "Blocked word: {word}",
1107
+ "forge.community_moderation.reason_new_member": "New member",
1108
+ "forge.community_moderation.reject": "Reject",
1109
+ "forge.community_moderation.reject_confirm": "Reject",
1110
+ "forge.community_moderation.reject_reason_label": "Reason (optional)",
1111
+ "forge.community_moderation.report_kind_post": "Reported post",
1112
+ "forge.community_moderation.report_kind_reply": "Reported reply",
1113
+ "forge.community_moderation.report_reason": "Reason: {reason}",
1114
+ "forge.community_moderation.reported_by": "Reported by {name}",
1115
+ "forge.community_moderation.reports_empty": "No open reports.",
1116
+ "forge.community_moderation.reports_help": "Resolve closes the report and leaves the content up. Resolve and hide also removes the content, which you can restore from the log below. Dismiss closes the report without acting on it.",
1117
+ "forge.community_moderation.reports_help_label": "What do the report actions do?",
1118
+ "forge.community_moderation.reports_title": "Open reports ({count})",
1119
+ "forge.community_moderation.resolve": "Resolve",
1120
+ "forge.community_moderation.resolve_hide": "Resolve and hide",
1121
+ "forge.community_moderation.restore": "Restore",
1122
+ "forge.community_moderation.title": "Moderation",
1123
+ "forge.community_moderation.unknown_member": "A member",
1124
+ "forge.community_moderation_state.error": "That didn't work. Please try again.",
1125
+ "forge.community_moderation_state.pending": "Waiting for approval",
1126
+ "forge.community_moderation_state.pending_help": "We review this before it goes up. Until then only you can see it, and nobody can reply to it or react to it.",
1127
+ "forge.community_moderation_state.pending_help_label": "What does waiting for approval mean?",
1128
+ "forge.community_moderation_state.rejected": "Not approved",
1129
+ "forge.community_moderation_state.removed_post": "Post removed",
1130
+ "forge.community_moderation_state.removed_reply": "Reply removed",
1131
+ "forge.community_moderation_state.restore": "Restore",
1132
+ "forge.community_moderator_menu.aria_trigger": "Moderator actions",
1133
+ "forge.community_moderator_menu.back": "Back",
1134
+ "forge.community_moderator_menu.error": "That didn't work. Please try again.",
1135
+ "forge.community_moderator_menu.lock": "Lock replies",
1136
+ "forge.community_moderator_menu.mute_1": "1 day",
1137
+ "forge.community_moderator_menu.mute_30": "30 days",
1138
+ "forge.community_moderator_menu.mute_7": "7 days",
1139
+ "forge.community_moderator_menu.mute_author": "Mute author",
1140
+ "forge.community_moderator_menu.mute_for": "Mute the author for",
1141
+ "forge.community_moderator_menu.mute_help": "A muted member can still read, but cannot take part in this community until the mute ends. We let them know.",
1142
+ "forge.community_moderator_menu.mute_help_label": "What does muting do?",
1143
+ "forge.community_moderator_menu.muted": "Author muted",
1144
+ "forge.community_moderator_menu.pin": "Pin",
1145
+ "forge.community_moderator_menu.remove_confirm": "Remove",
1146
+ "forge.community_moderator_menu.remove_post": "Remove post",
1147
+ "forge.community_moderator_menu.remove_reason_help": "It is kept in this community's moderation log, so the rest of the team can see why it was removed.",
1148
+ "forge.community_moderator_menu.remove_reason_help_label": "Who sees the reason?",
1149
+ "forge.community_moderator_menu.remove_reason_label": "Reason (optional)",
1150
+ "forge.community_moderator_menu.remove_reply": "Remove reply",
1151
+ "forge.community_moderator_menu.unlock": "Unlock replies",
1152
+ "forge.community_moderator_menu.unpin": "Unpin",
1153
+ "forge.community_notifications.level_up": "You reached level {level}",
1154
+ "forge.community_notifications.level_up_no_level": "You reached a new level",
1155
+ "forge.community_notifications.post_approved": "Your post was approved",
1156
+ "forge.community_notifications.post_rejected": "Your post wasn't approved",
1157
+ "forge.community_notifications.post_rejected_reason": "Your post wasn't approved: {reason}",
1158
+ "forge.community_notifications.reply_approved": "Your reply was approved",
1159
+ "forge.community_notifications.reply_rejected": "Your reply wasn't approved",
1160
+ "forge.community_notifications.reply_rejected_reason": "Your reply wasn't approved: {reason}",
752
1161
  "forge.community_pending.body": "Your application is being reviewed. You'll get access as soon as it is approved.",
753
1162
  "forge.community_pending.body_since": "You applied on {date}. You'll get access as soon as it is approved.",
754
1163
  "forge.community_pending.title": "Your application is being reviewed",
1164
+ "forge.community_poll_card.cancel": "Cancel",
1165
+ "forge.community_poll_card.change_vote": "Change vote",
1166
+ "forge.community_poll_card.closed": "Poll closed",
1167
+ "forge.community_poll_card.closes_at": "Closes {date}",
1168
+ "forge.community_poll_card.error_closed": "This poll has closed.",
1169
+ "forge.community_poll_card.error_forbidden": "You can't vote in this poll right now.",
1170
+ "forge.community_poll_card.error_generic": "We couldn't save your vote. Please try again.",
1171
+ "forge.community_poll_card.error_invalid": "That answer doesn't fit this poll. Please pick again.",
1172
+ "forge.community_poll_card.label": "Poll",
1173
+ "forge.community_poll_card.pick_several": "Pick one or more",
1174
+ "forge.community_poll_card.results_after_close": "Results when the poll closes",
1175
+ "forge.community_poll_card.results_after_vote": "Results after you vote",
1176
+ "forge.community_poll_card.sending": "Saving...",
1177
+ "forge.community_poll_card.untitled": "Poll",
1178
+ "forge.community_poll_card.update_vote": "Update vote",
1179
+ "forge.community_poll_card.vote": "Vote",
1180
+ "forge.community_poll_card.voters_one": "1 voter",
1181
+ "forge.community_poll_card.voters_other": "{count} voters",
1182
+ "forge.community_poll_card.withdraw": "Withdraw vote",
1183
+ "forge.community_poll_card.your_vote": "(your vote)",
1184
+ "forge.community_post_card.has_link": "Link",
1185
+ "forge.community_post_card.has_poll": "Poll",
1186
+ "forge.community_public_wiki.title": "Before you join",
1187
+ "forge.community_spaces.unlocks_at_level": "Unlocks at level {level}",
755
1188
  "forge.community_upgrade_sheet.aria_close": "Close",
756
1189
  "forge.community_upgrade_sheet.back": "Back",
757
1190
  "forge.community_upgrade_sheet.charge_now": "You pay {amount} now.",
@@ -767,6 +1200,22 @@
767
1200
  "forge.community_upgrade_sheet.requires_card": "Upgrading asks for your card again and replaces your current subscription.",
768
1201
  "forge.community_upgrade_sheet.title": "Upgrade",
769
1202
  "forge.community_upgrade_sheet.unlock_with": "Unlock with {tier_name}",
1203
+ "forge.community_wiki.all_locked": "Every page here is part of another membership tier.",
1204
+ "forge.community_wiki.empty": "Nothing in our wiki yet.",
1205
+ "forge.community_wiki.error": "We couldn't load the wiki. Please try again.",
1206
+ "forge.community_wiki.image_loading": "Loading image",
1207
+ "forge.community_wiki.image_unavailable": "Image unavailable",
1208
+ "forge.community_wiki.locked_label": "Locked",
1209
+ "forge.community_wiki.locked_no_tier": "This page is part of another membership tier.",
1210
+ "forge.community_wiki.nav_label": "Wiki pages",
1211
+ "forge.community_wiki.page_unavailable": "This page isn't available to you.",
1212
+ "forge.community_wiki.title": "Wiki",
1213
+ "forge.community_wiki.toc_label": "On this page",
1214
+ "forge.community_wiki.toc_title": "On this page",
1215
+ "forge.community_wiki.unlocks_at_level": "Unlocks at level {level}.",
1216
+ "forge.community_wiki.unlocks_at_level_with": "Unlocks at level {level}. This page is part of {tiers}.",
1217
+ "forge.community_wiki.unlocks_with": "This page is part of {tiers}.",
1218
+ "forge.community_wiki.upgrade": "Upgrade",
770
1219
  "forge.confirm_subscription.back_to_site": "Back to site",
771
1220
  "forge.confirm_subscription.expired_body": "This confirmation link is no longer valid. Try subscribing again.",
772
1221
  "forge.confirm_subscription.expired_title": "Link expired",
@@ -902,6 +1351,25 @@
902
1351
  "forge.donation_button.total": "Total",
903
1352
  "forge.donation_page.subtitle": "Your contribution keeps this going. Thank you.",
904
1353
  "forge.donation_page.title": "Support the work",
1354
+ "forge.download_page.code_digit": "Digit {n}",
1355
+ "forge.download_page.code_label": "Download code",
1356
+ "forge.download_page.code_sent": "Enter the code we sent to {email}.",
1357
+ "forge.download_page.download": "Download",
1358
+ "forge.download_page.download_failed": "That download didn't start. Try again.",
1359
+ "forge.download_page.gate_body": "We'll email a 6-digit code to {email}.",
1360
+ "forge.download_page.gate_title": "Confirm it's you",
1361
+ "forge.download_page.locked": "Locked until you confirm your email",
1362
+ "forge.download_page.missing_body": "Open the link from your email again, or sign in to your account to find your purchases.",
1363
+ "forge.download_page.missing_title": "We couldn't find this download",
1364
+ "forge.download_page.resend": "Send a new code",
1365
+ "forge.download_page.send_code": "Email me a code",
1366
+ "forge.download_page.sending": "Sending…",
1367
+ "forge.download_page.sign_in": "Sign in instead",
1368
+ "forge.download_page.subtitle": "Your files are ready.",
1369
+ "forge.download_page.subtitle_gift": "A gift for you. Your files are ready.",
1370
+ "forge.download_page.title": "Your downloads",
1371
+ "forge.download_page.unlock": "Unlock downloads",
1372
+ "forge.download_page.unlocking": "Checking…",
905
1373
  "forge.email_list_form.confirm_required": "Almost there: check your email to confirm.",
906
1374
  "forge.email_list_form.email_placeholder": "Email address",
907
1375
  "forge.email_list_form.name_placeholder": "Your name",
@@ -1279,14 +1747,26 @@
1279
1747
  "forge.login_form.verify_submit": "Verify & Sign In",
1280
1748
  "forge.login_form.verify_title": "Verify your email",
1281
1749
  "forge.login_form.verifying": "Verifying…",
1750
+ "forge.member_home_layout.aria_close": "Close",
1751
+ "forge.member_home_layout.bar_alerts": "Alerts",
1752
+ "forge.member_home_layout.bar_feed": "Feed",
1753
+ "forge.member_home_layout.group_community": "Community",
1754
+ "forge.member_home_layout.group_you": "You",
1755
+ "forge.member_home_layout.more": "More",
1756
+ "forge.member_home_layout.more_title": "More",
1282
1757
  "forge.member_home_layout.nav_label": "Community",
1283
1758
  "forge.member_home_layout.tab_calendar": "Calendar",
1284
1759
  "forge.member_home_layout.tab_chat": "Chat",
1760
+ "forge.member_home_layout.tab_classroom": "Classroom",
1285
1761
  "forge.member_home_layout.tab_collections": "Collections",
1286
1762
  "forge.member_home_layout.tab_leaderboard": "Leaderboard",
1763
+ "forge.member_home_layout.tab_members": "Members",
1764
+ "forge.member_home_layout.tab_moderation": "Moderation",
1287
1765
  "forge.member_home_layout.tab_notifications": "Notifications",
1288
1766
  "forge.member_home_layout.tab_posts": "Posts",
1289
1767
  "forge.member_home_layout.tab_spaces": "Spaces",
1768
+ "forge.member_home_layout.tab_wiki": "Wiki",
1769
+ "forge.member_home_layout.your_membership": "Your membership",
1290
1770
  "forge.member_post_card.locked_body": "Join to access this content",
1291
1771
  "forge.member_post_card.locked_body_tier": "Unlock with {tier_name} to access this content",
1292
1772
  "forge.member_post_card.locked_title": "Content locked",
@@ -1444,6 +1924,187 @@
1444
1924
  "forge.podcast_show.empty_title": "No episodes yet.",
1445
1925
  "forge.podcast_show.not_found": "Podcast not found.",
1446
1926
  "forge.podcast_show.now_playing": "Now playing",
1927
+ "forge.portal_account_section.bookings": "Sessions",
1928
+ "forge.portal_account_section.courses": "Courses",
1929
+ "forge.portal_account_section.films": "Films",
1930
+ "forge.portal_account_section.memberships": "Memberships",
1931
+ "forge.portal_account_section.notifications": "Notifications",
1932
+ "forge.portal_account_section.orders": "Orders",
1933
+ "forge.portal_account_section.saved": "Saved",
1934
+ "forge.portal_account_section.settings": "Settings",
1935
+ "forge.portal_account_section.tickets": "Tickets",
1936
+ "forge.portal_account_section.waitlist": "Waitlist",
1937
+ "forge.portal_activity.approval_approved": "You approved {title}",
1938
+ "forge.portal_activity.approval_changes": "You asked for changes to {title}",
1939
+ "forge.portal_activity.approval_requested": "Your approval was requested for {title}",
1940
+ "forge.portal_activity.booking_confirmed": "{title} is booked",
1941
+ "forge.portal_activity.comment_added": "New comment on {title}",
1942
+ "forge.portal_activity.document_sent": "{title} was sent to you to sign",
1943
+ "forge.portal_activity.document_signed": "{title} was signed",
1944
+ "forge.portal_activity.empty_body": "Invoices, documents, project updates and bookings will show up here as they happen.",
1945
+ "forge.portal_activity.empty_title": "Nothing has happened yet",
1946
+ "forge.portal_activity.invoice_issued": "Invoice {title} was sent to you",
1947
+ "forge.portal_activity.invoice_paid": "Invoice {title} was paid",
1948
+ "forge.portal_activity.load_more": "Show older activity",
1949
+ "forge.portal_activity.loading": "Loading",
1950
+ "forge.portal_activity.message_received": "{title} replied to you",
1951
+ "forge.portal_activity.milestone_completed": "{title} was completed",
1952
+ "forge.portal_activity.order_placed": "You placed order {title}",
1953
+ "forge.portal_activity.title": "Activity",
1954
+ "forge.portal_billing.documents_done": "Signed and closed",
1955
+ "forge.portal_billing.documents_empty_body": "Contracts and agreements sent to you for signature will appear here.",
1956
+ "forge.portal_billing.documents_empty_title": "No documents yet",
1957
+ "forge.portal_billing.documents_lead_waiting": "{count} waiting for your signature.",
1958
+ "forge.portal_billing.documents_title": "Documents",
1959
+ "forge.portal_billing.due_on": "Due {date}",
1960
+ "forge.portal_billing.expires_on": "Expires {date}",
1961
+ "forge.portal_billing.filter_all": "All ({count})",
1962
+ "forge.portal_billing.filter_label": "Show invoices",
1963
+ "forge.portal_billing.filter_open": "To pay ({count})",
1964
+ "forge.portal_billing.invoices_empty_body": "Invoices sent to you will appear here, ready to pay.",
1965
+ "forge.portal_billing.invoices_empty_title": "No invoices yet",
1966
+ "forge.portal_billing.invoices_lead_open": "{count} to pay.",
1967
+ "forge.portal_billing.invoices_lead_settled": "Everything is paid.",
1968
+ "forge.portal_billing.invoices_title": "Invoices",
1969
+ "forge.portal_billing.nothing_owed": "Nothing to pay",
1970
+ "forge.portal_billing.open": "Open",
1971
+ "forge.portal_billing.paid_on": "Paid {date}",
1972
+ "forge.portal_billing.pay": "Pay",
1973
+ "forge.portal_billing.review_and_sign": "Review and sign",
1974
+ "forge.portal_billing.sent_on": "Sent {date}",
1975
+ "forge.portal_billing.signed_on": "Signed {date}",
1976
+ "forge.portal_billing.status_cancelled": "Cancelled",
1977
+ "forge.portal_billing.status_failed": "Payment failed",
1978
+ "forge.portal_billing.status_overdue": "Overdue",
1979
+ "forge.portal_billing.status_paid": "Paid",
1980
+ "forge.portal_billing.status_processing": "Payment processing",
1981
+ "forge.portal_billing.status_refunded": "Refunded",
1982
+ "forge.portal_billing.status_sent": "Awaiting payment",
1983
+ "forge.portal_billing.view": "View",
1984
+ "forge.portal_files.download": "Download",
1985
+ "forge.portal_files.empty_body": "Files shared on your projects, signed documents and invoices will appear here.",
1986
+ "forge.portal_files.empty_title": "No files yet",
1987
+ "forge.portal_files.filter_all": "All",
1988
+ "forge.portal_files.filter_document": "Signed documents",
1989
+ "forge.portal_files.filter_empty": "Nothing here yet",
1990
+ "forge.portal_files.filter_invoice": "Invoices",
1991
+ "forge.portal_files.filter_label": "Show files",
1992
+ "forge.portal_files.filter_project": "Shared files",
1993
+ "forge.portal_files.filter_purchase": "Downloads",
1994
+ "forge.portal_files.filter_task": "Attachments",
1995
+ "forge.portal_files.invoice_title": "Invoice {number}",
1996
+ "forge.portal_files.open": "Open",
1997
+ "forge.portal_files.open_error": "We could not open this file. Please try again.",
1998
+ "forge.portal_files.show_more": "Show more",
1999
+ "forge.portal_files.title": "Files",
2000
+ "forge.portal_home.all_activity": "All activity",
2001
+ "forge.portal_home.all_projects": "All projects",
2002
+ "forge.portal_home.coming_up": "Coming up",
2003
+ "forge.portal_home.details": "Details",
2004
+ "forge.portal_home.due_on": "Due {date}",
2005
+ "forge.portal_home.expires_on": "Expires {date}",
2006
+ "forge.portal_home.greeting_afternoon": "Good afternoon",
2007
+ "forge.portal_home.greeting_afternoon_name": "Good afternoon, {name}",
2008
+ "forge.portal_home.greeting_evening": "Good evening",
2009
+ "forge.portal_home.greeting_evening_name": "Good evening, {name}",
2010
+ "forge.portal_home.greeting_morning": "Good morning",
2011
+ "forge.portal_home.greeting_morning_name": "Good morning, {name}",
2012
+ "forge.portal_home.join": "Join",
2013
+ "forge.portal_home.kind_event": "Event",
2014
+ "forge.portal_home.kind_session": "Session",
2015
+ "forge.portal_home.lead_clear": "You're all caught up.",
2016
+ "forge.portal_home.lead_many": "{count} things need you.",
2017
+ "forge.portal_home.lead_one": "One thing needs you.",
2018
+ "forge.portal_home.needs_you": "Needs you",
2019
+ "forge.portal_home.new_message_many": "You have {count} new messages",
2020
+ "forge.portal_home.new_message_one": "You have a new message",
2021
+ "forge.portal_home.overdue_since": "Overdue since {date}",
2022
+ "forge.portal_home.pay": "Pay",
2023
+ "forge.portal_home.pay_invoice": "Pay invoice {number}",
2024
+ "forge.portal_home.payment_failed": "Your last payment didn't go through.",
2025
+ "forge.portal_home.progress_label": "Progress on {name}",
2026
+ "forge.portal_home.projects": "Projects",
2027
+ "forge.portal_home.recent": "Recent activity",
2028
+ "forge.portal_home.reply": "Reply",
2029
+ "forge.portal_home.review": "Review",
2030
+ "forge.portal_home.review_and_sign": "Review and sign",
2031
+ "forge.portal_home.review_milestone": "Review {milestone}",
2032
+ "forge.portal_home.sent_on": "Sent {date}",
2033
+ "forge.portal_home.sign_document": "Sign {title}",
2034
+ "forge.portal_home.tasks_done": "{done} of {total} tasks done",
2035
+ "forge.portal_home.update": "Update card",
2036
+ "forge.portal_home.update_card": "Update your card for {community}",
2037
+ "forge.portal_home.view_ticket": "View ticket",
2038
+ "forge.portal_messages.attach": "Attach files",
2039
+ "forge.portal_messages.attachment_failed": "A file could not be added. Files can be up to 100 MB.",
2040
+ "forge.portal_messages.closed_body": "You can message {creator} here once you have a project, a booking or an invoice with them.",
2041
+ "forge.portal_messages.closed_title": "Messages are not open yet",
2042
+ "forge.portal_messages.conversation_label": "Your conversation with {creator}",
2043
+ "forge.portal_messages.empty_body": "Your messages and their replies will appear here.",
2044
+ "forge.portal_messages.empty_title": "Ask {creator} anything about your project, booking or order",
2045
+ "forge.portal_messages.load_earlier": "Load earlier messages",
2046
+ "forge.portal_messages.placeholder": "Write a message",
2047
+ "forge.portal_messages.remove_attachment": "Remove {name}",
2048
+ "forge.portal_messages.send": "Send",
2049
+ "forge.portal_messages.send_failed": "Your message could not be sent. Please try again.",
2050
+ "forge.portal_messages.sending": "Sending",
2051
+ "forge.portal_messages.title": "Messages",
2052
+ "forge.portal_messages.you": "You",
2053
+ "forge.portal_preview.banner": "Previewing as {name}. Read-only, ends {time}.",
2054
+ "forge.portal_preview.banner_no_time": "Previewing as {name}. Read-only.",
2055
+ "forge.portal_preview.exit": "Exit preview",
2056
+ "forge.portal_preview.exiting": "Exiting...",
2057
+ "forge.portal_projects.all_milestones_done": "Every milestone is complete.",
2058
+ "forge.portal_projects.approve": "Approve",
2059
+ "forge.portal_projects.approved": "Approved",
2060
+ "forge.portal_projects.awaiting_approval": "Waiting for your approval",
2061
+ "forge.portal_projects.awaiting_approval_other": "Awaiting approval",
2062
+ "forge.portal_projects.awaiting_you": "Waiting for your decision",
2063
+ "forge.portal_projects.back_to_projects": "Projects",
2064
+ "forge.portal_projects.cancel": "Cancel",
2065
+ "forge.portal_projects.changes_label": "What should change?",
2066
+ "forge.portal_projects.changes_requested": "Changes requested",
2067
+ "forge.portal_projects.decision_error": "Your decision wasn't saved. Try again.",
2068
+ "forge.portal_projects.decisions": "Your decisions",
2069
+ "forge.portal_projects.due_on": "Due {date}",
2070
+ "forge.portal_projects.history_approved": "approved by {name} on {date}",
2071
+ "forge.portal_projects.history_changes": "changes requested by {name} on {date}",
2072
+ "forge.portal_projects.milestones": "Milestones",
2073
+ "forge.portal_projects.next_milestone": "Next: {name}",
2074
+ "forge.portal_projects.next_milestone_due": "Next: {name}, due {date}",
2075
+ "forge.portal_projects.not_found_body": "It may have been archived, or it belongs to another account.",
2076
+ "forge.portal_projects.not_found_title": "We couldn't find this project",
2077
+ "forge.portal_projects.progress_label": "Progress on {name}",
2078
+ "forge.portal_projects.request_changes": "Request changes",
2079
+ "forge.portal_projects.requested_on": "Requested {date}",
2080
+ "forge.portal_projects.review_milestone": "Review {name}",
2081
+ "forge.portal_projects.send_changes": "Send request",
2082
+ "forge.portal_projects.tasks_done": "{done} of {total} tasks done",
2083
+ "forge.portal_shell.badge_label": "{count} need you",
2084
+ "forge.portal_shell.group_account": "Account",
2085
+ "forge.portal_shell.group_library": "Your library",
2086
+ "forge.portal_shell.group_work": "Your work",
2087
+ "forge.portal_shell.log_out": "Log out",
2088
+ "forge.portal_shell.more": "More",
2089
+ "forge.portal_shell.more_title": "Your account",
2090
+ "forge.portal_shell.nav_activity": "Activity",
2091
+ "forge.portal_shell.nav_bookings": "Sessions",
2092
+ "forge.portal_shell.nav_courses": "Courses",
2093
+ "forge.portal_shell.nav_documents": "Documents",
2094
+ "forge.portal_shell.nav_files": "Files",
2095
+ "forge.portal_shell.nav_films": "Films",
2096
+ "forge.portal_shell.nav_home": "Home",
2097
+ "forge.portal_shell.nav_invoices": "Invoices",
2098
+ "forge.portal_shell.nav_label": "Your account",
2099
+ "forge.portal_shell.nav_memberships": "Memberships",
2100
+ "forge.portal_shell.nav_messages": "Messages",
2101
+ "forge.portal_shell.nav_notifications": "Notifications",
2102
+ "forge.portal_shell.nav_orders": "Orders",
2103
+ "forge.portal_shell.nav_projects": "Projects",
2104
+ "forge.portal_shell.nav_saved": "Saved",
2105
+ "forge.portal_shell.nav_settings": "Settings",
2106
+ "forge.portal_shell.nav_tickets": "Tickets",
2107
+ "forge.portal_shell.nav_waitlist": "Waitlist",
1447
2108
  "forge.post_collection_detail.locked_body": "Join to access this content",
1448
2109
  "forge.post_collection_detail.locked_body_tier": "Unlock with {tier_name} to access this content",
1449
2110
  "forge.post_collection_detail.locked_title": "Content locked",
@@ -1630,5 +2291,89 @@
1630
2291
  "forge.user_menu.aria_trigger": "Account",
1631
2292
  "forge.user_menu.create_account": "Create account",
1632
2293
  "forge.user_menu.log_in": "Log in",
1633
- "forge.user_menu.log_out": "Log out"
2294
+ "forge.user_menu.log_out": "Log out",
2295
+ "forge.work_invite_accept.accepting": "Accepting…",
2296
+ "forge.work_invite_accept.create_account": "Create your account",
2297
+ "forge.work_invite_accept.create_account_intro": "Create an account for {email} to open your client portal. We'll email you a code to confirm the address, then bring you back here.",
2298
+ "forge.work_invite_accept.existing_account": "{email} already has an account. Sign in and the project will be waiting for you.",
2299
+ "forge.work_invite_accept.generic_error": "Something went wrong. Please try again.",
2300
+ "forge.work_invite_accept.go_to_sign_in": "Go to sign in",
2301
+ "forge.work_invite_accept.have_account": "Already have an account? Sign in",
2302
+ "forge.work_invite_accept.heading": "You're invited to {project_name}",
2303
+ "forge.work_invite_accept.missing_body": "This invite link is missing information. Please use the link from your email.",
2304
+ "forge.work_invite_accept.missing_title": "Invalid invite link",
2305
+ "forge.work_invite_accept.signed_in_as_invitee": "You're signed in as {email}.",
2306
+ "forge.work_invite_accept.signed_in_as_other": "You're signed in as {current_email}, but this invite is for {invited_email}. Sign in as {invited_email} to accept it.",
2307
+ "forge.work_invite_accept.switch_account": "Sign in as {email}",
2308
+ "forge.work_invite_accept.unavailable_body": "This invite is invalid or has expired. Ask your provider to send a new one.",
2309
+ "forge.work_invite_accept.unavailable_title": "Invite not available",
2310
+ "forge.work_invite_accept.view_project": "View project",
2311
+ "forge.work_portal_projects.due_on": "Due {date}",
2312
+ "forge.work_portal_projects.empty_title": "You don't have any projects yet.",
2313
+ "forge.work_portal_projects.percent_done": "{percent}%",
2314
+ "forge.work_portal_projects.progress_label": "Progress on {name}",
2315
+ "forge.work_portal_projects.tasks_done": "{done} / {total} tasks",
2316
+ "forge.work_portal_projects.title": "Your projects",
2317
+ "forge.work_project_documents.empty_body": "Upload a document to add it to this project.",
2318
+ "forge.work_project_documents.empty_shared_title": "Nothing has been shared with you yet.",
2319
+ "forge.work_project_documents.empty_title": "Nothing here yet.",
2320
+ "forge.work_project_documents.file_input_aria": "Choose documents to upload",
2321
+ "forge.work_project_documents.open": "Open",
2322
+ "forge.work_project_documents.open_aria": "Open {title}",
2323
+ "forge.work_project_documents.opening": "Opening…",
2324
+ "forge.work_project_documents.shared_on": "Shared {date}",
2325
+ "forge.work_project_documents.title": "Documents",
2326
+ "forge.work_project_documents.upload": "Upload a document",
2327
+ "forge.work_project_documents.upload_error": "The upload didn't go through. Please try again.",
2328
+ "forge.work_project_documents.upload_error_file": "{file_name}: {message}",
2329
+ "forge.work_project_documents.uploading": "Uploading…",
2330
+ "forge.work_project_invoices.due_on": "Due {date}",
2331
+ "forge.work_project_invoices.paid_on": "Paid {date}",
2332
+ "forge.work_project_invoices.pay": "Pay",
2333
+ "forge.work_project_invoices.pay_aria": "Pay invoice {number}",
2334
+ "forge.work_project_invoices.status_cancelled": "Cancelled",
2335
+ "forge.work_project_invoices.status_initiated_payment": "Payment started",
2336
+ "forge.work_project_invoices.status_overdue": "Overdue",
2337
+ "forge.work_project_invoices.status_paid": "Paid",
2338
+ "forge.work_project_invoices.status_payment_failed": "Payment failed",
2339
+ "forge.work_project_invoices.status_sent": "Awaiting payment",
2340
+ "forge.work_project_invoices.title": "Invoices",
2341
+ "forge.work_project_invoices.view": "View",
2342
+ "forge.work_project_invoices.view_aria": "View invoice {number}",
2343
+ "forge.work_project_report.not_found": "We couldn't find this project.",
2344
+ "forge.work_report_body.billable_time": "Billable time",
2345
+ "forge.work_report_body.billable_time_empty": "No billable time logged yet.",
2346
+ "forge.work_report_body.column_amount": "Amount",
2347
+ "forge.work_report_body.column_hours": "Hours",
2348
+ "forge.work_report_body.column_task": "Task",
2349
+ "forge.work_report_body.due_on": "Due {date}",
2350
+ "forge.work_report_body.milestones": "Milestones",
2351
+ "forge.work_report_body.milestones_empty": "No milestones yet.",
2352
+ "forge.work_report_body.status_active": "Active",
2353
+ "forge.work_report_body.status_archived": "Archived",
2354
+ "forge.work_report_body.status_completed": "Completed",
2355
+ "forge.work_report_body.status_in_progress": "In progress",
2356
+ "forge.work_report_body.status_on_hold": "On hold",
2357
+ "forge.work_report_body.status_pending": "Not started",
2358
+ "forge.work_report_body.status_planning": "Planning",
2359
+ "forge.work_report_body.task_done": "Done:",
2360
+ "forge.work_report_body.task_open": "To do:",
2361
+ "forge.work_report_body.tasks": "Tasks",
2362
+ "forge.work_report_body.tasks_empty": "No tasks yet.",
2363
+ "forge.work_report_body.total": "Total",
2364
+ "forge.work_task_attachments.fallback_name": "Attachment",
2365
+ "forge.work_task_attachments.title": "Attachments",
2366
+ "forge.work_task_comments.empty": "No comments yet. Start the conversation below.",
2367
+ "forge.work_task_comments.input_label": "Your comment",
2368
+ "forge.work_task_comments.load_error": "We couldn't load comments right now.",
2369
+ "forge.work_task_comments.placeholder": "Add a comment…",
2370
+ "forge.work_task_comments.posting": "Posting…",
2371
+ "forge.work_task_comments.submit": "Post comment",
2372
+ "forge.work_task_comments.title": "Comments",
2373
+ "forge.work_task_detail.back_to_project": "Back to project",
2374
+ "forge.work_task_detail.due_on": "Due {date}",
2375
+ "forge.work_task_detail.fallback_title": "Task",
2376
+ "forge.work_task_detail.status_done": "Done",
2377
+ "forge.work_task_detail.status_open": "To do",
2378
+ "forge.work_token_report.invalid_link": "This report link is invalid or has expired."
1634
2379
  }