Создать коллекцию переводов, которая содержит все переводы CountryCode.В этом объекте я бы поставил 2 поля или свойства.Одним из них будет tripleCountryCode prop / field, а другим будет что-то вроде dualCountryCode prop / field ...
OC, вам придется вводить каждый код, который должен быть переведен вручную, вот так: (Я помещаюМашинопись, так как это мой основной язык кодирования и он похож на твой код, поэтому, может быть, ты сможешь его использовать ...)
Код машинописи
// We take an interface as the object declaration
export interface TranslatedCountryCode {
tripleCode: string;
dualCode: string;
}
// We set up a class to handle the translations
export class TranslationClass {
static translations: TranslatedCountryCode[] = [
{ tripleCode: "USA", dualCode: "US" },
{ tripleCode: "GER", dualCode: "DE" },
{ tripleCode: "GBR", dualCode: "GB" } // And so on....
];
static GetDualTranslation(tripleCode: string): string | null {
for (var key in this.translations)
// If we find something we return it....
if (tripleCode === this.translations[key].tripleCode)
return this.translations[key].dualCode;
// If we don't find any translation we return null....
return null;
}
static GetTripleTranslation(dualCode: string): string | null {
for (var key in this.translations)
// If we find something we return it....
if (dualCode === this.translations[key].dualCode)
return this.translations[key].tripleCode;
// If we don't find any translation we return null....
return null;
}
}
ТогдаВы просто можете назвать перевод следующим образом:
TranslationClass.GetDualTranslation("USA") // Returns US
TranslationClass.GetTripleTranslation("US") // Returns USA
Пожалуйста, поблагодарите этот пост, если он вам помог, я был бы очень признателен.
С уважением
Редактировать : я заметил, что вы также можете взять словарь, но тогда вам придется дважды вводить каждый перевод в словарь с тройным кодом и словарь с двойным кодом ... Я решил это с помощью цикла for, чтобы избежатьдвойное назначение.