+ dict->set (name, creator);
+ scm_hashq_set_x (global_translator_dict_rev, creator, scm_cons (name, description));
+}
+
+LY_DEFINE (ly_translator_name, "ly:translator-name",
+ 1, 0, 0, (SCM creator),
+ "Return the type name of the translator definition @var{creator}."
+ " The name is a symbol.")
+{
+ SCM res = global_translator_dict_rev.is_bound ()
+ ? scm_hashq_ref (global_translator_dict_rev, creator, SCM_BOOL_F)
+ : SCM_BOOL_F;
+ SCM_ASSERT_TYPE (scm_is_pair (res),
+ creator, SCM_ARG1, __FUNCTION__, "translator definition");
+ return scm_car (res);
+}
+
+LY_DEFINE (ly_translator_description, "ly:translator-description",
+ 1, 0, 0, (SCM creator),
+ "Return an alist of properties of translator definition @var{creator}.")
+{
+ SCM res = global_translator_dict_rev.is_bound ()
+ ? scm_hashq_ref (global_translator_dict_rev, creator, SCM_BOOL_F)
+ : SCM_BOOL_F;
+ SCM_ASSERT_TYPE (scm_is_pair (res),
+ creator, SCM_ARG1, __FUNCTION__, "translator definition");
+ return scm_cdr (res);
+}