本地化 Microsoft Graph 工具包组件
本地化是应用程序开发的一个重要方面,可在全球范围内支持具有各种语言要求的用户。
可以本地化 Microsoft Graph 工具包组件,以确保 UI 反映目标语言。
使用 LocalizationHelper 添加本地化字符串
工具包中的字符串均未本地化,但你可以提供自己的本地化字符串,并通过用于本地化应用的相同过程管理不同的语言。 为了便于本地化,工具包公开了 LocalizationHelper
静态类。
以下示例演示如何本地化多个组件。
import { LocalizationHelper } from "@microsoft/mgt-element";
LocalizationHelper.strings = {
noResultsFound: "لم نجد أي قنوات",
_components: {
"login": {
signInLinkSubtitle: "login",
signOutLinkSubtitle: "خروج",
},
"people-picker": {
inputPlaceholderText: "ابدأ في كتابة الاسم",
noResultsFound: "لم نجد أي قنوات", // will overwrite globally defined noResultsFound in people-picker component
loadingMessage: "...جار التحميل",
},
"teams-channel-picker": {
inputPlaceholderText: "حدد قناة",
noResultsFound: "local NoResultsFound Example",
// loadingMessage: is default string "Loading..." for this example since not defined globally or locally
},
"tasks": {
removeTaskSubtitle: "delete",
cancelNewTaskSubtitle: "canceltest",
newTaskPlaceholder: "newTaskTest",
addTaskButtonSubtitle: "addme",
},
"person-card": {
sendEmailLinkSubtitle: "ارسل بريد الكتروني",
startChatLinkSubtitle: "ابدأ الدردشة",
showExpandedDetailsButton: 'Show expanded details',
showMoreSectionButton: "أظهر المزيد", // global declaration
},
"person-card-contact": {
contactSectionTitle: "اتصل",
},
"person-card-organization": {
reportsToSectionTitle: "تقارير ل",
directReportsSectionTitle: "تقارير مباشرة",
organizationSectionTitle: "منظمة",
youWorkWithSubSectionTitle: "انت تعمل مع",
userWorksWithSubSectionTitle: "يعمل مع",
},
},
};
strings
分配 的 LocalizationHelper
属性后,所有组件将自动选取新字符串并重新呈现,从而可以动态更改字符串。
字符串可以在全局级别设置,也可以按组件 (设置, _components:
属性) 。
字符串
登录
"login": {
signInLinkSubtitle: "Sign In",
signOutLinkSubtitle: "Sign Out"
}
人员选取器
"people-picker": {
inputPlaceholderText: "Start typing a name",
noResultsFound: `We didn't find any matches.`,
loadingMessage: "Loading..."
}
Teams-Channel-Picker
"teams-channel-picker": {
inputPlaceholderText: "Select a channel",
noResultsFound: `We didn't find any matches.`,
loadingMessage: "Loading..."
}
任务
"tasks": {
removeTaskSubtitle: "Delete Task",
cancelNewTaskSubtitle: "cancel",
newTaskPlaceholder: "Task...",
addTaskButtonSubtitle: "Add"
}
Tasks-Base
"tasks-base": {
removeTaskSubtitle: "Delete Task",
cancelNewTaskSubtitle: "cancel",
newTaskPlaceholder: "Task...",
addTaskButtonSubtitle: "Add"
}
Todo
"todo": {
removeTaskSubtitle: "Delete Task",
cancelNewTaskSubtitle: "cancel",
newTaskPlaceholder: "Task...",
addTaskButtonSubtitle: "Add"
}
人员卡片
"person-card": {
sendEmailLinkSubtitle: "Send email",
startChatLinkSubtitle: "Start chat",
showMoreSectionButton: "Show more"
}
Person-Card-Contact
"person-card-contact": {
contactSectionTitle: "Contact"
}
Person-Card-Organization
"person-card-organization": {
reportsToSectionTitle: "Reports to",
directReportsSectionTitle: "Direct reports",
organizationSectionTitle: "Organization",
youWorkWithSubSectionTitle: "You work with",
userWorksWithSubSectionTitle: "works with"
}
Person-Card-Messages
"person-card-messages": {
emailsSectionTitle: "Emails"
}
Person-Card-Files
"person-card-files": {
filesSectionTitle: "Files",
sharedTextSubtitle: "Shared"
}
Person-Card-Profile
"person-card-profile": {
SkillsAndExperienceSectionTitle: "Skills & Experience",
AboutCompactSectionTitle: "About",
SkillsSubSectionTitle: "Skills",
LanguagesSubSectionTitle: "Languages",
WorkExperienceSubSectionTitle: "Work Experience",
EducationSubSectionTitle: "Education",
professionalInterestsSubSectionTitle: "Professional Interests",
personalInterestsSubSectionTitle: "Personal Interests",
birthdaySubSectionTitle: "Birthday",
currentYearSubtitle: "Current"
}
文件
'file': {
modifiedSubtitle: 'Modified',
sizeSubtitle: 'Size'
};
File-List
"file-list": {
showMoreSubtitle: 'Show more items'
}