diff --git a/src/languages/de.ts b/src/languages/de.ts
index b622da7e22e02..035642eedb190 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -7521,7 +7521,8 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und
`Die Verbindung für ${feedName} ist unterbrochen. Um Kartenimporte wiederherzustellen, melden Sie sich bei Ihrer Bank an.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`Die Plaid-Verbindung zu Ihrem Geschäftskonto ist unterbrochen. Bitte verbinden Sie Ihr Bankkonto ${maskedAccountNumber} erneut, damit Sie Ihre Expensify Karten weiterhin verwenden können.`,
- addEmployee: (email: string, role: string) => `${email} als ${role === 'member' ? 'a' : 'an'} ${role} hinzugefügt`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} ist über den Arbeitsbereichs-Einladungslink beigetreten` : `${email} als ${role === 'member' ? 'a' : 'an'} ${role} hinzugefügt`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `hat die Rolle von ${email} in ${newRole} geändert (zuvor ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/en.ts b/src/languages/en.ts
index c75c38ebe405e..b7e054d7a2cb4 100644
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -7496,7 +7496,8 @@ const translations = {
`The ${feedName} connection is broken. To restore card imports, log into your bank.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`the Plaid connection to your business bank account is broken. Please reconnect your bank account ${maskedAccountNumber} so you can continue to use your Expensify Cards.`,
- addEmployee: (email: string, role: string) => `added ${email} as ${role === 'member' ? 'a' : 'an'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} joined via the workspace invite link` : `added ${email} as ${role === 'member' ? 'a' : 'an'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `updated the role of ${email} to ${newRole} (previously ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/es.ts b/src/languages/es.ts
index 9e390308d06fc..06da9ea8d0579 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -7389,7 +7389,8 @@ ${amount} para ${merchant} - ${date}`,
`La conexión ${feedName} está rota. Para restaurar las importaciones de tarjetas, inicia sesión en tu banco.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`la conexión Plaid con tu cuenta bancaria de empresa está rota. Por favor, reconecta tu cuenta bancaria ${maskedAccountNumber} para poder seguir usando tus Tarjetas Expensify.`,
- addEmployee: (email, role) => `agregó a ${email} como ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} se unió mediante el enlace de invitación del espacio de trabajo` : `se añadió ${email} como ${role === 'member' ? 'a' : 'a un'} ${role}`,
updateRole: ({email, currentRole, newRole}) => `actualizó el rol ${email} a ${newRole} (previamente ${currentRole})`,
updatedCustomField1: (email, newValue, previousValue) => {
if (!newValue) {
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index ea7ca3d26c7ed..1b05c3d950d40 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -7545,7 +7545,8 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip
`La connexion ${feedName} est interrompue. Pour rétablir l’importation des cartes, connectez-vous à votre banque.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`la connexion Plaid à votre compte bancaire professionnel est rompue. Veuillez reconnecter votre compte bancaire ${maskedAccountNumber} afin de pouvoir continuer à utiliser vos Cartes Expensify.`,
- addEmployee: (email: string, role: string) => `a ajouté ${email} en tant que ${role === 'member' ? 'un' : 'un'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} a rejoint via le lien d’invitation de l’espace de travail` : `a ajouté ${email} en tant que ${role === 'member' ? 'a' : 'un'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `a mis à jour le rôle de ${email} en ${newRole} (précédemment ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/it.ts b/src/languages/it.ts
index e101563e73a46..b21af9d15386c 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -7509,7 +7509,8 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo
`La connessione ${feedName} è interrotta. Per ripristinare le importazioni della carta, accedi alla tua banca.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`la connessione Plaid al conto bancario della tua azienda non funziona. Per favore, ricollega il conto bancario ${maskedAccountNumber} così puoi continuare a usare le tue Carte Expensify.`,
- addEmployee: (email: string, role: string) => `aggiunto ${email} come ${role === 'member' ? 'a' : 'un'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} si è unito tramite il link di invito allo spazio di lavoro` : `ha aggiunto ${email} come ${role === 'member' ? 'a' : 'un'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `ha aggiornato il ruolo di ${email} a ${newRole} (in precedenza ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 33c0e0c85867a..2c1ecfd86277a 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -7425,7 +7425,8 @@ ${reportName}
`${feedName} との接続が切断されています。カードの取引明細の取込を再開するには、銀行にログインしてください。`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`Plaid によるビジネス銀行口座との接続が切断されています。Expensify カードを引き続きご利用いただくために、銀行口座 ${maskedAccountNumber} を再接続してください。`,
- addEmployee: (email: string, role: string) => `${email} を ${role === 'member' ? 'a' : 'ある'} ${role} として追加しました`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} さんがワークスペースの招待リンクから参加しました` : `${role === 'member' ? 'a' : '1つの'} ${role} として ${email} を追加しました`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `${email} のロールを ${currentRole} から ${newRole} に更新しました`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index afc5fcd8eb90c..74395d08afe0c 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -7487,7 +7487,8 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
`De verbinding met ${feedName} is verbroken. Log in bij je bank om kaartimports te herstellen.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`de Plaid-verbinding met je zakelijke bankrekening is verbroken. Verbind je bankrekening ${maskedAccountNumber} opnieuw zodat je je Expensify Kaarten kunt blijven gebruiken.`,
- addEmployee: (email: string, role: string) => `${email} toegevoegd als ${role === 'member' ? 'een' : 'een'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} is via de werkruimte-uitnodigingslink lid geworden` : `heeft ${email} toegevoegd als ${role === 'member' ? 'een' : 'een'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `heeft de rol van ${email} bijgewerkt naar ${newRole} (voorheen ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index f599403fbbfd4..90cf37e239bf0 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -7475,7 +7475,8 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
`Połączenie ${feedName} jest przerwane. Aby przywrócić importy kart, zaloguj się do swojego banku.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`połączenie Plaid z twoim firmowym kontem bankowym jest przerwane. Proszę, połącz ponownie swoje konto bankowe ${maskedAccountNumber}, aby móc dalej używać Kart Expensify.`,
- addEmployee: (email: string, role: string) => `dodano ${email} jako ${role === 'member' ? 'a' : 'włączony'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} dołączył(a) przez link z zaproszeniem do przestrzeni roboczej` : `dodano ${email} jako ${role === 'member' ? 'a' : 'jeden'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `zaktualizowano rolę użytkownika ${email} na ${newRole} (wcześniej ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 37a71eca1c382..2a1e119a129ac 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -7479,7 +7479,8 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e
`A conexão de ${feedName} está interrompida. Para restaurar as importações do cartão, faça login no seu banco.`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`a conexão Plaid com a sua conta bancária empresarial foi interrompida. Por favor, reconecte sua conta bancária ${maskedAccountNumber} para continuar usando seus Cartões Expensify.`,
- addEmployee: (email: string, role: string) => `adicionou ${email} como ${role === 'member' ? 'a' : 'um'} ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} entrou pelo link de convite do workspace` : `adicionou ${email} como ${role === 'member' ? 'a' : 'um'} ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `atualizou a função de ${email} para ${newRole} (anteriormente ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 8f83764a425e4..3aa97e54a9f5b 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -7302,7 +7302,8 @@ ${reportName}
`${feedName} 连接已中断。要恢复银行卡导入,请登录您的银行账户。`,
plaidBalanceFailure: ({maskedAccountNumber, walletRoute}: {maskedAccountNumber: string; walletRoute: string}) =>
`您与企业银行账户的 Plaid 连接已中断。请重新连接您的银行账户 ${maskedAccountNumber},以便继续使用 Expensify 卡。`,
- addEmployee: (email: string, role: string) => `已将 ${email} 添加为 ${role === 'member' ? 'a' : '一个'} 的 ${role}`,
+ addEmployee: (email: string, role: string, didJoinPolicy?: boolean) =>
+ didJoinPolicy ? `${email} 通过工作区邀请链接加入` : `已将 ${email} 添加为 ${role === 'member' ? '一个' : '一个'} 的 ${role}`,
updateRole: ({email, currentRole, newRole}: UpdateRoleParams) => `已将 ${email} 的角色更新为 ${newRole}(先前为 ${currentRole})`,
updatedCustomField1: (email: string, newValue: string, previousValue: string) => {
if (!newValue) {
diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts
index 5877aab88dcc7..f2bdf92666143 100644
--- a/src/libs/ReportActionsUtils.ts
+++ b/src/libs/ReportActionsUtils.ts
@@ -2705,7 +2705,7 @@ function getPolicyChangeLogAddEmployeeMessage(translate: LocalizedTranslate, rep
const email = originalMessage?.email ?? '';
const role = translate('workspace.common.roleName', originalMessage?.role ?? '').toLowerCase();
const formattedEmail = formatPhoneNumber(email);
- return translate('report.actions.type.addEmployee', formattedEmail, role);
+ return translate('report.actions.type.addEmployee', formattedEmail, role, originalMessage?.didJoinPolicy);
}
function isPolicyChangeLogChangeRoleMessage(reportAction: OnyxInputOrEntry): reportAction is ReportAction {
diff --git a/src/types/onyx/OriginalMessage.ts b/src/types/onyx/OriginalMessage.ts
index a6ce26cad14ef..f1e40a73904cf 100644
--- a/src/types/onyx/OriginalMessage.ts
+++ b/src/types/onyx/OriginalMessage.ts
@@ -719,6 +719,9 @@ type OriginalMessagePolicyChangeLog = {
/** The accountID of the previous reimburser */
accountID: number;
};
+
+ /** Whether the user joined the workspace via joining link */
+ didJoinPolicy?: boolean;
};
/** Model of `join policy` report action */