private static string Name(FrameType type, CelestialBody selected) { switch (type) { case FrameType.BODY_CENTRED_NON_ROTATING: return(L10N.CelestialString( "#Principia_ReferenceFrameSelector_Name_BodyCentredNonRotating", new[] { selected })); case FrameType.BARYCENTRIC_ROTATING: if (selected.is_root()) { throw Log.Fatal("Naming barycentric rotating frame of root body"); } else { return("DEPRECATED"); } case FrameType.BODY_CENTRED_PARENT_DIRECTION: if (selected.is_root()) { throw Log.Fatal( "Naming parent-direction rotating frame of root body"); } else { return(L10N.ZWSPToHyphenBetweenNonCJK(L10N.CelestialString( "#Principia_ReferenceFrameSelector_Name_BodyCentredParentDirection", new[] { selected, selected.referenceBody }))); } case FrameType.BODY_SURFACE: return(L10N.CelestialString( "#Principia_ReferenceFrameSelector_Name_BodySurface", new[] { selected })); default: throw Log.Fatal("Unexpected type " + type.ToString()); } }