Localize Org Chart in SharePoint and Microsoft Teams

Note

For the versions earlier than 4.x.x (including on-premises ones), please follow this instruction.

Org Chart allows changing strings in the user interface since version 2.2.30. You can use this functionality to translate user interface to another language.

The picture below will help you to understand the structure of the localization strings:

Localization strings

You need to open the configuration wizard and navigate to the Custom JavaScript step. To define a new value for the interface string, start a row with localization.strings. Then, delimiting the properties from the localization object with periods, specify the route to the target string. Here is an example:

localization.strings.Common.SearchInputWatermark = "Suche";
localization.strings.WebPart.Settings.PrintOrgChart.Label = "Drucken";
localization.strings.WebPart.Settings.ManageVacancies.Label = "Stellenangebote";
localization.strings.WebPart.Settings.ClearCache.Label = "Cache leeren";
localization.strings.WebPart.Settings.Help.Label = "Über";
Change Localization Strings

Note

You may need to refresh the page to apply changes.

This is the structure of the localization object. It is also available for downloading.

{
      "Common": {
              "SearchInputWatermark": "Search",
              "PeoplePickerWatermark": "Start typing...",
              "SelectNullValueLabel": "None",
              "LoadingPanelText": "Loading...",

              "UserProfilePropertyNames": {
                      "UserProfile_GUID": "Id",
                      "SID": "SID",
                      "ADGuid": "Active Directory Id",
                      "AccountName": "Account name",
                      "FirstName": "First name",
                      "SPS-PhoneticFirstName": "Phonetic First Name",
                      "LastName": "Last name",
                      "SPS-PhoneticLastName": "Phonetic Last Name",
                      "PreferredName": "Name",
                      "SPS-PhoneticDisplayName": "Phonetic Display Name",
                      "WorkPhone": "Work phone",
                      "Department": "Department",
                      "Title": "Title",
                      "SPS-JobTitle": "Job Title",
                      "Manager": "Manager",
                      "AboutMe": "About me",
                      "PersonalSpace": "Personal site",
                      "PictureURL": "Picture",
                      "UserName": "User name",
                      "QuickLinks": "Quick links",
                      "WebSite": "Web site",
                      "PublicSiteRedirect": "Public site redirect",
                      "SPS-DataSource": "Data source",
                      "SPS-MemberOf": "MemberOf",
                      "SPS-Dotted-line": "Dotted-line Manager",
                      "SPS-Peers": "Peers",
                      "SPS-Responsibility": "Ask Me About",
                      "SPS-SipAddress": "SIP Address",
                      "SPS-MySiteUpgrade": "My Site Upgrade",
                      "SPS-DontSuggestList": "Don't Suggest List",
                      "SPS-ProxyAddresses": "Proxy addresses",
                      "SPS-HireDate": "Hire date",
                      "SPS-DisplayOrder": "Display Order",
                      "SPS-ClaimID": "Claim User Identifier",
                      "SPS-ClaimProviderID": "Claim Provider Identifier",
                      "SPS-ClaimProviderType": "Claim Provider Type",
                      "SPS-LastColleagueAdded": "Last Colleague Added",
                      "SPS-OWAUrl": "Outlook Web Access URL",
                      "SPS-SavedAccountName": "Saved Account Name",
                      "SPS-SavedSID": "Saved SID",
                      "SPS-ResourceSID": "Resource Forest SID",
                      "SPS-ResourceAccountName": "Resource Forest Account Name",
                      "SPS-ObjectExists": "Object Exists",
                      "SPS-MasterAccountName": "Master Account Name",
                      "SPS-DistinguishedName": "Distinguished Name",
                      "SPS-SourceObjectDN": "Source Object Distinguished Name",
                      "SPS-LastKeywordAdded": "Last Keyword Added",
                      "WorkEmail": "Work e-mail",
                      "CellPhone": "Mobile phone",
                      "Fax": "Fax",
                      "HomePhone": "Home phone",
                      "Office": "Office",
                      "SPS-Location": "Office Location",
                      "SPS-TimeZone": "Time Zone",
                      "Assistant": "Assistant",
                      "SPS-PastProjects": "Past projects",
                      "SPS-Skills": "Skills",
                      "SPS-School": "Schools",
                      "SPS-Birthday": "Birthday",
                      "SPS-StatusNotes": "Status Message",
                      "SPS-Interests": "Interests",
                      "SPS-EmailOptin": "Email Notifications"
              },

              "Exceptions": {
                      "InputRequiredException": "Field is required. Please specify a value.",
                      "NumberInputMinException": "The value of field can't be less than {minNumber}.",
                      "SaveInputRequireSaveException": "The value for this input must be saved."
              }
      },

      "WebPart": {
              "HelpButtonLabel": "Help",
              "ConfigWizardButtonLabel": "Configure",
              "AdditionalInformationMessage": "Find more information in {documentationLink}.",
              "DocumentationLinkLabel": "the documentation",
              "EditModeRequiredMessage": "Open the page for editing to configure Org Chart.",
              "LicenseNotExistMessage": "We were not able to verify your license. Please contact {supportLink}.",
              "LicenseExpiredMessage": "Plumsail Org Chart license has expired. Please visit {siteLink} to purchase the license.",
              "LicenseExpireDaysMessage": "Trial expires in {remainingDays} days ({storeLink})",
              "LicensePurchaseLable": "Buy",
              "RightControlZone": {
                      "OriginalZoom": "Original zoom 100%",
                      "FullScreenMode": "Full screen mode",
                      "Layouts": "Layouts",
                      "More": "More"
              },
              "LayoutsMenu": {
                      "TopToBottomCompact": "Compact",
                      "TopToBottomClassic": "Classic",
                      "TopToBottomWithGroupingLeafBoxes": "Group leaves",
                      "LeftToRight": "Left to right",
                      "BottomToTop": "Bottom to top",
                      "DefaultLayoutLabel": "default"
              },
              "MoreMenu": {
                      "PrintOrgChartLabel": "Print",
                      "GenerateReportLabel": "Generate report",
                      "ExportCsvLabel": "Export to CSV",
                      "ManageVacanciesLabel": "Manage vacancies",
                      "Refresh": {
                              "Label": "Refresh",
                              "RefreshConfirmMessage": "Are you sure you want to refresh Org Chart? Org Chart cache will be cleared."
                      }
              },
              "PrintOrgChart": {
                      "SettingsDialog": {
                              "Title": "Print",
                              "SubTitle": "Print currently visible employees.",
                              "ExportAsLabel": "Output format",
                              "PaperSizeLabel": "Paper size",
                              "LandscapeLabel": "Landscape",
                              "NoOptionsDescription": "Paper size and layout will be adjusted automatically.",
                              "ExportButton": "Print",
                              "CancelButton": "Cancel"
                      },
                      "ProcessingPdfPanel": {
                              "ProcessingMessage": "Generating PDF may take a few minutes.",
                              "ReadyMessage": "Your PDF is ready!",
                              "CancelConfirmMessage": "Are you sure you want to cancel the operation?",
                              "ErrorMessage": "Error occurred during PDF generation. Please contact {supportLink}.",
                              "DownloadButton": "Download",
                              "OkButton": "Ok",
                              "CancelButton": "Cancel"
                      },
                      "ProcessingPngPanel": {
                              "ProcessingMessage": "Generating PNG may take a few minutes.",
                              "ReadyMessage": "Your PNG is ready!",
                              "CancelConfirmMessage": "Are you sure you want to cancel the operation?",
                              "ErrorMessage": "Error occurred during PNG generation. Please contact {supportLink}.",
                              "DownloadButton": "Download",
                              "OkButton": "Ok",
                              "CancelButton": "Cancel"
                      }
              },
              "GenerateReport": {
                      "SettingsDialog": {
                              "Title": "Organization report",
                              "SubTitle": "Generate multi-page report of your organization.",
                              "StartPersonLabel": "Start report from this person",
                              "LevelsToCollectLabel": "Levels to collect",
                              "PaperSizeLabel": "Paper size",
                              "LandscapeLabel": "Landscape",
                              "StartPersonValidationMessage": "Specify starting person or keep it empty to start from the currently displayed employee.",
                              "ExportButton": "Generate",
                              "CancelButton": "Cancel"
                      },
                      "ProcessingPanel": {
                              "ProcessingMessage": "Generating report may take a few minutes.",
                              "ReadyMessage": "Your report is ready!",
                              "CancelConfirmMessage": "Are you sure you want to cancel the operation?",
                              "ErrorMessage": "Error occurred during report generation. Please contact {supportLink}.",
                              "DownloadButton": "Download",
                              "OkButton": "Ok",
                              "CancelButton": "Cancel"
                      }
              },
              "ExportCsv": {
                      "SettingsDialog": {
                              "Title": "Export to CSV",
                              "StartPersonLabel": "Start from this person",
                              "LevelsToCollectLabel": "Levels to collect",
                              "DelimiterLabel": "CSV delimiter",
                              "CommaDelimiterLabel": "Comma",
                              "SemicolonDelimiterLabel": "Semicolon",
                              "StartPersonValidationMessage": "Specify starting person or keep it empty to start from the currently displayed employee.",
                              "ExportButton": "Export",
                              "CancelButton": "Cancel"
                      },
                      "ProcessingPanel": {
                              "ProcessingMessage": "Generating CSV may take a few minutes.",
                              "ReadyMessage": "Your CSV is ready!",
                              "CancelConfirmMessage": "Are you sure you want to cancel the operation?",
                              "ErrorMessage": "Error occurred during CSV generation. Please contact {supportLink}.",
                              "DownloadButton": "Download",
                              "OkButton": "Ok",
                              "CancelButton": "Cancel"
                      }
              },
              "DottedLineManagerFeatureHint": "Show dotted-line manager",
              "DrillDownToolbar": {
                "GoToParent": "Go to parent",
                "GoToRoot": "Go to root",
                "DrillHere": "Drill here"
              },
              "BoxOrientationMenu": {
                      "StackedOrientation": "Stacked orientation",
                      "HorizontalOrientation": "Horizontal orientation",
                      "ChangeBoxOrientationConfirmMessage": "We are going to increase the maximum number of columns in your layout from {currentNumber} to {nextNumber}."
              },
              "Exceptions": {
                      "UnableToAutoFindRootMessage": "Unable to automatically find the root employee. Possibly you specified the filtration rule that excludes everyone who could be  automatically detected as a root employee. Please specify root employee manually in the configuration wizard (Filtration step).",
                      "CannotFindRootWithIdMessage": "Cannot find root employee with ID {'\"'}{id}{'\"'}. Please ensure that you specified correct configuration in the configuration   wizard."
              }
      },

    "ConfigWizard": {
              "NavigationPanel": {
                      "DataSourceLabel": "Data source",
                      "FiltrationLabel": "Filtration",
                      "LayoutSkinLabel": "Layout & Skin",
                      "TemplatesLabel": "Templates",
                      "CustomJsLabel": "Custom JavaScript",
                      "CustomCssLabel": "Custom CSS",
                      "GeneralLabel": "General",
                      "FinishLabel": "Finish"
              },
              "CodeEditorHelpPanel": {
                      "FieldNamesLabel": "Field names",
                      "SyntaxHelpLabel": "Syntax help",
                      "RestoreDefaultLabel": "Restore default",
                      "FieldNamesPanelCopiedTooltipText": "Copied!"
              },
              "Steps": {
                      "DataSource": {
                              "Title": "Data source",
                              "SourceChangingConfirmMessage": "Are you sure you want to change data source? Templates, filtration expressions and JavaScript customizations will be reset.",
                              "ListTabLabel": "SharePoint list",
                              "ProfilesTabLabel": "User profiles",
                              "ListPanel": {
                                      "SelectListSection": {
                                              "Title": "Select list",
                                              "Description": "SharePoint list will be used as a data source. You can create new list or choose existing.",
                                              "SiteUrlLabel": "Site URL",
                                              "ListLabel": "List",
                                              "ListNameLabel": "List name",
                                              "CreateNewListText": "Create new list",
                                              "FillDemoLabel": "Fill demo data",
                                              "ChangeSiteUrlConfirmMessage": "Are you sure you want to change site URL? Templates and filtration expressions will be reset."
                                      },
                                      "FieldMappingsSection": {
                                              "Title": "Field mappings",
                                              "Description": "Specify list columns corresponding to Org Chart fields. It will use them to build structure. Find more information in {documentationLink}.",
                                              "DocumentationLinkLabel": "the documentation",
                                              "EmployeeIdLabel": "Employee ID",
                                              "ManagerIdLabel": "Manager ID",
                                              "DisplayTextLabel": "Display text",
                                              "AssistantIdLabel": "Assistant ID",
                                              "DottedManagerIdLabel": "Dotted manager ID"
                                      }
                              },
                              "UserProfilesPanel": {
                                      "Description": "Org Chart loads hierarchy from SharePoint user profiles based on manager and account name properties. Change the mappings below if you use  custom profile properties for storing information about assistants and dotted line managers. Otherwise, leave them as is.",
                                      "AssistantIdLabel": "Assistant ID",
                                      "DottedManagerIdLabel": "Dotted manager ID"
                              },
                              "AdvancedSection": {
                                      "Label": "Advanced",
                                      "IndexSearchLabel": "Search only in indexed list columns",
                                      "IndexSearchHint": "If your source list has more than 5000 items, enable this option. Then go to list settings and add indexes for all columns that you want  to use for search.",
                                      "EnableVacanciesLabel": "Enable vacancies",
                                      "EnableVacanciesHint": "Specify vacancies list URL like /YourSiteURL/Lists/Vacancies. The new list will be created automatically.",
                                      "VacanciesListUrlLabel": "Vacancies list server relative URL"
                              }
                      },
                      "Filtration": {
                              "Title": "Specify root employee and filtration conditions",
                              "Description": "You can leave this step as is or configure Org Chart to start from a specific employee and display those who match conditions.",
                              "StartEmployeeLabel": "Start structure from employee",
                              "StartEmployeeHint": "If you leave starting employee empty, it will be detected based on current user hierarchy.",
                              "StartEmployeeValidationMessage": "Specify starting employee or keep it empty to start from the automatically detected employee based on current user hierarchy.  ",
                              "StartEmployeeRequiredMessage": "Field is required when you have added filtration conditions or using Advanced mode. Please specify a value.",
                              "ConditionEditor": {
                                      "Label": "Filtartion mode",
                                      "SimpleModeSection": {
                                              "Label": "Simple",
                                              "FiltrationConditionsLabel": "Filtration conditions",
                                              "FiltrationConditionsModeAnyLabel": "ANY",
                                              "FiltrationConditionsModeAllLabel": "ALL",
                                              "FiltrationConditionsDescription": "Employee must meet {conditionsMode} of the following conditions:",
                                              "AddConditionButtonLabel": "Add condition",
                                              "RemoveConditionConfirmMessage": "Are you sure you want to remove this condition?"
                                      },
                                      "AdvancedModeSection": {
                                              "Label": "Advanced"
                                      },
                                      "SwitchToSimpleModeConfirmMessage": "If you switch to Simple mode you will loose your Javascript code for the filtration rule. You will need to configure   filtration conditions from scratch. Are you sure you want to switch to Simple mode?",
                                      "SwitchToAdvancedModeConfirmMessage": "If you switch to Advanced mode and finish the wizard you will not be able to use Simple mode in future. To return to   Simple mode you will need to reset filtration rule and start it from scratch. Are you sure you want to switch to Advanced mode?"
                              }
                      },
                      "LayoutSkin": {
                              "Title": "Layout & Skin",
                              "SkinLabel": "Select skin",
                              "LayoutLabel": "Select layout",
                              "LevelsToExpandLabel": "Number of levels to expand",
                              "MaxColumnsLabel": "Max number of columns",
                              "AdvancedSection": {
                                      "Label": "Advanced",
                                      "SolidReportsNumberLabel": "Display number of solid reports in box",
                                      "LevelNumberLabel": "Display level number in box"
                              }
                      },
                      "Templates": {
                              "BoxTemplateSection": {
                                      "Label": "Box template",
                                      "Description": "Customize your employee boxes, select fields to display, or create a custom HTML template."
                              },
                              "TooltipTemplateSection": {
                                      "Label": "Tooltip template",
                                      "Description": "Customize your employee tooltip, select fields to display, or create a custom HTML template."
                              },
                              "SearchTemplateSection": {
                                      "Label": "Search template",
                                      "Description": "Customize search result boxes, select fields to display, or create a custom HTML template."
                              },
                              "TemplateEditor": {
                                      "Label": "Editor mode",
                                      "DesignModeSection": {
                                              "Label": "Design",
                                              "PhotoUrlLabel": "Select field with photo URL",
                                              "FieldsSection": {
                                                      "Label": "Add fields to display in boxes and order them",
                                                      "DisplayAsLabel": "Display as",
                                                      "AddFieldButtonLabel": "Add field",
                                                      "LinkFieldInfoSection": {
                                                              "UrlFieldLabel": "Please, choose field which will contain the URL:",
                                                              "MalualUrlLabel": "or specify the URL manually:"
                                                      },
                                                      "RemoveFieldMappingConfirmMessage": "Are you sure you want to remove this field mapping?"
                                              }
                                      },
                                      "HtmlModeSection": {
                                              "Label": "HTML",
                                              "RestoreDefaultTemplateConfirmMessage": "Template will be reset to default."
                                      },
                                      "SwitchToDesignModeConfirmMessage": "If you switch to Design mode you will loose your HTML template. You will need to configure field mappings from scratch.  Are you sure you want to switch to Design mode?",
                                      "SwitchToHtmlModeConfirmMessage": "If you switch to HTML mode and finish the wizard you will not be able to use Design mode in future. To return to design  mode you will need to reset template and start it from scratch. Are you sure you want to switch to HTML mode?"
                              }
                      },
                      "CustomJs": {
                              "Title": "Custom JavaScript",
                              "Description": "Specify custom JavaScript code to bring dynamics to Org Chart."
                      },
                      "CustomCss": {
                              "Title": "Custom CSS",
                              "Description": "Specify custom CSS styles. Use it to define custom styles for boxes or background."
                      },
                      "General": {
                              "Title": "General settings",
                              "Description": "You can leave general settings with default values and come back later.",
                              "WebPartHeightLabel": "Web part height (pixels)",
                              "EnableCachingLabel": "Enable caching",
                              "EnableZoomLabel": "Enable zoom",
                              "EnableCollapsingLabel": "Enable collapsing"
                      },
                      "Finish": {
                              "Title": "Congratulations!",
                              "Description": "Click “Finish” to save the configuration. If you have any questions about the product or license installation, review the {documentationLink}   or contact {supportLink}.",
                              "DocumentationLinkLabel": "the documentation",
                              "SupportLinkLabel": "support"
                      }
              },
        "Buttons": {
              "Reset": "Reset",
              "Cancel": "Cancel",
              "Previous": "Previous",
              "Next": "Next",
              "Finish": "Finish"
        },
              "ResetWizardConfirmMessage": "All settings will be erased.",
              "Exceptions": {
                      "CannotLoadListsException": "Cannot load lists for specified site URL."
              }
    }
}