我有兴趣找到基于密钥或实际字符串实现本地化的优点和缺点。
使用键,实现是一个函数,其中参数是该字符串的键:
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class DetailsTransition extends TransitionSet {
public DetailsTransition() {
setOrdering(ORDERING_TOGETHER);
addTransition(new ChangeBounds()).
addTransition(new ChangeTransform()).
addTransition(new ChangeImageTransform());
}
}
对于实际的字符串,实现是一个函数,其中参数是默认\中性语言的实际字符串:
translate(DeleteFileConfirmationId)
我看到后者的问题是应用程序是否需要根据后端返回的值显示不同的元素(例如,图像),如果值是字符串而不是键,则必须用字符串检查:
translate('Are you sure you want to delete the file?')
第一种方法的另一方面是必须翻译所有内容,并且从后端返回的所有值都必须使用密钥。这不一定是坏事,但第二种方法提供了更大的灵活性。
还有其他优点和缺点吗?