Формулировка вопроса также помогла выработать ответ.
Частично я хочу поделиться этим ответом для всех с похожим вопросом, касающимся использования перечислений и вариантов, частично спросить, не является ли решение по каким-либо причинам нежелательным или другие проблемы возникнут в дальнейшем (я думаю, реализовать его на более крупные (несколько тысяч строк кортежей).
Ниже код служит двум целям в моем проекте. 1. Создание таблицы, которая может вернуть ответ на выбранном языке. 2. Включить поле выбора из нескольких вариантов (несколько столбцов), например, для. цель отображения различных языков в раскрывающемся списке.
from enum import Enum
class MasterEnum(Enum):
# object # en # de
Product_HORSE = 'horse', 'pferd'
Product_CAR = 'car', 'auto'
Place_GARAGE = 'garage', 'garage'
Place_STABLE = 'stable', 'stall'
class YNNeutralEnum(Enum):
Yes = 'Yes', 'Ja'
No = 'No', 'Nein'
Neutral = 'Neutral', 'Neutral'
class Wessen(Enum):
W1 = 'Horse', 'Pferd'
W555 = 'Manbearpig', 'MannBärSchwein'
class Lang():
# column position in enum table
en = 0
de = 1
def ChoiceEnum(enum, Lang):
return tuple((x.name, x.value[Lang]) for x in enum)
# testing
choices = ChoiceEnum(Wessen, Lang.en)
print(choices)
choices = ChoiceEnum(MasterEnum, Lang.de)
print(choices)
print(choices[1])
print(Wessen.W555.name)
print(Wessen.W555.value)
print(Wessen.W555.value[1])