Zendesk Android SDK 本地化问题
Zendesk Android SDK localization issue
我在将 Zendesk 本地化为法语时遇到问题。您可以在下面的屏幕截图中看到 Contacteznous 这个词是不正确的。
这不是唯一不正确的单词,还有一些根本没有翻译的英文单词。
我认为基于语言,适当的词应该从 Zendesk 库包中的 values-fr 文件中获取。正确的词在那里,但没有被使用,正如您从屏幕截图中看到的那样。
我用于设置 Zendesk 的代码是:
public void initZenDesk() {
ZendeskConfig.INSTANCE.setDeviceLocale(Locale.FRANCE);
ZendeskConfig.INSTANCE.init(getActivity(), Constant.ZenDesk_Support_Site, Constant.ZenDesk_ApplicationId, Constant.ZenDesk_Auth_CLientId,
new ZendeskCallback<String>() {
@Override
public void onSuccess(String s) {
Identity identity = new AnonymousIdentity.Builder()
.withNameIdentifier(globals.getUserDetails().get(Constant.MM_UserName))
.withEmailIdentifier(globals.getUserDetails().get(Constant.MM_Email))
.withExternalIdentifier(globals.getUserDetails().get(Constant.MM_UserId))
.build();
ZendeskConfig.INSTANCE.setIdentity(identity);
ZendeskConfig.INSTANCE.setContactConfiguration(new BaseZendeskFeedbackConfiguration() {
@Override
public String getRequestSubject() {
return "Support request";
}
});
new SupportActivity.Builder().show(getActivity());
}
@Override
public void onError(ErrorResponse errorResponse) {
Toast.makeText(getActivity(), errorResponse.getReason() + errorResponse.getResponseBody(), Toast.LENGTH_SHORT).show();
}
});
}
我不明白我做错了什么,我按照官方 Zendesk 网页上的步骤操作。管理后台也已正确设置所有内容。我错过了什么?
我想你现在有一张与我们联系的票。我们明天会研究这个问题,我们会在那个频道上回复你。我们也可以post返回结果。
谢谢,
巴里.
缺少连字符是我们翻译文件中的一个细微错误,感谢您指出!它将在我们的下一个版本中修复。
您在 strings.xml 文件中看到的连字符是软连字符 U+00AD
(参见 https://en.wikipedia.org/wiki/Soft_hyphen),而不是常规连字符 U+2010
。因此,在这种情况下它不会显示,因为文本没有被分成多行。
作为暂时的解决方法,您可以覆盖应用中的 contact_fragment_title
,确保使用真正的连字符(或 space,或您喜欢的任何字符)。
我在将 Zendesk 本地化为法语时遇到问题。您可以在下面的屏幕截图中看到 Contacteznous 这个词是不正确的。
这不是唯一不正确的单词,还有一些根本没有翻译的英文单词。 我认为基于语言,适当的词应该从 Zendesk 库包中的 values-fr 文件中获取。正确的词在那里,但没有被使用,正如您从屏幕截图中看到的那样。
我用于设置 Zendesk 的代码是:
public void initZenDesk() {
ZendeskConfig.INSTANCE.setDeviceLocale(Locale.FRANCE);
ZendeskConfig.INSTANCE.init(getActivity(), Constant.ZenDesk_Support_Site, Constant.ZenDesk_ApplicationId, Constant.ZenDesk_Auth_CLientId,
new ZendeskCallback<String>() {
@Override
public void onSuccess(String s) {
Identity identity = new AnonymousIdentity.Builder()
.withNameIdentifier(globals.getUserDetails().get(Constant.MM_UserName))
.withEmailIdentifier(globals.getUserDetails().get(Constant.MM_Email))
.withExternalIdentifier(globals.getUserDetails().get(Constant.MM_UserId))
.build();
ZendeskConfig.INSTANCE.setIdentity(identity);
ZendeskConfig.INSTANCE.setContactConfiguration(new BaseZendeskFeedbackConfiguration() {
@Override
public String getRequestSubject() {
return "Support request";
}
});
new SupportActivity.Builder().show(getActivity());
}
@Override
public void onError(ErrorResponse errorResponse) {
Toast.makeText(getActivity(), errorResponse.getReason() + errorResponse.getResponseBody(), Toast.LENGTH_SHORT).show();
}
});
}
我不明白我做错了什么,我按照官方 Zendesk 网页上的步骤操作。管理后台也已正确设置所有内容。我错过了什么?
我想你现在有一张与我们联系的票。我们明天会研究这个问题,我们会在那个频道上回复你。我们也可以post返回结果。
谢谢, 巴里.
缺少连字符是我们翻译文件中的一个细微错误,感谢您指出!它将在我们的下一个版本中修复。
您在 strings.xml 文件中看到的连字符是软连字符 U+00AD
(参见 https://en.wikipedia.org/wiki/Soft_hyphen),而不是常规连字符 U+2010
。因此,在这种情况下它不会显示,因为文本没有被分成多行。
作为暂时的解决方法,您可以覆盖应用中的 contact_fragment_title
,确保使用真正的连字符(或 space,或您喜欢的任何字符)。