TextMeshPro dropdown includes a great multi-selection dropdown, but its defaults for the “All” and “None” options, plus the text for “mixed” are hardcoded in TMP_Dropdown.cs:138-ish.
static readonly OptionData k_NothingOption = new OptionData { text = "Nothing" };
static readonly OptionData k_EverythingOption = new OptionData { text = "Everything" };
static readonly OptionData k_MixedOption = new OptionData { text = "Mixed..." };
Is there a way to modify these on startup (localization) without having to either Fork the TMP package locally or copypasta the TMP_Dropdown class and make your own? A naive attempt at using reflection doesn’t seem to work, in that this will replace “nothing” with “None” in the popup dropdown list, but the dropdown button itself will display blank when after “None” is selected. (Rather than “None” as desired here, or “Nothing” as the default implementation will)
var field = typeof(TMP_Dropdown).GetField("k_NothingOption", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
field.SetValue(null, new TMP_Dropdown.OptionData { text = "None" });