Note
For the versions earlier than 4.x.x (including on-premises ones), please follow this instruction.
Depending on the SharePoint site regional settings, Org Chart automatically set the interface language to one of the following:
English (United States),
German (Germany),
Norwegian (Norway, Bokmål),
Swedish (Sweden).
Besides, Org Chart allows users to change interface strings. You can use this functionality to translate them to another language (or request the translation at support@plumsail.com).
The picture below will help you to understand the structure of the localization strings:
You need to open the configuration wizard and navigate to the Custom code 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";
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. For version earlier than 4.1.2, download this file.
{
"Common": {
"SearchInputWatermark": "Search",
"PeoplePickerWatermark": "Start typing...",
"SearchNoFoundResultsMessage": "No results found",
"SelectNullValueLabel": "None",
"LoadingPanelText": "Loading...",
"ConfirmDialog": {
"Title": "Confirmation",
"OkButton": "Ok",
"CancelButton": "Cancel"
},
"FormattingFieldsPanel": {
"ColorsSection": {
"Label": "Colors",
"TextLabel": "Text",
"LinkLabel": "Link",
"BackgroundLabel": "Background",
"BorderLabel": "Border"
},
"FontsSection": {
"HeadingFontStyleLabel": "Heading font style",
"ContentFontStyleLabel": "Content font style",
"FontLabel": "Font",
"SizeLabel": "Size",
"WeightLabel": "Weight"
},
"BordersSection": {
"Label": "Borders",
"ThicknessLabel": "Thickness",
"RadiusLabel": "Radius",
"ShadowLabel": "Shadow"
},
"BoxSizeSection": {
"Label": "Box size",
"WidthLabel": "Width",
"HeightLabel": "Height"
}
},
"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"
},
"EntraIDPropertyNames": {
"aboutMe": "About me",
"accountEnabled": "Account enabled",
"businessPhones": "Business phone",
"city": "City",
"companyName": "Company name",
"country": "Country or region",
"creationType": "Creation type",
"department": "Department",
"displayName": "Display name",
"employeeId": "Employee ID",
"employeeType": "Employee type",
"externalUserState": "External user state",
"faxNumber": "Fax number",
"givenName": "First name",
"id": "Object ID",
"imAddresses": "IM addresses",
"interests": "Interests",
"jobTitle": "Job title",
"mail": "Email",
"mailNickname": "Mail nickname",
"manager": "Manager",
"mobilePhone": "Mobile phone",
"mySite": "Personal site",
"officeLocation": "Office location",
"onPremisesDistinguishedName": "On-premises distinguished name",
"onPremisesDomainName": "On-premises domain name",
"onPremisesImmutableId": "On-premises immutable ID",
"onPremisesSamAccountName": "On-premises SAM account name",
"onPremisesSecurityIdentifier": "On-premises security identifier",
"onPremisesSyncEnabled": "On-premises sync enabled",
"onPremisesUserPrincipalName": "On-premises user principal name",
"otherMails": "Other emails",
"passwordPolicies": "Password policies",
"pastProjects": "Past projects",
"postalCode": "ZIP or postal code",
"preferredDataLocation": "Preferred data location",
"preferredLanguage": "Preferred language",
"preferredName": "Preferred name",
"proxyAddresses": "Proxy addresses",
"responsibilities": "Responsibilities",
"schools": "Schools",
"securityIdentifier": "Security identifier",
"skills": "Skills",
"state": "State or province",
"streetAddress": "Street address",
"surname": "Last name",
"usageLocation": "Usage location",
"userPrincipalName": "User principal name",
"userType": "User type",
"birthday": "Birthday",
"createdDateTime": "Created date time",
"deletedDateTime": "Deleted date time",
"employeeHireDate": "Employee hire date",
"employeeLeaveDateTime": "Employee leave date",
"externalUserStateChangeDateTime": "External user state change date time",
"lastPasswordChangeDateTime": "Last password change date time",
"onPremisesLastSyncDateTime": "On-premises last sync date time",
"refreshTokensValidFromDateTime": "Refresh tokens valid from date time",
"signInSessionsValidFromDateTime": "Sign in sessions valid from date time",
"ageGroup": "Age group",
"assignedLicenses": "Assigned licenses",
"assignedPlans": "Assigned plans",
"consentProvidedForMinor": "Consent provided for minor",
"customSecurityAttributes": "Custom security attributes",
"employeeOrgData": "Employee org data",
"identities": "Identities",
"legalAgeGroupClassification": "Legal age group classification",
"licenseAssignmentStates": "License assignment states",
"mailboxSettings": "Mailbox settings",
"onPremisesExtensionAttributes": "Extension attributes",
"onPremisesProvisioningErrors": "On-premises provisioning errors",
"passwordProfile": "Password profile",
"provisionedPlans": "Provisioned plans",
"signInActivity": "Sign in activity"
},
"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",
"AlphabetSortingLabel": "Sort pages alphabetically",
"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"
},
"BoxOptions": {
"Title": "Box options",
"Orientation": {
"Label": "Orientation",
"Stacked": "Stacked",
"Horizontal": "Horizontal",
"ChangeBoxOrientationConfirmMessage": "We are going to increase {documentationLink} in your layout from {currentNumber} to {nextNumber}.",
"ChangeBoxOrientationDocumentationLinkLabel": "the maximum number of columns"
},
"Style": "Style"
},
"BoxStylePanel": {
"ClearButtonTitle": "Clear",
"ApplyButton": "Apply",
"AdvancedApplyLabel": "Apply to Any:",
"SolidLineBoxLabel": "Solid line box",
"DottedLineBoxLabel": "Dotted line box",
"AssistantBoxLabel": "Assistant box",
"VacancyBoxLabel": "Vacancy box",
"CreateCustomRuleLabel": "Create custom rule",
"CancelButton": "Cancel",
"CreatingGlobalRuleConfirmDialog": {
"Message": "You are starting to create a global rule. Style with current box will be removed after saving a new global rule. Do you want to continue?",
"ContinueButton": "Continue"
},
"ClearConfirmMessage": "Are you sure you want to reset formatting and start it from scratch?"
},
"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",
"DesignLabel": "Design",
"TemplatesLabel": "Templates",
"CustomJsLabel": "Custom JavaScript",
"CustomCssLabel": "Custom CSS",
"GeneralLabel": "General",
"FinishLabel": "Finish"
},
"CodeEditorHelpPanel": {
"FieldNamesLabel": "Field names",
"SyntaxHelpLabel": "Syntax help",
"RestoreDefaultLabel": "Restore default",
"FieldNamesPanelCopiedTooltipText": "Copied!"
},
"FiltrationConstructor": {
"FiltrationConditionsDescription": "Employee must meet {conditionsMode} of the following conditions:",
"FiltrationConditionsModeAnyLabel": "ANY",
"FiltrationConditionsModeAllLabel": "ALL",
"AddConditionButtonLabel": "Add condition",
"RemoveConditionConfirmMessage": "Are you sure you want to remove this condition?"
},
"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",
"EntraIDTabLabel": "Entra ID",
"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"
},
"EntraIDPanel": {
"Description": "Org Chart loads hierarchy from Entra ID based on account name and manager.",
"NoAccessNotification": "Org Chart doesn't have access to Entra ID via Microsoft Graph API. Follow {documentationLink} to enable it.",
"DocumentationLinkLabel": "the instructions"
},
"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 filtration conditions or entered advanced filtration mode.",
"ConditionEditor": {
"Label": "Filtration mode",
"SimpleModeSection": {
"Label": "Simple",
"FiltrationConditionsLabel": "Filtration conditions"
},
"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?"
}
},
"Design":{
"Title": "Design",
"Description": "Adjust how your Org Chart looks. Apply base skin and highlight boxes with conditional rules.",
"SkinLabel": "Skin",
"LayoutLabel": "Layout",
"LayoutTypeLabel": "Type",
"LevelsToExpandLabel": "Levels to expand",
"MaxColumnsLabel": "Max columns",
"BoxStyleRulesLabel": "Box style rules",
"AddRuleButton": "Add rule",
"FormattingRuleContextMenu": {
"ActivateLabel": "Activate",
"DeactivateLabel": "Deactivate",
"EditLabel": "Edit",
"CloneLabel": "Clone",
"DeleteLabel": "Delete",
"DeleteConfirmMessage": "Are you sure you want to remove this rule?"
},
"FormattingRulePanel": {
"RuleNamePlaceholder": "Rule name",
"SaveButton": "Save",
"CancelButton": "Cancel",
"FiltrationConditionsLabel": "If condition is true",
"BoxStylePanelLabel": "Apply box style",
"SaveChangesConfirmDialog": {
"Message": "Your rule has unsaved changes. Do you want to save it?",
"SaveButton": "Save rule",
"LeaveButton": "Leave"
},
"ResetConfirmMessage": "Are you sure you want to reset all changes?"
}
},
"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",
"SolidReportsNumberLabel": "Number of solid reports inside box",
"LevelNumbersLabel": "Level numbers inside box"
},
"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.",
"TemplateEditorNoFieldsException": "You need to add at least one field.",
"VacanciesListUrlFormatException": "Vacancies list URL is formatted as file URL",
"VacanciesListUrlSlashException": "Vacancies list URL requires slash at the beginning",
"VacanciesListUrlContainException": "Vacancies list URL has to contain '/Lists/'"
}
}
}