feat(brand): rename user-facing "EspoCRM" → "Klear"

User-facing surface only — display labels, button content, dialog
titles, screentips/supertips, resource strings (he + en), and the one
MessageBox referencing the brand. Internal class names (EspoCrmClient,
EspoEntityRef, EspoCrmAuthorizationException, EspoCrmHttpException,
EspoCRM-marked log messages and code comments) stay untouched — they
describe the upstream HTTP API, not the product the lawyers see.

Files updated:
- src/OutlookAddin/Ribbon/ExplorerRibbon.xml  (button label + tooltips)
- src/OutlookAddin/Ribbon/InspectorRibbon.xml (compose tooltips)
- src/OutlookAddin.UI/Dialogs/FileToCaseDialog.xaml (window title)
- src/OutlookAddin.UI/Dialogs/SettingsDialog.xaml (titles, field labels,
  About text)
- src/OutlookAddin.UI/Views/ReadingPaneView.xaml (button labels)
- src/OutlookAddin.UI/Resources/Strings.resx       (he)
- src/OutlookAddin.UI/Resources/Strings.en-US.resx (en)
- src/OutlookAddin/Services/AddInHost.cs (entity-type error MessageBox)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PointStar
2026-05-11 16:52:09 +03:00
parent 633449548a
commit eb081942e5
8 changed files with 27 additions and 27 deletions
@@ -1,7 +1,7 @@
<Window x:Class="MarcusLaw.OutlookAddin.UI.Dialogs.FileToCaseDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="תיוק מייל ל-EspoCRM"
Title="תיוק מייל ל-Klear"
Height="500" Width="600"
MinHeight="400" MinWidth="500"
FlowDirection="RightToLeft"
@@ -1,7 +1,7 @@
<Window x:Class="MarcusLaw.OutlookAddin.UI.Dialogs.SettingsDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="הגדרות תוסף EspoCRM"
Title="הגדרות תוסף Klear"
Height="520" Width="560"
MinHeight="400" MinWidth="500"
FlowDirection="RightToLeft"
@@ -30,7 +30,7 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="כתובת שרת EspoCRM" Margin="0,0,0,2" />
<TextBlock Grid.Row="0" Text="כתובת שרת Klear" Margin="0,0,0,2" />
<TextBox Grid.Row="1" Text="{Binding EspoCrmUrl, UpdateSourceTrigger=PropertyChanged}"
Padding="6,4" Margin="0,0,0,10" />
@@ -99,7 +99,7 @@
<TabItem Header="אודות">
<StackPanel Margin="16">
<TextBlock Text="Marcus-Law OutlookAddin" FontWeight="Bold" FontSize="16" />
<TextBlock Text="תוסף EspoCRM ל-Microsoft Outlook" Margin="0,4,0,12" />
<TextBlock Text="תוסף Klear ל-Microsoft Outlook" Margin="0,4,0,12" />
<TextBlock Text="{Binding VersionLine}" Foreground="Gray" />
<TextBlock Margin="0,16,0,0" TextWrapping="Wrap"
Text="לוגים: %LOCALAPPDATA%\MarcusLaw\OutlookAddin\logs" />
@@ -11,7 +11,7 @@
<data name="Btn_Continue" xml:space="preserve"><value>Continue</value></data>
<data name="Btn_TestConnection" xml:space="preserve"><value>Test connection</value></data>
<data name="FileToCase_Title" xml:space="preserve"><value>File mail to EspoCRM</value></data>
<data name="FileToCase_Title" xml:space="preserve"><value>File mail to Klear</value></data>
<data name="FileToCase_SearchPlaceholder" xml:space="preserve"><value>Search case, account, contact…</value></data>
<data name="FileToCase_RecentLabel" xml:space="preserve"><value>Recent</value></data>
<data name="FileToCase_CreateContact" xml:space="preserve"><value>Create new contact from sender</value></data>
@@ -19,11 +19,11 @@
<data name="ComposeFromCase_Title" xml:space="preserve"><value>Compose mail from case</value></data>
<data name="ComposeFromCase_SearchLabel" xml:space="preserve"><value>Search case:</value></data>
<data name="Settings_Title" xml:space="preserve"><value>EspoCRM Add-in settings</value></data>
<data name="Settings_Title" xml:space="preserve"><value>Klear Add-in settings</value></data>
<data name="Settings_TabGeneral" xml:space="preserve"><value>General</value></data>
<data name="Settings_TabFolders" xml:space="preserve"><value>Folders</value></data>
<data name="Settings_TabAbout" xml:space="preserve"><value>About</value></data>
<data name="Settings_ServerUrl" xml:space="preserve"><value>EspoCRM server URL</value></data>
<data name="Settings_ServerUrl" xml:space="preserve"><value>Klear server URL</value></data>
<data name="Settings_Username" xml:space="preserve"><value>Username</value></data>
<data name="Settings_ApiKey" xml:space="preserve"><value>API key</value></data>
<data name="Settings_Language" xml:space="preserve"><value>Interface language</value></data>
@@ -38,7 +38,7 @@
<data name="Sidebar_Title" xml:space="preserve"><value>Case info</value></data>
<data name="Sidebar_EmptyHint" xml:space="preserve"><value>Select a mail to see case details</value></data>
<data name="Sidebar_NoMatch" xml:space="preserve"><value>No contact match for</value></data>
<data name="Sidebar_OpenManualSearch" xml:space="preserve"><value>Search manually in EspoCRM</value></data>
<data name="Sidebar_OpenManualSearch" xml:space="preserve"><value>Search manually in Klear</value></data>
<data name="Sidebar_Loading" xml:space="preserve"><value>Loading…</value></data>
<data name="Sidebar_ContactLabel" xml:space="preserve"><value>Contact</value></data>
<data name="Sidebar_AccountLabel" xml:space="preserve"><value>Account</value></data>
@@ -46,10 +46,10 @@
<data name="Sidebar_NoCases" xml:space="preserve"><value>(no open cases)</value></data>
<data name="Sidebar_FileToThis" xml:space="preserve"><value>File to this case</value></data>
<data name="Sidebar_FileElsewhere" xml:space="preserve"><value>File elsewhere…</value></data>
<data name="Sidebar_OpenInCrm" xml:space="preserve"><value>Open in EspoCRM</value></data>
<data name="Sidebar_OpenInCrm" xml:space="preserve"><value>Open in Klear</value></data>
<data name="Ribbon_FileToEspoCrm" xml:space="preserve"><value>File to EspoCRM</value></data>
<data name="Ribbon_FileToEspoCrm_Screentip" xml:space="preserve"><value>File the selected mail to EspoCRM</value></data>
<data name="Ribbon_FileToEspoCrm" xml:space="preserve"><value>File to Klear</value></data>
<data name="Ribbon_FileToEspoCrm_Screentip" xml:space="preserve"><value>File the selected mail to Klear</value></data>
<data name="Ribbon_ComposeFromCase" xml:space="preserve"><value>Compose from case</value></data>
<data name="Ribbon_Settings" xml:space="preserve"><value>Settings</value></data>
+7 -7
View File
@@ -13,7 +13,7 @@
<data name="Btn_TestConnection" xml:space="preserve"><value>בדוק חיבור</value></data>
<!-- File-to-Case dialog -->
<data name="FileToCase_Title" xml:space="preserve"><value>תיוק מייל ל-EspoCRM</value></data>
<data name="FileToCase_Title" xml:space="preserve"><value>תיוק מייל ל-Klear</value></data>
<data name="FileToCase_SearchPlaceholder" xml:space="preserve"><value>חפש תיק, לקוח, איש קשר…</value></data>
<data name="FileToCase_RecentLabel" xml:space="preserve"><value>אחרונים</value></data>
<data name="FileToCase_CreateContact" xml:space="preserve"><value>צור איש קשר חדש מהשולח</value></data>
@@ -23,11 +23,11 @@
<data name="ComposeFromCase_SearchLabel" xml:space="preserve"><value>חפש תיק:</value></data>
<!-- Settings dialog -->
<data name="Settings_Title" xml:space="preserve"><value>הגדרות תוסף EspoCRM</value></data>
<data name="Settings_Title" xml:space="preserve"><value>הגדרות תוסף Klear</value></data>
<data name="Settings_TabGeneral" xml:space="preserve"><value>כללי</value></data>
<data name="Settings_TabFolders" xml:space="preserve"><value>תיקיות</value></data>
<data name="Settings_TabAbout" xml:space="preserve"><value>אודות</value></data>
<data name="Settings_ServerUrl" xml:space="preserve"><value>כתובת שרת EspoCRM</value></data>
<data name="Settings_ServerUrl" xml:space="preserve"><value>כתובת שרת Klear</value></data>
<data name="Settings_Username" xml:space="preserve"><value>שם משתמש</value></data>
<data name="Settings_ApiKey" xml:space="preserve"><value>מפתח API</value></data>
<data name="Settings_Language" xml:space="preserve"><value>שפת ממשק</value></data>
@@ -43,7 +43,7 @@
<data name="Sidebar_Title" xml:space="preserve"><value>פרטי תיק</value></data>
<data name="Sidebar_EmptyHint" xml:space="preserve"><value>סמן מייל כדי לראות את פרטי התיק</value></data>
<data name="Sidebar_NoMatch" xml:space="preserve"><value>לא נמצא איש קשר ל-</value></data>
<data name="Sidebar_OpenManualSearch" xml:space="preserve"><value>חפש ידנית ב-EspoCRM</value></data>
<data name="Sidebar_OpenManualSearch" xml:space="preserve"><value>חפש ידנית ב-Klear</value></data>
<data name="Sidebar_Loading" xml:space="preserve"><value>טוען…</value></data>
<data name="Sidebar_ContactLabel" xml:space="preserve"><value>איש קשר</value></data>
<data name="Sidebar_AccountLabel" xml:space="preserve"><value>לקוח/חברה</value></data>
@@ -51,11 +51,11 @@
<data name="Sidebar_NoCases" xml:space="preserve"><value>(אין תיקים פתוחים)</value></data>
<data name="Sidebar_FileToThis" xml:space="preserve"><value>תייק לתיק הזה</value></data>
<data name="Sidebar_FileElsewhere" xml:space="preserve"><value>תייק למקום אחר…</value></data>
<data name="Sidebar_OpenInCrm" xml:space="preserve"><value>פתח ב-EspoCRM</value></data>
<data name="Sidebar_OpenInCrm" xml:space="preserve"><value>פתח ב-Klear</value></data>
<!-- Ribbon labels -->
<data name="Ribbon_FileToEspoCrm" xml:space="preserve"><value>תייק ל-EspoCRM</value></data>
<data name="Ribbon_FileToEspoCrm_Screentip" xml:space="preserve"><value>תייק את המייל הנבחר ל-EspoCRM</value></data>
<data name="Ribbon_FileToEspoCrm" xml:space="preserve"><value>תייק ל-Klear</value></data>
<data name="Ribbon_FileToEspoCrm_Screentip" xml:space="preserve"><value>תייק את המייל הנבחר ל-Klear</value></data>
<data name="Ribbon_ComposeFromCase" xml:space="preserve"><value>כתוב מתיק</value></data>
<data name="Ribbon_Settings" xml:space="preserve"><value>הגדרות</value></data>
@@ -51,7 +51,7 @@
<StackPanel Visibility="{Binding NoMatchVisibility}">
<TextBlock Text="לא נמצא איש קשר ל-" Foreground="Gray" />
<TextBlock Text="{Binding SenderEmail}" FontWeight="Bold" />
<Button Content="חפש ידנית ב-EspoCRM"
<Button Content="חפש ידנית ב-Klear"
Command="{Binding OpenManualSearchCommand}"
Style="{StaticResource LinkButtonStyle}"
Margin="0,12,0,0" />
@@ -112,7 +112,7 @@
Command="{Binding FileElsewhereCommand}"
Padding="8,4" Margin="0,0,0,4"
HorizontalAlignment="Stretch" />
<Button Content="פתח ב-EspoCRM"
<Button Content="פתח ב-Klear"
Command="{Binding OpenInEspoCrmCommand}"
Padding="8,4"
HorizontalAlignment="Stretch" />
+4 -4
View File
@@ -5,16 +5,16 @@
<tab idMso="TabMail">
<group id="MarcusLawGroup" label="Marcus-Law" insertBeforeMso="GroupMailMove">
<button id="FileToEspoCrm"
label="תייק ל-EspoCRM"
screentip="תייק את המייל הנבחר ל-EspoCRM"
supertip="פותח חלון חיפוש לבחירת תיק, לקוח או איש קשר ב-EspoCRM, ומתייק את המייל הנבחר אליו."
label="תייק ל-Klear"
screentip="תייק את המייל הנבחר ל-Klear"
supertip="פותח חלון חיפוש לבחירת תיק, לקוח או איש קשר ב-Klear, ומתייק את המייל הנבחר אליו."
size="large"
imageMso="MeetingForwardToManager"
onAction="OnFileToEspoCrm"
getEnabled="OnGetFileToEspoCrmEnabled" />
<button id="OpenEspoCrmSettings"
label="הגדרות"
screentip="הגדרות תוסף EspoCRM"
screentip="הגדרות תוסף Klear"
supertip="עריכת כתובת השרת, שם המשתמש, מפתח ה-API והעדפות נוספות."
size="large"
imageMso="ServerPropertiesDialog"
+2 -2
View File
@@ -6,8 +6,8 @@
<group id="MarcusLawComposeGroup" label="Marcus-Law" insertBeforeMso="GroupClipboard">
<button id="ComposeFromCase"
label="כתוב מתיק"
screentip="פתח את המייל מתיק EspoCRM"
supertip="בחר תיק EspoCRM כדי לאכלס את הנמענים ואת הכותרת של המייל הזה, וכדי שהמייל יתויק אוטומטית כששולחים אותו."
screentip="פתח את המייל מתיק Klear"
supertip="בחר תיק Klear כדי לאכלס את הנמענים ואת הכותרת של המייל הזה, וכדי שהמייל יתויק אוטומטית כששולחים אותו."
size="large"
imageMso="MailMergeStartLetters"
onAction="OnComposeFromCase"
+1 -1
View File
@@ -502,7 +502,7 @@ namespace OutlookAddin.Services
"Filing skipped — selected EspoEntityRef has no usable Id/EntityType (id={Id}, name={Name}, type={Type})",
vm.SelectedTarget?.Id, vm.SelectedTarget?.Name, vm.SelectedTarget?.EntityType);
MessageBox.Show(
"התיק שנבחר לא הוחזר עם סוג ישות (entityType) תקין. ייתכן ש-EspoCRM שלך מחזיר שדה אחר; הלוג מכיל את הפרטים. שלח לאדמין.",
"התיק שנבחר לא הוחזר עם סוג ישות (entityType) תקין. ייתכן ש-Klear שלך מחזיר שדה אחר; הלוג מכיל את הפרטים. שלח לאדמין.",
"Marcus-Law OutlookAddin",
MessageBoxButton.OK,
MessageBoxImage.Warning);