Draft
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Contributor
🦜 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 bdb59e44..7445b278 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -5361,11 +5361,7 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU
title: 'Regeln',
subtitle: 'Belege anfordern, hohe Ausgaben markieren und mehr.',
},
- timeTracking: {
- title: 'Zeit',
- subtitle: 'Legen Sie einen abrechnungsfähigen Stundensatz für die Zeiterfassung fest.',
- defaultHourlyRate: 'Standardstundensatz',
- },
+ timeTracking: {title: 'Zeit', subtitle: 'Legen Sie einen abrechnungsfähigen Stundensatz für die Zeiterfassung fest.', defaultHourlyRate: 'Standardstundensatz'},
},
reports: {
reportsCustomTitleExamples: 'Beispiele:',
@@ -6518,6 +6514,68 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und
}),
subscriptions: 'Abonnements',
},
+ virtualEmployees: {
+ title: 'Virtuelle Mitarbeitende',
+ addNew: 'Virtuelle:n Mitarbeiter:in hinzufügen',
+ createTitle: 'Virtuelle:n Mitarbeiter:in erstellen',
+ editTitle: 'Virtuelle*n Mitarbeiter*in bearbeiten',
+ emptyStateTitle: 'Noch keine virtuellen Mitarbeitenden',
+ emptyStateDescription: 'Erstellen Sie KI-gestützte virtuelle Mitarbeitende, um Aufgaben im Ausgabenmanagement in Ihrem Workspace zu automatisieren.',
+ displayNameLabel: 'Name',
+ displayNamePlaceholder: 'z. B. AP-Spezialist, Spend-Analyst …',
+ systemPromptLabel: 'Anleitungen',
+ systemPromptPlaceholder:
+ 'Beispiel: Sie sind eine Kreditorenbuchhalterin bzw. ein Kreditorenbuchhalter bei Acme Corp. Wenn ein Bericht eingereicht wird, prüfen Sie, dass jede Amazon-Ausgabe im Kommentar einen geschäftlichen Zweck enthält. Ist dies nicht der Fall, senden Sie der einreichenden Person eine Nachricht und bitten Sie sie, einen hinzuzufügen.',
+ systemPromptHint: 'Seien Sie konkret, was geprüft werden soll und wann gehandelt werden muss. Je mehr Details, desto besser.',
+ unnamedEmployee: 'Unbenannte/-r Mitarbeitende/-r',
+ virtualEmployeeLabel: 'Virtuelle*r Mitarbeiter*in',
+ previewPlaceholder: 'Beginnen Sie, Anweisungen einzugeben, um eine Vorschau darauf zu sehen, wie sich Ihre virtuelle Assistenz verhalten wird …',
+ capabilitiesSection: 'Funktionen',
+ capabilitiesSectionHint: 'Wählen Sie aus, welche Aktionen diese virtuelle Mitarbeiterin bzw. dieser virtuelle Mitarbeiter ausführen darf.',
+ eventsSection: 'Auslöser',
+ eventsSectionHint: 'Wählen Sie aus, welche Workspace-Ereignisse diese virtuelle Mitarbeiterin/dieser virtuelle Mitarbeiter aktivieren.',
+ statusPaused: 'Angehalten',
+ noCapabilities: 'Keine Funktionen',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 Funktion' : `${count} Funktionen`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 Auslöser' : `${count} Auslöser`),
+ create: 'Erstellen',
+ capabilities: {
+ readTransactions: 'Transaktionen lesen',
+ readTransactionsDescription: 'Zeigen Sie Ausgabendetails, Beträge, Händler und Belege an.',
+ readReports: 'Berichte lesen',
+ readReportsDescription: 'Berichtszusammenfassungen und -status anzeigen.',
+ editTransactions: 'Transaktionen bearbeiten',
+ editTransactionsDescription: 'Kommentare, Kategorien und Tags bei Ausgaben aktualisieren.',
+ sendMessages: 'Nachrichten senden',
+ sendMessagesDescription: 'Posten Sie Kommentare in Bericht-Chats und öffnen Sie Direktnachrichten.',
+ approveReports: 'Berichte genehmigen',
+ approveReportsDescription: 'Genehmigen Sie Spesenabrechnungen, wenn Sie im Arbeitsbereichs-Workflow als Genehmigende*r konfiguriert sind.',
+ rejectReports: 'Berichte ablehnen oder zurückhalten',
+ rejectReportsDescription: 'Berichte an die einreichende Person zurücksenden oder mit Begründung zurückstellen.',
+ dismissViolations: 'Verstöße verwerfen',
+ dismissViolationsDescription: 'Richtlinienverstöße bei Ausgaben verwerfen.',
+ readPolicy: 'Richtlinienregeln lesen',
+ readPolicyDescription: 'Arbeitsbereichs-Ausgabelimits, Kategorien und Genehmigungseinstellungen anzeigen.',
+ },
+ events: {
+ transactionCreated: 'Neue Ausgabe erstellt',
+ transactionCreatedDescription: 'Wird ausgelöst, wenn eine Ausgabe zum Arbeitsbereich hinzugefügt wird.',
+ transactionModified: 'Ausgabe bearbeitet',
+ transactionModifiedDescription: 'Wird ausgelöst, wenn ein Ausgabenfeld (Betrag, Händler, Kategorie usw.) geändert wird.',
+ receiptScanned: 'Beleg erfasst',
+ receiptScannedDescription: 'Wird ausgelöst, wenn SmartScan das Auslesen eines Belegs abgeschlossen hat.',
+ reportSubmitted: 'Bericht eingereicht',
+ reportSubmittedDescription: 'Wird ausgelöst, wenn ein Mitglied einen Spesenbericht zur Genehmigung einreicht.',
+ reportApproved: 'Bericht genehmigt',
+ reportApprovedDescription: 'Wird ausgelöst, wenn ein Spesenbericht genehmigt wird.',
+ chatMention: 'Im Chat erwähnt',
+ chatMentionDescription: 'Wird ausgelöst, wenn diese virtuelle Mitarbeiter*in in einem beliebigen Workspace-Chat mit @ erwähnt wird.',
+ chatMessage: 'Beliebige Chatnachricht',
+ chatMessageDescription:
+ 'Wird bei jeder Nachricht in Chats ausgelöst, an denen diese virtuelle Mitarbeiterin/dieser virtuelle Mitarbeiter teilnimmt. Mit Vorsicht verwenden – hohes Volumen.',
+ },
+ errors: {displayNameRequired: 'Anzeigename ist erforderlich.'},
+ },
},
getAssistancePage: {
title: 'Hilfe erhalten',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index b031aa98..3e578d49 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -5381,11 +5381,7 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST.
title: 'Règles',
subtitle: 'Rendez les reçus obligatoires, signalez les dépenses élevées et plus encore.',
},
- timeTracking: {
- title: 'Heure',
- subtitle: 'Définissez un taux horaire facturable pour le suivi du temps.',
- defaultHourlyRate: 'Taux horaire par défaut',
- },
+ timeTracking: {title: 'Heure', subtitle: 'Définissez un taux horaire facturable pour le suivi du temps.', defaultHourlyRate: 'Taux horaire par défaut'},
},
reports: {
reportsCustomTitleExamples: 'Exemples :',
@@ -6540,6 +6536,67 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip
}),
subscriptions: 'Abonnements',
},
+ virtualEmployees: {
+ title: 'Employés virtuels',
+ addNew: 'Ajouter un employé virtuel',
+ createTitle: 'Créer un employé virtuel',
+ editTitle: 'Modifier l’employé virtuel',
+ emptyStateTitle: 'Pas encore d’employé virtuel',
+ emptyStateDescription: 'Créez des employés virtuels alimentés par l’IA pour automatiser les tâches de gestion des dépenses dans votre espace de travail.',
+ displayNameLabel: 'Nom',
+ displayNamePlaceholder: 'p. ex. spécialiste AP, analyste des dépenses...',
+ systemPromptLabel: 'Instructions',
+ systemPromptPlaceholder:
+ 'Exemple : vous êtes un spécialiste des comptes fournisseurs pour Acme Corp. Lorsqu’une note de frais est soumise, vérifiez que chaque dépense Amazon comporte un objectif professionnel dans le commentaire. Sinon, envoyez un message au déclarant et demandez-lui d’en ajouter un.',
+ systemPromptHint: 'Soyez précis sur ce qu’il faut vérifier et quand agir. Plus il y a de détails, mieux c’est.',
+ unnamedEmployee: 'Employé sans nom',
+ virtualEmployeeLabel: 'Employé virtuel',
+ previewPlaceholder: 'Commencez à saisir des instructions pour prévisualiser le comportement de votre employé virtuel…',
+ capabilitiesSection: 'Fonctionnalités',
+ capabilitiesSectionHint: 'Choisissez les actions que cet employé virtuel est autorisé à effectuer.',
+ eventsSection: 'Déclencheurs',
+ eventsSectionHint: 'Choisissez quels événements de l’espace de travail activeront cet employé virtuel.',
+ statusPaused: 'En pause',
+ noCapabilities: 'Aucune fonctionnalité',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 fonctionnalité' : `${count} fonctionnalités`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 déclencheur' : `${count} déclencheurs`),
+ create: 'Créer',
+ capabilities: {
+ readTransactions: 'Lire les transactions',
+ readTransactionsDescription: 'Afficher les détails des dépenses, les montants, les commerçants et les reçus.',
+ readReports: 'Lire les notes de frais',
+ readReportsDescription: 'Afficher les résumés et le statut des notes de frais.',
+ editTransactions: 'Modifier les transactions',
+ editTransactionsDescription: 'Mettre à jour les commentaires, catégories et tags des dépenses.',
+ sendMessages: 'Envoyer des messages',
+ sendMessagesDescription: 'Publiez des commentaires dans les discussions de notes de frais et ouvrez des messages directs.',
+ approveReports: 'Approuver les notes de frais',
+ approveReportsDescription: 'Approuver les notes de frais lorsque vous êtes configuré comme approbateur dans le workflow de l’espace de travail.',
+ rejectReports: 'Rejeter ou mettre les notes de frais en attente',
+ rejectReportsDescription: 'Renvoyez les notes de frais au déclarant ou mettez-les en attente en indiquant un motif.',
+ dismissViolations: 'Ignorer les infractions',
+ dismissViolationsDescription: 'Ignorer les violations de politique sur les dépenses.',
+ readPolicy: 'Lire les règles de la politique',
+ readPolicyDescription: 'Afficher les limites de dépenses, les catégories et les paramètres d’approbation de l’espace de travail.',
+ },
+ events: {
+ transactionCreated: 'Nouvelle dépense créée',
+ transactionCreatedDescription: 'Se déclenche lorsqu’une dépense est ajoutée à l’espace de travail.',
+ transactionModified: 'Dépense modifiée',
+ transactionModifiedDescription: 'Se déclenche lorsqu’un champ de dépense (montant, commerçant, catégorie, etc.) est modifié.',
+ receiptScanned: 'Reçu scanné',
+ receiptScannedDescription: 'Se déclenche lorsque SmartScan a fini de lire un reçu.',
+ reportSubmitted: 'Note de frais soumise',
+ reportSubmittedDescription: 'Se déclenche lorsqu’un membre soumet une note de frais pour approbation.',
+ reportApproved: 'Note de frais approuvée',
+ reportApprovedDescription: 'Se déclenche lorsqu’une note de frais est approuvée.',
+ chatMention: 'Mentionné dans le chat',
+ chatMentionDescription: 'Se déclenche lorsque cet employé virtuel est @mentionné dans n’importe quelle discussion d’espace de travail.',
+ chatMessage: 'N’importe quel message de chat',
+ chatMessageDescription: 'Se déclenche pour chaque message dans les discussions où cet employé virtuel participe. À utiliser avec précaution — volume élevé.',
+ },
+ errors: {displayNameRequired: 'Le nom d’affichage est obligatoire.'},
+ },
},
getAssistancePage: {
title: 'Obtenir de l’aide',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index d2eaee2b..9a492680 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -5351,11 +5351,7 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST.
title: 'Regole',
subtitle: 'Richiedi ricevute, segnala spese elevate e altro ancora.',
},
- timeTracking: {
- title: 'Ora',
- subtitle: 'Imposta una tariffa oraria fatturabile per il rilevamento del tempo.',
- defaultHourlyRate: 'Tariffa oraria predefinita',
- },
+ timeTracking: {title: 'Ora', subtitle: 'Imposta una tariffa oraria fatturabile per il rilevamento del tempo.', defaultHourlyRate: 'Tariffa oraria predefinita'},
},
reports: {
reportsCustomTitleExamples: 'Esempi:',
@@ -6504,6 +6500,67 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo
}),
subscriptions: 'Abbonamenti',
},
+ virtualEmployees: {
+ title: 'Dipendenti virtuali',
+ addNew: 'Aggiungi dipendente virtuale',
+ createTitle: 'Crea dipendente virtuale',
+ editTitle: 'Modifica dipendente virtuale',
+ emptyStateTitle: 'Ancun dipendente virtuale per ora',
+ emptyStateDescription: "Crea dipendenti virtuali basati sull'IA per automatizzare le attività di gestione delle spese nel tuo spazio di lavoro.",
+ displayNameLabel: 'Nome',
+ displayNamePlaceholder: 'ad es. Specialista AP, Analista della spesa...',
+ systemPromptLabel: 'Istruzioni',
+ systemPromptPlaceholder:
+ 'Esempio: sei uno/una specialista AP per Acme Corp. Quando viene inviato un report, controlla che ogni spesa Amazon abbia uno scopo aziendale nel commento. In caso contrario, scrivi al mittente e chiedigli di aggiungerne uno.',
+ systemPromptHint: 'Sii specifico su cosa controllare e quando intervenire. Più dettagli dai, meglio è.',
+ unnamedEmployee: 'Dipendente senza nome',
+ virtualEmployeeLabel: 'Dipendente virtuale',
+ previewPlaceholder: 'Inizia a scrivere le istruzioni per vedere in anteprima come si comporterà il tuo dipendente virtuale…',
+ capabilitiesSection: 'Funzionalità',
+ capabilitiesSectionHint: 'Scegli quali azioni questo dipendente virtuale può eseguire.',
+ eventsSection: 'Trigger',
+ eventsSectionHint: 'Scegli quali eventi dello spazio di lavoro attiveranno questo dipendente virtuale.',
+ statusPaused: 'In pausa',
+ noCapabilities: 'Nessuna funzionalità',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 funzionalità' : `${count} funzionalità`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 trigger' : `${count} trigger`),
+ create: 'Crea',
+ capabilities: {
+ readTransactions: 'Leggi transazioni',
+ readTransactionsDescription: 'Visualizza i dettagli delle spese, gli importi, gli esercenti e le ricevute.',
+ readReports: 'Leggi i report',
+ readReportsDescription: 'Visualizza i riepiloghi e lo stato dei report spese.',
+ editTransactions: 'Modifica transazioni',
+ editTransactionsDescription: 'Aggiorna commenti, categorie e tag sulle spese.',
+ sendMessages: 'Invia messaggi',
+ sendMessagesDescription: 'Pubblica commenti nelle chat dei report e apri i messaggi diretti.',
+ approveReports: 'Approva i report',
+ approveReportsDescription: 'Approva i report spese quando sei configurato come approvatore nel flusso di lavoro dello spazio di lavoro.',
+ rejectReports: 'Rifiuta o metti in sospeso i report',
+ rejectReportsDescription: 'Restituisci i report a chi li ha inviati oppure mettili in sospeso indicando un motivo.',
+ dismissViolations: 'Ignora violazioni',
+ dismissViolationsDescription: 'Ignora le violazioni di policy sulle spese.',
+ readPolicy: 'Leggi le regole della policy',
+ readPolicyDescription: 'Visualizza i limiti di spesa dello spazio di lavoro, le categorie e le impostazioni di approvazione.',
+ },
+ events: {
+ transactionCreated: 'Nuova spesa creata',
+ transactionCreatedDescription: 'Viene attivato quando qualsiasi spesa viene aggiunta allo spazio di lavoro.',
+ transactionModified: 'Spesa modificata',
+ transactionModifiedDescription: 'Viene attivato quando un campo della spesa (importo, esercente, categoria, ecc.) viene modificato.',
+ receiptScanned: 'Ricevuta acquisita',
+ receiptScannedDescription: 'Viene attivato quando SmartScan termina di leggere una ricevuta.',
+ reportSubmitted: 'Report inviato',
+ reportSubmittedDescription: 'Viene attivato quando un membro invia un rapporto spese per l’approvazione.',
+ reportApproved: 'Report approvato',
+ reportApprovedDescription: 'Viene attivato quando un report di spesa viene approvato.',
+ chatMention: 'Menzionato in chat',
+ chatMentionDescription: 'Viene attivato quando questo dipendente virtuale viene menzionato con @ in qualsiasi chat dello spazio di lavoro.',
+ chatMessage: 'Qualsiasi messaggio in chat',
+ chatMessageDescription: 'Viene eseguito a ogni messaggio nelle chat in cui partecipa questo dipendente virtuale. Usalo con cautela: volume elevato.',
+ },
+ errors: {displayNameRequired: 'Il nome visualizzato è obbligatorio.'},
+ },
},
getAssistancePage: {
title: 'Ottieni assistenza',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 492e1d1a..83f561a0 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -5294,11 +5294,7 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO
title: 'ルール',
subtitle: '領収書の提出を必須にし、高額支出にフラグを付けるなど、さまざまな設定ができます。',
},
- timeTracking: {
- title: '時間',
- subtitle: '時間追跡用の請求可能な時間単価を設定します。',
- defaultHourlyRate: 'デフォルトの時給率',
- },
+ timeTracking: {title: '時間', subtitle: '時間追跡用の請求可能な時間単価を設定します。', defaultHourlyRate: '標準時給率'},
},
reports: {
reportsCustomTitleExamples: '例:',
@@ -6438,6 +6434,67 @@ ${reportName}
}),
subscriptions: 'サブスクリプション',
},
+ virtualEmployees: {
+ title: 'バーチャル従業員',
+ addNew: 'バーチャル従業員を追加',
+ createTitle: 'バーチャル従業員を作成',
+ editTitle: 'バーチャル従業員を編集',
+ emptyStateTitle: 'まだバーチャル従業員がいません',
+ emptyStateDescription: 'ワークスペース内の経費管理タスクを自動化する、AI 搭載のバーチャル従業員を作成します。',
+ displayNameLabel: '名前',
+ displayNamePlaceholder: '(例)AP スペシャリスト、支出アナリスト…',
+ systemPromptLabel: '手順',
+ systemPromptPlaceholder:
+ '例: あなたは Acme Corp. の買掛金担当者です。レポートが提出されたら、すべての Amazon 経費のコメントに業務上の目的が記載されているか確認してください。記載されていない場合は、提出者にメッセージを送り、目的を追記するよう依頼してください。',
+ systemPromptHint: '何をいつ確認し、いつ対応するのかを具体的に記載してください。詳細であればあるほど望ましいです。',
+ unnamedEmployee: '名前未設定の従業員',
+ virtualEmployeeLabel: 'バーチャル従業員',
+ previewPlaceholder: 'バーチャル従業員の動作を確認するには、指示を入力し始めてください…',
+ capabilitiesSection: '機能',
+ capabilitiesSectionHint: 'このバーチャル従業員に許可する操作を選択してください。',
+ eventsSection: 'トリガー',
+ eventsSectionHint: 'このバーチャル従業員を有効にするワークスペースイベントを選択してください。',
+ statusPaused: '一時停止中',
+ noCapabilities: '機能がありません',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 件の機能' : `${count} 個の機能`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 トリガー' : `${count} 個のトリガー`),
+ create: '作成',
+ capabilities: {
+ readTransactions: '取引を読む',
+ readTransactionsDescription: '経費の詳細、金額、加盟店、領収書を表示します。',
+ readReports: 'レポートを読む',
+ readReportsDescription: '経費精算レポートの概要とステータスを表示します。',
+ editTransactions: '取引を編集',
+ editTransactionsDescription: '経費のコメント、カテゴリー、タグを更新します。',
+ sendMessages: 'メッセージを送信',
+ sendMessagesDescription: 'レポートチャットやダイレクトメッセージでコメントを投稿します。',
+ approveReports: 'レポートを承認する',
+ approveReportsDescription: 'ワークスペースのワークフローで承認者として設定されている場合、経費レポートを承認します。',
+ rejectReports: 'レポートを却下または保留する',
+ rejectReportsDescription: 'レポートを申請者に差し戻すか、理由を添えて保留にします。',
+ dismissViolations: '違反を却下',
+ dismissViolationsDescription: '経費のポリシー違反を却下します。',
+ readPolicy: 'ポリシールールを読む',
+ readPolicyDescription: 'ワークスペースの支出上限、カテゴリ、承認設定を表示します。',
+ },
+ events: {
+ transactionCreated: '新しい経費が作成されました',
+ transactionCreatedDescription: 'ワークスペースに経費が追加されると作動します。',
+ transactionModified: '経費を変更しました',
+ transactionModifiedDescription: '経費フィールド(金額、店舗、カテゴリなど)が変更されたときに実行されます。',
+ receiptScanned: '領収書をスキャンしました',
+ receiptScannedDescription: 'SmartScan がレシートの読み取りを完了したときに発火します。',
+ reportSubmitted: 'レポートを送信しました',
+ reportSubmittedDescription: 'メンバーが経費精算書を承認申請として提出したときに発火します。',
+ reportApproved: 'レポートが承認されました',
+ reportApprovedDescription: '経費精算書が承認されたときに発火します。',
+ chatMention: 'チャットでメンションされました',
+ chatMentionDescription: 'このバーチャル従業員が任意のワークスペースチャットで @メンションされたときに発火します。',
+ chatMessage: '任意のチャットメッセージ',
+ chatMessageDescription: 'このバーチャル従業員が参加しているチャット内のすべてのメッセージで実行されます。大量の処理になる可能性があるため、ご注意ください。',
+ },
+ errors: {displayNameRequired: '表示名は必須です。'},
+ },
},
getAssistancePage: {
title: 'サポートを受ける',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 4ba410ef..deee2542 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -5332,11 +5332,7 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_
title: 'Regels',
subtitle: 'Bonnen verplicht stellen, hoge uitgaven markeren en meer.',
},
- timeTracking: {
- title: 'Tijd',
- subtitle: 'Stel een factureerbaar uurtarief in voor tijdregistratie.',
- defaultHourlyRate: 'Standaard uurtarief',
- },
+ timeTracking: {title: 'Tijd', subtitle: 'Stel een factureerbaar uurtarief in voor tijdregistratie.', defaultHourlyRate: 'Standaard uurtarief'},
},
reports: {
reportsCustomTitleExamples: 'Voorbeelden:',
@@ -6484,6 +6480,67 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
}),
subscriptions: 'Abonnementen',
},
+ virtualEmployees: {
+ title: 'Virtuele medewerkers',
+ addNew: 'Virtuele medewerker toevoegen',
+ createTitle: 'Virtuele medewerker maken',
+ editTitle: 'Virtuele medewerker bewerken',
+ emptyStateTitle: 'Nog geen virtuele medewerkers',
+ emptyStateDescription: 'Maak door AI aangestuurde virtuele medewerkers om onkostentaken in je werkruimte te automatiseren.',
+ displayNameLabel: 'Naam',
+ displayNamePlaceholder: 'bijv. AP-specialist, Spend-analist...',
+ systemPromptLabel: 'Instructies',
+ systemPromptPlaceholder:
+ 'Voorbeeld: Je bent een AP-specialist voor Acme Corp. Wanneer een rapport wordt ingediend, controleer je of elke Amazon-uitgave in de opmerking een zakelijk doel heeft. Zo niet, stuur dan een bericht naar de indiener en vraag om dit toe te voegen.',
+ systemPromptHint: 'Wees specifiek over wat je moet controleren en wanneer je moet handelen. Hoe meer details, hoe beter.',
+ unnamedEmployee: 'Naamloze medewerker',
+ virtualEmployeeLabel: 'Virtuele medewerker',
+ previewPlaceholder: 'Begin met het typen van instructies om te zien hoe je virtuele medewerker zich zal gedragen…',
+ capabilitiesSection: 'Mogelijkheden',
+ capabilitiesSectionHint: 'Kies welke acties deze virtuele medewerker mag uitvoeren.',
+ eventsSection: 'Triggers',
+ eventsSectionHint: 'Kies welke werkruimtegebeurtenissen deze virtuele medewerker activeren.',
+ statusPaused: 'Gepauzeerd',
+ noCapabilities: 'Geen mogelijkheden',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 mogelijkheid' : `${count} mogelijkheden`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 trigger' : `${count} triggers`),
+ create: 'Aanmaken',
+ capabilities: {
+ readTransactions: 'Transacties lezen',
+ readTransactionsDescription: 'Bekijk details van uitgaven, bedragen, handelaren en bonnetjes.',
+ readReports: 'Rapporten lezen',
+ readReportsDescription: 'Bekijk samenvattingen en status van onkostendeclaraties.',
+ editTransactions: 'Transacties bewerken',
+ editTransactionsDescription: 'Werk opmerkingen, categorieën en tags bij op uitgaven.',
+ sendMessages: 'Berichten versturen',
+ sendMessagesDescription: 'Plaats opmerkingen in rapportchats en open directe berichten.',
+ approveReports: 'Rapporten goedkeuren',
+ approveReportsDescription: 'Keur onkostendeclaraties goed wanneer je als goedkeurder bent ingesteld in de workflow van de workspace.',
+ rejectReports: 'Rapporten afwijzen of aanhouden',
+ rejectReportsDescription: 'Stuur rapporten terug naar de indiener of zet ze on hold met een reden.',
+ dismissViolations: 'Overtredingen negeren',
+ dismissViolationsDescription: 'Negeer beleidschendingen op declaraties.',
+ readPolicy: 'Beleidsregels lezen',
+ readPolicyDescription: 'Bekijk de uitgavelimieten, categorieën en goedkeuringsinstellingen van de workspace.',
+ },
+ events: {
+ transactionCreated: 'Nieuwe uitgave aangemaakt',
+ transactionCreatedDescription: 'Wordt geactiveerd wanneer een uitgave aan de workspace wordt toegevoegd.',
+ transactionModified: 'Uitgave aangepast',
+ transactionModifiedDescription: 'Wordt geactiveerd wanneer een onkostenvak (bedrag, leverancier, categorie, enz.) wordt gewijzigd.',
+ receiptScanned: 'Bon gescand',
+ receiptScannedDescription: 'Wordt geactiveerd wanneer SmartScan klaar is met het lezen van een bon.',
+ reportSubmitted: 'Rapport ingediend',
+ reportSubmittedDescription: 'Wordt geactiveerd wanneer een lid een onkostendeclaratie ter goedkeuring indient.',
+ reportApproved: 'Rapport goedgekeurd',
+ reportApprovedDescription: 'Wordt geactiveerd wanneer een onkostendeclaratie wordt goedgekeurd.',
+ chatMention: 'Vermeld in chat',
+ chatMentionDescription: 'Wordt geactiveerd wanneer deze virtuele medewerker ergens in een werkruimtechat met @ wordt genoemd.',
+ chatMessage: 'Een chatbericht',
+ chatMessageDescription: 'Wordt geactiveerd bij elk bericht in chats waar deze virtuele medewerker meedoet. Gebruik met zorg — hoog volume.',
+ },
+ errors: {displayNameRequired: 'Weergavenaam is verplicht.'},
+ },
},
getAssistancePage: {
title: 'Hulp krijgen',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 5d3866ab..0d653895 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -5327,11 +5327,7 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy
title: 'Zasady',
subtitle: 'Wymagaj paragonów, oznaczaj wysokie wydatki i więcej.',
},
- timeTracking: {
- title: 'Czas',
- subtitle: 'Ustaw godzinową stawkę rozliczeniową do śledzenia czasu.',
- defaultHourlyRate: 'Domyślna stawka godzinowa',
- },
+ timeTracking: {title: 'Czas', subtitle: 'Ustaw godzinową stawkę rozliczeniową do śledzenia czasu.', defaultHourlyRate: 'Domyślna stawka godzinowa'},
},
reports: {
reportsCustomTitleExamples: 'Przykłady:',
@@ -6478,6 +6474,67 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
}),
subscriptions: 'Subskrypcje',
},
+ virtualEmployees: {
+ title: 'Wirtualni pracownicy',
+ addNew: 'Dodaj wirtualnego pracownika',
+ createTitle: 'Utwórz wirtualnego pracownika',
+ editTitle: 'Edytuj wirtualnego pracownika',
+ emptyStateTitle: 'Nie ma jeszcze wirtualnych pracowników',
+ emptyStateDescription: 'Twórz wirtualnych pracowników zasilanych AI, aby automatyzować zadania związane z rozliczaniem wydatków w swoim workspace.',
+ displayNameLabel: 'Imię',
+ displayNamePlaceholder: 'np. specjalista ds. zobowiązań, analityk wydatków...',
+ systemPromptLabel: 'Instrukcje',
+ systemPromptPlaceholder:
+ 'Przykład: Jesteś specjalistą ds. zobowiązań (AP) w Acme Corp. Gdy raport zostanie przesłany, sprawdź, czy każdy wydatek z Amazon ma w komentarzu cel służbowy. Jeśli nie, napisz do osoby, która go przesłała, i poproś o jego dodanie.',
+ systemPromptHint: 'Bądź konkretny, co sprawdzać i kiedy działać. Im więcej szczegółów, tym lepiej.',
+ unnamedEmployee: 'Pracownik bez nazwy',
+ virtualEmployeeLabel: 'Wirtualny pracownik',
+ previewPlaceholder: 'Zacznij wpisywać instrukcje, aby podejrzeć, jak będzie zachowywać się twój wirtualny pracownik…',
+ capabilitiesSection: 'Możliwości',
+ capabilitiesSectionHint: 'Wybierz, jakie działania ten wirtualny pracownik może wykonywać.',
+ eventsSection: 'Wyzwalacze',
+ eventsSectionHint: 'Wybierz, które zdarzenia w przestrzeni roboczej będą aktywować tego wirtualnego pracownika.',
+ statusPaused: 'Wstrzymano',
+ noCapabilities: 'Brak funkcji',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 funkcja' : `${count} funkcje`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 wyzwalacz' : `${count} wyzwalacze`),
+ create: 'Utwórz',
+ capabilities: {
+ readTransactions: 'Odczytaj transakcje',
+ readTransactionsDescription: 'Zobacz szczegóły wydatków, kwoty, sprzedawców i paragony.',
+ readReports: 'Czytaj raporty',
+ readReportsDescription: 'Zobacz podsumowania raportów wydatków i ich status.',
+ editTransactions: 'Edytuj transakcje',
+ editTransactionsDescription: 'Aktualizuj komentarze, kategorie i tagi w wydatkach.',
+ sendMessages: 'Wysyłaj wiadomości',
+ sendMessagesDescription: 'Dodawaj komentarze w czatach raportów i otwieraj wiadomości bezpośrednie.',
+ approveReports: 'Zatwierdzaj raporty',
+ approveReportsDescription: 'Zatwierdzaj raporty wydatków, gdy jesteś skonfigurowany jako akceptujący w przepływie pracy przestrzeni roboczej.',
+ rejectReports: 'Odrzucaj lub wstrzymuj raporty',
+ rejectReportsDescription: 'Zwracaj raporty osobie wysyłającej lub wstrzymuj je, podając powód.',
+ dismissViolations: 'Odrzuć naruszenia',
+ dismissViolationsDescription: 'Odrzucaj naruszenia zasad w wydatkach.',
+ readPolicy: 'Przeczytaj zasady polityki',
+ readPolicyDescription: 'Zobacz limity wydatków, kategorie i ustawienia zatwierdzania w tym obszarze roboczym.',
+ },
+ events: {
+ transactionCreated: 'Utworzono nowy wydatek',
+ transactionCreatedDescription: 'Uruchamia się, gdy jakikolwiek wydatek zostanie dodany do przestrzeni roboczej.',
+ transactionModified: 'Wydatek został zmodyfikowany',
+ transactionModifiedDescription: 'Uruchamia się, gdy pole wydatku (kwota, sprzedawca, kategoria itp.) zostanie zmienione.',
+ receiptScanned: 'Paragon zeskanowany',
+ receiptScannedDescription: 'Uruchamia się, gdy SmartScan zakończy odczytywanie paragonu.',
+ reportSubmitted: 'Raport wysłany',
+ reportSubmittedDescription: 'Wyzwalane, gdy członek przesyła raport wydatków do zatwierdzenia.',
+ reportApproved: 'Raport zatwierdzony',
+ reportApprovedDescription: 'Wyzwalane, gdy raport wydatków zostanie zatwierdzony.',
+ chatMention: 'Wspomniano na czacie',
+ chatMentionDescription: 'Uruchamia się, gdy ten wirtualny pracownik zostanie wspomniany @wzmianką w jakimkolwiek czacie w przestrzeni roboczej.',
+ chatMessage: 'Dowolna wiadomość na czacie',
+ chatMessageDescription: 'Wywoływane przy każdej wiadomości na czatach, w których uczestniczy ten wirtualny pracownik. Używaj ostrożnie — duża liczba zdarzeń.',
+ },
+ errors: {displayNameRequired: 'Wymagana jest nazwa wyświetlana.'},
+ },
},
getAssistancePage: {
title: 'Uzyskaj pomoc',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 3b62c363..fd2bcc5e 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -5332,11 +5332,7 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS
title: 'Regras',
subtitle: 'Exija recibos, sinalize gastos altos e muito mais.',
},
- timeTracking: {
- title: 'Hora',
- subtitle: 'Defina uma taxa horária faturável para o controle de tempo.',
- defaultHourlyRate: 'Taxa horária padrão',
- },
+ timeTracking: {title: 'Hora', subtitle: 'Defina uma taxa horária faturável para o controle de tempo.', defaultHourlyRate: 'Taxa horária padrão'},
},
reports: {
reportsCustomTitleExamples: 'Exemplos:',
@@ -6483,6 +6479,67 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e
}),
subscriptions: 'Assinaturas',
},
+ virtualEmployees: {
+ title: 'Funcionários virtuais',
+ addNew: 'Adicionar funcionário virtual',
+ createTitle: 'Criar funcionário virtual',
+ editTitle: 'Editar funcionário virtual',
+ emptyStateTitle: 'Ainda não há funcionários virtuais',
+ emptyStateDescription: 'Crie funcionários virtuais com IA para automatizar tarefas de gerenciamento de despesas no seu espaço de trabalho.',
+ displayNameLabel: 'Nome',
+ displayNamePlaceholder: 'por exemplo, especialista em contas a pagar, analista de gastos...',
+ systemPromptLabel: 'Instruções',
+ systemPromptPlaceholder:
+ 'Exemplo: você é um especialista de contas a pagar da Acme Corp. Quando um relatório for enviado, verifique se toda despesa da Amazon tem um propósito comercial no comentário. Se não tiver, envie uma mensagem para quem enviou o relatório e peça para adicionar um.',
+ systemPromptHint: 'Seja específico sobre o que verificar e quando agir. Quanto mais detalhes, melhor.',
+ unnamedEmployee: 'Funcionário sem nome',
+ virtualEmployeeLabel: 'Funcionário virtual',
+ previewPlaceholder: 'Comece a digitar instruções para ver uma prévia de como seu funcionário virtual vai se comportar…',
+ capabilitiesSection: 'Recursos',
+ capabilitiesSectionHint: 'Escolha quais ações este funcionário virtual tem permissão para executar.',
+ eventsSection: 'Disparos',
+ eventsSectionHint: 'Escolha quais eventos do workspace vão ativar este funcionário virtual.',
+ statusPaused: 'Pausado',
+ noCapabilities: 'Sem recursos',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 recurso' : `${count} recursos`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 gatilho' : `${count} gatilhos`),
+ create: 'Criar',
+ capabilities: {
+ readTransactions: 'Ler transações',
+ readTransactionsDescription: 'Ver detalhes de despesas, valores, estabelecimentos e recibos.',
+ readReports: 'Ler relatórios',
+ readReportsDescription: 'Ver resumos e status de relatórios de despesa.',
+ editTransactions: 'Editar transações',
+ editTransactionsDescription: 'Atualize comentários, categorias e tags nas despesas.',
+ sendMessages: 'Enviar mensagens',
+ sendMessagesDescription: 'Publique comentários em chats de relatórios e mensagens diretas abertas.',
+ approveReports: 'Aprovar relatórios',
+ approveReportsDescription: 'Aprove despesas quando configurado como aprovador no fluxo de trabalho do workspace.',
+ rejectReports: 'Rejeitar ou reter relatórios',
+ rejectReportsDescription: 'Devolva relatórios ao responsável pelo envio ou coloque-os em espera informando um motivo.',
+ dismissViolations: 'Ignorar violações',
+ dismissViolationsDescription: 'Ignorar violações de política em despesas.',
+ readPolicy: 'Ler regras da política',
+ readPolicyDescription: 'Ver limites de gastos, categorias e configurações de aprovação do workspace.',
+ },
+ events: {
+ transactionCreated: 'Nova despesa criada',
+ transactionCreatedDescription: 'É acionado quando qualquer despesa é adicionada ao workspace.',
+ transactionModified: 'Despesa modificada',
+ transactionModifiedDescription: 'Aciona quando um campo da despesa (valor, comerciante, categoria, etc.) é alterado.',
+ receiptScanned: 'Recibo digitalizado',
+ receiptScannedDescription: 'É acionado quando o SmartScan termina de ler um recibo.',
+ reportSubmitted: 'Relatório enviado',
+ reportSubmittedDescription: 'Dispara quando um membro envia um relatório de despesas para aprovação.',
+ reportApproved: 'Relatório aprovado',
+ reportApprovedDescription: 'É acionado quando um relatório de despesas é aprovado.',
+ chatMention: 'Mencionado no chat',
+ chatMentionDescription: 'É acionado quando este funcionário virtual é @mencionado em qualquer chat do workspace.',
+ chatMessage: 'Qualquer mensagem de chat',
+ chatMessageDescription: 'Dispara em todas as mensagens nos chats em que este funcionário virtual participa. Use com cuidado — alto volume.',
+ },
+ errors: {displayNameRequired: 'Nome de exibição é obrigatório.'},
+ },
},
getAssistancePage: {
title: 'Obter ajuda',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 7c303102..17d876d3 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -5216,11 +5216,7 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM
title: '规则',
subtitle: '要求收据、标记高额消费等。',
},
- timeTracking: {
- title: '时间',
- subtitle: '为时间跟踪设置可计费的小时费率。',
- defaultHourlyRate: '默认时薪',
- },
+ timeTracking: {title: '时间', subtitle: '为时间跟踪设置可计费的小时费率。', defaultHourlyRate: '默认时薪'},
},
reports: {
reportsCustomTitleExamples: '示例:',
@@ -6341,6 +6337,67 @@ ${reportName}
}),
subscriptions: '订阅',
},
+ virtualEmployees: {
+ title: '虚拟员工',
+ addNew: '添加虚拟员工',
+ createTitle: '创建虚拟员工',
+ editTitle: '编辑虚拟员工',
+ emptyStateTitle: '尚无虚拟员工',
+ emptyStateDescription: '创建由 AI 驱动的虚拟员工,在你的工作区中自动处理报销管理任务。',
+ displayNameLabel: '名称',
+ displayNamePlaceholder: '例如:应付账款专员、支出分析师……',
+ systemPromptLabel: '说明',
+ systemPromptPlaceholder:
+ '示例:你是 Acme Corp 的应付账款专员。当有报销报告提交时,核对每一笔 Amazon 费用在备注中是否写明业务用途。如果没有,则给提交人发消息,要求他们补充说明。',
+ systemPromptHint: '请具体说明需要检查的内容以及何时采取行动。细节越多越好。',
+ unnamedEmployee: '未命名员工',
+ virtualEmployeeLabel: '虚拟员工',
+ previewPlaceholder: '开始输入指令,以预览您的虚拟员工将如何表现…',
+ capabilitiesSection: '功能',
+ capabilitiesSectionHint: '请选择此虚拟员工被允许执行的操作。',
+ eventsSection: '触发器',
+ eventsSectionHint: '选择哪些工作区事件将激活此虚拟员工。',
+ statusPaused: '已暂停',
+ noCapabilities: '无可用功能',
+ capabilityCount: ({count}: {count: number}) => (count === 1 ? '1 项功能' : `${count} 项功能`),
+ triggerCount: ({count}: {count: number}) => (count === 1 ? '1 个触发器' : `${count} 个触发器`),
+ create: '创建',
+ capabilities: {
+ readTransactions: '读取交易记录',
+ readTransactionsDescription: '查看报销明细、金额、商户和收据。',
+ readReports: '读取报表',
+ readReportsDescription: '查看报销报告摘要和状态。',
+ editTransactions: '编辑交易',
+ editTransactionsDescription: '更新报销的评论、类别和标签。',
+ sendMessages: '发送消息',
+ sendMessagesDescription: '在报表聊天中发布评论,并开启直接消息。',
+ approveReports: '审批报销报告',
+ approveReportsDescription: '在工作区流程中被配置为审批人时审批报销报告。',
+ rejectReports: '拒绝或暂挂报销报告',
+ rejectReportsDescription: '将报表退回给提交人,或附上原因暂挂处理。',
+ dismissViolations: '忽略违规',
+ dismissViolationsDescription: '忽略报销的策略违规。',
+ readPolicy: '阅读报销规则',
+ readPolicyDescription: '查看工作区消费限额、类别和审批设置。',
+ },
+ events: {
+ transactionCreated: '已创建新报销费用',
+ transactionCreatedDescription: '在有报销被添加到工作区时触发。',
+ transactionModified: '报销已修改',
+ transactionModifiedDescription: '当报销字段(金额、商户、类别等)被更改时触发。',
+ receiptScanned: '收据已扫描',
+ receiptScannedDescription: '当 SmartScan 完成读取收据时触发。',
+ reportSubmitted: '报表已提交',
+ reportSubmittedDescription: '当成员提交报销报告以供审批时触发。',
+ reportApproved: '报销单已批准',
+ reportApprovedDescription: '在报销单获批时触发。',
+ chatMention: '在聊天中被提及',
+ chatMentionDescription: '当此虚拟员工在任何工作区聊天中被 @ 提及时触发。',
+ chatMessage: '任何聊天消息',
+ chatMessageDescription: '在此虚拟员工参与的聊天中,每条消息都会触发。请谨慎使用——消息量很大。',
+ },
+ errors: {displayNameRequired: '显示名称为必填项。'},
+ },
},
getAssistancePage: {
title: '获取帮助',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation of Change
Fixed Issues
$
PROPOSAL:
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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./** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari