Creating a Field in a Data Type Who's Values Is Other Data Types

I am trying to create a language Dictionary that has translations for observations of different kinds of data types.

For Example, one of my data types is “Challenges” (each observation is a different challenge that a user can select for help) and another is “Months” (each observation is a month on the calendar). I would like my Dictionary data type to store translations in other languages for select values from Challenges or Months (e.g. The “April” Months observation would be stored in the Dictionary with the translated value “abril” in Spanish). Based on certain conditions, I would like to pick up my translated value from the Dictionary data type.

I know I can create a field within the Dictionary for each of my data types and then just fill that in with the Unique ID of the observation. However, this gets messy with many data types. Instead, I would like to have a two fields in the Dictionary data type: “Observation Data Type” and “Observation Unique ID”. That way, when I want a translation, I can search the Dictionary by saying "Do a search for Dictionary → Conditions: Observation Data Type = “This <value’s data type>” and Observation Unique ID = "This <value’s> unique ID.

Is this possible?

It occurs to me that maybe I can just make Unique ID a text field and just search for that, but I’m not sure if Unique IDs are unique across data types