> The constant embeds everything that an English-speaking localizer needs to explain the relationship in a different language. That’s why something like the [proposal] (just use the Chinese name for this relationship) would not be an improvement.
I don't exactly agree. Note that this constant embeds two terms, exactly because this particular kinship term does not distinguish them. In the other word this constant can only reasonably used in the Chinese kinship system, and others will be confused regardless of whether it's translated or not. The reasonable UI should group such labels into some dedicated section like "Extended families (Chinese system)" so that they don't need to be translated literally. Same for other kinship systems, of course.
You, and many people here keep assuming that this is a feature that is unique to Chinese language and/or kinship system.
It's the main one that English speakers are probably exposed to; but even in this thread there are mentions of other languages and cultures where this or similar relationships have specific terms and more generic ones like "cousin" simply don't exist.
Grouping them all under "Chinese system" is... let's say culturally insensitive.
_That_ is a reason enough to not use the term from any specific language as a constant name; let enough to not expose that in the UI to users.
I am Asian but not Chinese, I know what you wanted to say. The problem is though, East Asian kinship systems are pretty similar in the aspect that it recognizes most differences in gender, age, generation and lineage, but there are considerable variations as well. For example I think this particular term has no Korean counterpart. So this term is indeed unique, though some terms would be also shared among those systems. I would say that the label should be replicated for each system in that case.
Notably, mapping the entire path isn't congruent with the concept in the topic, which encompasses both "Father's sister's daughter, younger than me" and "Mother's sibling's daughter, younger than me" in one phrase.
> this constant embeds two terms, exactly because this particular kinship term does not distinguish them
This isn't the case, any more than the English word 'aunt' embeds four terms (your father's sister, your mother's sister, your father's brother's wife, your mother's brother's wife). Plenty of languages distinguish between all four of these relationships. But the English term refers to what we see as a single concept - an aunt.
Most family words have translation difficulties like this. The concepts are usually more generic, more specific, or in some cases incomparable when moving between cultures. This also applies to many other words - even ones for very prosaic objects. The French have a single word which means "metallic object which has a particular shape in order to be able to turn something matching that shape", and they use additional qualifications to distinguish between a door-opening-shaped-metallic-turner and a bolt-undoing-shaped-metallic-turner.
The localization system seeks to avoid 2 things: that when an English speaker adds 'Mary (relationship: Aunt)' as a contact, they have to be asked "Is Mary actually your fathers-sister-aunt or your mothers-sister-aunt?" (Because that person would find it strange and unncessary.) Secondly that where possible, someone who has access to this information in another locale, doesn't see a low-quality translation, in particular one which makes no sense ("US English Kinship Relation �� Mary"), or which is misleading ("Mary is John's father's brother's wife? But I'm married to John's father's only brother!"). The right way to do this is to record a reasonable representation of the intended meaning in the source locale, and to translate into the destination locale. Since English also happens to be the language used for the code, the value "LabelContactRelationAunt" looks less complicated than this one, but it really isn't.
This can be seen by how it will be translated. In a locale where the English concepts encompasses two words, it might be rendered as "(Father-Aunt) or (Mother-Aunt)". In a locale where there are 4, 8 or more relationships which could be described in English as an aunt, they might use something intentionally less specific like "OlderFemaleRelativeNotAGrandmother" rather than a laundry list of possibilities. In others yet it might make sense to use the literal English word, or a contextualization like "Western 'Aunt'", if that's the easiest way to explain the relationship.
Nothing about this is unique to either English or Chinese.
I think this UI issue shows a problem in thinking about what the actual problem is that they're trying to solve.
This bug is about contact cards, and so the relationship is necessarily between you and the contact. So, it's not like you need to translate 表妹 into English, or differentiate it from 表姐 in English, as it's something you have chosen to describe the relationship. If you just think of them as "cousin" or whatever you use in your language, that's fine, just use that label. But, once you've assigned e.g. 表妹 to a contact, you don't need to translate that to English if you change your locale... because you already know what it means, because you chose it in the first place!
Admittedly, there's an issue when you receive a contact from someone else, but then you will probably be changing that field anyway. Unless we are family, you sending me a contact for your aunt is unlikely to also be my aunt, and if it is, well I probably also share that native language with you. I'm sure there are edge cases, like siblings who were separated when very young and the parents moved to different countries, or adopted, or found via DNA testing or whatever. But even in those few contexts, learning about the word or having the person themselves explaining the relationship to you, probably helps overall understanding of the relationship.
In any case, a lot of the Chinese words for the various familial relationships are quite amorphous. I remember being very surprised when a Chinese friend posted some photos on Wechat of her 孙子, literally "son's son". My initial reaction was "She can't be old enough to have a grandson!" then "Wait? She has a son? I thought she was single..." Turns out, she was referring to her brother's son. Lots of people use 哥, 弟弟, 妹妹, 姐姐 (literally older brother, younger brother, younger sister, older sister) to mean their friendship group, although this is probably a result of the impact of the one child policy. 阿姨 and 叔叔 (aunt and uncle) are just respectful terms for people of similar age to your parents, etc. There's literally no point trying to translate these names into their literal English meaning, because it will just further confuse people.
So, then the big problem becomes where these labels come from. Is it a dropdown box where only the options available in your current language are presented? How do you then choose one that's available in a different language if that's what you want to use? Presumably these aren't translated too literally into other languages, as e.g. an English speaker isn't going to want to choose one of 4 options for "cousin", and hopefully would be immediately suspicious of why their phone wants that much information about the nature of their cousin-ness, when it's customary to just use a single word. How then would that get translated back into Chinese? It would be embarrassing at family events if someone saw that the male cousin on my mum's side was labelled as female cousin on my dad's side.
I think it'd be much easier if you could just type what you wanted into this relationship field, maybe with a drop-down or auto-complete for likely options in your language.
It's actually a relation between two contacts, not between you and the contact. The UI allows the user to link several contacts, e.g. link the "spouse" or "brother" contact to your friend's contact card. There's a set of predefined labels to choose from, and there's also an option to add a custom label.
>I think it'd be much easier if you could just type what you wanted into this relationship field, maybe with a drop-down or auto-complete for likely options in your language.
Congratulations, you reinvented the exact UI for this that already exists in iOS from first principles.
> Lots of people use 哥, 弟弟, 妹妹, 姐姐 (literally older brother, younger brother, younger sister, older sister) to mean their friendship group, although this is probably a result of the impact of the one child policy.
Use of kinship terms to describe non-kin is clearly not related to the one-child policy given that it’s a language feature of Chinese that occurs across multiple political lines. It also appears in other languages, such as Korean.
Chinese also differentiates kin vs non-kin address. 哥哥 is typically used to describe a blood relation. 哥 and 哥哥 have very different connotations if used to refer to a non-relative.
Because that would include father's brother's daughter, which the Chinese term apparently excludes, hence it then wouldn’t be correct to localize it to the Chinese term.
I don't exactly agree. Note that this constant embeds two terms, exactly because this particular kinship term does not distinguish them. In the other word this constant can only reasonably used in the Chinese kinship system, and others will be confused regardless of whether it's translated or not. The reasonable UI should group such labels into some dedicated section like "Extended families (Chinese system)" so that they don't need to be translated literally. Same for other kinship systems, of course.