Update Concierge copy to reflect AI agent identity#81331
Conversation
Updates the Concierge description from "24/7 support" to "Your personal AI agent" and changes the prompt from support-focused text to "Ask me anything!" across all supported languages. Languages updated: English, German, Spanish, French, Italian, Japanese, Dutch, Polish, Portuguese (Brazilian), and Simplified Chinese. Relates to Expensify/Expensify#596193 Co-authored-by: David Barrett <quinthar@users.noreply.github.com>
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/de.ts b/src/languages/de.ts
index b24add81..ad5370e1 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -911,7 +911,7 @@ const translations: TranslationDeepObject<typeof en> = {
welcomeToRoom: ({roomName}: WelcomeToRoomParams) => `Willkommen in ${roomName}!`,
usePlusButton: ({additionalText}: UsePlusButtonParams) => `Verwende die +‑Taste, um eine Ausgabe zu ${additionalText}.`,
askConcierge: 'Frag mich alles!',
- conciergeSupport: 'Dein persönlicher KI-Agent',
+ conciergeSupport: 'Ihr persönlicher KI-Agent',
create: 'erstellen',
iouTypes: {
pay: 'bezahlen',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 328c35ce..2a59e8a0 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -914,7 +914,7 @@ const translations: TranslationDeepObject<typeof en> = {
yourSpace: 'Votre espace',
welcomeToRoom: ({roomName}: WelcomeToRoomParams) => `Bienvenue dans ${roomName} !`,
usePlusButton: ({additionalText}: UsePlusButtonParams) => `Utilisez le bouton + pour ${additionalText} une dépense.`,
- askConcierge: 'Posez-moi vos questions !',
+ askConcierge: 'Posez-moi toutes vos questions !',
conciergeSupport: 'Votre agent IA personnel',
create: 'créer',
iouTypes: {
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 40cc83c1..e978d8b2 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -909,8 +909,8 @@ const translations: TranslationDeepObject<typeof en> = {
yourSpace: 'Jouw ruimte',
welcomeToRoom: ({roomName}: WelcomeToRoomParams) => `Welkom bij ${roomName}!`,
usePlusButton: ({additionalText}: UsePlusButtonParams) => `Gebruik de +-knop om een uitgave te ${additionalText}.`,
- askConcierge: 'Vraag me alles!',
- conciergeSupport: 'Jouw persoonlijke AI-agent',
+ askConcierge: 'Stel me alles wat je wilt vragen!',
+ conciergeSupport: 'Je persoonlijke AI-agent',
create: 'maken',
iouTypes: {
pay: 'betalen',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index cbd35e0a..827b02ff 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -900,7 +900,7 @@ const translations: TranslationDeepObject<typeof en> = {
welcomeToRoom: ({roomName}: WelcomeToRoomParams) => `欢迎来到 ${roomName}!`,
usePlusButton: ({additionalText}: UsePlusButtonParams) => `使用 + 按钮来${additionalText}一笔费用。`,
askConcierge: '尽管问我任何问题!',
- conciergeSupport: '您的专属AI助手',
+ conciergeSupport: '你的个人 AI 助理',
create: '创建',
iouTypes: {
pay: '支付',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
🤖 Fixed the failing The PR body was missing the required I've updated the PR body to include the full PR template with the author checklist section. The checks should pass now. |
|
🤖 Check Failure Analysis The failing Status: 39 of 51 checklist items completed, 12 remaining. Unchecked items requiring attention:
Required Action: The PR author needs to:
This is a copy-only change (language file updates), so most of the testing should be straightforward - just verify the new strings display correctly in the Concierge chat on each platform. |
Codecov Report✅ All modified and coverable lines are covered by tests. |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
🚧 @iwiznia has triggered a test Expensify/App build. You can view the workflow run here. |
|
🤖 CI Check Analysis The failing check is the PR Author Checklist - not a code or test failure. Issue: The PR checklist has 50 out of 51 items completed. The unchecked items are: This appears twice in the PR description (once in "Tests" section and once in "QA Steps" section). Resolution: This is a manual verification step that needs to be confirmed by the PR author. If you've verified there are no JS console errors, please update the PR description to check those boxes: - - [ ] Verify that no errors appear in the JS console
+ - [x] Verify that no errors appear in the JS consoleAll other CI checks (linting, tests, builds, type checking, etc.) are passing ✅ |
|
🤖 Check Failure Analysis All the code-related checks on this PR are passing ✅ The failing check is the PR Author Checklist workflow. This fails because there are 2 unchecked items in the PR body:
This is not a code issue - it's a checklist completion reminder for the PR author to confirm they've verified no console errors during testing. To fix: The PR author should check those boxes once they've verified there are no console errors: This check will pass automatically once all checkboxes in the PR template are marked complete. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/iwiznia in version: 9.3.13-1 🚀
|
|
🚀 Deployed to staging by https://github.com/iwiznia in version: 9.3.15-0 🚀
|
Summary
conciergeSupportfrom "24/7 support" to "Your personal AI agent"askConciergefrom "Ask questions and get 24/7 realtime support." to "Ask me anything!"Fixed Issues
$ https://github.com/Expensify/Expensify/issues/596193
Tests
Offline tests
N/A - This is a copy-only change that doesn't affect offline behavior.
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
cc @quinthar