... or better '17号', but never 'CV-17'.
I agree. But, somehow Chinese has to be translated into English. In general there’re three ways to translate between the two that I’m sure you also know. First is the easiest, Chinese can be simply translated as how it’s pronounced, eg. 山东 (Shandong) and 辽宁 (Liaoning). Second is probably the most common way of translating by explaining the meaning of a Chinese phrase in English. Lastly it’s the relatively straightforward way by translating each Chinese character individually. But most of time this way doesn’t really work as the two languages are way too different, unlike between European languages this way of translating are commonly used.
So, personally I feel it’s the best to translate the names by their pronunciations, eg. 山东 (Shandong). However the designations should be translated by their meanings as closely as possible, eg. 002航空母舰 (Carrier 002) or 舷号17 (CV-17). I understand this way of translating the meanings isn’t watertight, but at least can be understood globally, which is the point of translating into English at the first place, isn’t it? Otherwise, if we only translate character by character, then it would be really difficult for people outside China to understand and totally defeats the purpose. There’s a place for this type of translation, but I don’t believe it’s here.
Again I would respect the official Chinese translation when there’s one. But unfortunately there doesn’t seem to be any authority within the Chinese military to oversee their English translation. We’ve seen so many ways the full official name of a combat ship been translated in the past, eg. China Navy Ship vs. Chinese Navy Ship vs. PLAN Ship... Until then we just have to do our best as outsiders to respect the original Chinese names/designations and translate them into English as watertight as possible.