我正在使用jHipster创建一个类似应用程序的博客,并希望以2种语言(英文和中文)支持i18n。关于此(https://jhipster.github.io/installing-new-languages/)的jHipster页面仅解释了UI元素上的i18n。 但是如何为实体的价值提供i18n支持?在这种情况下,我想博客的文章实体是两种语言。 其中一种解决方法是将用户使用两种语言的值放入单独的实体字段中并进行相应显示。这是一种正确的方法吗?
答案 0 :(得分:4)
JHipster没有为内容本地化提供任何帮助。这必须在JPA / Hibernate级别完成。
每个语言都有一个字段,或者每个语言都有Article
与LocalizedArticle
建立一对多关系的字段,其中包含Map<String, LocalizedArticle>
使用CNContactStore *store = [[CNContactStore alloc] init];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted == YES) {
NSMutableArray *contacts = [NSMutableArray array];
NSArray *keys = @[CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPhoneNumbersKey, CNContactImageDataKey];
NSString *containerId = store.defaultContainerIdentifier;
NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
NSError *error;
NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
if (error) {
NSLog(@"error fetching contacts %@", error);
} else {
for (CNContact *contact in cnContacts) {
TSContact *newContact = [[TSContact alloc] init];
newContact.firstName = contact.givenName;
newContact.lastName = contact.familyName;
UIImage *image = [UIImage imageWithData:contact.imageData];
newContact.image = image;
for (CNLabeledValue *label in contact.phoneNumbers) {
NSString *phone = [label.value stringValue];
if ([phone length] > 0) {
[contacts addObject:phone];
}
}
}
}
} else {
NSLog(@"Error = %@", error.localizedDescription);
}
}];
的所有本地化字段locale as map key。
此good article中还提供了其他选项。