@agent-native/core 0.92.5 → 0.92.7
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.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +19 -0
- package/corpus/core/docs/content/template-assets.mdx +139 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/agent/production-agent.ts +96 -6
- package/corpus/core/src/cli/sync-builder-starter-manifest.ts +1 -1
- package/corpus/core/src/client/AssistantChat.tsx +127 -15
- package/corpus/core/src/client/chat/tool-call-display.tsx +9 -3
- package/corpus/core/src/client/org/TeamPage.tsx +274 -177
- package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -6
- package/corpus/core/src/client/settings/SettingsPanel.tsx +1 -1
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +49 -1
- package/corpus/core/src/demo/actions/toggle-demo-mode.ts +2 -2
- package/corpus/core/src/demo/config.ts +3 -3
- package/corpus/core/src/demo/redact.ts +720 -0
- package/corpus/core/src/extensions/url-safety.ts +13 -1
- package/corpus/core/src/localization/default-messages.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +7 -0
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +7 -0
- package/corpus/templates/analytics/AGENTS.md +6 -3
- package/corpus/templates/analytics/changelog/2026-07-09-uptime-monitors-use-scheduled-workers-in-production-serverless.md +6 -0
- package/corpus/templates/analytics/docs/uptime-monitoring.md +5 -0
- package/corpus/templates/analytics/server/plugins/uptime-monitor-jobs.ts +14 -2
- package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +35 -0
- package/corpus/templates/assets/.agents/skills/library-management/SKILL.md +19 -0
- package/corpus/templates/assets/AGENTS.md +13 -0
- package/corpus/templates/assets/actions/_generation-preset-settings.ts +73 -0
- package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +63 -0
- package/corpus/templates/assets/actions/create-generation-preset.ts +22 -8
- package/corpus/templates/assets/actions/duplicate-library.ts +49 -1
- package/corpus/templates/assets/actions/generate-image-batch.ts +14 -1
- package/corpus/templates/assets/actions/generate-image.ts +195 -26
- package/corpus/templates/assets/actions/import-asset-from-url.ts +323 -0
- package/corpus/templates/assets/actions/list-generation-presets.ts +1 -1
- package/corpus/templates/assets/actions/rerun-generation-run.ts +37 -0
- package/corpus/templates/assets/actions/update-generation-preset.ts +19 -1
- package/corpus/templates/assets/app/i18n/ar-SA.ts +1 -0
- package/corpus/templates/assets/app/i18n/de-DE.ts +1 -0
- package/corpus/templates/assets/app/i18n/es-ES.ts +1 -0
- package/corpus/templates/assets/app/i18n/fr-FR.ts +1 -0
- package/corpus/templates/assets/app/i18n/hi-IN.ts +1 -0
- package/corpus/templates/assets/app/i18n/ja-JP.ts +1 -0
- package/corpus/templates/assets/app/i18n/ko-KR.ts +1 -0
- package/corpus/templates/assets/app/i18n/pt-BR.ts +1 -0
- package/corpus/templates/assets/app/i18n/zh-CN.ts +1 -0
- package/corpus/templates/assets/app/i18n/zh-TW.ts +41 -0
- package/corpus/templates/assets/app/i18n-data.ts +93 -0
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +66 -11
- package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +959 -24
- package/corpus/templates/assets/changelog/2026-07-07-preset-skeleton-controls-fit-correctly-on-narrower-edit-page.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-09-import-reference-images-from-url.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-09-preset-reference-board.md +6 -0
- package/corpus/templates/assets/server/handlers/assets.ts +7 -27
- package/corpus/templates/assets/server/lib/generation.ts +83 -2
- package/corpus/templates/assets/server/lib/preset-chat-context.ts +17 -4
- package/corpus/templates/assets/server/lib/preset-references.ts +182 -0
- package/corpus/templates/assets/server/lib/upload-validation.ts +38 -0
- package/corpus/templates/assets/shared/api.ts +20 -0
- package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +6 -0
- package/corpus/templates/calendar/actions/create-event.ts +8 -2
- package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +22 -7
- package/corpus/templates/calendar/changelog/2026-07-09-calendar-events-with-guests-now-automatically-get-a-google-m.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-09-new-events-now-mark-the-creator-rsvp-as-yes.md +6 -0
- package/corpus/templates/calendar/server/handlers/events.ts +9 -2
- package/corpus/templates/calendar/server/lib/event-video-conferencing.ts +58 -0
- package/corpus/templates/calendar/server/lib/google-calendar.ts +1 -0
- package/corpus/templates/clips/changelog/2026-07-09-meeting-reminder-popovers-can-now-be-dismissed-with-a-top-le.md +6 -0
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +3 -1
- package/corpus/templates/clips/desktop/src/styles.css +13 -9
- package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +5 -2
- package/dist/agent/production-agent.d.ts +34 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +58 -5
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/sync-builder-starter-manifest.js +1 -1
- package/dist/cli/sync-builder-starter-manifest.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +3 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +96 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +5 -1
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +32 -13
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts +3 -3
- package/dist/client/settings/DemoModeSection.js +4 -4
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.js +1 -1
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +38 -2
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/demo/actions/toggle-demo-mode.js +2 -2
- package/dist/demo/actions/toggle-demo-mode.js.map +1 -1
- package/dist/demo/config.js +3 -3
- package/dist/demo/config.js.map +1 -1
- package/dist/demo/redact.d.ts +1 -1
- package/dist/demo/redact.d.ts.map +1 -1
- package/dist/demo/redact.js +0 -0
- package/dist/demo/redact.js.map +1 -1
- package/dist/extensions/url-safety.d.ts +5 -0
- package/dist/extensions/url-safety.d.ts.map +1 -1
- package/dist/extensions/url-safety.js +10 -0
- package/dist/extensions/url-safety.js.map +1 -1
- package/dist/localization/default-messages.d.ts +7 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +7 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/templates/default/app/i18n/ar-SA.ts +7 -0
- package/dist/templates/default/app/i18n/de-DE.ts +7 -0
- package/dist/templates/default/app/i18n/en-US.ts +7 -0
- package/dist/templates/default/app/i18n/es-ES.ts +7 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +7 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +7 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +7 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +7 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +7 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +7 -0
- package/dist/templates/default/app/i18n/zh-TW.ts +7 -0
- package/docs/content/template-assets.mdx +139 -0
- package/package.json +1 -1
- package/src/templates/default/app/i18n/ar-SA.ts +7 -0
- package/src/templates/default/app/i18n/de-DE.ts +7 -0
- package/src/templates/default/app/i18n/en-US.ts +7 -0
- package/src/templates/default/app/i18n/es-ES.ts +7 -0
- package/src/templates/default/app/i18n/fr-FR.ts +7 -0
- package/src/templates/default/app/i18n/hi-IN.ts +7 -0
- package/src/templates/default/app/i18n/ja-JP.ts +7 -0
- package/src/templates/default/app/i18n/ko-KR.ts +7 -0
- package/src/templates/default/app/i18n/pt-BR.ts +7 -0
- package/src/templates/default/app/i18n/zh-CN.ts +7 -0
- package/src/templates/default/app/i18n/zh-TW.ts +7 -0
|
@@ -381,9 +381,16 @@ const messages = {
|
|
|
381
381
|
join: "Join",
|
|
382
382
|
invitedByLabel: "由 {{name}} 邀請",
|
|
383
383
|
you: "You",
|
|
384
|
+
owner: "擁有者",
|
|
384
385
|
admin: "管理員",
|
|
385
386
|
member: "Member",
|
|
386
387
|
members: "Members",
|
|
388
|
+
inviteMembers: "邀請成員",
|
|
389
|
+
invited: "已邀請",
|
|
390
|
+
role: "角色",
|
|
391
|
+
status: "狀態",
|
|
392
|
+
actions: "操作",
|
|
393
|
+
noMembers: "尚無成員。",
|
|
387
394
|
memberCount_other: "{{count}} 位成員",
|
|
388
395
|
youAreRole: "你的角色是 {{role}}",
|
|
389
396
|
changeRole: "改變角色",
|
|
@@ -102,6 +102,145 @@ Live demo: [assets.agent-native.com](https://assets.agent-native.com).
|
|
|
102
102
|
4. **Use the asset elsewhere.** Copy the export, embed the picker in another
|
|
103
103
|
app, or let another agent call Assets over A2A.
|
|
104
104
|
|
|
105
|
+
## The preset-driven workflow
|
|
106
|
+
|
|
107
|
+
Assets produces its best, most repeatable results when work is split into two
|
|
108
|
+
jobs that need very different skills:
|
|
109
|
+
|
|
110
|
+
1. **Designing the recipe** — slow, craft-heavy, done once per use case. A
|
|
111
|
+
designer works with the agent to build a **generation preset**: the rules,
|
|
112
|
+
references, locked-in model, and a prompt template that has been QA'd until
|
|
113
|
+
it reliably produces on-brand output.
|
|
114
|
+
2. **Running the recipe** — fast and repeatable. A marketer pastes a campaign
|
|
115
|
+
brief, tags the preset, and gets a finished, brand-safe asset without
|
|
116
|
+
touching model settings, aspect ratios, masks, or prompt wording.
|
|
117
|
+
|
|
118
|
+
A preset is the contract between these two people. The designer encodes taste
|
|
119
|
+
and technical judgment once; everyone else inherits it on every generation.
|
|
120
|
+
Think of presets as the design system for AI-generated assets: a raw prompt is
|
|
121
|
+
a throwaway that drifts every time it is retyped, while a preset is durable,
|
|
122
|
+
shared, and carries the decisions (model, aspect ratio, text and reference
|
|
123
|
+
rules, logo handling, fixed layout) that actually determine whether the output
|
|
124
|
+
is usable.
|
|
125
|
+
|
|
126
|
+
### Designers: build one preset per use case
|
|
127
|
+
|
|
128
|
+
Create a separate preset for each repeatable format rather than one generic
|
|
129
|
+
"social post" preset that tries to do everything. Specific presets give the
|
|
130
|
+
model clearer rules and produce better output. Good examples:
|
|
131
|
+
|
|
132
|
+
- LinkedIn ad
|
|
133
|
+
- Webinar announcement
|
|
134
|
+
- Event speaker card
|
|
135
|
+
- Podcast guest card
|
|
136
|
+
- Customer story quote card
|
|
137
|
+
- Blog hero
|
|
138
|
+
- Blog body diagram
|
|
139
|
+
|
|
140
|
+
The primary way to build one is **conversationally**: describe the use case to
|
|
141
|
+
the agent and let it create the preset and fill in sensible defaults — model,
|
|
142
|
+
aspect ratio and size, a first prompt template, and text/reference/logo
|
|
143
|
+
policies — then refine in the same conversation ("make it darker", "tighten the
|
|
144
|
+
text policy", "try a square variant"). Because that reasoning shows up directly
|
|
145
|
+
in the defaults the agent picks, run this design conversation on the strongest
|
|
146
|
+
available model.
|
|
147
|
+
|
|
148
|
+
Each preset locks down:
|
|
149
|
+
|
|
150
|
+
| Setting | What it controls |
|
|
151
|
+
| ------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
152
|
+
| Prompt template | The QA'd creative recipe, with slots for the campaign brief |
|
|
153
|
+
| Model | The right image engine for this job (see below) |
|
|
154
|
+
| Aspect ratio + size | Output format for the target channel |
|
|
155
|
+
| Text policy | Whether and how literal copy is rendered vs suppressed |
|
|
156
|
+
| Reference policy | Which brand references anchor the look |
|
|
157
|
+
| Reference board | Named fixed or per-run visual references, such as a usual host, guest speaker, product, backdrop, or composition cue |
|
|
158
|
+
| Logo | Composites the library's canonical logo pixel-perfect after generation, so the model never redraws it |
|
|
159
|
+
| Skeleton / mask | A fixed brand plate the subject is composited or inpainted into, for locked layouts |
|
|
160
|
+
|
|
161
|
+
### Choosing the model per preset
|
|
162
|
+
|
|
163
|
+
Pick the model in the preset so downstream users never have to:
|
|
164
|
+
|
|
165
|
+
- **A general high-quality image model** for hero images, rich scenes, and
|
|
166
|
+
complex compositions, when you need broad aspect-ratio flexibility.
|
|
167
|
+
- **A fast image model** for high-volume social where turnaround matters more
|
|
168
|
+
than maximum polish.
|
|
169
|
+
- **gpt-image-2** for customer-facing, text-heavy, and identity-sensitive work.
|
|
170
|
+
It renders crisp literal copy inside the image, and it is the engine used for
|
|
171
|
+
**mask inpainting** into a fixed layout.
|
|
172
|
+
- **gpt-image-1** for transparent **cutout** subjects that are composited onto a
|
|
173
|
+
brand plate afterward.
|
|
174
|
+
|
|
175
|
+
When a use case has a **fixed brand frame** that must survive every generation
|
|
176
|
+
(a webinar template with a locked header and logo, an ad plate with a reserved
|
|
177
|
+
product area), build a preset skeleton: upload the background plate, choose
|
|
178
|
+
gpt-image-2, and optionally add a same-size mask. **Opaque areas are preserved,
|
|
179
|
+
transparent areas are editable**, so the logo, framing, and existing copy come
|
|
180
|
+
back untouched while only the art region changes. Note that gpt-image edits are
|
|
181
|
+
guided semantic rewrites, not pixel-only patches, so the prompt should still
|
|
182
|
+
describe the whole intended image and restate what must not change.
|
|
183
|
+
|
|
184
|
+
Use the **reference board** when a preset needs annotated visual inputs that
|
|
185
|
+
ride along with each run. Each board entry names one thing — a person, product,
|
|
186
|
+
style, background, or composition example — and can pin up to four images plus a
|
|
187
|
+
plain-language description. Fixed entries attach automatically. Variable
|
|
188
|
+
entries can be replaced per run with `presetReferenceFills`, and required
|
|
189
|
+
variable entries block generation until the agent supplies images from user
|
|
190
|
+
attachments or the library.
|
|
191
|
+
|
|
192
|
+
For example, a Webinar Announcement preset might use a skeleton plate and mask
|
|
193
|
+
for the locked event chrome, a fixed "Steve" subject entry for the usual host,
|
|
194
|
+
and a required variable "Guest speaker" entry for each event. Use a
|
|
195
|
+
`background` entry for setting context. Use a `composition` entry for layout
|
|
196
|
+
inspiration from a past poster; exact placement belongs in the skeleton plate,
|
|
197
|
+
not a reference image.
|
|
198
|
+
|
|
199
|
+
### QA the prompt until it is reliable
|
|
200
|
+
|
|
201
|
+
The model, references, and skeleton set the stage, but the prompt template is
|
|
202
|
+
what turns a brief into a consistently good asset. Have the agent generate
|
|
203
|
+
several candidates against realistic briefs and tighten the template until it
|
|
204
|
+
holds. Techniques worth baking in:
|
|
205
|
+
|
|
206
|
+
- **Structure the prompt in a fixed order**: scene, subject, key details,
|
|
207
|
+
constraints. Name the intended use so the model picks the right polish level.
|
|
208
|
+
- **For literal copy, be surgical**: put exact text in quotes or ALL CAPS,
|
|
209
|
+
specify font, size, color, and placement, and for tricky brand names spell
|
|
210
|
+
them out. Ask for the text exactly once with no extra characters.
|
|
211
|
+
- **For skeleton or inpainting presets, restate the invariants every run**:
|
|
212
|
+
"change only the center region, preserve the header, logo, and framing."
|
|
213
|
+
|
|
214
|
+
Before handing a preset to the wider team, run realistic QA generations
|
|
215
|
+
(including briefs you did not write) and confirm it: follows the use case,
|
|
216
|
+
respects the mask, preserves fixed text and logos, avoids inventing extra
|
|
217
|
+
headlines or badges, uses references correctly, places the subject in the right
|
|
218
|
+
region, handles short and long briefs, and still holds up after a refinement.
|
|
219
|
+
|
|
220
|
+
### Everyone else: paste the brief, tag the preset, generate
|
|
221
|
+
|
|
222
|
+
Once a preset exists, running it is three moves: paste the campaign brief, tag
|
|
223
|
+
the preset with `@`, and generate. The tagged preset injects its full aesthetic
|
|
224
|
+
brief into the agent, and the saved model, format, tier, logo, and skeleton all
|
|
225
|
+
apply automatically.
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
Create a LinkedIn ad for our webinar on AI landing pages.
|
|
229
|
+
Audience: B2B marketing teams.
|
|
230
|
+
Message: launch campaign pages faster while staying on brand.
|
|
231
|
+
CTA: Register now.
|
|
232
|
+
|
|
233
|
+
@Webinar Announcement
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
No model picking, no aspect-ratio math, no mask files, no prompt engineering.
|
|
237
|
+
Rule of thumb: designers own the preset, everyone else owns the brief. If a
|
|
238
|
+
user finds themselves choosing models, masks, or layout rules during normal
|
|
239
|
+
use, the preset is not specific enough yet.
|
|
240
|
+
|
|
241
|
+
For deeper prompting guidance on the underlying models, see OpenAI's
|
|
242
|
+
[GPT Image prompting guide](https://developers.openai.com/cookbook/examples/multimodal/image-gen-models-prompting-guide).
|
|
243
|
+
|
|
105
244
|
## Useful prompts
|
|
106
245
|
|
|
107
246
|
- "Generate three blog hero options using the Acme product references."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.92.
|
|
3
|
+
"version": "0.92.7",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -423,9 +423,16 @@ const messages = {
|
|
|
423
423
|
join: "Join",
|
|
424
424
|
invitedByLabel: "Invited by {{name}}",
|
|
425
425
|
you: "You",
|
|
426
|
+
owner: "المالك",
|
|
426
427
|
admin: "مسؤول",
|
|
427
428
|
member: "Member",
|
|
428
429
|
members: "Members",
|
|
430
|
+
inviteMembers: "دعوة أعضاء",
|
|
431
|
+
invited: "تمت الدعوة",
|
|
432
|
+
role: "الدور",
|
|
433
|
+
status: "الحالة",
|
|
434
|
+
actions: "الإجراءات",
|
|
435
|
+
noMembers: "لا يوجد أعضاء بعد.",
|
|
429
436
|
memberCount_one: "{{count}} member",
|
|
430
437
|
memberCount_other: "{{count}} members",
|
|
431
438
|
memberCount_zero: "{{count}} members",
|
|
@@ -410,9 +410,16 @@ const messages = {
|
|
|
410
410
|
join: "Join",
|
|
411
411
|
invitedByLabel: "Invited by {{name}}",
|
|
412
412
|
you: "You",
|
|
413
|
+
owner: "Eigentümer",
|
|
413
414
|
admin: "Admin",
|
|
414
415
|
member: "Member",
|
|
415
416
|
members: "Members",
|
|
417
|
+
inviteMembers: "Mitglieder einladen",
|
|
418
|
+
invited: "Eingeladen",
|
|
419
|
+
role: "Rolle",
|
|
420
|
+
status: "Status",
|
|
421
|
+
actions: "Aktionen",
|
|
422
|
+
noMembers: "Noch keine Mitglieder.",
|
|
416
423
|
memberCount_one: "{{count}} member",
|
|
417
424
|
memberCount_other: "{{count}} members",
|
|
418
425
|
youAreRole: "You are {{role}}",
|
|
@@ -401,9 +401,16 @@ const messages = {
|
|
|
401
401
|
join: "Join",
|
|
402
402
|
invitedByLabel: "Invited by {{name}}",
|
|
403
403
|
you: "You",
|
|
404
|
+
owner: "Owner",
|
|
404
405
|
admin: "Admin",
|
|
405
406
|
member: "Member",
|
|
406
407
|
members: "Members",
|
|
408
|
+
inviteMembers: "Invite members",
|
|
409
|
+
invited: "Invited",
|
|
410
|
+
role: "Role",
|
|
411
|
+
status: "Status",
|
|
412
|
+
actions: "Actions",
|
|
413
|
+
noMembers: "No members yet.",
|
|
407
414
|
memberCount_one: "{{count}} member",
|
|
408
415
|
memberCount_other: "{{count}} members",
|
|
409
416
|
youAreRole: "You are {{role}}",
|
|
@@ -417,9 +417,16 @@ const messages = {
|
|
|
417
417
|
join: "Join",
|
|
418
418
|
invitedByLabel: "Invited by {{name}}",
|
|
419
419
|
you: "You",
|
|
420
|
+
owner: "Propietario",
|
|
420
421
|
admin: "Administrador",
|
|
421
422
|
member: "Member",
|
|
422
423
|
members: "Members",
|
|
424
|
+
inviteMembers: "Invitar miembros",
|
|
425
|
+
invited: "Invitado",
|
|
426
|
+
role: "Rol",
|
|
427
|
+
status: "Estado",
|
|
428
|
+
actions: "Acciones",
|
|
429
|
+
noMembers: "Aún no hay miembros.",
|
|
423
430
|
memberCount_one: "{{count}} member",
|
|
424
431
|
memberCount_other: "{{count}} members",
|
|
425
432
|
memberCount_many: "{{count}} members",
|
|
@@ -415,9 +415,16 @@ const messages = {
|
|
|
415
415
|
join: "Join",
|
|
416
416
|
invitedByLabel: "Invited by {{name}}",
|
|
417
417
|
you: "You",
|
|
418
|
+
owner: "Propriétaire",
|
|
418
419
|
admin: "Admin",
|
|
419
420
|
member: "Member",
|
|
420
421
|
members: "Members",
|
|
422
|
+
inviteMembers: "Inviter des membres",
|
|
423
|
+
invited: "Invité",
|
|
424
|
+
role: "Rôle",
|
|
425
|
+
status: "Statut",
|
|
426
|
+
actions: "Actions",
|
|
427
|
+
noMembers: "Aucun membre pour le moment.",
|
|
421
428
|
memberCount_one: "{{count}} member",
|
|
422
429
|
memberCount_other: "{{count}} members",
|
|
423
430
|
memberCount_many: "{{count}} members",
|
|
@@ -397,9 +397,16 @@ const messages = {
|
|
|
397
397
|
join: "Join",
|
|
398
398
|
invitedByLabel: "Invited by {{name}}",
|
|
399
399
|
you: "You",
|
|
400
|
+
owner: "स्वामी",
|
|
400
401
|
admin: "व्यवस्थापक",
|
|
401
402
|
member: "Member",
|
|
402
403
|
members: "Members",
|
|
404
|
+
inviteMembers: "सदस्यों को आमंत्रित करें",
|
|
405
|
+
invited: "आमंत्रित",
|
|
406
|
+
role: "भूमिका",
|
|
407
|
+
status: "स्थिति",
|
|
408
|
+
actions: "कार्रवाइयां",
|
|
409
|
+
noMembers: "अभी कोई सदस्य नहीं है.",
|
|
403
410
|
memberCount_one: "{{count}} member",
|
|
404
411
|
memberCount_other: "{{count}} members",
|
|
405
412
|
youAreRole: "You are {{role}}",
|
|
@@ -402,9 +402,16 @@ const messages = {
|
|
|
402
402
|
join: "Join",
|
|
403
403
|
invitedByLabel: "Invited by {{name}}",
|
|
404
404
|
you: "You",
|
|
405
|
+
owner: "オーナー",
|
|
405
406
|
admin: "管理者",
|
|
406
407
|
member: "Member",
|
|
407
408
|
members: "Members",
|
|
409
|
+
inviteMembers: "メンバーを招待",
|
|
410
|
+
invited: "招待済み",
|
|
411
|
+
role: "ロール",
|
|
412
|
+
status: "ステータス",
|
|
413
|
+
actions: "操作",
|
|
414
|
+
noMembers: "メンバーはまだいません。",
|
|
408
415
|
memberCount_other: "{{count}} members",
|
|
409
416
|
youAreRole: "You are {{role}}",
|
|
410
417
|
changeRole: "役割を変更する",
|
|
@@ -395,9 +395,16 @@ const messages = {
|
|
|
395
395
|
join: "Join",
|
|
396
396
|
invitedByLabel: "Invited by {{name}}",
|
|
397
397
|
you: "You",
|
|
398
|
+
owner: "소유자",
|
|
398
399
|
admin: "관리자",
|
|
399
400
|
member: "Member",
|
|
400
401
|
members: "Members",
|
|
402
|
+
inviteMembers: "구성원 초대",
|
|
403
|
+
invited: "초대됨",
|
|
404
|
+
role: "역할",
|
|
405
|
+
status: "상태",
|
|
406
|
+
actions: "작업",
|
|
407
|
+
noMembers: "아직 구성원이 없습니다.",
|
|
401
408
|
memberCount_other: "{{count}} members",
|
|
402
409
|
youAreRole: "You are {{role}}",
|
|
403
410
|
changeRole: "역할 변경",
|
|
@@ -414,9 +414,16 @@ const messages = {
|
|
|
414
414
|
join: "Join",
|
|
415
415
|
invitedByLabel: "Invited by {{name}}",
|
|
416
416
|
you: "You",
|
|
417
|
+
owner: "Proprietário",
|
|
417
418
|
admin: "Admin",
|
|
418
419
|
member: "Member",
|
|
419
420
|
members: "Members",
|
|
421
|
+
inviteMembers: "Convidar membros",
|
|
422
|
+
invited: "Convidado",
|
|
423
|
+
role: "Função",
|
|
424
|
+
status: "Status",
|
|
425
|
+
actions: "Ações",
|
|
426
|
+
noMembers: "Ainda não há membros.",
|
|
420
427
|
memberCount_one: "{{count}} member",
|
|
421
428
|
memberCount_other: "{{count}} members",
|
|
422
429
|
memberCount_many: "{{count}} members",
|
|
@@ -383,9 +383,16 @@ const messages = {
|
|
|
383
383
|
join: "Join",
|
|
384
384
|
invitedByLabel: "Invited by {{name}}",
|
|
385
385
|
you: "You",
|
|
386
|
+
owner: "所有者",
|
|
386
387
|
admin: "管理员",
|
|
387
388
|
member: "Member",
|
|
388
389
|
members: "Members",
|
|
390
|
+
inviteMembers: "邀请成员",
|
|
391
|
+
invited: "已邀请",
|
|
392
|
+
role: "角色",
|
|
393
|
+
status: "状态",
|
|
394
|
+
actions: "操作",
|
|
395
|
+
noMembers: "暂无成员。",
|
|
389
396
|
memberCount_other: "{{count}} members",
|
|
390
397
|
youAreRole: "You are {{role}}",
|
|
391
398
|
changeRole: "改变角色",
|
|
@@ -381,9 +381,16 @@ const messages = {
|
|
|
381
381
|
join: "Join",
|
|
382
382
|
invitedByLabel: "由 {{name}} 邀請",
|
|
383
383
|
you: "You",
|
|
384
|
+
owner: "擁有者",
|
|
384
385
|
admin: "管理員",
|
|
385
386
|
member: "Member",
|
|
386
387
|
members: "Members",
|
|
388
|
+
inviteMembers: "邀請成員",
|
|
389
|
+
invited: "已邀請",
|
|
390
|
+
role: "角色",
|
|
391
|
+
status: "狀態",
|
|
392
|
+
actions: "操作",
|
|
393
|
+
noMembers: "尚無成員。",
|
|
387
394
|
memberCount_other: "{{count}} 位成員",
|
|
388
395
|
youAreRole: "你的角色是 {{role}}",
|
|
389
396
|
changeRole: "改變角色",
|