diff --git a/plugins/excel/ms-excel-read.c b/plugins/excel/ms-excel-read.c
index b22550b..b104dc8 100644
--- a/plugins/excel/ms-excel-read.c
+++ b/plugins/excel/ms-excel-read.c
@@ -306,7 +306,7 @@ ms_sheet_parse_expr_internal (ExcelReadSheet *esheet, guint8 const *data, int le
 
 		tmp = gnm_expr_top_as_string (texpr,
 					      parse_pos_init (&pp, wb, sheet, 0, 0),
-					      gnm_conventions_default);
+					      gnm_conventions_default, FALSE);
 		puts (tmp);
 		g_free (tmp);
 	}
@@ -3357,7 +3357,7 @@ excel_parse_name (GnmXLImporter *importer, Sheet *sheet, char *name,
 			texpr = gnm_expr_top_new_constant (value_new_error_REF (NULL));
 		} else d (2, {
 			char *tmp = gnm_expr_top_as_string
-				(texpr, &pp, gnm_conventions_default);
+				(texpr, &pp, gnm_conventions_default, FALSE);
 			g_printerr ("Expression: %s\n", tmp);
 			g_free (tmp);
 		});
@@ -6991,7 +6991,7 @@ excel_read_init (void)
 
 		/* Fix case.  */
 		if (func)
-			name = gnm_func_get_name (func);
+			name = gnm_func_get_name (func, FALSE);
 
 		g_assert (g_hash_table_lookup (excel_func_by_name, name) ==
 			  NULL);
diff --git a/plugins/excel/ms-excel-write.c b/plugins/excel/ms-excel-write.c
index eab26f4..f909c72 100644
--- a/plugins/excel/ms-excel-write.c
+++ b/plugins/excel/ms-excel-write.c
@@ -3450,7 +3450,7 @@ excel_write_cell (ExcelWriteState *ewb, ExcelWriteSheet *esheet,
 			(gnm_cell_has_expr (cell)
 			 ?  gnm_expr_top_as_string (cell->base.texpr,
 				parse_pos_init_cell (&tmp, cell),
-				gnm_conventions_default)
+				gnm_conventions_default, FALSE)
 			 : "none"),
 			(cell->value ?
 			 value_get_as_string (cell->value) : "empty"), xf);
diff --git a/plugins/excel/ms-formula-read.c b/plugins/excel/ms-formula-read.c
index 68929c6..7ebb7e7 100644
--- a/plugins/excel/ms-formula-read.c
+++ b/plugins/excel/ms-formula-read.c
@@ -1729,7 +1729,7 @@ excel_parse_formula1 (MSContainer const *container,
 		GnmParsePos pp;
 		GnmExpr const *expr = stack->data;
 		parse_pos_init (&pp, NULL, esheet->sheet, fn_col, fn_row);
-		g_printerr ("%s\n",  gnm_expr_as_string (expr, &pp, gnm_conventions_default));
+		g_printerr ("%s\n",  gnm_expr_as_string (expr, &pp, gnm_conventions_default, FALSE));
 	}
 #endif
 	return parse_list_pop (&stack);
diff --git a/plugins/excel/xlsx-write.c b/plugins/excel/xlsx-write.c
index 6c6aaae..67b8076 100644
--- a/plugins/excel/xlsx-write.c
+++ b/plugins/excel/xlsx-write.c
@@ -420,7 +420,7 @@ xlsx_write_cells (XLSXWriteState *state, GsfXMLOut *xml, GnmRange const *extent)
 							xlsx_add_range (xml, "ref", &r);
 						}
 						content = gnm_expr_top_as_string (cell->base.texpr,
-							parse_pos_init_cell (&pp, cell), state->convs);
+							parse_pos_init_cell (&pp, cell), state->convs, FALSE);
 						gsf_xml_out_add_cstr (xml, NULL, content);
 						g_free (content);
 
@@ -476,7 +476,7 @@ xlsx_write_validation_expr (XLSXClosure *info, GnmCellPos const *pos,
 		char *str = gnm_expr_top_as_string (texpr,
 			parse_pos_init (&pp, NULL, (Sheet *)info->state->sheet,
 					pos->col, pos->row),
-			info->state->convs);
+			info->state->convs, FALSE);
 		gsf_xml_out_simple_element (info->xml, elem, str);
 		g_free (str);
 	}
@@ -960,7 +960,7 @@ xlsx_write_series_dim (XLSXWriteState *state, GsfXMLOut *xml, GogSeries const *s
 			GnmParsePos pp;
 			char *str = gnm_expr_top_as_string (texpr,
 				parse_pos_init (&pp, (Workbook *)state->base.wb, NULL, 0,0 ),
-				state->convs);
+				state->convs, FALSE);
 			gsf_xml_out_start_element (xml, name);
 			gsf_xml_out_start_element (xml, "c:numRef");
 			gsf_xml_out_simple_element (xml, "c:f", str);
diff --git a/plugins/fn-christian-date/functions.c b/plugins/fn-christian-date/functions.c
index d3cea4d..a7f0d75 100644
--- a/plugins/fn-christian-date/functions.c
+++ b/plugins/fn-christian-date/functions.c
@@ -141,12 +141,12 @@ static GnmFuncHelp const help_eastersunday[] = {
 				 "according to the Roman rite of the Christian Church") },
         { GNM_FUNC_HELP_ARG, F_("year:year between 1582 and 9956, defaults to the year of the next Easter Sunday")},
         { GNM_FUNC_HELP_NOTE, F_("Two digit years are adjusted as elsewhere in Gnumeric. Dates before 1904 may also be prohibited.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=EASTERSUNDAY(2001)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=EASTERSUNDAY()" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EASTERSUNDAY(2001)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EASTERSUNDAY()") },
 	{ GNM_FUNC_HELP_ODF, F_("The 1-argument version of EASTERSUNDAY is compatible with OpenOffice "
 				"for years after 1904. "
 				"This function is not specified in ODF/OpenFormula.")},
-        { GNM_FUNC_HELP_SEEALSO, "ASHWEDNESDAY"},
+        { GNM_FUNC_HELP_SEEALSO, F_("ASHWEDNESDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -164,9 +164,9 @@ static GnmFuncHelp const help_ashwednesday[] = {
 				 "according to the Roman rite of the Christian Church") },
         { GNM_FUNC_HELP_ARG, F_("year:year between 1582 and 9956, defaults to the year of the next Ash Wednesday")},
         { GNM_FUNC_HELP_NOTE, F_("Two digit years are adjusted as elsewhere in Gnumeric. Dates before 1904 may also be prohibited.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ASHWEDNESDAY(2001)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASHWEDNESDAY()" },
-        { GNM_FUNC_HELP_SEEALSO, "EASTERSUNDAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASHWEDNESDAY(2001)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASHWEDNESDAY()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EASTERSUNDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -184,9 +184,9 @@ static GnmFuncHelp const help_pentecostsunday[] = {
 				 "according to the Roman rite of the Christian Church") },
         { GNM_FUNC_HELP_ARG, F_("year:year between 1582 and 9956, defaults to the year of the next Pentecost Sunday")},
         { GNM_FUNC_HELP_NOTE, F_("Two digit years are adjusted as elsewhere in Gnumeric. Dates before 1904 may also be prohibited.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=PENTECOSTSUNDAY(2001)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=PENTECOSTSUNDAY()" },
-        { GNM_FUNC_HELP_SEEALSO, "EASTERSUNDAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PENTECOSTSUNDAY(2001)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PENTECOSTSUNDAY()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EASTERSUNDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -203,9 +203,9 @@ static GnmFuncHelp const help_goodfriday[] = {
 				 "according to the Roman rite of the Christian Church") },
         { GNM_FUNC_HELP_ARG, F_("year:year between 1582 and 9956, defaults to the year of the next Good Friday")},
         { GNM_FUNC_HELP_NOTE, F_("Two digit years are adjusted as elsewhere in Gnumeric. Dates before 1904 may also be prohibited.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=GOODFRIDAY(2001)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=GOODFRIDAY()" },
-        { GNM_FUNC_HELP_SEEALSO, "EASTERSUNDAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GOODFRIDAY(2001)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GOODFRIDAY()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EASTERSUNDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -222,9 +222,9 @@ static GnmFuncHelp const help_ascensionthursday[] = {
 				 "according to the Roman rite of the Christian Church") },
         { GNM_FUNC_HELP_ARG, F_("year:year between 1582 and 9956, defaults to the year of the next Ascension Thursday")},
         { GNM_FUNC_HELP_NOTE, F_("Two digit years are adjusted as elsewhere in Gnumeric. Dates before 1904 may also be prohibited.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ASCENSIONTHURSDAY(2001)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASCENSIONTHURSDAY()" },
-        { GNM_FUNC_HELP_SEEALSO, "EASTERSUNDAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASCENSIONTHURSDAY(2001)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASCENSIONTHURSDAY()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EASTERSUNDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -237,27 +237,27 @@ gnumeric_ascensionthursday (GnmFuncEvalInfo * ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const datetime_functions[] = {
-	{"ascensionthursday", "|f", help_ascensionthursday,
+	{F_("ascensionthursday"), "|f", help_ascensionthursday,
 	 gnumeric_ascensionthursday, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{"ashwednesday", "|f", help_ashwednesday,
+	{F_("ashwednesday"), "|f", help_ashwednesday,
 	 gnumeric_ashwednesday, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{"eastersunday", "|f", help_eastersunday,
+	{F_("eastersunday"), "|f", help_eastersunday,
 	 gnumeric_eastersunday, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{"goodfriday", "|f", help_goodfriday,
+	{F_("goodfriday"), "|f", help_goodfriday,
 	 gnumeric_goodfriday, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{"pentecostsunday", "|f", help_pentecostsunday,
+	{F_("pentecostsunday"), "|f", help_pentecostsunday,
 	 gnumeric_pentecostsunday, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
diff --git a/plugins/fn-complex/functions.c b/plugins/fn-complex/functions.c
index 5057a3e..be74cb5 100644
--- a/plugins/fn-complex/functions.c
+++ b/plugins/fn-complex/functions.c
@@ -82,7 +82,7 @@ static GnmFuncHelp const help_complex[] = {
         { GNM_FUNC_HELP_ARG, F_("i:the suffix for the complex number, either \"i\" or \"j\"; defaults to \"i\".") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{i} is neither \"i\" nor \"j\", COMPLEX returns #VALUE!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=COMPLEX(1,-1)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COMPLEX(1,-1)") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -110,8 +110,8 @@ static GnmFuncHelp const help_imaginary[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMAGINARY(\"132-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMREAL" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMAGINARY(\"132-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMREAL") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -137,8 +137,8 @@ static GnmFuncHelp const help_imabs[] = {
 	{ GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMABS(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMAGINARY,IMREAL" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMABS(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMAGINARY,IMREAL") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -161,8 +161,8 @@ static GnmFuncHelp const help_imreal[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMREAL(\"132-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMAGINARY" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMREAL(\"132-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMAGINARY") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -188,8 +188,8 @@ static GnmFuncHelp const help_imconjugate[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCONJUGATE(\"1-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMAGINARY,IMREAL" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCONJUGATE(\"1-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMAGINARY,IMREAL") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -212,7 +212,7 @@ static GnmFuncHelp const help_iminv[] = {
         { GNM_FUNC_HELP_NAME, F_("IMINV:the reciprocal, or inverse, of the complex number @{z}") },
 	{ GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=IMINV(\"1-j\")" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=IMINV(\"1-j\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -235,7 +235,7 @@ static GnmFuncHelp const help_imneg[] = {
         { GNM_FUNC_HELP_NAME, F_("IMNEG:the negative of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMNEG(\"1-j\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMNEG(\"1-j\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -259,8 +259,8 @@ static GnmFuncHelp const help_imcos[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCOS(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSIN,IMTAN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCOS(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSIN,IMTAN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -285,8 +285,8 @@ static GnmFuncHelp const help_imtan[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMTAN(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSIN,IMCOS" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMTAN(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSIN,IMCOS") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -311,8 +311,8 @@ static GnmFuncHelp const help_imsec[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_DESCRIPTION, F_("secz = 1/cosz.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSEC(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMCSC,IMCOT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSEC(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMCSC,IMCOT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -338,8 +338,8 @@ static GnmFuncHelp const help_imcsc[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_DESCRIPTION, F_("cscz = 1/sinz.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCSC(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSEC,IMCOT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCSC(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSEC,IMCOT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -364,8 +364,8 @@ static GnmFuncHelp const help_imcot[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_DESCRIPTION, F_("cotz = cosz/sinz.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCOT(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSEC,IMCSC" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCOT(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSEC,IMCSC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -390,8 +390,8 @@ static GnmFuncHelp const help_imexp[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMEXP(\"2-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMLN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMEXP(\"2-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMLN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -417,7 +417,7 @@ static GnmFuncHelp const help_imargument[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("The argument theta of a complex number is its angle in radians from the real axis.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARGUMENT(\"2-j\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARGUMENT(\"2-j\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -443,8 +443,8 @@ static GnmFuncHelp const help_imln[] = {
 					"You may need to add or subtract an even multiple of \xcf\x80 to the imaginary part.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMLN(\"3-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMEXP,IMLOG2,IMLOG10" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMLN(\"3-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMEXP,IMLOG2,IMLOG10") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -468,8 +468,8 @@ static GnmFuncHelp const help_imlog2[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMLOG2(\"3-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMLN,IMLOG10" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMLOG2(\"3-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMLN,IMLOG10") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -495,8 +495,8 @@ static GnmFuncHelp const help_imlog10[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMLOG10(\"3-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMLN,IMLOG2" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMLOG10(\"3-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMLN,IMLOG2") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -522,8 +522,8 @@ static GnmFuncHelp const help_impower[] = {
         { GNM_FUNC_HELP_ARG, F_("z2:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z1} or @{z2} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMPOWER(\"4-j\",2)" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSQRT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMPOWER(\"4-j\",2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSQRT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -554,8 +554,8 @@ static GnmFuncHelp const help_imdiv[] = {
         { GNM_FUNC_HELP_ARG, F_("z2:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z1} or @{z2} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMDIV(\"2-j\",\"2+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMPRODUCT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMDIV(\"2-j\",\"2+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMPRODUCT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -586,8 +586,8 @@ static GnmFuncHelp const help_imsin[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSIN(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMCOS,IMTAN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSIN(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMCOS,IMTAN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -610,8 +610,8 @@ static GnmFuncHelp const help_imsinh[] = {
         { GNM_FUNC_HELP_NAME, F_("IMSINH:the hyperbolic sine of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSINH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMCOSH,IMTANH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSINH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMCOSH,IMTANH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -634,8 +634,8 @@ static GnmFuncHelp const help_imcosh[] = {
         { GNM_FUNC_HELP_NAME, F_("IMCOSH:the hyperbolic cosine of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCOSH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSINH,IMTANH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCOSH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSINH,IMTANH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -659,8 +659,8 @@ static GnmFuncHelp const help_imtanh[] = {
         { GNM_FUNC_HELP_NAME, F_("IMTANH:the hyperbolic tangent of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMTANH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSINH,IMCOSH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMTANH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSINH,IMCOSH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -684,8 +684,8 @@ static GnmFuncHelp const help_imsech[] = {
         { GNM_FUNC_HELP_NAME, F_("IMSECH:the hyperbolic secant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSECH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMCSCH,IMCOTH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSECH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMCSCH,IMCOTH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -708,8 +708,8 @@ static GnmFuncHelp const help_imcsch[] = {
         { GNM_FUNC_HELP_NAME, F_("IMCSCH:the hyperbolic cosecant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCSCH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSECH,IMCOTH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCSCH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSECH,IMCOTH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -733,8 +733,8 @@ static GnmFuncHelp const help_imcoth[] = {
         { GNM_FUNC_HELP_NAME, F_("IMCOTH:the hyperbolic cotangent of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMCOTH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSECH,IMCSCH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMCOTH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSECH,IMCSCH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -759,8 +759,8 @@ static GnmFuncHelp const help_imarcsin[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("IMARCSIN returns the complex arcsine of the complex number "
 	   "@{z}. The branch cuts are on the real axis, less than -1 and greater than 1.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCSIN(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCCOS,IMARCTAN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCSIN(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCCOS,IMARCTAN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -786,8 +786,8 @@ static GnmFuncHelp const help_imarccos[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("IMARCCOS returns the complex arccosine of the complex number "
 	   "@{z}. The branch cuts are on the real axis, less than -1 and greater than 1.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCOS(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSIN,IMARCTAN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCOS(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSIN,IMARCTAN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -813,8 +813,8 @@ static GnmFuncHelp const help_imarctan[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("IMARCTAN returns the complex arctangent of the complex number "
 	   "@{z}. The branch cuts are on the imaginary axis, below -i and above i.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCTAN(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSIN,IMARCCOS" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCTAN(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSIN,IMARCCOS") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -838,8 +838,8 @@ static GnmFuncHelp const help_imarcsec[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCSEC:the complex arcsecant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCSEC(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCCSC,IMARCCOT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCSEC(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCCSC,IMARCCOT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -862,8 +862,8 @@ static GnmFuncHelp const help_imarccsc[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCCSC:the complex arccosecant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCSC(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSEC,IMARCCOT" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCSC(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSEC,IMARCCOT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -887,8 +887,8 @@ static GnmFuncHelp const help_imarccot[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCCOT:the complex arccotangent of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCOT(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSEC,IMARCCSC" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCOT(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSEC,IMARCCSC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -913,8 +913,8 @@ static GnmFuncHelp const help_imarcsinh[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("IMARCSINH returns the complex hyperbolic arcsine of the complex number @{z}. "
 					" The branch cuts are on the imaginary axis, below -i and above i.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCSINH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCCOSH,IMARCTANH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCSINH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCCOSH,IMARCTANH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -941,8 +941,8 @@ static GnmFuncHelp const help_imarccosh[] = {
 					"complex number @{z}. The branch cut is on the real "
 					"axis, less than 1.") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCOSH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSINH,IMARCTANH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCOSH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSINH,IMARCTANH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -969,8 +969,8 @@ static GnmFuncHelp const help_imarctanh[] = {
 					"complex number @{z}. The branch cuts are on the "
 					"real axis, less than -1 and greater than 1.") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCTANH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSINH,IMARCCOSH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCTANH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSINH,IMARCCOSH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -994,8 +994,8 @@ static GnmFuncHelp const help_imarcsech[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCSECH:the complex hyperbolic arcsecant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCSECH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCCSCH,IMARCCOTH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCSECH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCCSCH,IMARCCOTH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1018,8 +1018,8 @@ static GnmFuncHelp const help_imarccsch[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCCSCH:the complex hyperbolic arccosecant of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCSCH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSECH,IMARCCOTH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCSCH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSECH,IMARCCOTH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1043,8 +1043,8 @@ static GnmFuncHelp const help_imarccoth[] = {
         { GNM_FUNC_HELP_NAME, F_("IMARCCOTH:the complex hyperbolic arccotangent of the complex number @{z}") },
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMARCCOTH(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMARCSECH,IMARCCSCH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMARCCOTH(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMARCSECH,IMARCCSCH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1069,8 +1069,8 @@ static GnmFuncHelp const help_imsqrt[] = {
         { GNM_FUNC_HELP_ARG, F_("z:a complex number") },
         { GNM_FUNC_HELP_NOTE, F_("If @{z} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSQRT(\"1+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMPOWER" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSQRT(\"1+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMPOWER") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1096,8 +1096,8 @@ static GnmFuncHelp const help_imsub[] = {
         { GNM_FUNC_HELP_ARG, F_("z2:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{z1} or @{z2} is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSUB(\"3-j\",\"2+j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSUM" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSUB(\"3-j\",\"2+j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSUM") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1126,8 +1126,8 @@ static GnmFuncHelp const help_improduct[] = {
         { GNM_FUNC_HELP_ARG, F_("z2:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If any of @{z1}, @{z2},... is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMPRODUCT(\"2-j\",\"4-2j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMDIV" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMPRODUCT(\"2-j\",\"4-2j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMDIV") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1195,8 +1195,8 @@ static GnmFuncHelp const help_imsum[] = {
         { GNM_FUNC_HELP_ARG, F_("z2:a complex number") },
 	{ GNM_FUNC_HELP_NOTE, F_("If any of @{z1}, @{z2},... is not a valid complex number, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IMSUM(\"2-4j\",\"9-j\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IMSUB" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IMSUM(\"2-4j\",\"9-j\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IMSUB") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1224,131 +1224,131 @@ gnumeric_imsum (GnmFuncEvalInfo *ei, int argc, GnmExprConstPtr const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const complex_functions[] = {
-        { "complex",     "ff|s",  help_complex,
+        { F_("complex"),     "ff|s",  help_complex,
 	  gnumeric_complex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imabs",       "S",     help_imabs,
+        { F_("imabs"),       "S",     help_imabs,
 	  gnumeric_imabs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imaginary",   "S",     help_imaginary,
+        { F_("imaginary"),   "S",     help_imaginary,
 	  gnumeric_imaginary, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imargument",  "S",     help_imargument,
+        { F_("imargument"),  "S",     help_imargument,
 	  gnumeric_imargument, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imconjugate", "S",     help_imconjugate,
+        { F_("imconjugate"), "S",     help_imconjugate,
 	  gnumeric_imconjugate, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcos",       "S",     help_imcos,
+        { F_("imcos"),       "S",     help_imcos,
 	  gnumeric_imcos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imdiv",       "SS",    help_imdiv,
+        { F_("imdiv"),       "SS",    help_imdiv,
 	  gnumeric_imdiv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imexp",       "S",     help_imexp,
+        { F_("imexp"),       "S",     help_imexp,
 	  gnumeric_imexp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imln",        "S",     help_imln,
+        { F_("imln"),        "S",     help_imln,
 	  gnumeric_imln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imlog10",     "S",     help_imlog10,
+        { F_("imlog10"),     "S",     help_imlog10,
 	  gnumeric_imlog10, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imlog2",      "S",     help_imlog2,
+        { F_("imlog2"),      "S",     help_imlog2,
 	  gnumeric_imlog2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "impower",     "SS",    help_impower,
+        { F_("impower"),     "SS",    help_impower,
 	  gnumeric_impower, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imreal",      "S",     help_imreal,
+        { F_("imreal"),      "S",     help_imreal,
 	  gnumeric_imreal, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsin",       "S",     help_imsin,
+        { F_("imsin"),       "S",     help_imsin,
 	  gnumeric_imsin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsqrt",      "S",     help_imsqrt,
+        { F_("imsqrt"),      "S",     help_imsqrt,
 	  gnumeric_imsqrt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsub",       "SS",    help_imsub,
+        { F_("imsub"),       "SS",    help_imsub,
 	  gnumeric_imsub, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsum",       NULL,    help_imsum,
+        { F_("imsum"),       NULL,    help_imsum,
 	  NULL, gnumeric_imsum, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "iminv",   "S",     help_iminv,
+        { F_("iminv"),   "S",     help_iminv,
 	  gnumeric_iminv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "imneg",   "S",     help_imneg,
+        { F_("imneg"),   "S",     help_imneg,
 	  gnumeric_imneg, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imtan",       "S",     help_imtan,
+        { F_("imtan"),       "S",     help_imtan,
 	  gnumeric_imtan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "improduct",   NULL,    help_improduct,
+        { F_("improduct"),   NULL,    help_improduct,
 	  NULL, gnumeric_improduct, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsec",       "S",     help_imsec,
+        { F_("imsec"),       "S",     help_imsec,
 	  gnumeric_imsec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcsc",       "S",     help_imcsc,
+        { F_("imcsc"),       "S",     help_imcsc,
 	  gnumeric_imcsc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcot",       "S",     help_imcot,
+        { F_("imcot"),       "S",     help_imcot,
 	  gnumeric_imcot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsinh",       "S",    help_imsinh,
+        { F_("imsinh"),       "S",    help_imsinh,
 	  gnumeric_imsinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcosh",       "S",    help_imcosh,
+        { F_("imcosh"),       "S",    help_imcosh,
 	  gnumeric_imcosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imtanh",       "S",    help_imtanh,
+        { F_("imtanh"),       "S",    help_imtanh,
 	  gnumeric_imtanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsech",       "S",    help_imsech,
+        { F_("imsech"),       "S",    help_imsech,
 	  gnumeric_imsech, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcsch",       "S",    help_imcsch,
+        { F_("imcsch"),       "S",    help_imcsch,
 	  gnumeric_imcsch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcoth",       "S",    help_imcoth,
+        { F_("imcoth"),       "S",    help_imcoth,
 	  gnumeric_imcoth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsin",     "S",    help_imarcsin,
+        { F_("imarcsin"),     "S",    help_imarcsin,
 	  gnumeric_imarcsin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccos",     "S",    help_imarccos,
+        { F_("imarccos"),     "S",    help_imarccos,
 	  gnumeric_imarccos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarctan",     "S",    help_imarctan,
+        { F_("imarctan"),     "S",    help_imarctan,
 	  gnumeric_imarctan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsec",     "S",    help_imarcsec,
+        { F_("imarcsec"),     "S",    help_imarcsec,
 	  gnumeric_imarcsec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccsc",     "S",    help_imarccsc,
+        { F_("imarccsc"),     "S",    help_imarccsc,
 	  gnumeric_imarccsc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccot",     "S",    help_imarccot,
+        { F_("imarccot"),     "S",    help_imarccot,
 	  gnumeric_imarccot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsinh",    "S",    help_imarcsinh,
+        { F_("imarcsinh"),    "S",    help_imarcsinh,
 	  gnumeric_imarcsinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccosh",    "S",    help_imarccosh,
+        { F_("imarccosh"),    "S",    help_imarccosh,
 	  gnumeric_imarccosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarctanh",    "S",    help_imarctanh,
+        { F_("imarctanh"),    "S",    help_imarctanh,
 	  gnumeric_imarctanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsech",    "S",    help_imarcsech,
+        { F_("imarcsech"),    "S",    help_imarcsech,
 	  gnumeric_imarcsech, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccsch",    "S",    help_imarccsch,
+        { F_("imarccsch"),    "S",    help_imarccsch,
 	  gnumeric_imarccsch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccoth",    "S",    help_imarccoth,
+        { F_("imarccoth"),    "S",    help_imarccoth,
 	  gnumeric_imarccoth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
         {NULL}
diff --git a/plugins/fn-complex/plugin.xml.in b/plugins/fn-complex/plugin.xml.in
index 094b034..6e5f97d 100644
--- a/plugins/fn-complex/plugin.xml.in
+++ b/plugins/fn-complex/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="complex">
+		<service type="function_group" id="complex" gettext_domain="gnumeric-functions">
 			<_category>Complex</_category>
 			<functions textdomain="gnumeric-functions">
                                 <function name="complex"/>
diff --git a/plugins/fn-database/functions.c b/plugins/fn-database/functions.c
index 0a68381..28baf7e 100644
--- a/plugins/fn-database/functions.c
+++ b/plugins/fn-database/functions.c
@@ -329,7 +329,7 @@ static GnmFuncHelp const help_daverage[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DAVERAGE(A1:C7, \"Age\", A9:A11) equals 39.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DAVERAGE(A1:C7, \"Salary\", A9:B11) equals 40782.5.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DAVERAGE(A1:C7, \"Age\", A9:B11) equals 36.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DCOUNT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DCOUNT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -364,7 +364,7 @@ static GnmFuncHelp const help_dcount[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNT(A1:C7, \"Salary\", A9:A11) equals 3.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNT(A1:C7, \"Salary\", A9:B11) equals 2.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNT(A1:C7, \"Name\", A9:B11) equals 0.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DAVERAGE,DCOUNTA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DAVERAGE,DCOUNTA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -399,7 +399,7 @@ static GnmFuncHelp const help_dcounta[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNTA(A1:C7, \"Salary\", A9:A11) equals 3.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNTA(A1:C7, \"Salary\", A9:B11) equals 2.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DCOUNTA(A1:C7, \"Name\", A9:B11) equals 2.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DCOUNT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DCOUNT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -432,7 +432,7 @@ static GnmFuncHelp const help_dget[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If more than one record match the conditions, DGET returns #NUM!") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DGET(A1:C7, \"Salary\", A9:A10) equals 34323.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DGET(A1:C7, \"Name\", A9:A10) equals \"Clark\".") },
-	{ GNM_FUNC_HELP_SEEALSO, "DCOUNT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DCOUNT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -472,7 +472,7 @@ static GnmFuncHelp const help_dmax[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DMAX(A1:C7, \"Salary\", A9:A11) equals 47242.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DMAX(A1:C7, \"Age\", A9:A11) equals 45.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DMAX(A1:C7, \"Age\", A9:B11) equals 43.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DMIN" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DMIN") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -507,7 +507,7 @@ static GnmFuncHelp const help_dmin[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DMIN(A1:C7, \"Salary\", A9:B11) equals 34323.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DMIN(A1:C7, \"Age\", A9:B11) equals 29.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DCOUNT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DCOUNT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -539,7 +539,7 @@ static GnmFuncHelp const help_dproduct[] = {
 	GNM_HELP_DESC_CRITERIA,
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DPRODUCT(A1:C7, \"Age\", A9:B11) equals 1247.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DSUM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DSUM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -573,7 +573,7 @@ static GnmFuncHelp const help_dstdev[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSTDEV(A1:C7, \"Age\", A9:B11) equals 9.89949.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSTDEV(A1:C7, \"Salary\", A9:B11) equals 9135.112506.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DSTDEVP" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DSTDEVP") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -607,7 +607,7 @@ static GnmFuncHelp const help_dstdevp[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSTDEVP(A1:C7, \"Age\", A9:B11) equals 7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSTDEVP(A1:C7, \"Salary\", A9:B11) equals 6459.5.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DSTDEV" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DSTDEV") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -640,7 +640,7 @@ static GnmFuncHelp const help_dsum[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSUM(A1:C7, \"Age\", A9:B11) equals 72.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DSUM(A1:C7, \"Salary\", A9:B11) equals 81565.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DPRODUCT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DPRODUCT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -674,7 +674,7 @@ static GnmFuncHelp const help_dvar[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DVAR(A1:C7, \"Age\", A9:B11) equals 98.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DVAR(A1:C7, \"Salary\", A9:B11) equals 83450280.5.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DVARP" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DVARP") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -708,7 +708,7 @@ static GnmFuncHelp const help_dvarp[] = {
 	GNM_HELP_EXAMPLE_DESC,
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DVARP(A1:C7, \"Age\", A9:B11) equals 49.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("DVARP(A1:C7, \"Salary\", A9:B11) equals 41725140.25.") },
-	{ GNM_FUNC_HELP_SEEALSO, "DVAR" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DVAR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -766,45 +766,45 @@ gnumeric_getpivotdata (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 const GnmFuncDescriptor database_functions[] = {
-	{ "daverage", "rSr",
+	{ F_("daverage"), "rSr",
 	  help_daverage,   gnumeric_daverage, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dcount",   "rSr",
+	{ F_("dcount"),   "rSr",
 	  help_dcount,     gnumeric_dcount, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dcounta",  "rSr",
+	{ F_("dcounta"),  "rSr",
 	  help_dcounta,    gnumeric_dcounta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dget",     "rSr",
+	{ F_("dget"),     "rSr",
 	  help_dget,       gnumeric_dget, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dmax",     "rSr",
+	{ F_("dmax"),     "rSr",
 	  help_dmax,       gnumeric_dmax, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dmin",     "rSr",
+	{ F_("dmin"),     "rSr",
 	  help_dmin,       gnumeric_dmin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dproduct", "rSr",
+	{ F_("dproduct"), "rSr",
 	  help_dproduct,   gnumeric_dproduct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dstdev",   "rSr",
+	{ F_("dstdev"),   "rSr",
 	  help_dstdev,     gnumeric_dstdev, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dstdevp",  "rSr",
+	{ F_("dstdevp"),  "rSr",
 	  help_dstdevp,    gnumeric_dstdevp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dsum",     "rSr",
+	{ F_("dsum"),     "rSr",
 	  help_dsum,       gnumeric_dsum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dvar",     "rSr",
+	{ F_("dvar"),     "rSr",
 	  help_dvar,       gnumeric_dvar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dvarp",    "rSr",
+	{ F_("dvarp"),    "rSr",
 	  help_dvarp,      gnumeric_dvarp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
 /* XL stores in lookup */
-	{ "getpivotdata", "rs",
+	{ F_("getpivotdata"), "rs",
 	  help_getpivotdata, gnumeric_getpivotdata, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUBSET, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
diff --git a/plugins/fn-database/plugin.xml.in b/plugins/fn-database/plugin.xml.in
index 1332a7f..45829c7 100644
--- a/plugins/fn-database/plugin.xml.in
+++ b/plugins/fn-database/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="database">
+		<service type="function_group" id="database" gettext_domain="gnumeric-functions">
 			<_category>Database</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="daverage"/>
diff --git a/plugins/fn-date/functions.c b/plugins/fn-date/functions.c
index 19de7b4..54a9385 100644
--- a/plugins/fn-date/functions.c
+++ b/plugins/fn-date/functions.c
@@ -78,11 +78,11 @@ static GnmFuncHelp const help_date[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The DATE function creates date serial values.  1-Jan-1900 is serial value 1, 2-Jan-1900 is serial value 2, and so on.  For compatibility reasons, a serial value is reserved for the non-existing date 29-Feb-1900.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{month} or @{day} is less than 1 or too big, then the year and/or month will be adjusted.") },
 	{ GNM_FUNC_HELP_NOTE, F_("For spreadsheets created with the Mac version of Excel, serial 1 is 1-Jan-1904.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATE(2008,1,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATE(2008,13,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATE(2008,1,-10)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATE(2008,1,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATE(2008,13,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATE(2008,1,-10)") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "TODAY,YEAR,MONTH,DAY"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TODAY,YEAR,MONTH,DAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -137,8 +137,8 @@ static GnmFuncHelp const help_unix2date[] = {
         { GNM_FUNC_HELP_NAME, F_("UNIX2DATE:create a date value from a Unix timestamp")},
         { GNM_FUNC_HELP_ARG, F_("t:Unix time stamp")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The UNIT2DATE function translates Unix timestamps into date serial values.  Unix timestamps are number of seconds since Midnight 1-Jan-1900.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=UNIX2DATE(1000000000)" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE2UNIX,DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=UNIX2DATE(1000000000)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE2UNIX,DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -167,8 +167,8 @@ static GnmFuncHelp const help_date2unix[] = {
         { GNM_FUNC_HELP_NAME, F_("DATE2UNIX:translate a date serial value to a Unix timestamp") },
         { GNM_FUNC_HELP_ARG, F_("d:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The DATE2UNIX function translates a date serial values into a Unix timestamp.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATE2UNIX(DATE(2000,1,1))" },
-        { GNM_FUNC_HELP_SEEALSO, "UNIX2DATE,DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATE2UNIX(DATE(2000,1,1))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("UNIX2DATE,DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -193,9 +193,9 @@ static GnmFuncHelp const help_datevalue[] = {
         { GNM_FUNC_HELP_NAME, F_("DATEVALUE:the date part of a date and time serial value")},
         { GNM_FUNC_HELP_ARG, F_("serial:date and time serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DATEVALUE returns the date serial value part of a date and time serial value.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATEVALUE(NOW())" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATEVALUE(NOW())") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "TIMEVALUE,DATE"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TIMEVALUE,DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -217,10 +217,10 @@ static GnmFuncHelp const help_datedif[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{interval} is \"ym\" or \"yd\" then the distance is measured in complete months or days, respectively, but excluding any difference in years.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{interval} is \"md\" then the distance is measured in complete days but excluding any difference in months.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DATEDIF(DATE(2003,2,3),DATE(2007,4,2),\"m\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DATEDIF(DATE(2000,4,30),DATE(2003,8,4),\"d\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DATEDIF(DATE(2000,4,30),DATE(2003,8,4),\"y\")" },
-        { GNM_FUNC_HELP_SEEALSO, "DAYS360"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DATEDIF(DATE(2003,2,3),DATE(2007,4,2),\"m\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DATEDIF(DATE(2000,4,30),DATE(2003,8,4),\"d\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DATEDIF(DATE(2000,4,30),DATE(2003,8,4),\"y\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DAYS360")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -353,8 +353,8 @@ static GnmFuncHelp const help_edate[] = {
         { GNM_FUNC_HELP_ARG, F_("months:signed number of months")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("EDATE returns @{date} moved forward or backward the number of months specified by @{months}.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EDATE(DATE(2001,12,30),2)" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EDATE(DATE(2001,12,30),2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -388,8 +388,8 @@ static GnmFuncHelp const help_today[] = {
         { GNM_FUNC_HELP_NAME, F_("TODAY:the date serial value of today") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The TODAY function returns the date serial value of the day it is computed.  Recomputing on a later date will produce a different value.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TODAY()" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TODAY()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -405,8 +405,8 @@ static GnmFuncHelp const help_now[] = {
         { GNM_FUNC_HELP_NAME, F_("NOW:the date and time serial value of the current time") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The NOW function returns the date and time serial value of the moment it is computed.  Recomputing later will produce a different value.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NOW()" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NOW()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -424,9 +424,9 @@ static GnmFuncHelp const help_time[] = {
         { GNM_FUNC_HELP_ARG, F_("minute:minute within the hour")},
         { GNM_FUNC_HELP_ARG, F_("second:second within the minute")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The TIME function computes the fractional day between midnight at the time given by @{hour}, @{minute}, and @{second}.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TIME(12,30,2)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TIME(12,30,2)") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "HOUR,MINUTE,SECOND"},
+        { GNM_FUNC_HELP_SEEALSO, F_("HOUR,MINUTE,SECOND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -449,9 +449,9 @@ static GnmFuncHelp const help_timevalue[] = {
         { GNM_FUNC_HELP_NAME, F_("TIMEVALUE:the time part of a date and time serial value")},
         { GNM_FUNC_HELP_ARG, F_("serial:date and time serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("TIMEVALUE returns the time-of-day part of a date and time serial value.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TIMEVALUE(NOW())" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TIMEVALUE(NOW())") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "DATEVALUE,TIME"},
+        { GNM_FUNC_HELP_SEEALSO, F_("DATEVALUE,TIME")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -468,9 +468,9 @@ static GnmFuncHelp const help_hour[] = {
         { GNM_FUNC_HELP_NAME, F_("HOUR:compute hour part of fractional day")},
         { GNM_FUNC_HELP_ARG, F_("time:time of day as fractional day.")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The HOUR function computes the hour part of the fractional day given by @{time}.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=HOUR(TIME(12,30,2))" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HOUR(TIME(12,30,2))") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "TIME,MINUTE,SECOND"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TIME,MINUTE,SECOND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -491,9 +491,9 @@ static GnmFuncHelp const help_minute[] = {
         { GNM_FUNC_HELP_NAME, F_("MINUTE:compute minute part of fractional day")},
         { GNM_FUNC_HELP_ARG, F_("time:time of day as fractional day.")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The MINUTE function computes the minute part of the fractional day given by @{time}.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=MINUTE(TIME(12,30,2))" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=MINUTE(TIME(12,30,2))") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "TIME,HOUR,SECOND"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TIME,HOUR,SECOND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -514,9 +514,9 @@ static GnmFuncHelp const help_second[] = {
         { GNM_FUNC_HELP_NAME, F_("SECOND:compute seconds part of fractional day")},
         { GNM_FUNC_HELP_ARG, F_("time:time of day as fractional day.")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The SECOND function computes the seconds part of the fractional day given by @{time}.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SECOND(TIME(12,30,2))" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SECOND(TIME(12,30,2))") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "TIME,HOUR,MINUTE"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TIME,HOUR,MINUTE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -538,9 +538,9 @@ static GnmFuncHelp const help_year[] = {
         { GNM_FUNC_HELP_ARG, F_("date:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The YEAR function returns the year part of @{date}.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=YEAR(TODAY())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=YEAR(DATE(1940,4,9))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE,MONTH,DAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=YEAR(TODAY())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=YEAR(DATE(1940,4,9))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE,MONTH,DAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -562,9 +562,9 @@ static GnmFuncHelp const help_month[] = {
         { GNM_FUNC_HELP_ARG, F_("date:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The MONTH function returns the month part of @{date}.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=MONTH(TODAY())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=MONTH(DATE(1940,4,9))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE,YEAR,DAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=MONTH(TODAY())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=MONTH(DATE(1940,4,9))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE,YEAR,DAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -586,9 +586,9 @@ static GnmFuncHelp const help_day[] = {
         { GNM_FUNC_HELP_ARG, F_("date:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("The DAY function returns the day-of-month part of @{date}.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DAY(TODAY())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=DAY(DATE(1940,4,9))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE,YEAR,MONTH"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DAY(TODAY())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DAY(DATE(1940,4,9))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE,YEAR,MONTH")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -614,8 +614,8 @@ static GnmFuncHelp const help_weekday[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 2, then Monday is 1, Sunday is 2, etc.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 3, then Monday is 0, Sunday is 1, etc.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=WEEKDAY(DATE(1940,4,9))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATE,ISOWEEKNUM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=WEEKDAY(DATE(1940,4,9))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE,ISOWEEKNUM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -655,8 +655,8 @@ static GnmFuncHelp const help_days360[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 1, the European method will be used.  In this case, if the day of the month is 31 it will be considered as 30") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 2, a saner version of the US method is used in which both dates get the same February treatment.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DAYS360(DATE(2003,2,3),DATE(2007,4,2))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATEDIF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DAYS360(DATE(2003,2,3),DATE(2007,4,2))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATEDIF")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -693,8 +693,8 @@ static GnmFuncHelp const help_eomonth[] = {
         { GNM_FUNC_HELP_ARG, F_("months:signed number of months")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("EOMONTH returns the date serial value of the end of the month specified by @{date} adjusted forward or backward the number of months specified by @{months}.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EOMONTH(DATE(2001,12,14),2)" },
-        { GNM_FUNC_HELP_SEEALSO, "EDATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EOMONTH(DATE(2001,12,14),2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EDATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -735,8 +735,8 @@ static GnmFuncHelp const help_workday[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("WORKDAY adjusts @{date} by @{days} skipping over weekends and @{holidays} in the process.") },
 	{ GNM_FUNC_HELP_NOTE, F_("@{days} may be negative.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=WORKDAY(DATE(2001,12,14),2)" },
-        { GNM_FUNC_HELP_SEEALSO, "NETWORKDAYS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=WORKDAY(DATE(2001,12,14),2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("NETWORKDAYS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -898,8 +898,8 @@ static GnmFuncHelp const help_networkdays[] = {
         { GNM_FUNC_HELP_ARG, F_("holidays:array of holidays")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NETWORKDAYS calculates the number of days from @{start_date} to @{end_date} skipping weekends and @{holidays} in the process.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NETWORKDAYS(DATE(2001,1,2),DATE(2001,2,15))" },
-        { GNM_FUNC_HELP_SEEALSO, "WORKDAY"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NETWORKDAYS(DATE(2001,1,2),DATE(2001,2,15))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("WORKDAY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1015,9 +1015,9 @@ static GnmFuncHelp const help_isoweeknum[] = {
         { GNM_FUNC_HELP_ARG, F_("date:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ISOWEEKNUM calculates the week number according to the ISE 8601 standard.  Weeks start on Mondays and week 1 contains the first Thursday of the year.") },
 	{ GNM_FUNC_HELP_NOTE, F_("January 1 of a year is sometimes in week 52 or 53 of the previous year.  Similarly, December 31 is sometimes in week 1 of the following year.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISOWEEKNUM(DATE(2000,1,1))" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISOWEEKNUM(DATE(2008,1,1))" },
-        { GNM_FUNC_HELP_SEEALSO, "ISOYEAR,WEEKNUM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISOWEEKNUM(DATE(2000,1,1))") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISOWEEKNUM(DATE(2008,1,1))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISOYEAR,WEEKNUM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1039,9 +1039,9 @@ static GnmFuncHelp const help_isoyear[] = {
         { GNM_FUNC_HELP_ARG, F_("date:date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ISOYEAR calculates the year to go with week number according to the ISE 8601 standard.") },
 	{ GNM_FUNC_HELP_NOTE, F_("January 1 of a year is sometimes in week 52 or 53 of the previous year.  Similarly, December 31 is sometimes in week 1 of the following year.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISOYEAR(DATE(2000,1,1))" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISOYEAR(DATE(2008,1,1))" },
-        { GNM_FUNC_HELP_SEEALSO, "ISOWEEKNUM,YEAR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISOYEAR(DATE(2000,1,1))") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISOYEAR(DATE(2008,1,1))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISOWEEKNUM,YEAR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1078,9 +1078,9 @@ static GnmFuncHelp const help_weeknum[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 1, then weeks start on Sundays and days before first Sunday are in week 0.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 2, then weeks start on Mondays and days before first Monday are in week 0.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{method} is 150, then the ISO 8601 numbering is used.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=WEEKNUM(DATE(2000,1,1))" },
-        { GNM_FUNC_HELP_EXAMPLES, "=WEEKNUM(DATE(2008,1,1))" },
-        { GNM_FUNC_HELP_SEEALSO, "ISOWEEKNUM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=WEEKNUM(DATE(2000,1,1))") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=WEEKNUM(DATE(2008,1,1))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISOWEEKNUM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1111,8 +1111,8 @@ static GnmFuncHelp const help_yearfrac[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("YEARFRAC calculates the number of days from @{start_date} to @{end_date} according to the calendar specified by @{basis}, which defaults to 0, and expresses the result as a fractional number of years.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "DATE"},
-        { GNM_FUNC_HELP_EXAMPLES, "=YEARFRAC(DATE(2000,1,1),DATE(2001,4,1))" },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATE")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=YEARFRAC(DATE(2000,1,1),DATE(2001,4,1))") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1139,10 +1139,10 @@ static GnmFuncHelp const help_days[] = {
         { GNM_FUNC_HELP_ARG, F_("end_date:ending date serial value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DAYS returns the positive or negative number of days from @{start_date} to @{end_date}.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DAYS(DATE(2003,2,3),DATE(2007,4,2))" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DAYS(DATE(2007,4,2),DATE(2003,2,3))" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DAYS(DATE(1900,2,28),DATE(1900,3,1))" },
-        { GNM_FUNC_HELP_SEEALSO, "DATEDIF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DAYS(DATE(2003,2,3),DATE(2007,4,2))") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DAYS(DATE(2007,4,2),DATE(2003,2,3))") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DAYS(DATE(1900,2,28),DATE(1900,3,1))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DATEDIF")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1166,108 +1166,108 @@ gnumeric_days (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const datetime_functions[] = {
-	{ "date",        "fff",   help_date,
+	{ F_("date"),        "fff",   help_date,
 	  gnumeric_date, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "datevalue",   "f",     help_datevalue,
+	{ F_("datevalue"),   "f",     help_datevalue,
 	  gnumeric_datevalue, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "datedif",     "ffs",   help_datedif,
+	{ F_("datedif"),     "ffs",   help_datedif,
 	  gnumeric_datedif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "day",         "f",     help_day,
+	{ F_("day"),         "f",     help_day,
 	  gnumeric_day, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "days360",     "ff|f",  help_days360,
+	{ F_("days360"),     "ff|f",  help_days360,
 	  gnumeric_days360, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "edate",       "ff",    help_edate,
+	{ F_("edate"),       "ff",    help_edate,
 	  gnumeric_edate, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "eomonth",     "f|f",   help_eomonth,
+	{ F_("eomonth"),     "f|f",   help_eomonth,
 	  gnumeric_eomonth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hour",        "f",     help_hour,
+	{ F_("hour"),        "f",     help_hour,
 	  gnumeric_hour, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "minute",      "f",     help_minute,
+	{ F_("minute"),      "f",     help_minute,
 	  gnumeric_minute, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "month",       "f",     help_month,
+	{ F_("month"),       "f",     help_month,
 	  gnumeric_month, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "networkdays", "ff|?",
+	{ F_("networkdays"), "ff|?",
 	  help_networkdays, gnumeric_networkdays, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "now",         "", help_now,
+	{ F_("now"),         "", help_now,
 	  gnumeric_now, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_TIME,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "second",      "f",     help_second,
+	{ F_("second"),      "f",     help_second,
 	  gnumeric_second, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "time",        "fff",   help_time,
+	{ F_("time"),        "fff",   help_time,
 	  gnumeric_time, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_TIME,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "timevalue",   "f",     help_timevalue,
+	{ F_("timevalue"),   "f",     help_timevalue,
 	  gnumeric_timevalue, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "today",       "", help_today,
+	{ F_("today"),       "", help_today,
 	  gnumeric_today, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_VOLATILE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "weekday",     "f|f",   help_weekday,
+	{ F_("weekday"),     "f|f",   help_weekday,
 	  gnumeric_weekday, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "weeknum",     "f|f",   help_weeknum,
+	{ F_("weeknum"),     "f|f",   help_weeknum,
 	  gnumeric_weeknum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "workday",     "ff|?",  help_workday,
+	{ F_("workday"),     "ff|?",  help_workday,
 	  gnumeric_workday, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_SUBSET, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "year",        "f",     help_year,
+	{ F_("year"),        "f",     help_year,
 	  gnumeric_year, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "yearfrac",	"ff|f",     help_yearfrac,
+	{ F_("yearfrac"),	"ff|f",     help_yearfrac,
 	  gnumeric_yearfrac, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-	{ "unix2date",   "f",     help_unix2date,
+	{ F_("unix2date"),   "f",     help_unix2date,
 	  gnumeric_unix2date, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "date2unix",   "f",     help_date2unix,
+	{ F_("date2unix"),   "f",     help_date2unix,
 	  gnumeric_date2unix, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "isoweeknum",  "f",     help_isoweeknum,
+	{ F_("isoweeknum"),  "f",     help_isoweeknum,
 	  gnumeric_isoweeknum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "isoyear",     "f",     help_isoyear,
+	{ F_("isoyear"),     "f",     help_isoyear,
 	  gnumeric_isoyear, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "days", "ff",
+	{ F_("days"), "ff",
 	  help_days, gnumeric_days, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
diff --git a/plugins/fn-date/plugin.xml.in b/plugins/fn-date/plugin.xml.in
index b20dd2b..086ed5b 100644
--- a/plugins/fn-date/plugin.xml.in
+++ b/plugins/fn-date/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="datetime">
+		<service type="function_group" id="datetime" gettext_domain="gnumeric-functions">
 			<_category>Date/Time</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="date"/>
diff --git a/plugins/fn-derivatives/options.c b/plugins/fn-derivatives/options.c
index b8289c1..165c1ff 100644
--- a/plugins/fn-derivatives/options.c
+++ b/plugins/fn-derivatives/options.c
@@ -196,7 +196,7 @@ static GnmFuncHelp const help_cum_biv_norm_dist[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("CUM_BIV_NORM_DIST calculates the probability that two standard "
 					"normal distributed random variables with correlation @{rho} are "
 					"respectively each less than @{a} and @{b}.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=CUM_BIV_NORM_DIST(0,0,0.5)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CUM_BIV_NORM_DIST(0,0,0.5)") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -254,7 +254,7 @@ static GnmFuncHelp const help_opt_bs[] = {
 					"the price of a European option struck at @{strike} "
 					"on an asset with spot price @{spot}.")},
 	DEF_NOTE_UNITS,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -311,7 +311,7 @@ static GnmFuncHelp const help_opt_bs_delta[] = {
 					"the 'delta' of a European option struck at @{strike} "
 					"on an asset with spot price @{spot}.")},
 	DEF_NOTE_UNITS,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -356,7 +356,7 @@ static GnmFuncHelp const help_opt_bs_gamma[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("Gamma is expressed as the rate of change "
 				 "of delta per unit change in @{spot}.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Gamma is the same for calls and puts.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_VEGA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -413,7 +413,7 @@ static GnmFuncHelp const help_opt_bs_theta[] = {
 					"respect to time to expiry.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Theta is expressed as the negative of the rate of change "
 				 "of the option value, per 365.25 days.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_VEGA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_VEGA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -457,7 +457,7 @@ static GnmFuncHelp const help_opt_bs_vega[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("Vega is the same for calls and puts.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Vega is expressed as the rate of change "
 				 "of option value, per 100% volatility.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -521,7 +521,7 @@ static GnmFuncHelp const help_opt_bs_rho[] = {
 					"respect to the risk free interest rate.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Rho is expressed as the rate of change "
 				 "of the option value, per 100% change in @{rate}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_THETA,OPT_BS_VEGA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -576,7 +576,7 @@ static GnmFuncHelp const help_opt_bs_carrycost[] = {
 					"with respect to its @{cost_of_carry}.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Elasticity is expressed as the rate of change "
 				 "of the option value, per 100% volatility.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -628,7 +628,7 @@ static GnmFuncHelp const help_opt_garman_kohlhagen[] = {
 	DEF_ARG_VOLATILITY,
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OPT_GARMAN_KOHLHAGEN values the theoretical price of a European "
 					"currency option struck at @{strike} on an asset with spot price @{spot}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -684,7 +684,7 @@ static GnmFuncHelp const help_opt_french[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OPT_FRENCH values the theoretical price of a "
 					"European option adjusted for trading day volatility, struck at "
 					"@{strike} on an asset with spot price @{spot}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -736,7 +736,7 @@ static GnmFuncHelp const help_opt_jump_diff[] = {
         { GNM_FUNC_HELP_ARG, F_("gamma:proportion of volatility explained by the 'jumps'")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OPT_JUMP_DIFF models the theoretical price of an option according "
 					"to the Jump Diffusion process (Merton).")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -827,7 +827,7 @@ static GnmFuncHelp const help_opt_miltersen_schwartz[] = {
         { GNM_FUNC_HELP_ARG, F_("rho_ef:correlation between the forward interest rate and the convenience yield")},
         { GNM_FUNC_HELP_ARG, F_("kappa_e:speed of mean reversion of the convenience yield")},
         { GNM_FUNC_HELP_ARG, F_("kappa_f:speed of mean reversion of the forward interest rate")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -917,7 +917,7 @@ static GnmFuncHelp const help_opt_rgw[] = {
 	DEF_ARG_RATE_ANNUALIZED,
         DEF_ARG_AMOUNT,
 	DEF_ARG_VOLATILITY,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -960,7 +960,7 @@ static GnmFuncHelp const help_opt_baw_amer[] = {
 	DEF_ARG_RATE_RISKFREE_ANN,
 	DEF_ARG_CC,
         DEF_ARG_VOLATILITY_SHORT,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1132,7 +1132,7 @@ static GnmFuncHelp const help_opt_bjer_stens[] = {
 	DEF_ARG_RATE_RISKFREE_ANN,
         DEF_ARG_VOLATILITY_SHORT,
 	DEF_ARG_CC_OPT,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1208,7 +1208,7 @@ static GnmFuncHelp const help_opt_exec[] = {
 	DEF_ARG_CC,
         { GNM_FUNC_HELP_ARG, F_("lambda:jump rate for executives")},
 	{ GNM_FUNC_HELP_NOTE, F_("The model assumes executives forfeit their options if they leave the company.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1245,7 +1245,7 @@ static GnmFuncHelp const help_opt_forward_start[] = {
 	DEF_ARG_RATE_RISKFREE_ANN,
         DEF_ARG_VOLATILITY_SHORT,
 	DEF_ARG_CC,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1303,7 +1303,7 @@ static GnmFuncHelp const help_opt_time_switch[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OPT_TIME_SWITCH models the theoretical price of time switch options. (Pechtl 1995). "
 					"The holder receives @{a} * @{dt} for each period that the asset price was "
 					"greater than @{strike} (for a call) or below it (for a put).")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1338,7 +1338,7 @@ static GnmFuncHelp const help_opt_simple_chooser[] = {
         { GNM_FUNC_HELP_ARG, F_("time2:time in years until the chosen option expires")},
 	DEF_ARG_CC,
 	DEF_ARG_VOLATILITY_SHORT,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1389,7 +1389,7 @@ static GnmFuncHelp const help_opt_complex_chooser[] = {
 	DEF_ARG_RATE_RISKFREE_ANN,
 	DEF_ARG_CC,
 	DEF_ARG_VOLATILITY,
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1491,7 +1491,7 @@ static GnmFuncHelp const help_opt_on_options[] = {
         { GNM_FUNC_HELP_ARG, F_("cost_of_carry:net cost of holding the underlying asset of the underlying option (for common stocks, the risk free rate less the dividend yield)")},
         { GNM_FUNC_HELP_ARG, F_("volatility:annualized volatility in price of the underlying asset of the underlying option")},
         { GNM_FUNC_HELP_NOTE, F_("@{time2} \xe2\x89\xa5 @{time1}")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1570,7 +1570,7 @@ static GnmFuncHelp const help_opt_extendible_writer[] = {
 					"writer options. These are options that have their maturity "
 					"extended to @{time2} if the option is "
 					"out of the money at @{time1}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1627,7 +1627,7 @@ static GnmFuncHelp const help_opt_2_asset_correlation[] = {
 					"on 2 assets with correlation @{rho}. The payoff for a call is "
 					"max(@{spot2} - @{strike2},0) if @{spot1} > @{strike1} or 0 otherwise. "
 					"The payoff for a put is max (@{strike2} - @{spot2}, 0) if @{spot1} < @{strike1} or 0 otherwise.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1676,7 +1676,7 @@ static GnmFuncHelp const help_opt_euro_exchange[] = {
 					"option to exchange one asset with quantity @{qty2} and spot "
 					"price @{spot2} for another with quantity @{qty1} and spot price "
 					"@{spot1}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_AMER_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_AMER_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1720,7 +1720,7 @@ static GnmFuncHelp const help_opt_amer_exchange[] = {
 					"option to exchange one asset with quantity @{qty2} and spot "
 					"price @{spot2} for another with quantity @{qty1} and spot price "
 					"@{spot1}.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_EURO_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_EURO_EXCHANGE,OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1756,7 +1756,7 @@ static GnmFuncHelp const help_opt_spread_approx[] = {
         { GNM_FUNC_HELP_ARG, F_("volatility1:annualized volatility in price of the first underlying futures contract")},
         { GNM_FUNC_HELP_ARG, F_("volatility2:annualized volatility in price of the second underlying futures contract")},
         { GNM_FUNC_HELP_ARG, F_("rho:correlation between the two futures contracts")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1814,7 +1814,7 @@ static GnmFuncHelp const help_opt_float_strk_lkbk[] = {
 					"floating-strike lookback option where the holder "
 					"of the option may exercise on expiry at the most favourable price "
 					"observed during the options life of the underlying asset.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1879,7 +1879,7 @@ static GnmFuncHelp const help_opt_fixed_strk_lkbk[] = {
 					"fixed-strike lookback option where the holder "
 					"of the option may exercise on expiry at the most favourable price "
 					"observed during the options life of the underlying asset.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1960,155 +1960,155 @@ static GnmFuncHelp const help_opt_binomial[] = {
         DEF_ARG_VOLATILITY_SHORT,
 	DEF_ARG_CC,
 	{ GNM_FUNC_HELP_NOTE, F_("A larger @{num_time_steps} yields greater accuracy but  OPT_BINOMIAL is slower to calculate.")},
-        { GNM_FUNC_HELP_SEEALSO, "OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA"},
+        { GNM_FUNC_HELP_SEEALSO, F_("OPT_BS,OPT_BS_DELTA,OPT_BS_RHO,OPT_BS_THETA,OPT_BS_GAMMA")},
         { GNM_FUNC_HELP_END}
 };
 
 
 
 GnmFuncDescriptor const derivatives_functions [] = {
-	{ "opt_bs",
+	{ F_("opt_bs"),
 	  "sfffff|f",
 	  help_opt_bs, opt_bs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_delta",
+	{ F_("opt_bs_delta"),
 	  "sfffff|f",
 	  help_opt_bs_delta, opt_bs_delta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_rho",
+	{ F_("opt_bs_rho"),
 	  "sfffff|f",
 	  help_opt_bs_rho, opt_bs_rho, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_theta",
+	{ F_("opt_bs_theta"),
 	  "sfffff|f",
 	  help_opt_bs_theta, opt_bs_theta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_gamma",
+	{ F_("opt_bs_gamma"),
 	  "fffff|f",
 	  help_opt_bs_gamma, opt_bs_gamma, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_vega",
+	{ F_("opt_bs_vega"),
 	  "fffff|f",
 	  help_opt_bs_vega, opt_bs_vega, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bs_carrycost",
+	{ F_("opt_bs_carrycost"),
 	  "sfffff|f",
 	  help_opt_bs_carrycost, opt_bs_carrycost, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "cum_biv_norm_dist",
+	{ F_("cum_biv_norm_dist"),
 	  "fff",
 	  help_cum_biv_norm_dist, cum_biv_norm_dist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-	{ "opt_garman_kohlhagen",
+	{ F_("opt_garman_kohlhagen"),
 	  "sffffff",
 	  help_opt_garman_kohlhagen, opt_garman_kohlhagen, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_french",
+	{ F_("opt_french"),
 	  "sfffffff",
 	  help_opt_french, opt_french, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_jump_diff",
+	{ F_("opt_jump_diff"),
 	  "sfffffff",
 	  help_opt_jump_diff, opt_jump_diff, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_exec",
+	{ F_("opt_exec"),
 	  "sfffffff",
 	  help_opt_exec, opt_exec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_bjer_stens",
+	{ F_("opt_bjer_stens"),
 	  "sffffff",
 	  help_opt_bjer_stens, opt_bjer_stens, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_miltersen_schwartz",
+	{ F_("opt_miltersen_schwartz"),
 	  "sfffffffffffff",
 	  help_opt_miltersen_schwartz, opt_miltersen_schwartz, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_baw_amer",
+	{ F_("opt_baw_amer"),
 	  "sffffff",
 	  help_opt_baw_amer, opt_baw_amer, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_rgw",
+	{ F_("opt_rgw"),
 	  "fffffff",
 	  help_opt_rgw, opt_rgw, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_forward_start",
+	{ F_("opt_forward_start"),
 	  "sfffffff",
 	  help_opt_forward_start, opt_forward_start, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_time_switch",
+	{ F_("opt_time_switch"),
 	  "sfffffffff",
 	  help_opt_time_switch, opt_time_switch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_simple_chooser",
+	{ F_("opt_simple_chooser"),
 	  "fffffff",
 	  help_opt_simple_chooser, opt_simple_chooser, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_complex_chooser",
+	{ F_("opt_complex_chooser"),
 	  "fffffffff",
 	  help_opt_complex_chooser, opt_complex_chooser, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_on_options",
+	{ F_("opt_on_options"),
 	  "sffffffff",
 	  help_opt_on_options, opt_on_options, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_extendible_writer",
+	{ F_("opt_extendible_writer"),
 	  "sffffffff",
 	  help_opt_extendible_writer, opt_extendible_writer, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_2_asset_correlation",
+	{ F_("opt_2_asset_correlation"),
 	  "sfffffffffff",
 	  help_opt_2_asset_correlation, opt_2_asset_correlation, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_euro_exchange",
+	{ F_("opt_euro_exchange"),
 	  "fffffffffff",
 	  help_opt_euro_exchange, opt_euro_exchange, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_amer_exchange",
+	{ F_("opt_amer_exchange"),
 	  "fffffffffff",
 	  help_opt_amer_exchange, opt_amer_exchange, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_spread_approx",
+	{ F_("opt_spread_approx"),
 	  "sffffffff",
 	  help_opt_spread_approx, opt_spread_approx, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_float_strk_lkbk",
+	{ F_("opt_float_strk_lkbk"),
 	  "sfffffff",
 	  help_opt_float_strk_lkbk, opt_float_strk_lkbk, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "opt_fixed_strk_lkbk",
+	{ F_("opt_fixed_strk_lkbk"),
 	  "sffffffff",
 	  help_opt_fixed_strk_lkbk, opt_fixed_strk_lkbk, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
 
-	{ "opt_binomial",
+	{ F_("opt_binomial"),
 	  "ssffffff|f",
 	  help_opt_binomial, opt_binomial, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
diff --git a/plugins/fn-derivatives/plugin.xml.in b/plugins/fn-derivatives/plugin.xml.in
index 75881f9..d7246de 100644
--- a/plugins/fn-derivatives/plugin.xml.in
+++ b/plugins/fn-derivatives/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="derivatives">
+		<service type="function_group" id="derivatives" gettext_domain="gnumeric-functions">
 			<_category>Finance</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="cum_biv_norm_dist"/>
diff --git a/plugins/fn-eng/functions.c b/plugins/fn-eng/functions.c
index 5b7f1a5..bd0a175 100644
--- a/plugins/fn-eng/functions.c
+++ b/plugins/fn-eng/functions.c
@@ -211,8 +211,8 @@ static GnmFuncHelp const help_base[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("BASE converts @{n} to its string representation in base @{b}."
 					" Leading zeroes will be added to reach the minimum length given by @{length}.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BASE(255,16,4)" },
-        { GNM_FUNC_HELP_SEEALSO, "DECIMAL" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BASE(255,16,4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DECIMAL") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -236,8 +236,8 @@ static GnmFuncHelp const help_bin2dec[] = {
         { GNM_FUNC_HELP_NAME, F_("BIN2DEC:decimal representation of the binary number @{x}") },
         { GNM_FUNC_HELP_ARG, F_("x:a binary number, either as a string or as a number involving only the digits 0 and 1") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BIN2DEC(101)" },
-        { GNM_FUNC_HELP_SEEALSO, "DEC2BIN,BIN2OCT,BIN2HEX" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BIN2DEC(101)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DEC2BIN,BIN2OCT,BIN2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -261,9 +261,9 @@ static GnmFuncHelp const help_bin2oct[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, BIN2OCT pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, BIN2OCT returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BIN2OCT(110111)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=BIN2OCT(110111,4)" },
-        { GNM_FUNC_HELP_SEEALSO, ("OCT2BIN,BIN2DEC,BIN2HEX") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BIN2OCT(110111)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BIN2OCT(110111,4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("OCT2BIN,BIN2DEC,BIN2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -285,9 +285,9 @@ static GnmFuncHelp const help_bin2hex[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, BIN2HEX pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, BIN2HEX returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BIN2HEX(100111)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=BIN2HEX(110111,4)" },
-        { GNM_FUNC_HELP_SEEALSO, ("HEX2BIN,BIN2OCT,BIN2DEC") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BIN2HEX(100111)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BIN2HEX(110111,4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HEX2BIN,BIN2OCT,BIN2DEC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -310,8 +310,8 @@ static GnmFuncHelp const help_dec2bin[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, DEC2BIN pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, DEC2BIN returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DEC2BIN(42)" },
-        { GNM_FUNC_HELP_SEEALSO, ("BIN2DEC,DEC2OCT,DEC2HEX") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DEC2BIN(42)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BIN2DEC,DEC2OCT,DEC2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -334,8 +334,8 @@ static GnmFuncHelp const help_dec2oct[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, DEC2OCT pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, DEC2OCT returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DEC2OCT(42)" },
-        { GNM_FUNC_HELP_SEEALSO, ("OCT2DEC,DEC2BIN,DEC2HEX") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DEC2OCT(42)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("OCT2DEC,DEC2BIN,DEC2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -357,8 +357,8 @@ static GnmFuncHelp const help_dec2hex[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, DEC2HEX pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, DEC2HEX returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DEC2HEX(42)" },
-        { GNM_FUNC_HELP_SEEALSO, ("HEX2DEC,DEC2BIN,DEC2OCT") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DEC2HEX(42)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HEX2DEC,DEC2BIN,DEC2OCT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -378,9 +378,9 @@ static GnmFuncHelp const help_decimal[] = {
         { GNM_FUNC_HELP_ARG, F_("x:number in base @{base}") },
         { GNM_FUNC_HELP_ARG, F_("base:base of @{x}, (2 \xe2\x89\xa4 @{b} \xe2\x89\xa4 36)") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DECIMAL(\"A1\",16)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=DECIMAL(\"A1\",15)" },
-        { GNM_FUNC_HELP_SEEALSO, "BASE" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DECIMAL(\"A1\",16)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DECIMAL(\"A1\",15)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BASE") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -401,9 +401,9 @@ static GnmFuncHelp const help_oct2dec[] = {
         { GNM_FUNC_HELP_NAME, F_("OCT2DEC:decimal representation of the octal number @{x}") },
         { GNM_FUNC_HELP_ARG, F_("x:a octal number, either as a string or as a number") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=OCT2DEC(\"124\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=OCT2DEC(124)" },
-        { GNM_FUNC_HELP_SEEALSO, ("DEC2OCT,OCT2BIN,OCT2HEX") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OCT2DEC(\"124\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OCT2DEC(124)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DEC2OCT,OCT2BIN,OCT2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -428,8 +428,8 @@ static GnmFuncHelp const help_oct2bin[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, OCT2BIN pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, OCT2BIN returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=OCT2BIN(\"213\")" },
-        { GNM_FUNC_HELP_SEEALSO, ("BIN2OCT,OCT2DEC,OCT2HEX") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OCT2BIN(\"213\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BIN2OCT,OCT2DEC,OCT2HEX") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -451,8 +451,8 @@ static GnmFuncHelp const help_oct2hex[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, OCT2HEX pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, OCT2HEX returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=OCT2HEX(132)" },
-        { GNM_FUNC_HELP_SEEALSO, ("HEX2OCT,OCT2BIN,OCT2DEC") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OCT2HEX(132)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HEX2OCT,OCT2BIN,OCT2DEC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -474,8 +474,8 @@ static GnmFuncHelp const help_hex2bin[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, HEX2BIN pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, HEX2BIN returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=HEX2BIN(\"2A\")" },
-        { GNM_FUNC_HELP_SEEALSO, ("BIN2HEX,HEX2OCT,HEX2DEC") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HEX2BIN(\"2A\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BIN2HEX,HEX2OCT,HEX2DEC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -497,8 +497,8 @@ static GnmFuncHelp const help_hex2oct[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("If @{places} is given, HEX2OCT pads the result with zeros to achieve "
 					"exactly @{places} digits. If this is not possible, HEX2OCT returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=HEX2OCT(\"2A\")" },
-        { GNM_FUNC_HELP_SEEALSO, ("OCT2HEX,HEX2BIN,HEX2DEC") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HEX2OCT(\"2A\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("OCT2HEX,HEX2BIN,HEX2DEC") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -517,8 +517,8 @@ static GnmFuncHelp const help_hex2dec[] = {
         { GNM_FUNC_HELP_NAME, F_("HEX2DEC:decimal representation of the hexadecimal number @{x}") },
         { GNM_FUNC_HELP_ARG, F_("x:a hexadecimal number, either as a string or as a number if no A to F are needed") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=HEX2DEC(\"2A\")" },
-        { GNM_FUNC_HELP_SEEALSO, ("DEC2HEX,HEX2BIN,HEX2OCT") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HEX2DEC(\"2A\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DEC2HEX,HEX2BIN,HEX2OCT") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -542,8 +542,8 @@ static GnmFuncHelp const help_besseli[] = {
         { GNM_FUNC_HELP_ARG, F_("\xce\xb1:order (any number)") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} or @{\xce\xb1} are not numeric, #VALUE! is returned. If @{\xce\xb1} < 0, #NUM! is returned.") },
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible if only integer orders @{\xce\xb1} are used.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BESSELI(0.7,3)" },
-        { GNM_FUNC_HELP_SEEALSO, "BESSELJ,BESSELK,BESSELY" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BESSELI(0.7,3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BESSELJ,BESSELK,BESSELY") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Bessel_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -580,8 +580,8 @@ static GnmFuncHelp const help_besselk[] = {
         { GNM_FUNC_HELP_ARG, F_("\xce\xb1:order (any number)") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} or @{\xce\xb1} are not numeric, #VALUE! is returned. If @{\xce\xb1} < 0, #NUM! is returned.") },
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible if only integer orders @{\xce\xb1} are used.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BESSELK(3,9)" },
-        { GNM_FUNC_HELP_SEEALSO, "BESSELI,BESSELJ,BESSELY" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BESSELK(3,9)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BESSELI,BESSELJ,BESSELY") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Bessel_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -606,8 +606,8 @@ static GnmFuncHelp const help_besselj[] = {
 				 "If @{\xce\xb1} < 0, #NUM! is returned. "
 				 "If @{\xce\xb1} is not an integer, it is truncated.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BESSELJ(0.89,3)" },
-        { GNM_FUNC_HELP_SEEALSO, "BESSELI,BESSELK,BESSELY" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BESSELJ(0.89,3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BESSELI,BESSELK,BESSELY") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Bessel_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -635,8 +635,8 @@ static GnmFuncHelp const help_bessely[] = {
 				 "If @{\xce\xb1} < 0, #NUM! is returned. "
 				 "If @{\xce\xb1} is not an integer, it is truncated.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BESSELY(4,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "BESSELI,BESSELJ,BESSELK" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BESSELY(4,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BESSELI,BESSELJ,BESSELK") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -743,9 +743,9 @@ static GnmFuncHelp const help_convert[] = {
 					"\t'z'  \tzepto \t\t1E-21\n"
 					"\t'y'  \tyocto \t\t1E-24") },
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CONVERT(3,\"lbm\",\"g\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=CONVERT(5.8,\"m\",\"in\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=CONVERT(7.9,\"cal\",\"J\")" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CONVERT(3,\"lbm\",\"g\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CONVERT(5.8,\"m\",\"in\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CONVERT(7.9,\"cal\",\"J\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1066,9 +1066,9 @@ static GnmFuncHelp const help_erf[] = {
         { GNM_FUNC_HELP_ARG, F_("upper:upper limit of the integral") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ERF returns 2/sqrt(\xcf\x80)* integral from @{lower} to @{upper} of exp(-t*t) dt") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible if two arguments are supplied and neither is negative.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ERF(0.4)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ERF(1.6448536269515/SQRT(2))" },
-        { GNM_FUNC_HELP_SEEALSO, "ERFC" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERF(0.4)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERF(1.6448536269515/SQRT(2))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ERFC") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Error_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -1096,8 +1096,8 @@ static GnmFuncHelp const help_erfc[] = {
         { GNM_FUNC_HELP_NAME, F_("ERFC:Complementary Gauss error function") },
         { GNM_FUNC_HELP_ARG, F_("x:number") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ERFC returns 2/sqrt(\xcf\x80)* integral from @{x} to \xe2\x88\x9e of exp(-t*t) dt") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ERFC(6)" },
-        { GNM_FUNC_HELP_SEEALSO, "ERF" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERFC(6)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ERF") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Error_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -1119,8 +1119,8 @@ static GnmFuncHelp const help_delta[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("DELTA  returns 1 if  @{x1} = @{x0} and 0 otherwise.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If either argument is non-numeric, #VALUE! is returned.") },
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DELTA(42.99,43)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXACT,GESTEP" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DELTA(42.99,43)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXACT,GESTEP") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1142,8 +1142,8 @@ static GnmFuncHelp const help_gestep[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("GESTEP returns 1 if  @{x1} \xe2\x89\xa4 @{x0} and 0 otherwise.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If either argument is non-numeric, #VALUE! is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=GESTEP(5,4)" },
-        { GNM_FUNC_HELP_SEEALSO, "DELTA" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GESTEP(5,4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DELTA") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1166,8 +1166,8 @@ static GnmFuncHelp const help_invsuminv[] = {
 				 "If any argument is zero, the result is zero.") },
         { GNM_FUNC_HELP_DESCRIPTION, F_("INVSUMINV sum calculates the reciprocal (the inverse) "
 					"of the sum of reciprocals (inverses) of all its arguments.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=INVSUMINV(2000,2000)" },
-        { GNM_FUNC_HELP_SEEALSO, "HARMEAN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=INVSUMINV(2000,2000)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HARMEAN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1208,84 +1208,84 @@ gnumeric_invsuminv (GnmFuncEvalInfo *ei, int argc, GnmExprConstPtr const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const engineering_functions[] = {
-        { "base",     "Sf|f",    help_base,
+        { F_("base"),     "Sf|f",    help_base,
 	  gnumeric_base, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-        { "besseli",     "ff",    help_besseli,
+        { F_("besseli"),     "ff",    help_besseli,
 	  gnumeric_besseli, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "besselj",     "ff",    help_besselj,
+        { F_("besselj"),     "ff",    help_besselj,
 	  gnumeric_besselj, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "besselk",     "ff",    help_besselk,
+        { F_("besselk"),     "ff",    help_besselk,
 	  gnumeric_besselk, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bessely",     "ff",    help_bessely,
+        { F_("bessely"),     "ff",    help_bessely,
 	  gnumeric_bessely, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "bin2dec",     "S",     help_bin2dec,
+        { F_("bin2dec"),     "S",     help_bin2dec,
 	  gnumeric_bin2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bin2hex",     "S|f",   help_bin2hex,
+        { F_("bin2hex"),     "S|f",   help_bin2hex,
 	  gnumeric_bin2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bin2oct",     "S|f",   help_bin2oct,
+        { F_("bin2oct"),     "S|f",   help_bin2oct,
 	  gnumeric_bin2oct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "convert",     "fss",   help_convert,
+        { F_("convert"),     "fss",   help_convert,
 	  gnumeric_convert, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2bin",     "S|f",   help_dec2bin,
+        { F_("dec2bin"),     "S|f",   help_dec2bin,
 	  gnumeric_dec2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2oct",     "S|f",   help_dec2oct,
+        { F_("dec2oct"),     "S|f",   help_dec2oct,
 	  gnumeric_dec2oct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2hex",     "S|f",   help_dec2hex,
+        { F_("dec2hex"),     "S|f",   help_dec2hex,
 	  gnumeric_dec2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "decimal",     "Sf",    help_decimal,
+        { F_("decimal"),     "Sf",    help_decimal,
 	  gnumeric_decimal, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-        { "delta",       "f|f",   help_delta,
+        { F_("delta"),       "f|f",   help_delta,
 	  gnumeric_delta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "erf",         "f|f",   help_erf,
+        { F_("erf"),         "f|f",   help_erf,
 	  gnumeric_erf , NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "erfc",        "f",     help_erfc,
+        { F_("erfc"),        "f",     help_erfc,
 	  gnumeric_erfc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "gestep",      "f|f",   help_gestep,
+        { F_("gestep"),      "f|f",   help_gestep,
 	  gnumeric_gestep, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "hex2bin",     "S|f",   help_hex2bin,
+        { F_("hex2bin"),     "S|f",   help_hex2bin,
 	  gnumeric_hex2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "hex2dec",     "S",     help_hex2dec,
+        { F_("hex2dec"),     "S",     help_hex2dec,
 	  gnumeric_hex2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "hex2oct",     "S|f",   help_hex2oct,
+        { F_("hex2oct"),     "S|f",   help_hex2oct,
 	  gnumeric_hex2oct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "invsuminv",    NULL,            help_invsuminv,
+	{ F_("invsuminv"),    NULL,            help_invsuminv,
 	  NULL, gnumeric_invsuminv, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-        { "oct2bin",     "S|f",   help_oct2bin,
+        { F_("oct2bin"),     "S|f",   help_oct2bin,
 	  gnumeric_oct2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "oct2dec",     "S",     help_oct2dec,
+        { F_("oct2dec"),     "S",     help_oct2dec,
 	  gnumeric_oct2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "oct2hex",     "S|f",   help_oct2hex,
+        { F_("oct2hex"),     "S|f",   help_oct2hex,
 	  gnumeric_oct2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
diff --git a/plugins/fn-eng/plugin.xml.in b/plugins/fn-eng/plugin.xml.in
index 1105ff4..64ec46d 100644
--- a/plugins/fn-eng/plugin.xml.in
+++ b/plugins/fn-eng/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="engineering">
+		<service type="function_group" id="engineering" gettext_domain="gnumeric-functions">
 			<_category>Engineering</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="base"/>
diff --git a/plugins/fn-erlang/functions.c b/plugins/fn-erlang/functions.c
index d05eca6..15cb179 100644
--- a/plugins/fn-erlang/functions.c
+++ b/plugins/fn-erlang/functions.c
@@ -108,8 +108,8 @@ static GnmFuncHelp const help_probblock[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PROBBLOCK returns probability of blocking when @{traffic}"
 					" calls load into @{circuits} circuits.")},
 	{ GNM_FUNC_HELP_NOTE, F_("@{traffic} cannot exceed @{circuits}.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=PROBBLOCK(24,30)" },
-	{ GNM_FUNC_HELP_SEEALSO, "OFFTRAF,DIMCIRC,OFFCAP"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=PROBBLOCK(24,30)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("OFFTRAF,DIMCIRC,OFFCAP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -132,8 +132,8 @@ static GnmFuncHelp const help_offtraf[] = {
 	{ GNM_FUNC_HELP_ARG, F_("circuits:number of circuits")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OFFTRAF returns the predicted number of offered calls given @{traffic} carried calls (taken from measurements) on @{circuits} circuits.")},
 	{ GNM_FUNC_HELP_NOTE, F_("@{traffic} cannot exceed @{circuits}.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=OFFTRAF(24,30)" },
-	{ GNM_FUNC_HELP_SEEALSO, "PROBBLOCK,DIMCIRC,OFFCAP"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=OFFTRAF(24,30)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("PROBBLOCK,DIMCIRC,OFFCAP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -191,8 +191,8 @@ static GnmFuncHelp const help_dimcirc[] = {
 	{ GNM_FUNC_HELP_ARG, F_("traffic:number of calls")},
 	{ GNM_FUNC_HELP_ARG, F_("gos:grade of service")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DIMCIRC returns the number of circuits required given @{traffic} calls with grade of service @{gos}.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=DIMCIRC(24,0.01)" },
-	{ GNM_FUNC_HELP_SEEALSO, "OFFCAP,OFFTRAF,PROBBLOCK"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DIMCIRC(24,0.01)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("OFFCAP,OFFTRAF,PROBBLOCK")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -229,8 +229,8 @@ static GnmFuncHelp const help_offcap[] = {
 	{ GNM_FUNC_HELP_ARG, F_("circuits:number of circuits")},
 	{ GNM_FUNC_HELP_ARG, F_("gos:grade of service")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("OFFCAP returns the traffic capacity given @{circuits} circuits with grade of service @{gos}.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=OFFCAP(30,0.01)" },
-	{ GNM_FUNC_HELP_SEEALSO, "DIMCIRC,OFFTRAF,PROBBLOCK"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=OFFCAP(30,0.01)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("DIMCIRC,OFFTRAF,PROBBLOCK")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -285,22 +285,22 @@ gnumeric_offcap (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 }
 
 GnmFuncDescriptor const erlang_functions[] = {
-	{ "probblock",        "ff",   help_probblock,
+	{ F_("probblock"),        "ff",   help_probblock,
 	  gnumeric_probblock, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	  GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "offtraf",        "ff",   help_offtraf,
+	{ F_("offtraf"),        "ff",   help_offtraf,
 	  gnumeric_offtraf, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	  GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "dimcirc",        "ff",   help_dimcirc,
+	{ F_("dimcirc"),        "ff",   help_dimcirc,
 	  gnumeric_dimcirc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	  GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "offcap",        "ff",   help_offcap,
+	{ F_("offcap"),        "ff",   help_offcap,
 	  gnumeric_offcap, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
diff --git a/plugins/fn-erlang/plugin.xml.in b/plugins/fn-erlang/plugin.xml.in
index 1ce03f9..5f13a35 100644
--- a/plugins/fn-erlang/plugin.xml.in
+++ b/plugins/fn-erlang/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="erlang"/>
 	</loader>
 	<services>
-		<service type="function_group" id="erlang">
+		<service type="function_group" id="erlang" gettext_domain="gnumeric-functions">
 			<_category>Erlang</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="probblock"/>
diff --git a/plugins/fn-financial/functions.c b/plugins/fn-financial/functions.c
index 4c2d0f2..c5c8710 100644
--- a/plugins/fn-financial/functions.c
+++ b/plugins/fn-financial/functions.c
@@ -370,7 +370,7 @@ static GnmFuncHelp const help_accrint[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ACCRINT calculates the accrued interest for a security that pays periodic interest.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "ACCRINTM"},
+        { GNM_FUNC_HELP_SEEALSO, F_("ACCRINTM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -429,7 +429,7 @@ static GnmFuncHelp const help_accrintm[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ACCRINT calculates the accrued interest from @{issue} to @{maturity}.") },
 	{ GNM_FUNC_HELP_NOTE, F_("@{par} defaults to $1000.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "ACCRINT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("ACCRINT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -466,8 +466,8 @@ static GnmFuncHelp const help_intrate[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("INTRATE calculates the interest of a fully vested security.") },
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=INTRATE(DATE(2008,4,15),DATE(2008,9,30),100000,103525,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RECEIVED"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=INTRATE(DATE(2008,4,15),DATE(2008,9,30),100000,103525,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RECEIVED")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -504,8 +504,8 @@ static GnmFuncHelp const help_received[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("RECEIVED calculates the amount to be received when a security matures.") },
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=RECEIVED(DATE(2008,4,15),DATE(2008,9,30),100000,4%,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "INTRATE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RECEIVED(DATE(2008,4,15),DATE(2008,9,30),100000,4%,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("INTRATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -545,7 +545,7 @@ static GnmFuncHelp const help_pricedisc[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PRICEDISC calculates the price per $100 face value of a bond that does not pay interest at maturity.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "PRICEMAT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PRICEMAT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -582,7 +582,7 @@ static GnmFuncHelp const help_pricemat[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PRICEMAT calculates the price per $100 face value of a bond that pays interest at maturity.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "PRICEDISC"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PRICEDISC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -627,7 +627,7 @@ static GnmFuncHelp const help_disc[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DISC calculates the discount rate for a security.") },
 	{ GNM_FUNC_HELP_NOTE, F_("@{redemption} is the redemption value per $100 face value.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "PRICEMAT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PRICEMAT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -660,8 +660,8 @@ static GnmFuncHelp const help_effect[] = {
         { GNM_FUNC_HELP_ARG, F_("rate:nominal annual interest rate")},
         { GNM_FUNC_HELP_ARG, F_("nper:number of periods used for compounding")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("EFFECT calculates the effective interest rate using the formula (1+@{rate}/@{nper})^@{nper}-1.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EFFECT(19%,12)"},
-        { GNM_FUNC_HELP_SEEALSO, "NOMINAL"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EFFECT(19%,12)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("NOMINAL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -685,8 +685,8 @@ static GnmFuncHelp const help_nominal[] = {
         { GNM_FUNC_HELP_ARG, F_("rate:effective annual interest rate")},
         { GNM_FUNC_HELP_ARG, F_("nper:number of periods used for compounding")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NOMINAL calculates the nominal interest rate from the effective rate.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NOMINAL(10%,6)" },
-        { GNM_FUNC_HELP_SEEALSO, "EFFECT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NOMINAL(10%,6)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EFFECT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -712,8 +712,8 @@ static GnmFuncHelp const help_ispmt[] = {
         { GNM_FUNC_HELP_ARG, F_("nper:number of periods")},
         { GNM_FUNC_HELP_ARG, F_("pv:present value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ISPMT calculates the interest payment for period number @{per}.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISPMT(10%,4,10,1e6)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISPMT(10%,4,10,1e6)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -749,7 +749,7 @@ static GnmFuncHelp const help_db[] = {
         { GNM_FUNC_HELP_ARG, F_("period:subject period")},
         { GNM_FUNC_HELP_ARG, F_("month:number of months in first year of depreciation")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DB calculates the depreciation of an asset for a given period using the fixed-declining balance method.") },
-        { GNM_FUNC_HELP_SEEALSO, "DDB,SLN,SYD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("DDB,SLN,SYD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -799,7 +799,7 @@ static GnmFuncHelp const help_ddb[] = {
         { GNM_FUNC_HELP_ARG, F_("period:subject period")},
         { GNM_FUNC_HELP_ARG, F_("factor:factor at which the balance declines")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DDB calculates the depreciation of an asset for a given period using the double-declining balance method.") },
-        { GNM_FUNC_HELP_SEEALSO, "DB,SLN,SYD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("DB,SLN,SYD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -846,8 +846,8 @@ static GnmFuncHelp const help_sln[] = {
         { GNM_FUNC_HELP_ARG, F_("salvage:value after depreciation")},
         { GNM_FUNC_HELP_ARG, F_("life:number of periods")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("SLN calculates the depreciation of an asset using the straight-line method.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SLN(10000,700,10)" },
-        { GNM_FUNC_HELP_SEEALSO, "DB,DDB,SYD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SLN(10000,700,10)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DB,DDB,SYD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -877,8 +877,8 @@ static GnmFuncHelp const help_syd[] = {
         { GNM_FUNC_HELP_ARG, F_("life:number of periods")},
         { GNM_FUNC_HELP_ARG, F_("period:subject period")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("SYD calculates the depreciation of an asset using the sum-of-years method.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SYD(5000,200,5,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "DB,DDB,SLN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SYD(5000,200,5,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DB,DDB,SLN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -908,8 +908,8 @@ static GnmFuncHelp const help_dollarde[] = {
         { GNM_FUNC_HELP_ARG, F_("fractional_dollar:amount to convert")},
         { GNM_FUNC_HELP_ARG, F_("fraction:denominator")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DOLLARDE converts a fractional dollar amount into a decimal amount.  This is the inverse of the DOLLARFR function.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DOLLARDE(0.03,16)" },
-        { GNM_FUNC_HELP_SEEALSO, "DOLLARFR" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DOLLARDE(0.03,16)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DOLLARFR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -956,8 +956,8 @@ static GnmFuncHelp const help_dollarfr[] = {
         { GNM_FUNC_HELP_ARG, F_("decimal_dollar:amount to convert")},
         { GNM_FUNC_HELP_ARG, F_("fraction:denominator")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DOLLARFR converts a fractional dollar amount into a fraction which is represented as the digits after the decimal point.  For example, 2/8 would be represented as .2 while 3/16 would be represented as .03.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=DOLLARFR(0.25,8)" },
-        { GNM_FUNC_HELP_SEEALSO, "DOLLARDE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=DOLLARFR(0.25,8)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DOLLARDE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1003,7 +1003,7 @@ static GnmFuncHelp const help_mirr[] = {
         { GNM_FUNC_HELP_ARG, F_("finance_rate:interest rate for financing cost")},
         { GNM_FUNC_HELP_ARG, F_("reinvest_rate:interest rate for reinvestments")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("MIRR calculates the modified internal rate of return of a periodic cash flow.") },
-        { GNM_FUNC_HELP_SEEALSO, "IRR,XIRR"},
+        { GNM_FUNC_HELP_SEEALSO, F_("IRR,XIRR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1061,7 +1061,7 @@ static GnmFuncHelp const help_tbilleq[] = {
         { GNM_FUNC_HELP_ARG, F_("maturity:maturity date")},
         { GNM_FUNC_HELP_ARG, F_("discount:annual rate at which to discount")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("TBILLEQ calculates the bond-equivalent yield for a treasury bill.") },
-        { GNM_FUNC_HELP_SEEALSO, "TBILLPRICE,TBILLYIELD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TBILLPRICE,TBILLYIELD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1099,7 +1099,7 @@ static GnmFuncHelp const help_tbillprice[] = {
         { GNM_FUNC_HELP_ARG, F_("maturity:maturity date")},
         { GNM_FUNC_HELP_ARG, F_("discount:annual rate at which to discount")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("TBILLPRICE calculates the price per $100 face value for a treasury bill.") },
-        { GNM_FUNC_HELP_SEEALSO, "TBILLEQ,TBILLYIELD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TBILLEQ,TBILLYIELD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1133,7 +1133,7 @@ static GnmFuncHelp const help_tbillyield[] = {
         { GNM_FUNC_HELP_ARG, F_("maturity:maturity date")},
         { GNM_FUNC_HELP_ARG, F_("price:price")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("TBILLYIELD calculates the yield of a treasury bill.") },
-        { GNM_FUNC_HELP_SEEALSO, "TBILLEQ,TBILLPRICE"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TBILLEQ,TBILLPRICE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1172,8 +1172,8 @@ static GnmFuncHelp const help_rate[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("RATE calculates the rate of return.") },
 	TYPE_HELP,
 	{ GNM_FUNC_HELP_NOTE, F_("The optional @{guess} is needed because there can be more than one valid result.  It defaults to 10%.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RATE(10,-1500,10000,0)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV,FV"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RATE(10,-1500,10000,0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV,FV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1284,8 +1284,8 @@ static GnmFuncHelp const help_rri[] = {
 	TYPE_HELP,
 	{ GNM_FUNC_HELP_NOTE, F_("Note that @{p} need not be an integer but for fractional value the calculated rate is only approximate.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RRI(12,5000,10000)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV,FV,RATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RRI(12,5000,10000)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV,FV,RATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1315,9 +1315,9 @@ static GnmFuncHelp const help_irr[] = {
         { GNM_FUNC_HELP_ARG, F_("values:cash flow")},
         { GNM_FUNC_HELP_ARG, F_("guess:an estimate of what the result should be")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("IRR calculates the internal rate of return of a cash flow with periodic payments.  @{values} lists the payments (negative values) and receipts (positive values) for each period.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IRR({100;100;200;-450})" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IRR({100;100;200;-450})") },
 	{ GNM_FUNC_HELP_NOTE, F_("The optional @{guess} is needed because there can be more than one valid result.  It defaults to 10%.") },
-        { GNM_FUNC_HELP_SEEALSO, "XIRR"},
+        { GNM_FUNC_HELP_SEEALSO, F_("XIRR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1436,8 +1436,8 @@ static GnmFuncHelp const help_pv[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PV calculates the present value of @{fv} which is @{nper} periods into the future, assuming a periodic payment of @{pmt} and an interest rate of @{rate} per period.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_EXAMPLES, "=PV(10%,10,1000,20000,0)" },
-        { GNM_FUNC_HELP_SEEALSO, "FV"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PV(10%,10,1000,20000,0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("FV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1474,8 +1474,8 @@ static GnmFuncHelp const help_npv[] = {
         { GNM_FUNC_HELP_ARG, F_("value2:cash flow for period 2")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NPV calculates the net present value of a cash flow.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_EXAMPLES, "=NPV(10%,100,100,-250)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NPV(10%,100,100,-250)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1519,7 +1519,7 @@ static GnmFuncHelp const help_xnpv[] = {
         { GNM_FUNC_HELP_ARG, F_("dates:dates of cash flow")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("XNPV calculates the net present value of a cash flow at irregular times") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_SEEALSO, "NPV"},
+        { GNM_FUNC_HELP_SEEALSO, F_("NPV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1575,7 +1575,7 @@ static GnmFuncHelp const help_xirr[] = {
         { GNM_FUNC_HELP_ARG, F_("guess:an estimate of what the result should be")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("XIRR calculates the annualized internal rate of return of a cash flow at arbitrary points in time.  @{values} lists the payments (negative values) and receipts (positive values) with one value for each entry in @{dates}.") },
 	{ GNM_FUNC_HELP_NOTE, F_("The optional @{guess} is needed because there can be more than one valid result.  It defaults to 10%.") },
-        { GNM_FUNC_HELP_SEEALSO, "IRR"},
+        { GNM_FUNC_HELP_SEEALSO, F_("IRR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1671,8 +1671,8 @@ static GnmFuncHelp const help_fv[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("FV calculates the future value of @{pv} moved @{nper} periods into the future, assuming a periodic payment of @{pmt} and an interest rate of @{rate} per period.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_EXAMPLES, "=FV(10%,10,1000,20000,0)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FV(10%,10,1000,20000,0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1707,7 +1707,7 @@ static GnmFuncHelp const help_pmt[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PMT calculates the payment amount for an annuity.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_SEEALSO, "PV,FV,RATE,ISPMT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PV,FV,RATE,ISPMT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1738,8 +1738,8 @@ static GnmFuncHelp const help_ipmt[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("IPMT calculates the interest part of an annuity's payment for period number @{per}.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_EXAMPLES, "=IPMT(10%,4,10,1e6)" },
-        { GNM_FUNC_HELP_SEEALSO, "PPMT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IPMT(10%,4,10,1e6)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PPMT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1778,8 +1778,8 @@ static GnmFuncHelp const help_ppmt[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PPMT calculates the principal part of an annuity's payment for period number @{per}.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_EXAMPLES, "=PPMT(10%,4,10,1e6)" },
-        { GNM_FUNC_HELP_SEEALSO, "IPMT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PPMT(10%,4,10,1e6)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IPMT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1821,8 +1821,8 @@ static GnmFuncHelp const help_nper[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NPER calculates the number of periods of an investment based on periodic constant payments and a constant interest rate.") },
 	TYPE_HELP,
-	{ GNM_FUNC_HELP_EXAMPLES, "=NPER(6%,0,-10000,20000,0)" },
-        { GNM_FUNC_HELP_SEEALSO, "PV,FV"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NPER(6%,0,-10000,20000,0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PV,FV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1871,7 +1871,7 @@ static GnmFuncHelp const help_duration[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("DURATION calculates the duration of a security.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "MDURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("MDURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1911,7 +1911,7 @@ static GnmFuncHelp const help_g_duration[] = {
         { GNM_FUNC_HELP_ARG, F_("fv:future value")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("G_DURATION calculates the number of periods needed for an investment to attain a desired value.") },
 	{ GNM_FUNC_HELP_ODF, F_("G_DURATION is the OpenFormula function PDURATION.") },
-        { GNM_FUNC_HELP_SEEALSO, "FV,PV"},
+        { GNM_FUNC_HELP_SEEALSO, F_("FV,PV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1942,8 +1942,8 @@ static GnmFuncHelp const help_fvschedule[] = {
         { GNM_FUNC_HELP_ARG, F_("principal:initial value")},
         { GNM_FUNC_HELP_ARG, F_("schedule:range of interest rates")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("FVSCHEDULE calculates the future value of @{principal} after applying a range of interest rates with compounding.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FVSCHEDULE(1000,{0.1;0.02;0.1})" },
-        { GNM_FUNC_HELP_SEEALSO, "FV"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FVSCHEDULE(1000,{0.1;0.02;0.1})") },
+        { GNM_FUNC_HELP_SEEALSO, F_("FV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1992,8 +1992,8 @@ static GnmFuncHelp const help_euro[] = {
 				 "NLG (The Netherlands), or "
 				 "PTE (Portugal).") },
 	{ GNM_FUNC_HELP_NOTE, F_("This function is not likely to be useful anymore.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EURO(\"DEM\")" },
-        { GNM_FUNC_HELP_SEEALSO, "EUROCONVERT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EURO(\"DEM\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EUROCONVERT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2080,8 +2080,8 @@ static GnmFuncHelp const help_euroconvert[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("EUROCONVERT converts @{n} units of currency @{source} to currency @{target}.  The rates used are the official ones used on the introduction of the Euro.") },
 	{ GNM_FUNC_HELP_NOTE, F_("@{source} and @{target} must be one of the currencies listed for the EURO function.") },
 	{ GNM_FUNC_HELP_NOTE, F_("This function is not likely to be useful anymore.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EUROCONVERT(1,\"DEM\",\"ITL\")" },
-        { GNM_FUNC_HELP_SEEALSO, "EURO"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EUROCONVERT(1,\"DEM\",\"ITL\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EURO")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2112,7 +2112,7 @@ static GnmFuncHelp const help_price[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PRICE calculates the price per $100 face value of a security that pays periodic interest.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "YIELD,DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("YIELD,DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2162,7 +2162,7 @@ static GnmFuncHelp const help_yield[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("YIELD calculates the yield of a security that pays periodic interest.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "PRICE,DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PRICE,DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2268,7 +2268,7 @@ static GnmFuncHelp const help_yielddisc[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("YIELDDISC calculates the yield of a discounted security.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "PRICE,DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PRICE,DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2314,7 +2314,7 @@ static GnmFuncHelp const help_yieldmat[] = {
         { GNM_FUNC_HELP_ARG, F_("basis:calendar basis")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("YIELDMAT calculates the yield of a security for which the interest is paid at maturity date.") },
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "YIELDDISC,YIELD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("YIELDDISC,YIELD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2357,7 +2357,7 @@ static GnmFuncHelp const help_oddfprice[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ODDFPRICE calculates the price per $100 face value of a security that pays periodic interest, but has an odd first period.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "ODDLPRICE,ODDFYIELD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("ODDLPRICE,ODDFYIELD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2507,7 +2507,7 @@ static GnmFuncHelp const help_oddfyield[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ODDFYIELD calculates the yield of a security that pays periodic interest, but has an odd first period.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "ODDFPRICE,ODDLYIELD"},
+        { GNM_FUNC_HELP_SEEALSO, F_("ODDFPRICE,ODDLYIELD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2602,7 +2602,7 @@ static GnmFuncHelp const help_oddlprice[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ODDLPRICE calculates the price per $100 face value of a security that pays periodic interest, but has an odd last period.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "YIELD,DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("YIELD,DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2680,7 +2680,7 @@ static GnmFuncHelp const help_oddlyield[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ODDLYIELD calculates the yield of a security that pays periodic interest, but has an odd last period.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "YIELD,DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("YIELD,DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2760,8 +2760,8 @@ static GnmFuncHelp const help_amordegrc[] = {
 			"This is similar to AMORLINC, except that a depreciation coefficient is applied in the calculation depending on the life of the assets.") },
 	{ GNM_FUNC_HELP_NOTE, F_("Named for AMORtissement DEGRessif Comptabilite.") },
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=AMORDEGRC(2400,DATE(1998,8,19),DATE(1998,12,30),300,1,0.14,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "AMORLINC"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=AMORDEGRC(2400,DATE(1998,8,19),DATE(1998,12,30),300,1,0.14,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("AMORLINC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2807,8 +2807,8 @@ static GnmFuncHelp const help_amorlinc[] = {
 			"Assets purchased in the middle of a period take prorated depreciation into account. ") },
 	{ GNM_FUNC_HELP_NOTE, F_("Named for AMORtissement LINeaire Comptabilite.") },
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=AMORLINC(2400,DATE(1998,8,19),DATE(1998,12,30),300,1,0.14,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "AMORDEGRC"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=AMORLINC(2400,DATE(1998,8,19),DATE(1998,12,30),300,1,0.14,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("AMORDEGRC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2849,9 +2849,9 @@ static GnmFuncHelp const help_coupdaybs[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPDAYBS calculates the number of days from the beginning of the coupon period to the settlement date.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYBS(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYBS(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPDAYS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYBS(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYBS(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPDAYS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2873,9 +2873,9 @@ static GnmFuncHelp const help_coupdays[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPDAYS calculates the number of days in the coupon period of the settlement date.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYS(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYS(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPDAYBS,COUPDAYSNC"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYS(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYS(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPDAYBS,COUPDAYSNC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2897,9 +2897,9 @@ static GnmFuncHelp const help_coupdaysnc[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPDAYSNC calculates number of days from the settlement date to the next coupon period.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYSNC(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPDAYSNC(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPDAYS,COUPDAYBS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYSNC(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPDAYSNC(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPDAYS,COUPDAYBS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2921,9 +2921,9 @@ static GnmFuncHelp const help_coupncd[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPNCD calculates the coupon date following settlement.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPNCD(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPNCD(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPPCD,COUPDAYS,COUPDAYBS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPNCD(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPNCD(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPPCD,COUPDAYS,COUPDAYBS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2947,9 +2947,9 @@ static GnmFuncHelp const help_couppcd[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPPCD calculates the coupon date preceding settlement.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPPCD(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPPCD(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPNCD,COUPDAYS,COUPDAYBS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPPCD(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPPCD(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPNCD,COUPDAYS,COUPDAYBS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2973,9 +2973,9 @@ static GnmFuncHelp const help_coupnum[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("COUPNUM calculates the number of coupons to be paid between the settlement and maturity dates, rounded up.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPNUM(DATE(2002,11,29),DATE(2004,2,29),4,0)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COUPNUM(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)" },
-        { GNM_FUNC_HELP_SEEALSO, "COUPNCD,COUPPCD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPNUM(DATE(2002,11,29),DATE(2004,2,29),4,0)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COUPNUM(DATE(2002,11,29),DATE(2004,2,29),4,0,FALSE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COUPNCD,COUPPCD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2997,7 +2997,7 @@ static GnmFuncHelp const help_cumipmt[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("CUMIPMT calculates the cumulative interest paid on a loan from @{start_period} to @{end_period}.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_SEEALSO, "IPMT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("IPMT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3041,7 +3041,7 @@ static GnmFuncHelp const help_cumprinc[] = {
         { GNM_FUNC_HELP_ARG, F_("type:payment type")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("CUMPRINC calculates the cumulative principal paid on a loan from @{start_period} to @{end_period}.") },
 	TYPE_HELP,
-        { GNM_FUNC_HELP_SEEALSO, "PPMT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("PPMT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3086,7 +3086,7 @@ static GnmFuncHelp const help_mduration[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("MDURATION calculates the Macauley duration of a security.") },
 	FREQ_HELP,
 	GNM_DATE_BASIS_HELP
-        { GNM_FUNC_HELP_SEEALSO, "DURATION"},
+        { GNM_FUNC_HELP_SEEALSO, F_("DURATION")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3131,7 +3131,7 @@ static GnmFuncHelp const help_vdb[] = {
         { GNM_FUNC_HELP_ARG, F_("no_switch:do not switch to straight-line depreciation")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("VDB calculates the depreciation of an asset for a given period range using the double-declining balance method.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{no_switch} is FALSE, the calculation switches to straight-line depreciation when depreciation is greater than the declining balance calculation.") },
-        { GNM_FUNC_HELP_SEEALSO, "DB,DDB"},
+        { GNM_FUNC_HELP_SEEALSO, F_("DB,DDB")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3161,211 +3161,211 @@ gnumeric_vdb (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const financial_functions[] = {
-	{ "accrint", "ffffff|f",
+	{ F_("accrint"), "ffffff|f",
 	  help_accrint, gnumeric_accrint, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "accrintm", "fff|ff",
+	{ F_("accrintm"), "fff|ff",
 	  help_accrintm, gnumeric_accrintm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "amordegrc", "fffffff",
+	{ F_("amordegrc"), "fffffff",
 	  help_amordegrc, gnumeric_amordegrc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "amorlinc", "fffffff",
+	{ F_("amorlinc"), "fffffff",
 	  help_amorlinc, gnumeric_amorlinc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupdaybs", "fff|fb",
+	{ F_("coupdaybs"), "fff|fb",
 	  help_coupdaybs, gnumeric_coupdaybs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupdays", "fff|fb",
+	{ F_("coupdays"), "fff|fb",
 	  help_coupdays, gnumeric_coupdays, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupdaysnc", "fff|fb",
+	{ F_("coupdaysnc"), "fff|fb",
 	  help_coupdaysnc, gnumeric_coupdaysnc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupncd", "fff|fb",
+	{ F_("coupncd"), "fff|fb",
 	  help_coupncd, gnumeric_coupncd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupnum", "fff|fb",
+	{ F_("coupnum"), "fff|fb",
 	  help_coupnum, gnumeric_coupnum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "couppcd", "fff|fb",
+	{ F_("couppcd"), "fff|fb",
 	  help_couppcd, gnumeric_couppcd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_DATE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "cumipmt", "ffffff",
+	{ F_("cumipmt"), "ffffff",
 	  help_cumipmt, gnumeric_cumipmt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "cumprinc", "ffffff",
+	{ F_("cumprinc"), "ffffff",
 	  help_cumprinc, gnumeric_cumprinc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "db", "ffff|f",
+	{ F_("db"), "ffff|f",
 	  help_db, gnumeric_db, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ddb", "ffff|f",
+	{ F_("ddb"), "ffff|f",
 	  help_ddb, gnumeric_ddb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "disc", "ffff|f",
+	{ F_("disc"), "ffff|f",
 	  help_disc, gnumeric_disc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dollarde", "ff",
+	{ F_("dollarde"), "ff",
 	  help_dollarde, gnumeric_dollarde, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dollarfr", "ff",
+	{ F_("dollarfr"), "ff",
 	  help_dollarfr, gnumeric_dollarfr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "duration", "fffff|f",
+	{ F_("duration"), "fffff|f",
 	  help_duration, gnumeric_duration, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "effect", "ff",
+	{ F_("effect"), "ff",
 	  help_effect,	  gnumeric_effect, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "euro", "s",
+	{ F_("euro"), "s",
 	  help_euro,	  gnumeric_euro, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "euroconvert", "fss",
+	{ F_("euroconvert"), "fss",
 	  help_euroconvert, gnumeric_euroconvert, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "fv", "fff|ff",
+	{ F_("fv"), "fff|ff",
 	  help_fv,	  gnumeric_fv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "fvschedule", "fA",
+	{ F_("fvschedule"), "fA",
 	  help_fvschedule, gnumeric_fvschedule, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "g_duration", "fff",
+	{ F_("g_duration"), "fff",
 	  help_g_duration, gnumeric_g_duration, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "intrate", "ffff|f",
+	{ F_("intrate"), "ffff|f",
 	  help_intrate,  gnumeric_intrate, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ipmt", "ffff|ff",
+	{ F_("ipmt"), "ffff|ff",
 	  help_ipmt,	  gnumeric_ipmt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "irr", "A|f",
+	{ F_("irr"), "A|f",
 	  help_irr,	  gnumeric_irr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ispmt", "ffff",
+	{ F_("ispmt"), "ffff",
 	  help_ispmt,	gnumeric_ispmt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mduration", "fffff|f",
+	{ F_("mduration"), "fffff|f",
 	  help_mduration, gnumeric_mduration, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mirr", "Aff",
+	{ F_("mirr"), "Aff",
 	  help_mirr,	  gnumeric_mirr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "nominal", "ff",
+	{ F_("nominal"), "ff",
 	  help_nominal,  gnumeric_nominal, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "nper", "fff|ff",
+	{ F_("nper"), "fff|ff",
 	  help_nper,	  gnumeric_nper, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "npv", NULL,
+	{ F_("npv"), NULL,
 	  help_npv,	  NULL, gnumeric_npv, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "oddfprice", "fffffffff",
+	{ F_("oddfprice"), "fffffffff",
 	  help_oddfprice,  gnumeric_oddfprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "oddfyield", "fffffffff",
+	{ F_("oddfyield"), "fffffffff",
 	  help_oddfyield,  gnumeric_oddfyield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "oddlprice", "ffffffff",
+	{ F_("oddlprice"), "ffffffff",
 	  help_oddlprice,  gnumeric_oddlprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "oddlyield", "ffffffff",
+	{ F_("oddlyield"), "ffffffff",
 	  help_oddlyield,  gnumeric_oddlyield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pmt", "fff|ff",
+	{ F_("pmt"), "fff|ff",
 	  help_pmt,	  gnumeric_pmt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ppmt", "ffff|ff",
+	{ F_("ppmt"), "ffff|ff",
 	  help_ppmt,	  gnumeric_ppmt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "price", "ffffff|f",
+	{ F_("price"), "ffffff|f",
 	  help_price, gnumeric_price, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pricedisc", "ffff|f",
+	{ F_("pricedisc"), "ffff|f",
 	  help_pricedisc,  gnumeric_pricedisc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pricemat", "fffff|f",
+	{ F_("pricemat"), "fffff|f",
 	  help_pricemat,  gnumeric_pricemat, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pv", "fff|ff",
+	{ F_("pv"), "fff|ff",
 	  help_pv,	  gnumeric_pv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rate", "fff|fff",
+	{ F_("rate"), "fff|fff",
 	  help_rate,	  gnumeric_rate, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rri", "fff",
+	{ F_("rri"), "fff",
 	  help_rri,	  gnumeric_rri, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "received", "ffff|f",
+	{ F_("received"), "ffff|f",
 	  help_received,  gnumeric_received, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sln", "fff",
+	{ F_("sln"), "fff",
 	  help_sln,	  gnumeric_sln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "syd", "ffff",
+	{ F_("syd"), "ffff",
 	  help_syd,	  gnumeric_syd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tbilleq", "fff",
+	{ F_("tbilleq"), "fff",
 	  help_tbilleq,  gnumeric_tbilleq, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tbillprice", "fff",
+	{ F_("tbillprice"), "fff",
 	  help_tbillprice, gnumeric_tbillprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tbillyield", "fff",
+	{ F_("tbillyield"), "fff",
 	  help_tbillyield, gnumeric_tbillyield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "vdb", "fffff|ff",
+	{ F_("vdb"), "fffff|ff",
 	  help_vdb, gnumeric_vdb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "xirr", "AA|f",
+	{ F_("xirr"), "AA|f",
 	  help_xirr,	  gnumeric_xirr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "xnpv", "fAA",
+	{ F_("xnpv"), "fAA",
 	  help_xnpv,	  gnumeric_xnpv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_MONETARY,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "yield", "ffffff|f",
+	{ F_("yield"), "ffffff|f",
 	  help_yield, gnumeric_yield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_PERCENT,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "yielddisc", "ffff|f",
+	{ F_("yielddisc"), "ffff|f",
 	  help_yielddisc,  gnumeric_yielddisc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "yieldmat", "fffff|f",
+	{ F_("yieldmat"), "fffff|f",
 	  help_yieldmat,  gnumeric_yieldmat, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
         {NULL}
diff --git a/plugins/fn-financial/plugin.xml.in b/plugins/fn-financial/plugin.xml.in
index fbe41cc..3aa057f 100644
--- a/plugins/fn-financial/plugin.xml.in
+++ b/plugins/fn-financial/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="financial">
+		<service type="function_group" id="financial" gettext_domain="gnumeric-functions">
 			<_category>Finance</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="accrint"/>
diff --git a/plugins/fn-hebrew-date/functions.c b/plugins/fn-hebrew-date/functions.c
index 9683139..a2d6066 100644
--- a/plugins/fn-hebrew-date/functions.c
+++ b/plugins/fn-hebrew-date/functions.c
@@ -53,8 +53,8 @@ static GnmFuncHelp const help_hdate[] = {
         { GNM_FUNC_HELP_ARG, F_("year:year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE_HEB,DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE_HEB,DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -86,8 +86,8 @@ static GnmFuncHelp const help_hdate_heb[] = {
         { GNM_FUNC_HELP_ARG, F_("year:year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE_HEB(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE,DATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE_HEB(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE,DATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -121,8 +121,8 @@ static GnmFuncHelp const help_hdate_month[] = {
         { GNM_FUNC_HELP_ARG, F_("year:Gregorian year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:Gregorian month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:Gregorian day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE_MONTH(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE_JULIAN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE_MONTH(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE_JULIAN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -148,8 +148,8 @@ static GnmFuncHelp const help_hdate_day[] = {
         { GNM_FUNC_HELP_ARG, F_("year:Gregorian year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:Gregorian month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:Gregorian day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE_DAY(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE_JULIAN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE_DAY(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE_JULIAN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -175,8 +175,8 @@ static GnmFuncHelp const help_hdate_year[] = {
         { GNM_FUNC_HELP_ARG, F_("year:Gregorian year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:Gregorian month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:Gregorian day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE_YEAR(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE_JULIAN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE_YEAR(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE_JULIAN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -202,8 +202,8 @@ static GnmFuncHelp const help_hdate_julian[] = {
         { GNM_FUNC_HELP_ARG, F_("year:Gregorian year of date")},
         { GNM_FUNC_HELP_ARG, F_("month:Gregorian month of year")},
         { GNM_FUNC_HELP_ARG, F_("day:Gregorian day of month")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HDATE_JULIAN(2001,3,30)" },
-        { GNM_FUNC_HELP_SEEALSO, "HDATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HDATE_JULIAN(2001,3,30)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("HDATE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -225,32 +225,32 @@ gnumeric_hdate_julian (GnmFuncEvalInfo * ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const datetime_functions[] = {
-	{"hdate", "fff", help_hdate,
+	{F_("hdate"), "fff", help_hdate,
 	 gnumeric_hdate, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{"hdate_heb", "fff", help_hdate_heb,
+	{F_("hdate_heb"), "fff", help_hdate_heb,
 	 gnumeric_hdate_heb, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	 {"hdate_day", "fff", help_hdate_day,
+	 {F_("hdate_day"), "fff", help_hdate_day,
 	 gnumeric_hdate_day, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	 {"hdate_month", "fff", help_hdate_month,
+	 {F_("hdate_month"), "fff", help_hdate_month,
 	 gnumeric_hdate_month, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	 {"hdate_year", "fff", help_hdate_year,
+	 {F_("hdate_year"), "fff", help_hdate_year,
 	 gnumeric_hdate_year, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 	 GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	 {"hdate_julian", "fff", help_hdate_julian,
+	 {F_("hdate_julian"), "fff", help_hdate_julian,
 	 gnumeric_hdate_julian, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	 GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
diff --git a/plugins/fn-info/functions.c b/plugins/fn-info/functions.c
index cf31489..ab6b423 100644
--- a/plugins/fn-info/functions.c
+++ b/plugins/fn-info/functions.c
@@ -94,9 +94,9 @@ static GnmFuncHelp const help_cell[] = {
 					"  value          \t\tReturns the contents of the cell in @{cell}.\n"
 					"  width          \t\tReturns the column width.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=CELL(\"col\",A1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=CELL(\"width\",A1)" },
-        { GNM_FUNC_HELP_SEEALSO, "INDIRECT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CELL(\"col\",A1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CELL(\"width\",A1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("INDIRECT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1172,7 +1172,7 @@ static GnmFuncHelp const help_expression[] = {
         { GNM_FUNC_HELP_NAME, F_("EXPRESSION:expression in @cell as a string")},
         { GNM_FUNC_HELP_ARG, F_("cell:a cell reference")},
         { GNM_FUNC_HELP_NOTE, F_("If @{cell} contains no expression, EXPRESSION returns empty.")},
-        { GNM_FUNC_HELP_SEEALSO, "TEXT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("TEXT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1196,7 +1196,7 @@ gnumeric_expression (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 			char *expr_string = gnm_expr_top_as_string
 				(cell->base.texpr,
 				 parse_pos_init_cell (&pos, cell),
-				 gnm_conventions_default);
+				 gnm_conventions_default, TRUE);
 			return value_new_string_nocopy (expr_string);
 		}
 	}
@@ -1212,7 +1212,7 @@ static GnmFuncHelp const help_get_formula[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("If A1 is empty and A2 contains =B1+B2, then\n"
 				     "GET.FORMULA(A2) yields '=B1+B2' and\n"
 				     "GET.FORMULA(A1) yields ''.") },
-	{ GNM_FUNC_HELP_SEEALSO, "EXPRESSION,ISFORMULA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("EXPRESSION,ISFORMULA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1237,7 +1237,7 @@ gnumeric_get_formula (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 			out.accum = g_string_new ("=");
 			out.pp    = parse_pos_init_cell (&pp, cell);
 			out.convs = gnm_conventions_default;
-			gnm_expr_top_as_gstring (cell->base.texpr, &out);
+			gnm_expr_top_as_gstring (cell->base.texpr, &out, TRUE);
 			return value_new_string_nocopy (g_string_free (out.accum, FALSE));
 		}
 	}
@@ -1251,7 +1251,7 @@ static GnmFuncHelp const help_isformula[] = {
 	{ GNM_FUNC_HELP_NAME, F_("ISFORMULA:TRUE if @{cell} contains a formula.")},
 	{ GNM_FUNC_HELP_ARG, F_("cell:the referenced cell")},
 	{ GNM_FUNC_HELP_ODF, F_("ISFORMULA is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "GET.FORMULA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("GET.FORMULA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1283,7 +1283,7 @@ static GnmFuncHelp const help_countblank[] = {
         { GNM_FUNC_HELP_ARG, F_("range:a cell range")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
         { GNM_FUNC_HELP_EXAMPLES, F_("COUNTBLANK(A1:A20) returns the number of blank cell in A1:A20.") },
-        { GNM_FUNC_HELP_SEEALSO, "COUNT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("COUNT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1348,10 +1348,10 @@ static GnmFuncHelp const help_info[] = {
 					"  system       \t\tReturns the name of the environment.\n"
 					"  totmem       \t\tReturns the amount of total memory available.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=INFO(\"system\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=INFO(\"release\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=INFO(\"numfile\")" },
-        { GNM_FUNC_HELP_SEEALSO, "CELL"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=INFO(\"system\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=INFO(\"release\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=INFO(\"numfile\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CELL")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1437,9 +1437,9 @@ static GnmFuncHelp const help_iserror[] = {
         { GNM_FUNC_HELP_NAME, F_("ISERROR:TRUE if @{value} is any error value")},
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISERROR(NA())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISERROR(5/0)" },
-        { GNM_FUNC_HELP_SEEALSO, "ISERR,ISNA"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISERROR(NA())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISERROR(5/0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISERR,ISNA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1455,9 +1455,9 @@ static GnmFuncHelp const help_isna[] = {
         { GNM_FUNC_HELP_NAME, F_("ISNA:TRUE if @{value} is the #N/A error value.")},
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNA(NA())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNA(5/0)" },
-        { GNM_FUNC_HELP_SEEALSO, "NA"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNA(NA())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNA(5/0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("NA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1477,9 +1477,9 @@ static GnmFuncHelp const help_iserr[] = {
         { GNM_FUNC_HELP_NAME, F_("ISERR:TRUE if @{value} is any error value except #N/A")},
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISERR(NA())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISERR(5/0)" },
-        { GNM_FUNC_HELP_SEEALSO, "ISERROR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISERR(NA())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISERR(5/0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISERROR")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1504,9 +1504,9 @@ static GnmFuncHelp const help_error_type[] = {
 					"\t#NUM!    \t6\n"
 					"\t#N/A     \t\t7")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ERROR.TYPE(NA())" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ERROR.TYPE(ERROR(\"#X\"))" },
-        { GNM_FUNC_HELP_SEEALSO, "ISERROR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERROR.TYPE(NA())") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERROR.TYPE(ERROR(\"#X\"))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISERROR")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1531,9 +1531,9 @@ gnumeric_error_type (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_na[] = {
         { GNM_FUNC_HELP_NAME, F_("NA:the error value #N/A")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NA()" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNA(NA())" },
-        { GNM_FUNC_HELP_SEEALSO, "ISNA"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NA()") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNA(NA())") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISNA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1549,9 +1549,9 @@ gnumeric_na (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_error[] = {
         { GNM_FUNC_HELP_NAME, F_("ERROR:the error with name @{text}")},
         { GNM_FUNC_HELP_ARG, F_("name:string")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ERROR(\"#N/A\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNA(ERROR(\"#N/A\"))" },
-        { GNM_FUNC_HELP_SEEALSO, "ISERROR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ERROR(\"#N/A\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNA(ERROR(\"#N/A\"))") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISERROR")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1568,7 +1568,7 @@ static GnmFuncHelp const help_isblank[] = {
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("This function checks if a value is blank.  Empty cells are blank, but empty strings are not.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISBLANK(\"\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISBLANK(\"\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1584,8 +1584,8 @@ static GnmFuncHelp const help_iseven[] = {
         { GNM_FUNC_HELP_NAME, F_("ISEVEN:TRUE if @{n} is even.")},
         { GNM_FUNC_HELP_ARG, F_("n:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISEVEN(4)" },
-        { GNM_FUNC_HELP_SEEALSO, "ISODD"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISEVEN(4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISODD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1606,8 +1606,8 @@ static GnmFuncHelp const help_islogical[] = {
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("This function checks if a value is either TRUE or FALSE.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISLOGICAL(1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISLOGICAL(\"Gnumeric\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISLOGICAL(1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISLOGICAL(\"Gnumeric\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1623,8 +1623,8 @@ static GnmFuncHelp const help_isnontext[] = {
         { GNM_FUNC_HELP_NAME, F_("ISNONTEXT:TRUE if @{value} is not text.")},
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNONTEXT(\"Gnumeric\")" },
-        { GNM_FUNC_HELP_SEEALSO, "ISTEXT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNONTEXT(\"Gnumeric\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISTEXT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1641,8 +1641,8 @@ static GnmFuncHelp const help_isnumber[] = {
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("This function checks if a value is a number.  Neither TRUE nor FALSE are numbers for this purpose.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNUMBER(\"Gnumeric\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISNUMBER(PI())" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNUMBER(\"Gnumeric\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISNUMBER(PI())") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1658,8 +1658,8 @@ static GnmFuncHelp const help_isodd[] = {
         { GNM_FUNC_HELP_NAME, F_("ISODD:TRUE if @{n} is odd.")},
         { GNM_FUNC_HELP_ARG, F_("n:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISODD(3)" },
-        { GNM_FUNC_HELP_SEEALSO, "ISEVEN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISODD(3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISEVEN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1680,7 +1680,7 @@ static GnmFuncHelp const help_isref[] = {
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("This function checks if a value is a cell reference.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISREF(A1)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISREF(A1)") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1700,9 +1700,9 @@ static GnmFuncHelp const help_istext[] = {
         { GNM_FUNC_HELP_NAME, F_("ISTEXT:TRUE if @{value} is text.")},
         { GNM_FUNC_HELP_ARG, F_("value:a value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISTEXT(\"Gnumeric\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ISTEXT(34)" },
-        { GNM_FUNC_HELP_SEEALSO, "ISNONTEXT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISTEXT(\"Gnumeric\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ISTEXT(34)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ISNONTEXT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1719,7 +1719,7 @@ static GnmFuncHelp const help_n[] = {
         { GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{text} contains non-numerical text, 0 is returned.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=N(\"42\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=N(\"42\")") },
         { GNM_FUNC_HELP_EXAMPLES, F_("=N(\"eleven\")") },
         { GNM_FUNC_HELP_END}
 };
@@ -1756,8 +1756,8 @@ static GnmFuncHelp const help_type[] = {
 					"16 \t= error\n"
 					"64 \t= array")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TYPE(3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=TYPE(\"Gnumeric\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TYPE(3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TYPE(\"Gnumeric\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1792,7 +1792,7 @@ static GnmFuncHelp const help_getenv[] = {
         { GNM_FUNC_HELP_ARG, F_("name:the name of the environment variable")},
 	{ GNM_FUNC_HELP_NOTE, F_("If a variable called @{name} does not exist, #N/A! will be returned.") },
 	{ GNM_FUNC_HELP_NOTE, F_("Variable names are case sensitive.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=GETENV(\"HOME\")" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GETENV(\"HOME\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1811,78 +1811,78 @@ gnumeric_getenv (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const info_functions[] = {
-	{ "cell",	"sr",  help_cell,
+	{ F_("cell"),	"sr",  help_cell,
 	  gnumeric_cell, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUBSET_WITH_EXTENSIONS, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "error.type",	"E",  help_error_type,
+	{ F_("error.type"),	"E",  help_error_type,
 	  gnumeric_error_type, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "info",	"s",  help_info,
+	{ F_("info"),	"s",  help_info,
 	  gnumeric_info, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isblank",	"E",  help_isblank,
+	{ F_("isblank"),	"E",  help_isblank,
 	  gnumeric_isblank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iserr",	"E",    help_iserr,
+	{ F_("iserr"),	"E",    help_iserr,
 	  gnumeric_iserr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iserror",	"E",    help_iserror,
+	{ F_("iserror"),	"E",    help_iserror,
 	  gnumeric_iserror, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iseven",	"f",  help_iseven,
+	{ F_("iseven"),	"f",  help_iseven,
 	  gnumeric_iseven, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "islogical",	"E",  help_islogical,
+	{ F_("islogical"),	"E",  help_islogical,
 	  gnumeric_islogical, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isna",	"E",    help_isna,
+	{ F_("isna"),	"E",    help_isna,
 	  gnumeric_isna, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isnontext",	"E",  help_isnontext,
+	{ F_("isnontext"),	"E",  help_isnontext,
 	  gnumeric_isnontext, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isnumber",	"E",  help_isnumber,
+	{ F_("isnumber"),	"E",  help_isnumber,
 	  gnumeric_isnumber, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isodd",	"S",  help_isodd,
+	{ F_("isodd"),	"S",  help_isodd,
 	  gnumeric_isodd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isref",	NULL,  help_isref,
+	{ F_("isref"),	NULL,  help_isref,
 	  NULL, gnumeric_isref, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "istext",	"E",  help_istext,
+	{ F_("istext"),	"E",  help_istext,
 	  gnumeric_istext, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "n",		"S",  help_n,
+	{ F_("n"),		"S",  help_n,
 	  gnumeric_n, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "na",		"", help_na,
+	{ F_("na"),		"", help_na,
 	  gnumeric_na, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "type",	"?",  help_type,
+	{ F_("type"),	"?",  help_type,
 	  gnumeric_type, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
 /* XL stores this in statistical ? */
-        { "countblank",	"r",   help_countblank,
+        { F_("countblank"),	"r",   help_countblank,
 	  gnumeric_countblank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "error",	"s",   help_error,
+	{ F_("error"),	"s",   help_error,
 	  gnumeric_error, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-	{ "expression",	"r",    help_expression,
+	{ F_("expression"),	"r",    help_expression,
 	  gnumeric_expression, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 /* XLM : looks common in charts */
-	{ "get.formula", "r",    help_get_formula,
+	{ F_("get.formula"), "r",    help_get_formula,
 	  gnumeric_get_formula, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "isformula", "r",    help_isformula,
+	{ F_("isformula"), "r",    help_isformula,
 	  gnumeric_isformula, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{ "getenv",	"s",  help_getenv,
+	{ F_("getenv"),	"s",  help_getenv,
 	  gnumeric_getenv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
diff --git a/plugins/fn-info/plugin.xml.in b/plugins/fn-info/plugin.xml.in
index 923da51..0226197 100644
--- a/plugins/fn-info/plugin.xml.in
+++ b/plugins/fn-info/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="info">
+		<service type="function_group" id="info" gettext_domain="gnumeric-functions">
 			<_category>Information</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="cell"/>
diff --git a/plugins/fn-logical/functions.c b/plugins/fn-logical/functions.c
index 30884d5..104f0f8 100644
--- a/plugins/fn-logical/functions.c
+++ b/plugins/fn-logical/functions.c
@@ -50,10 +50,10 @@ static GnmFuncHelp const help_and[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If no logical values are provided, then the error #VALUE! is returned.")},
 	{ GNM_FUNC_HELP_NOTE, F_("This function is strict: if any argument is an error, the result will be the first such error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=AND(TRUE,FALSE)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=AND(0,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=AND(FALSE,NA())" },
-        { GNM_FUNC_HELP_SEEALSO, "OR,NOT,IF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=AND(TRUE,FALSE)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=AND(0,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=AND(FALSE,NA())") },
+        { GNM_FUNC_HELP_SEEALSO, F_("OR,NOT,IF")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Logical_conjunction") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -101,9 +101,9 @@ static GnmFuncHelp const help_not[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the argument is numerical, zero is considered FALSE and anything else TRUE.")},
 	{ GNM_FUNC_HELP_NOTE, F_("Strings and empty values are ignored.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NOT(FALSE)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=NOT(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "AND,OR,IF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NOT(FALSE)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NOT(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("AND,OR,IF")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Negation") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -129,10 +129,10 @@ static GnmFuncHelp const help_or[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If no logical values are provided, then the error #VALUE! is returned.")},
 	{ GNM_FUNC_HELP_NOTE, F_("This function is strict: if any argument is an error, the result will be the first such error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=OR(TRUE,FALSE)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=OR(0,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=OR(TRUE,NA())" },
-        { GNM_FUNC_HELP_SEEALSO, "AND,XOR,NOT,IF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OR(TRUE,FALSE)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OR(0,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=OR(TRUE,NA())") },
+        { GNM_FUNC_HELP_SEEALSO, F_("AND,XOR,NOT,IF")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Logical_disjunction") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -182,10 +182,10 @@ static GnmFuncHelp const help_xor[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("Strings and empty values are ignored.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If no logical values are provided, then the error #VALUE! is returned.")},
 	{ GNM_FUNC_HELP_NOTE, F_("This function is strict: if any argument is an error, the result will be the first such error.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=XOR(TRUE,FALSE)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=XOR(0,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=XOR(TRUE,NA())" },
-        { GNM_FUNC_HELP_SEEALSO, "OR,AND,NOT,IF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=XOR(TRUE,FALSE)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=XOR(0,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=XOR(TRUE,NA())") },
+        { GNM_FUNC_HELP_SEEALSO, F_("OR,AND,NOT,IF")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Exclusive_disjunction") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -231,8 +231,8 @@ static GnmFuncHelp const help_iferror[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:value to test for error.") },
 	{ GNM_FUNC_HELP_ARG, F_("y:alternate value.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the first value, unless that is an error, in which case it returns the second.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IFERROR(1/0,14)" },
-	{ GNM_FUNC_HELP_SEEALSO, "IF,ISERROR" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IFERROR(1/0,14)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("IF,ISERROR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -249,10 +249,10 @@ static GnmFuncHelp const help_ifna[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:value to test for #NA! error.") },
 	{ GNM_FUNC_HELP_ARG, F_("y:alternate value.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the first value, unless that is #NA!, in which case it returns the second.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IFNA(12,14)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=IFNA(1/0,14)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=IFNA(NA(),14)" },
-	{ GNM_FUNC_HELP_SEEALSO, "IF,ISERROR" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IFNA(12,14)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IFNA(1/0,14)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=IFNA(NA(),14)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("IF,ISERROR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -267,8 +267,8 @@ static GnmFuncHelp const help_true[] = {
 	{ GNM_FUNC_HELP_NAME, F_("TRUE:the value TRUE.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("TRUE returns the value TRUE.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TRUE()" },
-	{ GNM_FUNC_HELP_SEEALSO, "FALSE,IF" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TRUE()") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FALSE,IF") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Logical_value") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -285,8 +285,8 @@ static GnmFuncHelp const help_false[] = {
 	{ GNM_FUNC_HELP_NAME, F_("FALSE:the value FALSE.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("FALSE returns the value FALSE.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=FALSE()" },
-	{ GNM_FUNC_HELP_SEEALSO, "TRUE,IF" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FALSE()") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TRUE,IF") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Logical_value") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -300,34 +300,34 @@ gnumeric_false (GnmFuncEvalInfo *ei, GnmValue const * const *args)
 /***************************************************************************/
 
 GnmFuncDescriptor const logical_functions[] = {
-	{ "and", NULL,  help_and, NULL,
+	{ F_("and"), NULL,  help_and, NULL,
 	  gnumeric_and, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "or", NULL,  help_or, NULL,
+	{ F_("or"), NULL,  help_or, NULL,
 	  gnumeric_or, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "not", "b",  help_not, gnumeric_not,
+	{ F_("not"), "b",  help_not, gnumeric_not,
 	  NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iferror", "EE",  help_iferror,
+	{ F_("iferror"), "EE",  help_iferror,
 	  gnumeric_iferror, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "ifna", "EE",  help_ifna,
+	{ F_("ifna"), "EE",  help_ifna,
 	  gnumeric_ifna, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, 
 	  GNM_FUNC_TEST_STATUS_NO_TESTSUITE},
-	{ "true", "", help_true, gnumeric_true,
+	{ F_("true"), "", help_true, gnumeric_true,
 	  NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "false", "", help_false, gnumeric_false,
+	{ F_("false"), "", help_false, gnumeric_false,
 	  NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "xor", NULL,  help_xor, NULL,
+	{ F_("xor"), NULL,  help_xor, NULL,
 	  gnumeric_xor, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_UNITLESS,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
diff --git a/plugins/fn-logical/plugin.xml.in b/plugins/fn-logical/plugin.xml.in
index 5f8c878..ce4422c 100644
--- a/plugins/fn-logical/plugin.xml.in
+++ b/plugins/fn-logical/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="logical">
+		<service type="function_group" id="logical" gettext_domain="gnumeric-functions">
 			<_category>Logic</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="and"/>
diff --git a/plugins/fn-lookup/functions.c b/plugins/fn-lookup/functions.c
index 3a3e568..84e5f24 100644
--- a/plugins/fn-lookup/functions.c
+++ b/plugins/fn-lookup/functions.c
@@ -722,11 +722,11 @@ static GnmFuncHelp const help_address[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{row_num} or @{col_num} is less than one, ADDRESS returns "
 				 "#VALUE!")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{abs_num} is greater than 4 ADDRESS returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ADDRESS(5,4)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ADDRESS(5,4,4)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ADDRESS(5,4,4,FALSE)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ADDRESS(5,4,4,FALSE,\"Sheet99\")" },
-        { GNM_FUNC_HELP_SEEALSO, "COLUMNNUMBER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ADDRESS(5,4)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ADDRESS(5,4,4)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ADDRESS(5,4,4,FALSE)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ADDRESS(5,4,4,FALSE,\"Sheet99\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COLUMNNUMBER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -797,8 +797,8 @@ gnumeric_address (GnmFuncEvalInfo *ei, GnmValue const * const *args)
 static GnmFuncHelp const help_areas[] = {
 	{ GNM_FUNC_HELP_NAME, F_("AREAS:number of areas in @{reference}")},
         { GNM_FUNC_HELP_ARG, F_("reference:range")},
-        { GNM_FUNC_HELP_EXAMPLES, "=AREAS(A1,B2,C3)" },
-        { GNM_FUNC_HELP_SEEALSO, "ADDRESS,INDEX,INDIRECT,OFFSET"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=AREAS(A1,B2,C3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ADDRESS,INDEX,INDIRECT,OFFSET")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -871,8 +871,8 @@ static GnmFuncHelp const help_choose[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("@{index} is truncated to an integer. If @{index} < 1 "
 				 "or the truncated @{index} > number of values, CHOOSE "
 				 "returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=CHOOSE(3,\"Apple\",\"Orange\",\"Grape\",\"Perry\")" },
-        { GNM_FUNC_HELP_SEEALSO, "IF"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CHOOSE(3,\"Apple\",\"Orange\",\"Grape\",\"Perry\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("IF")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -928,7 +928,7 @@ static GnmFuncHelp const help_vlookup[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{approximate} is true, "
 				 "then the values must be sorted in order of ascending value.")},
 	{ GNM_FUNC_HELP_NOTE, F_("VLOOKUP returns #REF! if @{row} falls outside @{range}.")},
-        { GNM_FUNC_HELP_SEEALSO, "HLOOKUP"},
+        { GNM_FUNC_HELP_SEEALSO, F_("HLOOKUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -989,7 +989,7 @@ static GnmFuncHelp const help_hlookup[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{approximate} is true, "
 				 "then the values must be sorted in order of ascending value.")},
 	{ GNM_FUNC_HELP_NOTE, F_("HLOOKUP returns #REF! if @{row} falls outside @{range}.")},
-        { GNM_FUNC_HELP_SEEALSO, "VLOOKUP"},
+        { GNM_FUNC_HELP_SEEALSO, F_("VLOOKUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1047,7 +1047,7 @@ static GnmFuncHelp const help_lookup[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{value} is smaller than the first value it returns #N/A.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If the corresponding location does not exist in @{vector2}, "
 				 "it returns #N/A.")},
-        { GNM_FUNC_HELP_SEEALSO, "VLOOKUP,HLOOKUP"},
+        { GNM_FUNC_HELP_SEEALSO, F_("VLOOKUP,HLOOKUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1143,7 +1143,7 @@ static GnmFuncHelp const help_match[] = {
 				 "for @{type} = +1 the data must be sorted in ascending order.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{seek} could not be found, #N/A is returned.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{vector} is neither n by 1 nor 1 by n, #N/A is returned.")},
-        { GNM_FUNC_HELP_SEEALSO, "LOOKUP"},
+        { GNM_FUNC_HELP_SEEALSO, F_("LOOKUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1201,7 +1201,7 @@ static GnmFuncHelp const help_indirect[] = {
 				 "by @{format}, INDIRECT returns #REF!")},
         { GNM_FUNC_HELP_EXAMPLES, "If A1 contains 3.14 and A2 contains \"A1\", then\n"
 	   "INDIRECT(A2) equals 3.14." },
-        { GNM_FUNC_HELP_SEEALSO, "AREAS,INDEX,CELL"},
+        { GNM_FUNC_HELP_SEEALSO, F_("AREAS,INDEX,CELL")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1324,10 +1324,10 @@ static GnmFuncHelp const help_column[] = {
 					"from the first column to the last column of @{reference}.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither an array nor a reference nor a range, "
 				 "returns #VALUE!") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COLUMN(A1:C4)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COLUMN(A:C)" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COLUMN(A1:C4)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COLUMN(A:C)") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("column() in G13 equals 7.") },
-	{ GNM_FUNC_HELP_SEEALSO, "COLUMNS,ROW,ROWS" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COLUMNS,ROW,ROWS") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1369,8 +1369,8 @@ static GnmFuncHelp const help_columnnumber[] = {
 	{ GNM_FUNC_HELP_NAME, F_("COLUMNNUMBER:column number for the given column called @{name}")},
         { GNM_FUNC_HELP_ARG, F_("name:column name such as \"IV\"")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{name} is invalid, COLUMNNUMBER returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=COLUMNNUMBER(\"E\")" },
-        { GNM_FUNC_HELP_SEEALSO, "ADDRESS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COLUMNNUMBER(\"E\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ADDRESS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1397,8 +1397,8 @@ static GnmFuncHelp const help_columns[] = {
         { GNM_FUNC_HELP_ARG, F_("reference:array or area")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither an array nor a reference nor a range, "
 				 "COLUMNS returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=COLUMNS(H2:J3)" },
-        { GNM_FUNC_HELP_SEEALSO, "COLUMN,ROW,ROWS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COLUMNS(H2:J3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COLUMN,ROW,ROWS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1422,7 +1422,7 @@ static GnmFuncHelp const help_offset[] = {
 					"width @{width}.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{range} is neither a reference nor a range, OFFSET "
 				 "returns #VALUE!")},
-        { GNM_FUNC_HELP_SEEALSO, "COLUMN,COLUMNS,ROWS,INDEX,INDIRECT,ADDRESS"},
+        { GNM_FUNC_HELP_SEEALSO, F_("COLUMN,COLUMNS,ROWS,INDEX,INDIRECT,ADDRESS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1476,9 +1476,9 @@ static GnmFuncHelp const help_row[] = {
 					"from the first row to the last row of @{reference}.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither an array nor a reference nor a range, "
 				 "returns #VALUE!") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ROW(A1:D3)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ROW(1:3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "COLUMN,COLUMNS,ROWS" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ROW(A1:D3)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ROW(1:3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COLUMN,COLUMNS,ROWS") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1521,8 +1521,8 @@ static GnmFuncHelp const help_rows[] = {
         { GNM_FUNC_HELP_ARG, F_("reference:array, reference, or range")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither an array nor a reference nor a range, "
 				 "ROWS returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROWS(H7:I13)" },
-        { GNM_FUNC_HELP_SEEALSO, "COLUMN,COLUMNS,ROW"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROWS(H7:I13)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COLUMN,COLUMNS,ROW")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1539,9 +1539,9 @@ static GnmFuncHelp const help_sheets[] = {
         { GNM_FUNC_HELP_ARG, F_("reference:array, reference, or range, defaults to the maximum range")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither an array nor a reference nor a range, "
 				 "SHEETS returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEETS(Sheet1!H7:Sheet2!I13)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEETS()" },
-        { GNM_FUNC_HELP_SEEALSO, "COLUMNS,ROWS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEETS(Sheet1!H7:Sheet2!I13)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEETS()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COLUMNS,ROWS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1578,11 +1578,11 @@ static GnmFuncHelp const help_sheet[] = {
         { GNM_FUNC_HELP_ARG, F_("reference:reference or literal sheet name, defaults to the current sheet")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{reference} is neither a reference nor a literal sheet name, "
 				 "SHEETS returns #VALUE!")},
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEET(Sheet2!H7)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEET(Sheet2!H7:Z8)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEET()" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SHEET(\"Sheet1\")" },
-        { GNM_FUNC_HELP_SEEALSO, "SHEETS,ROW,COLUMNNUMBER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEET(Sheet2!H7)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEET(Sheet2!H7:Z8)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEET()") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SHEET(\"Sheet1\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("SHEETS,ROW,COLUMNNUMBER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1631,8 +1631,8 @@ static GnmFuncHelp const help_hyperlink[] = {
         { GNM_FUNC_HELP_ARG, F_("label:string, optional")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("HYPERLINK function currently returns its 2nd argument, "
 					"or if that is omitted the 1st argument.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HYPERLINK(\"www.gnome.org\",\"GNOME\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=HYPERLINK(\"www.gnome.org\")" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HYPERLINK(\"www.gnome.org\",\"GNOME\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HYPERLINK(\"www.gnome.org\")") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1650,7 +1650,7 @@ gnumeric_hyperlink (GnmFuncEvalInfo *ei, GnmValue const * const *args)
 static GnmFuncHelp const help_transpose[] = {
 	{ GNM_FUNC_HELP_NAME, F_("TRANSPOSE:the transpose of @{matrix}")},
         { GNM_FUNC_HELP_ARG, F_("matrix:range")},
-        { GNM_FUNC_HELP_SEEALSO, "MMULT"},
+        { GNM_FUNC_HELP_SEEALSO, F_("MMULT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1686,61 +1686,61 @@ gnumeric_transpose (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const lookup_functions[] = {
-	{ "address",   "ff|fbs",
+	{ F_("address"),   "ff|fbs",
 	  help_address,  gnumeric_address, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "areas", NULL,
+	{ F_("areas"), NULL,
 	  help_areas,	NULL,	gnumeric_areas, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "choose", NULL,
+        { F_("choose"), NULL,
 	  help_choose,	NULL,	gnumeric_choose, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "column",     "|A",
+	{ F_("column"),     "|A",
 	  help_column,   gnumeric_column, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "columnnumber", "s",
+	{ F_("columnnumber"), "s",
 	  help_columnnumber, gnumeric_columnnumber, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "columns",   "A",
+	{ F_("columns"),   "A",
 	  help_columns, gnumeric_columns, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hlookup",   "EAf|bb",
+	{ F_("hlookup"),   "EAf|bb",
 	  help_hlookup, gnumeric_hlookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hyperlink", "s|s",
+	{ F_("hyperlink"), "s|s",
 	  help_hyperlink, gnumeric_hyperlink, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUBSET, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "indirect",  "s|b",
+	{ F_("indirect"),  "s|b",
 	  help_indirect, gnumeric_indirect, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "index",     "A|fff",
+	{ F_("index"),     "A|fff",
 	  help_index,    NULL, gnumeric_index, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "lookup",    "EA|r",
+	{ F_("lookup"),    "EA|r",
 	  help_lookup,   gnumeric_lookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "match",     "EA|f",
+	{ F_("match"),     "EA|f",
 	  help_match,    gnumeric_match, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "offset",    "rff|ff",
+	{ F_("offset"),    "rff|ff",
 	  help_offset,   gnumeric_offset, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "row",       "|A",
+	{ F_("row"),       "|A",
 	  help_row,      gnumeric_row, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rows",      "A",
+	{ F_("rows"),      "A",
 	  help_rows,     gnumeric_rows, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sheets",      "|A",
+	{ F_("sheets"),      "|A",
 	  help_sheets,     gnumeric_sheets, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "sheet",      "|?",
+	{ F_("sheet"),      "|?",
 	  help_sheet,     gnumeric_sheet, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "transpose", "A",
+	{ F_("transpose"), "A",
 	  help_transpose, gnumeric_transpose, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "vlookup",   "EAf|bb",
+	{ F_("vlookup"),   "EAf|bb",
 	  help_vlookup, gnumeric_vlookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
diff --git a/plugins/fn-lookup/plugin.xml.in b/plugins/fn-lookup/plugin.xml.in
index 99e7b62..e209013 100644
--- a/plugins/fn-lookup/plugin.xml.in
+++ b/plugins/fn-lookup/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="lookup">
+		<service type="function_group" id="lookup" gettext_domain="gnumeric-functions">
 			<_category>Lookup</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="address"/>
diff --git a/plugins/fn-math/functions.c b/plugins/fn-math/functions.c
index 6047fe2..e3d062c 100644
--- a/plugins/fn-math/functions.c
+++ b/plugins/fn-math/functions.c
@@ -59,9 +59,9 @@ static GnmFuncHelp const help_gcd[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("GCD calculates the greatest common divisor of the given numbers @{n0},@{n1},..., the greatest integer that is a divisor of each argument.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If any of the arguments is not an integer, it is truncated.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=GCD(470,770)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=GCD(470,770,1495)" },
-        { GNM_FUNC_HELP_SEEALSO, "LCM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GCD(470,770)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GCD(470,770,1495)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LCM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -121,9 +121,9 @@ static GnmFuncHelp const help_lcm[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("LCM calculates the least common multiple of the given numbers @{n0},@{n1},..., the smallest integer that is a multiple of each argument.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If any of the arguments is not an integer, it is truncated.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LCM(2,13)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=LCM(4,7,5)" },
-        { GNM_FUNC_HELP_SEEALSO, "GCD"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LCM(2,13)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LCM(4,7,5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("GCD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -173,8 +173,8 @@ gnumeric_lcm (GnmFuncEvalInfo *ei, int argc, GnmExprConstPtr const *argv)
 static GnmFuncHelp const help_gd[] = {
 	{ GNM_FUNC_HELP_NAME, F_("GD:Gudermannian function")},
 	{ GNM_FUNC_HELP_ARG, F_("x:value")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=GD(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "TAN,TANH" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GD(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TAN,TANH") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Gudermannian.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Gudermannian_function") },
 	{ GNM_FUNC_HELP_END }
@@ -198,8 +198,8 @@ static GnmFuncHelp const help_hypot[] = {
         { GNM_FUNC_HELP_NAME, F_("HYPOT:the square root of the sum of the squares of the arguments.")},
 	{ GNM_FUNC_HELP_ARG, F_("n0:number")},
         { GNM_FUNC_HELP_ARG, F_("n1:number")},
-        { GNM_FUNC_HELP_EXAMPLES, "=HYPOT(3,4)" },
-        { GNM_FUNC_HELP_SEEALSO, "MIN,MAX"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=HYPOT(3,4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("MIN,MAX")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -222,9 +222,9 @@ static GnmFuncHelp const help_abs[] = {
         { GNM_FUNC_HELP_ARG, F_("x:number")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("ABS gives the absolute value of @{x}, i.e. the non-negative number of the same magnitude as @{x}.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ABS(7)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ABS(-3.14)" },
-        { GNM_FUNC_HELP_SEEALSO, "CEIL, CEILING, FLOOR, INT, MOD"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ABS(7)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ABS(-3.14)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CEIL, CEILING, FLOOR, INT, MOD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -240,9 +240,9 @@ static GnmFuncHelp const help_acos[] = {
         { GNM_FUNC_HELP_NAME, F_("ACOS:the arc cosine of @{x}")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ACOS(0.1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ACOS(-0.1)" },
-        { GNM_FUNC_HELP_SEEALSO, "COS, SIN, DEGREES, RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ACOS(0.1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ACOS(-0.1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("COS, SIN, DEGREES, RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -263,9 +263,9 @@ static GnmFuncHelp const help_acosh[] = {
         { GNM_FUNC_HELP_NAME, F_("ACOSH:the hyperbolic arc cosine of @{x}")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ACOSH(0.1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ACOSH(-0.1)" },
-        { GNM_FUNC_HELP_SEEALSO, "ACOS,ASINH,DEGREES,RADIANS "},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ACOSH(0.1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ACOSH(-0.1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ACOS,ASINH,DEGREES,RADIANS ")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -285,8 +285,8 @@ gnumeric_acosh (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_acot[] = {
 	{ GNM_FUNC_HELP_NAME, F_("ACOT:inverse cotangent of a value")},
 	{ GNM_FUNC_HELP_ARG, F_("x:value")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ACOT(0.2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "COT,TAN" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ACOT(0.2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COT,TAN") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:InverseCotangent.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
 	{ GNM_FUNC_HELP_END }
@@ -303,8 +303,8 @@ gnumeric_acot (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_acoth[] = {
 	{ GNM_FUNC_HELP_NAME, F_("ACOTH:inverse hyperbolic cotangent of a value")},
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ACOTH(2.2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "COTH,TANH" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ACOTH(2.2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COTH,TANH") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:InverseHyperbolicCotangent.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Inverse_hyperbolic_function") },
 	{ GNM_FUNC_HELP_END }
@@ -324,9 +324,9 @@ static GnmFuncHelp const help_asin[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("ASIN calculates the arc sine of @{x}; that is the value whose sine is @{x}.")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} falls outside the range -1 to 1, ASIN returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASIN(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASIN(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "SIN,COS,ASINH,DEGREES,RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASIN(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASIN(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("SIN,COS,ASINH,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -348,9 +348,9 @@ static GnmFuncHelp const help_asinh[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("ASINH calculates the inverse hyperbolic sine of @{x}; that is the value whose hyperbolic sine is @{x}.")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASINH(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ASINH(1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "ASIN,ACOSH,SIN,COS,DEGREES,RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASINH(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ASINH(1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("ASIN,ACOSH,SIN,COS,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -367,9 +367,9 @@ static GnmFuncHelp const help_atan[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("ATAN calculates the arc tangent of @{x}; that is the value whose tangent is @{x}.")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATAN(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATAN(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "TAN,COS,SIN,DEGREES,RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATAN(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATAN(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("TAN,COS,SIN,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -387,9 +387,9 @@ static GnmFuncHelp const help_atanh[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("ATANH calculates the inverse hyperbolic tangent of @{x}; that is the value whose hyperbolic tangent is @{x}.")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If the absolute value of @{x} is greater than 1.0, ATANH returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATANH(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATANH(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "ATAN,COS,SIN,DEGREES,RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATANH(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATANH(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ATAN,COS,SIN,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -412,9 +412,9 @@ static GnmFuncHelp const help_atan2[] = {
         { GNM_FUNC_HELP_ARG, F_("b2:angle in radians")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("ATAN2 calculates the arc tangent of the ratio @{b1}/@{b2} with the sign according to the quadrant containing (@{b1},@{b2}).")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATAN2(0.5,1.0)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=ATAN2(-0.5,2.0)" },
-        { GNM_FUNC_HELP_SEEALSO, "ATAN,ATANH,COS,SIN,DEGREES,RADIANS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATAN2(0.5,1.0)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ATAN2(-0.5,2.0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ATAN,ATANH,COS,SIN,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -437,10 +437,10 @@ static GnmFuncHelp const help_ceil[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("CEIL(@{x}) is the smallest integer that is at least as large as @{x}.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is the OpenFormula function CEILING(@{x}).")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEIL(0.4)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEIL(-1.1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEIL(-2.9)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CEILING,FLOOR,ABS,INT,MOD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEIL(0.4)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEIL(-1.1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEIL(-2.9)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CEILING,FLOOR,ABS,INT,MOD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -457,7 +457,7 @@ static GnmFuncHelp const help_countif[] = {
         { GNM_FUNC_HELP_ARG, F_("range:cell area")},
         { GNM_FUNC_HELP_ARG, F_("criteria: condition for a cell to be counted")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "COUNT,SUMIF"},
+        { GNM_FUNC_HELP_SEEALSO, F_("COUNT,SUMIF")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -532,7 +532,7 @@ static GnmFuncHelp const help_sumif[] = {
         { GNM_FUNC_HELP_ARG, F_("criteria: condition for a cell to be summed")},
         { GNM_FUNC_HELP_ARG, F_("actual_range: cell area, defaults to @{range}")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "SUM,COUNTIF"},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUM,COUNTIF")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -642,7 +642,7 @@ static GnmFuncHelp const help_averageif[] = {
         { GNM_FUNC_HELP_ARG, F_("criteria: condition for a cell to be included")},
         { GNM_FUNC_HELP_ARG, F_("actual_range: cell area, defaults to @{range}")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_SEEALSO, "SUMIF,COUNTIF"},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUMIF,COUNTIF")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -759,10 +759,10 @@ static GnmFuncHelp const help_ceiling[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} and @{significance} have different signs, CEILING returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_ODF, F_("CEILING(@{x}) is exported to ODF as CEILING(@{x},SIGN(@{x}),1). CEILING(@{x},@{significance}) is the OpenFormula function CEILING(@{x},@{significance},1).")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEILING(2.43,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEILING(123.123,3)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CEILING(-2.43,-1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CEIL,FLOOR,ABS,INT,MOD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEILING(2.43,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEILING(123.123,3)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CEILING(-2.43,-1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CEIL,FLOOR,ABS,INT,MOD")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -789,9 +789,9 @@ static GnmFuncHelp const help_cos[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Cosine.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COS(0.5)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COS(1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COS(0.5)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COS(1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -807,9 +807,9 @@ static GnmFuncHelp const help_cosh[] = {
 	{ GNM_FUNC_HELP_NAME, F_("COSH:Hyperbolic cosine function")},
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COSH(0.5)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COSH(1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COSH(0.5)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COSH(1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,TAN,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -824,8 +824,8 @@ gnumeric_cosh (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_cot[] = {
 	{ GNM_FUNC_HELP_NAME, F_("COT:cotangent of a value")},
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=COT(0.12)" },
-	{ GNM_FUNC_HELP_SEEALSO, "TAN,ACOT" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COT(0.12)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TAN,ACOT") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Cotangent.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
 	{ GNM_FUNC_HELP_END }
@@ -842,8 +842,8 @@ gnumeric_cot (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_coth[] = {
 	{ GNM_FUNC_HELP_NAME, F_("COTH:hyperbolic cotangent of a value")},
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=COTH(0.12)" },
-	{ GNM_FUNC_HELP_SEEALSO, "TANH,ACOTH" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COTH(0.12)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TANH,ACOTH") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:HyperbolicCotangent.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Hyperbolic_function") },
 	{ GNM_FUNC_HELP_END }
@@ -861,8 +861,8 @@ static GnmFuncHelp const help_degrees[] = {
         { GNM_FUNC_HELP_NAME, F_("DEGREES:Equivalent degrees to @{x} radians.")},
         { GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DEGREES(2.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RADIANS,PI"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DEGREES(2.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RADIANS,PI")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -880,8 +880,8 @@ static GnmFuncHelp const help_exp[] = {
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_NOTE, F_("e is the base of the natural logarithm.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EXP(2)" },
-        { GNM_FUNC_HELP_SEEALSO, "LOG, LOG2, LOG10"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EXP(2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LOG, LOG2, LOG10")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -897,8 +897,8 @@ static GnmFuncHelp const help_expm1[] = {
         { GNM_FUNC_HELP_NAME, F_("EXPM1:EXP(@{x})-1")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_NOTE, F_("This function has a higher resulting precision than evaluating EXP(@{x})-1.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EXPM1(0.01)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP, LN1P"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EXPM1(0.01)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP, LN1P")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -915,8 +915,8 @@ static GnmFuncHelp const help_fact[] = {
         { GNM_FUNC_HELP_ARG, F_("x:number")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_NOTE, F_("The domain of this function has been extended using the GAMMA function.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FACT(3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=FACT(9)" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FACT(3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FACT(9)") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -944,9 +944,9 @@ gnumeric_fact (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_gamma[] = {
         { GNM_FUNC_HELP_NAME, F_("GAMMA:the Gamma function")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=GAMMA(-1.8)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=GAMMA(2.4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "GAMMALN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GAMMA(-1.8)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=GAMMA(2.4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("GAMMALN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -975,8 +975,8 @@ static GnmFuncHelp const help_gammaln[] = {
 	{ GNM_FUNC_HELP_NAME, F_("GAMMALN:natural logarithm of the Gamma function.")},
 	{ GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=GAMMALN(23)" },
-	{ GNM_FUNC_HELP_SEEALSO, "GAMMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GAMMALN(23)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("GAMMA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1001,9 +1001,9 @@ static GnmFuncHelp const help_beta[] = {
         { GNM_FUNC_HELP_ARG, F_("y:number")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("BETA function returns the value of the Euler beta function extended to all real numbers except 0 and negative integers.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x}, @{y}, or (@{x} + @{y}) are non-positive integers, BETA returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BETA(2,3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=BETA(-0.5,0.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "BETALN,GAMMALN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BETA(2,3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BETA(-0.5,0.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BETALN,GAMMALN")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Beta_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -1026,9 +1026,9 @@ static GnmFuncHelp const help_betaln[] = {
         { GNM_FUNC_HELP_ARG, F_("y:number")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("BETALN function returns the natural logarithm of the absolute value of the Euler beta function extended to all real numbers except 0 and negative integers.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x}, @{y}, or (@{x} + @{y}) are non-positive integers, BETALN returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=BETALN(2,3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=BETALN(-0.5,0.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "BETA,GAMMALN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BETALN(2,3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=BETALN(-0.5,0.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("BETA,GAMMALN")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Beta_function") },
         { GNM_FUNC_HELP_END}
 };
@@ -1055,8 +1055,8 @@ static GnmFuncHelp const help_combin[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} is less than @{k} COMBIN returns #NUM!") },
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COMBIN(8,6)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=COMBIN(6,2)" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COMBIN(8,6)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COMBIN(6,2)") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Binomial_coefficient") },
         { GNM_FUNC_HELP_END}
 };
@@ -1082,11 +1082,11 @@ static GnmFuncHelp const help_combina[] = {
         { GNM_FUNC_HELP_ARG, F_("n:non-negative integer")},
         { GNM_FUNC_HELP_ARG, F_("k:non-negative integer")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=COMBINA(5,3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=COMBINA(6,3)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=COMBINA(42,3)" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=COMBINA(5,3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COMBINA(6,3)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=COMBINA(42,3)") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Multiset") },
-	{ GNM_FUNC_HELP_SEEALSO, "COMBIN" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COMBIN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -1112,11 +1112,11 @@ static GnmFuncHelp const help_floor[] = {
 			"FLOOR(@{x},@{significance}) is the nearest multiple of @{significance} whose absolute value is at most ABS(@{x})") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_ODF, F_("FLOOR(@{x}) is exported to ODF as FLOOR(@{x},SIGN(@{x}),1). FLOOR(@{x},@{significance}) is the OpenFormula function FLOOR(@{x},@{significance},1).")},
-       	{ GNM_FUNC_HELP_EXAMPLES, "=FLOOR(0.5)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FLOOR(5,2)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FLOOR(-5,-2)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FLOOR(-5,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CEIL,CEILING,ABS,INT,MOD" },
+       	{ GNM_FUNC_HELP_EXAMPLES, F_("=FLOOR(0.5)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FLOOR(5,2)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FLOOR(-5,-2)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FLOOR(-5,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CEIL,CEILING,ABS,INT,MOD") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1144,9 +1144,9 @@ static GnmFuncHelp const help_int[] = {
         { GNM_FUNC_HELP_NAME, F_("INT: largest integer not larger than @{x}")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
  	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=INT(7.2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=INT(-5.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "CEIL,CEILING,FLOOR,ABS,MOD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=INT(7.2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=INT(-5.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CEIL,CEILING,FLOOR,ABS,MOD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1166,9 +1166,9 @@ static GnmFuncHelp const help_log[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("@{base} must be positive and not equal to 1.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} \xe2\x89\xa4 0, LOG returns #NUM! error.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LOG(2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=LOG(8192,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "LN,LOG2,LOG10"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOG(2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOG(8192,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LN,LOG2,LOG10")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1194,8 +1194,8 @@ static GnmFuncHelp const help_ln[] = {
         { GNM_FUNC_HELP_ARG, F_("x:positive number")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} \xe2\x89\xa4 0, LN returns #NUM! error.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LN(7)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP,LOG2,LOG10"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LN(7)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP,LOG2,LOG10")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1218,8 +1218,8 @@ static GnmFuncHelp const help_ln1p[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("LN1P calculates LN(1+@{x}) but yielding a higher precision than evaluating LN(1+@{x}).")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} \xe2\x89\xa4 -1, LN returns #NUM! error.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LN1P(0.01)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP,LN,EXPM1"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LN1P(0.01)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP,LN,EXPM1")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1244,9 +1244,9 @@ static GnmFuncHelp const help_power[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} = 0 and @{y} < 0, POWER returns #DIV/0!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 and @{y} is not an integer, POWER returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=POWER(2,7)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=POWER(3,3.141)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=POWER(2,7)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=POWER(3,3.141)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1271,8 +1271,8 @@ static GnmFuncHelp const help_log2[] = {
         { GNM_FUNC_HELP_NAME, F_("LOG2:the base-2 logarithm of @{x}.")},
         { GNM_FUNC_HELP_ARG, F_("x:positive number")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} \xe2\x89\xa4 0, LOG2 returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LOG2(1024)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP,LOG10,LOG"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOG2(1024)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP,LOG10,LOG")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1293,8 +1293,8 @@ static GnmFuncHelp const help_log10[] = {
         { GNM_FUNC_HELP_NAME, F_("LOG10:the base-10 logarithm of @{x}.")},
         { GNM_FUNC_HELP_ARG, F_("x:positive number")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} \xe2\x89\xa4 0, LOG10 returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LOG10(1024)" },
-        { GNM_FUNC_HELP_SEEALSO, "EXP,LOG2,LOG"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOG10(1024)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXP,LOG2,LOG")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1318,9 +1318,9 @@ static GnmFuncHelp const help_mod[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("MOD function returns the remainder when @{x} is divided by @{n}.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} is 0, MOD returns #DIV/0!")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=MOD(23,7)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MOD(23,-7)" },
-        { GNM_FUNC_HELP_SEEALSO, "CEIL,CEILING,FLOOR,ABS,INT,ABS"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=MOD(23,7)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MOD(23,-7)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CEIL,CEILING,FLOOR,ABS,INT,ABS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1361,8 +1361,8 @@ static GnmFuncHelp const help_radians[] = {
         { GNM_FUNC_HELP_NAME, F_("RADIANS:the number of radians equivalent to @{x} degrees.")},
         { GNM_FUNC_HELP_ARG, F_("x:angle in degrees")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RADIANS(180)" },
-        { GNM_FUNC_HELP_SEEALSO, "PI,DEGREES"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RADIANS(180)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("PI,DEGREES")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1379,8 +1379,8 @@ static GnmFuncHelp const help_sin[] = {
 	{ GNM_FUNC_HELP_NAME, F_("SIN:Sine function")},
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SIN(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SIN(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Sine.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
 	{ GNM_FUNC_HELP_END }
@@ -1399,8 +1399,8 @@ static GnmFuncHelp const help_csc[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is not Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CSC(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,COS,TAN,SEC,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CSC(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,COS,TAN,SEC,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Cosecant.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
 	{ GNM_FUNC_HELP_END }
@@ -1419,8 +1419,8 @@ static GnmFuncHelp const help_csch[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is not Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CSCH(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CSCH(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:HyperbolicCosecant.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Hyperbolic_function") },
 	{ GNM_FUNC_HELP_END }
@@ -1439,8 +1439,8 @@ static GnmFuncHelp const help_sec[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is not Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("SEC(@{x}) is exported to OpenFormula as 1/COS(@{x}).") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SEC(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,COS,TAN,CSC,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SEC(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,COS,TAN,CSC,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Secant.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Trigonometric_functions") },
 	{ GNM_FUNC_HELP_END }
@@ -1459,8 +1459,8 @@ static GnmFuncHelp const help_sech[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is not Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("SECH(@{x}) is exported to OpenFormula as 1/COSH(@{x}).") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SECH(0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SECH(0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SIN,COS,TAN,CSC,SEC,SINH,COSH,TANH,RADIANS,DEGREES") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:HyperbolicSecant.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Hyperbolic_function") },
 	{ GNM_FUNC_HELP_END }
@@ -1476,9 +1476,9 @@ static GnmFuncHelp const help_sinh[] = {
         { GNM_FUNC_HELP_NAME, F_("SINH:the hyperbolic sine of @{x}")},
         { GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SINH(0.1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SINH(-0.1)" },
-        { GNM_FUNC_HELP_SEEALSO, "ACOS,ASINH,DEGREES,RADIANS "},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SINH(0.1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SINH(-0.1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("ACOS,ASINH,DEGREES,RADIANS ")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1495,8 +1495,8 @@ static GnmFuncHelp const help_sqrt[] = {
         { GNM_FUNC_HELP_ARG, F_("x:non-negative number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} is negative, SQRT returns #NUM!")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=SQRT(2)"},
-        { GNM_FUNC_HELP_SEEALSO, "POWER"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SQRT(2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("POWER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1517,8 +1517,8 @@ static GnmFuncHelp const help_suma[] = {
         { GNM_FUNC_HELP_ARG, F_("area0:first cell area")},
         { GNM_FUNC_HELP_ARG, F_("area1:second cell area")},
 	{ FUNCTION_A_DESC },
-        { GNM_FUNC_HELP_EXAMPLES, "=SUMA(11,TRUE,FALSE,12)"},
-        { GNM_FUNC_HELP_SEEALSO, "AVERAGE,SUM,COUNT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SUMA(11,TRUE,FALSE,12)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,SUM,COUNT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1541,8 +1541,8 @@ static GnmFuncHelp const help_sumsq[] = {
         { GNM_FUNC_HELP_ARG, F_("area0:first cell area")},
         { GNM_FUNC_HELP_ARG, F_("area1:second cell area")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SUMSQ(11,TRUE,FALSE,12)"},
-        { GNM_FUNC_HELP_SEEALSO, "SUM,COUNT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SUMSQ(11,TRUE,FALSE,12)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUM,COUNT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1565,8 +1565,8 @@ static GnmFuncHelp const help_multinomial[] = {
         { GNM_FUNC_HELP_ARG, F_("x2:second number")},
         { GNM_FUNC_HELP_ARG, F_("xn:nth number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MULTINOMIAL(2,3,4)"},
-        { GNM_FUNC_HELP_SEEALSO, "COMBIN,SUM"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MULTINOMIAL(2,3,4)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("COMBIN,SUM")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Multinomial_theorem") },
         { GNM_FUNC_HELP_END}
 };
@@ -1589,8 +1589,8 @@ static GnmFuncHelp const help_g_product[] = {
         { GNM_FUNC_HELP_ARG, F_("x1:number")},
         { GNM_FUNC_HELP_ARG, F_("x2:number")},
 	{ GNM_FUNC_HELP_NOTE, F_("Empty cells are ignored and the empty product is 1.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=G_PRODUCT(2,5,9)"},
-        { GNM_FUNC_HELP_SEEALSO, "SUM, COUNT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=G_PRODUCT(2,5,9)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUM, COUNT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1611,8 +1611,8 @@ static GnmFuncHelp const help_tan[] = {
         { GNM_FUNC_HELP_NAME, F_("TAN:tangent")},
         { GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TAN(3)"},
-        { GNM_FUNC_HELP_SEEALSO, "TANH,COS,COSH,SIN,SINH,DEGREES,RADIANS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TAN(3)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("TANH,COS,COSH,SIN,SINH,DEGREES,RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1628,8 +1628,8 @@ static GnmFuncHelp const help_tanh[] = {
         { GNM_FUNC_HELP_NAME, F_("TANH:hyperbolic tangent")},
         { GNM_FUNC_HELP_ARG, F_("x:angle in radians")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TANH(2)"},
-        { GNM_FUNC_HELP_SEEALSO, "TAN, SIN, SINH, COS, COSH, DEGREES, RADIANS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TANH(2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("TAN, SIN, SINH, COS, COSH, DEGREES, RADIANS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1644,8 +1644,8 @@ gnumeric_tanh (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_pi[] = {
         { GNM_FUNC_HELP_NAME, F_("PI:the constant \xcf\x80")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible, but it returns \xcf\x80 with a better precision.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=PI()" },
-        { GNM_FUNC_HELP_SEEALSO, "SQRTPI"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=PI()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("SQRTPI")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1663,9 +1663,9 @@ static GnmFuncHelp const help_trunc[] = {
         { GNM_FUNC_HELP_ARG, F_("x:non-negative integer, defaults to 0")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{d} is omitted or negative then it defaults to zero. If it is not an integer then it is truncated to an integer.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TRUNC(35.12)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=TRUNC(43.15,1)"},
-        { GNM_FUNC_HELP_SEEALSO, "INT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TRUNC(35.12)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TRUNC(43.15,1)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("INT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1698,9 +1698,9 @@ static GnmFuncHelp const help_even[] = {
         { GNM_FUNC_HELP_NAME, F_("EVEN: @{x} rounded away from 0 to the next even integer")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EVEN(5.4)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=EVEN(-5.4)"},
-        { GNM_FUNC_HELP_SEEALSO, "ODD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EVEN(5.4)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EVEN(-5.4)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ODD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1733,9 +1733,9 @@ static GnmFuncHelp const help_odd[] = {
         { GNM_FUNC_HELP_NAME, F_("ODD: @{x} rounded away from 0 to the next odd integer")},
         { GNM_FUNC_HELP_ARG, F_("x:number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ODD(5.4)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ODD(-5.4)"},
-        { GNM_FUNC_HELP_SEEALSO, "EVEN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ODD(5.4)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ODD(-5.4)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("EVEN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1770,8 +1770,8 @@ static GnmFuncHelp const help_factdouble[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("FACTDOUBLE function returns the double factorial @{x}!!")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} is not an integer, it is truncated. If @{x} is negative, FACTDOUBLE returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FACTDOUBLE(5)"},
-        { GNM_FUNC_HELP_SEEALSO, "FACT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FACTDOUBLE(5)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("FACT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1806,7 +1806,7 @@ static GnmFuncHelp const help_fib[] = {
         { GNM_FUNC_HELP_ARG, F_("n:positive integer")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("FIB(@{n}) is the @{n}th Fibonacci number.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} is not an integer, it is truncated. If it is negative or zero FIB returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=FIB(23)"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FIB(23)")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1849,8 +1849,8 @@ static GnmFuncHelp const help_quotient[] = {
         { GNM_FUNC_HELP_DESCRIPTION, F_("QUOTIENT yields the integer portion of the division @{numerator}/@{denominator}.\n"
 					"QUOTIENT (@{numerator},@{denominator})\xe2\xa8\x89@{denominator}+MOD(@{numerator},@{denominator})=@{numerator}")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=QUOTIENT(23,5)"},
-        { GNM_FUNC_HELP_SEEALSO, "MOD"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=QUOTIENT(23,5)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("MOD")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1874,10 +1874,10 @@ static GnmFuncHelp const help_sign[] = {
         { GNM_FUNC_HELP_ARG, F_("x:number")},
         { GNM_FUNC_HELP_DESCRIPTION, F_("SIGN returns 1 if the @{x} is positive and it returns -1 if @{x} is negative.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SIGN(3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=SIGN(-3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=SIGN(0)"},
-        { GNM_FUNC_HELP_SEEALSO, "ABS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SIGN(3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SIGN(-3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SIGN(0)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ABS")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1900,8 +1900,8 @@ static GnmFuncHelp const help_sqrtpi[] = {
         { GNM_FUNC_HELP_NAME, F_("SQRTPI:the square root of @{x} times \xcf\x80")},
 	{ GNM_FUNC_HELP_ARG, F_("x:non-negative number")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SQRTPI(2)"},
-        { GNM_FUNC_HELP_SEEALSO, "PI"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=SQRTPI(2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("PI")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1926,11 +1926,11 @@ static GnmFuncHelp const help_rounddown[] = {
 					"If @{d} is zero, @{x} is rounded toward 0 to the next integer.\n"
 					"If @{d} is less than zero, @{x} is rounded toward 0 to the left of the decimal point")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ROUNDDOWN(5.5)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDDOWN(-3.3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDDOWN(1501.15,1)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDDOWN(1501.15,-2)"},
-        { GNM_FUNC_HELP_SEEALSO, "ROUND,ROUNDUP"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDDOWN(5.5)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDDOWN(-3.3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDDOWN(1501.15,1)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDDOWN(1501.15,-2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ROUND,ROUNDUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1950,11 +1950,11 @@ static GnmFuncHelp const help_round[] = {
 					"If @{d} is zero, @{x} is rounded to the next integer.\n"
 					"If @{d} is less than zero, @{x} is rounded to the left of the decimal point")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ROUND(5.5)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUND(-3.3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUND(1501.15,1)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUND(1501.15,-2)"},
-        { GNM_FUNC_HELP_SEEALSO, "ROUNDDOWN,ROUNDUP"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ROUND(5.5)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUND(-3.3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUND(1501.15,1)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUND(1501.15,-2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ROUNDDOWN,ROUNDUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1991,11 +1991,11 @@ static GnmFuncHelp const help_roundup[] = {
 					"If @{d} is zero, @{x} is rounded away from 0 to the next integer.\n"
 					"If @{d} is less than zero, @{x} is rounded away from 0 to the left of the decimal point")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=ROUNDUP(5.5)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDUP(-3.3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDUP(1501.15,1)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROUNDUP(1501.15,-2)"},
-        { GNM_FUNC_HELP_SEEALSO, "ROUND,ROUNDDOWN,INT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDUP(5.5)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDUP(-3.3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDUP(1501.15,1)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROUNDUP(1501.15,-2)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ROUND,ROUNDDOWN,INT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2036,9 +2036,9 @@ static GnmFuncHelp const help_mround[] = {
         { GNM_FUNC_HELP_ARG, F_("m:number")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} and @{m} have different sign, MROUND returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MROUND(1.7,0.2)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=MROUND(321.123,0.12)"},
-        { GNM_FUNC_HELP_SEEALSO, "ROUNDDOWN,ROUND,ROUNDUP"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MROUND(1.7,0.2)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=MROUND(321.123,0.12)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("ROUNDDOWN,ROUND,ROUNDUP")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2084,15 +2084,15 @@ static GnmFuncHelp const help_arabic[] = {
 					"by the symbol amount, otherwise, it increases the "
 					"final amount by the symbol's amount.") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"I\")"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"CDLII\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"MCDXC\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"MDCCCXCIX\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"MCMXCIX\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"mmmcmxcix\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"MIM\")"},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ARABIC(\"IVM\")"},
-	{ GNM_FUNC_HELP_SEEALSO, "ROMAN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"I\")")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"CDLII\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"MCDXC\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"MDCCCXCIX\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"MCMXCIX\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"mmmcmxcix\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"MIM\")")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ARABIC(\"IVM\")")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("ROMAN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2163,11 +2163,11 @@ static GnmFuncHelp const help_roman[] = {
 					"Type 1 is more concise than classic type, type 2 is more concise than "
 					"type 1, and type 3 is more concise than type 2. Type 4 is a simplified type.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=ROMAN(999)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROMAN(999,1)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROMAN(999,2)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROMAN(999,3)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=ROMAN(999,4)"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROMAN(999)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROMAN(999,1)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROMAN(999,2)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROMAN(999,3)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=ROMAN(999,4)")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2413,7 +2413,7 @@ static GnmFuncHelp const help_sumx2my2[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, "Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.\n"
 	  "Then SUMX2MY2(A1:A5,B1:B5) yields -1299."},
-        { GNM_FUNC_HELP_SEEALSO, "SUMSQ,SUMX2PY2"},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUMSQ,SUMX2PY2")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2457,7 +2457,7 @@ static GnmFuncHelp const help_sumx2py2[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, "Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.\n"
 	  "Then SUMX2PY2(A1:A5,B1:B5) yields 7149."},
-        { GNM_FUNC_HELP_SEEALSO, "SUMSQ,SUMX2MY2"},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUMSQ,SUMX2MY2")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2500,7 +2500,7 @@ static GnmFuncHelp const help_sumxmy2[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, "Let us assume that the cells A1, A2, ..., A5 contain numbers 11, 15, 17, 21, and 43 and the cells B1, B2, ..., B5 hold numbers 13, 22, 31, 33, and 39.\n"
 	  "Then SUMXMY2(A1:A5,B1:B5) yields 409."},
-        { GNM_FUNC_HELP_SEEALSO, "SUMSQ,SUMX2MY2,SUMX2PY2"},
+        { GNM_FUNC_HELP_SEEALSO, F_("SUMSQ,SUMX2MY2,SUMX2PY2")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2543,7 +2543,7 @@ static GnmFuncHelp const help_seriessum[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, "Let us assume that the cells A1, A2, ..., A5 contain numbers 1.23, 2.32, 2.98, 3.42, and 4.33.\n"
 	  " Then SERIESSUM(2,1,2.23,A1:A5) evaluates as 5056.37439843926"},
-        { GNM_FUNC_HELP_SEEALSO, "COUNT,SUM"},
+        { GNM_FUNC_HELP_SEEALSO, F_("COUNT,SUM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2597,7 +2597,7 @@ static GnmFuncHelp const help_minverse[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{matrix} is not invertible, MINVERSE returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{matrix} does not contain an equal number of columns and rows, MINVERSE returns #VALUE!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MMULT, MDETERM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MMULT, MDETERM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2730,7 +2730,7 @@ static GnmFuncHelp const help_cholesky[] = {
         { GNM_FUNC_HELP_ARG, F_("matrix:a symmetric positive definite matrix")},
 	{ GNM_FUNC_HELP_NOTE, F_("If the Cholesky-Banachiewicz algorithm applied to @{matrix} fails, Cholesky returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{matrix} does not contain an equal number of columns and rows, CHOLESKY returns #VALUE!") },
-	{ GNM_FUNC_HELP_SEEALSO, "MINVERSE,MMULT,MDETERM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MINVERSE,MMULT,MDETERM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2816,7 +2816,7 @@ static GnmFuncHelp const help_munit[] = {
         { GNM_FUNC_HELP_NAME, F_("MUNIT:the @{n} by @{n} identity matrix")},
         { GNM_FUNC_HELP_ARG, F_("n:size of the matrix")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_SEEALSO, "MMULT,MDETERM,MINVERSE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MMULT,MDETERM,MINVERSE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2847,7 +2847,7 @@ static GnmFuncHelp const help_mmult[] = {
         { GNM_FUNC_HELP_ARG, F_("mat1:a matrix")},
         { GNM_FUNC_HELP_ARG, F_("mat2:a matrix")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "TRANSPOSE,MINVERSE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("TRANSPOSE,MINVERSE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2914,7 +2914,7 @@ static GnmFuncHelp const help_mdeterm[] = {
         { GNM_FUNC_HELP_ARG, F_("matrix:a square matrix")},
         { GNM_FUNC_HELP_EXAMPLES, "Let us assume that A1,...,A4 contain numbers 2, 3, 7, and 3; B1,..., B4 4, 2, 4, and 1; C1,...,C4 9, 4, 3; and 2; and D1,...,D4 7, 3, 6, and 5. Then MDETERM(A1:D4) yields 148."},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MMULT, MINVERSE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MMULT, MINVERSE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -2964,7 +2964,7 @@ static GnmFuncHelp const help_sumproduct[] = {
 	"numbers 13, 22, 31, 33, and 39.  Then\n"
 	"SUMPRODUCT(A1:A5,B1:B5) equals 3370.\n"
 #endif
-	{ GNM_FUNC_HELP_SEEALSO, "SUM,PRODUCT,G_PRODUCT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("SUM,PRODUCT,G_PRODUCT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3068,270 +3068,270 @@ done:
 /***************************************************************************/
 
 GnmFuncDescriptor const math_functions[] = {
-	{ "abs",     "f",     help_abs,
+	{ F_("abs"),     "f",     help_abs,
 	  gnumeric_abs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "acos",    "f",     help_acos,
+	{ F_("acos"),    "f",     help_acos,
 	  gnumeric_acos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "acosh",   "f",     help_acosh,
+	{ F_("acosh"),   "f",     help_acosh,
 	  gnumeric_acosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "acot",     "f",     help_acot,
+	{ F_("acot"),     "f",     help_acot,
 	  gnumeric_acot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "acoth",     "f",     help_acoth,
+	{ F_("acoth"),     "f",     help_acoth,
 	  gnumeric_acoth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "arabic",       "S",             help_arabic,
+        { F_("arabic"),       "S",             help_arabic,
 	  gnumeric_arabic, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "asin",    "f",     help_asin,
+	{ F_("asin"),    "f",     help_asin,
 	  gnumeric_asin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "asinh",   "f",     help_asinh,
+	{ F_("asinh"),   "f",     help_asinh,
 	  gnumeric_asinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atan",    "f",     help_atan,
+	{ F_("atan"),    "f",     help_atan,
 	  gnumeric_atan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atanh",   "f",     help_atanh,
+	{ F_("atanh"),   "f",     help_atanh,
 	  gnumeric_atanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atan2",   "ff",  help_atan2,
+	{ F_("atan2"),   "ff",  help_atan2,
 	  gnumeric_atan2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "beta",     "ff",      help_beta,
+	{ F_("beta"),     "ff",      help_beta,
 	  gnumeric_beta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "betaln",   "ff",      help_betaln,
+	{ F_("betaln"),   "ff",      help_betaln,
 	  gnumeric_betaln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "cholesky","A",      help_cholesky,
+	{ F_("cholesky"),"A",      help_cholesky,
 	  gnumeric_cholesky, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "cos",     "f",     help_cos,
+	{ F_("cos"),     "f",     help_cos,
 	  gnumeric_cos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "cosh",    "f",     help_cosh,
+	{ F_("cosh"),    "f",     help_cosh,
 	  gnumeric_cosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "cot",     "f",     help_cot,
+	{ F_("cot"),     "f",     help_cot,
 	  gnumeric_cot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "coth",     "f",     help_coth,
+	{ F_("coth"),     "f",     help_coth,
 	  gnumeric_coth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
 /* MS Excel puts this in statistical */
-	{ "countif", "rS",  help_countif,
+	{ F_("countif"), "rS",  help_countif,
 	  gnumeric_countif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "ceil",    "f",     help_ceil,
+	{ F_("ceil"),    "f",     help_ceil,
 	  gnumeric_ceil, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "ceiling", "f|f",  help_ceiling,
+	{ F_("ceiling"), "f|f",  help_ceiling,
 	  gnumeric_ceiling, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "degrees", "f",     help_degrees,
+	{ F_("degrees"), "f",     help_degrees,
 	  gnumeric_degrees, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "even",    "f",     help_even,
+	{ F_("even"),    "f",     help_even,
 	  gnumeric_even, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "exp",     "f",     help_exp,
+	{ F_("exp"),     "f",     help_exp,
 	  gnumeric_exp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "expm1",   "f",     help_expm1,
+	{ F_("expm1"),   "f",     help_expm1,
 	  gnumeric_expm1, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "fact",    "f",     help_fact,
+	{ F_("fact"),    "f",     help_fact,
 	  gnumeric_fact, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUPERSET, GNM_FUNC_TEST_STATUS_BASIC },
 
 /* MS Excel puts this in the engineering functions */
-	{ "factdouble", "f",  help_factdouble,
+	{ F_("factdouble"), "f",  help_factdouble,
 	  gnumeric_factdouble, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "fib", "f",  help_fib,
+	{ F_("fib"), "f",  help_fib,
 	  gnumeric_fib, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "combin",  "ff",       help_combin,
+	{ F_("combin"),  "ff",       help_combin,
 	  gnumeric_combin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "combina",  "ff",       help_combina,
+	{ F_("combina"),  "ff",       help_combina,
 	  gnumeric_combina, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "csc",     "f",     help_csc,
+	{ F_("csc"),     "f",     help_csc,
 	  gnumeric_csc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "csch",     "f",     help_csch,
+	{ F_("csch"),     "f",     help_csch,
 	  gnumeric_csch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "floor",   "f|f",   help_floor,
+	{ F_("floor"),   "f|f",   help_floor,
 	  gnumeric_floor, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gamma",    "f",     help_gamma,
+	{ F_("gamma"),    "f",     help_gamma,
 	  gnumeric_gamma, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "gammaln",      "f",
+	{ F_("gammaln"),      "f",
 	  help_gammaln, gnumeric_gammaln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gcd", NULL,  help_gcd,
+	{ F_("gcd"), NULL,  help_gcd,
 	  NULL, gnumeric_gcd, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gd",   "f",   help_gd,
+	{ F_("gd"),   "f",   help_gd,
 	  gnumeric_gd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "hypot", NULL, help_hypot,
+	{ F_("hypot"), NULL, help_hypot,
 	  NULL, gnumeric_hypot, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "int",     "f",     help_int,
+	{ F_("int"),     "f",     help_int,
 	  gnumeric_int, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "lcm", NULL, help_lcm,
+	{ F_("lcm"), NULL, help_lcm,
 	  NULL, gnumeric_lcm, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ln",      "f",     help_ln,
+	{ F_("ln"),      "f",     help_ln,
 	  gnumeric_ln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ln1p",    "f",     help_ln1p,
+	{ F_("ln1p"),    "f",     help_ln1p,
 	  gnumeric_ln1p, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "log",     "f|f",  help_log,
+	{ F_("log"),     "f|f",  help_log,
 	  gnumeric_log, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "log2",    "f",     help_log2,
+	{ F_("log2"),    "f",     help_log2,
 	  gnumeric_log2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "log10",   "f",     help_log10,
+	{ F_("log10"),   "f",     help_log10,
 	  gnumeric_log10, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mod",     "ff",  help_mod,
+	{ F_("mod"),     "ff",  help_mod,
 	  gnumeric_mod, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mround",  "ff",  help_mround,
+	{ F_("mround"),  "ff",  help_mround,
 	  gnumeric_mround, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "multinomial", NULL, help_multinomial,
+	{ F_("multinomial"), NULL, help_multinomial,
 	  NULL, gnumeric_multinomial, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "odd" ,    "f",     help_odd,
+	{ F_("odd"),    "f",     help_odd,
 	  gnumeric_odd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "power",   "ff",       help_power,
+	{ F_("power"),   "ff",       help_power,
 	  gnumeric_power, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "g_product", NULL,     help_g_product,
+	{ F_("g_product"), NULL,     help_g_product,
 	  NULL, gnumeric_g_product, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "quotient" , "ff",  help_quotient,
+	{ F_("quotient"), "ff",  help_quotient,
 	  gnumeric_quotient, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "radians", "f",     help_radians,
+	{ F_("radians"), "f",     help_radians,
 	  gnumeric_radians, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "roman",      "f|f",  help_roman,
+	{ F_("roman"),      "f|f",  help_roman,
 	  gnumeric_roman, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "round",      "f|f",  help_round,
+	{ F_("round"),      "f|f",  help_round,
 	  gnumeric_round, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rounddown",  "f|f",  help_rounddown,
+	{ F_("rounddown"),  "f|f",  help_rounddown,
 	  gnumeric_rounddown, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "roundup",    "f|f",  help_roundup,
+	{ F_("roundup"),    "f|f",  help_roundup,
 	  gnumeric_roundup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sec",     "f",     help_sec,
+	{ F_("sec"),     "f",     help_sec,
 	  gnumeric_sec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "sech",     "f",     help_sech,
+	{ F_("sech"),     "f",     help_sech,
 	  gnumeric_sech, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "seriessum", "fffA",  help_seriessum,
+	{ F_("seriessum"), "fffA",  help_seriessum,
 	  gnumeric_seriessum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sign",    "f",     help_sign,
+	{ F_("sign"),    "f",     help_sign,
 	  gnumeric_sign, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sin",     "f",     help_sin,
+	{ F_("sin"),     "f",     help_sin,
 	  gnumeric_sin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "sinh",    "f",     help_sinh,
+	{ F_("sinh"),    "f",     help_sinh,
 	  gnumeric_sinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "sqrt",    "f",     help_sqrt,
+	{ F_("sqrt"),    "f",     help_sqrt,
 	  gnumeric_sqrt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sqrtpi",  "f",     help_sqrtpi,
+	{ F_("sqrtpi"),  "f",     help_sqrtpi,
 	  gnumeric_sqrtpi, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "suma", NULL,  help_suma,
+	{ F_("suma"), NULL,  help_suma,
 	  NULL, gnumeric_suma, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumif",   "rS|r",  help_sumif,
+	{ F_("sumif"),   "rS|r",  help_sumif,
 	  gnumeric_sumif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "averageif",   "rS|r",  help_averageif,
+	{ F_("averageif"),   "rS|r",  help_averageif,
 	  gnumeric_averageif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "sumproduct", NULL,  help_sumproduct,
+	{ F_("sumproduct"), NULL,  help_sumproduct,
 	  NULL, gnumeric_sumproduct, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumsq", NULL,       help_sumsq,
+	{ F_("sumsq"), NULL,       help_sumsq,
 	  NULL, gnumeric_sumsq, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumx2my2", "AA",  help_sumx2my2,
+	{ F_("sumx2my2"), "AA",  help_sumx2my2,
 	  gnumeric_sumx2my2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumx2py2", "AA",  help_sumx2py2,
+	{ F_("sumx2py2"), "AA",  help_sumx2py2,
 	  gnumeric_sumx2py2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumxmy2",  "AA",  help_sumxmy2,
+	{ F_("sumxmy2"),  "AA",  help_sumxmy2,
 	  gnumeric_sumxmy2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tan",     "f",     help_tan,
+	{ F_("tan"),     "f",     help_tan,
 	  gnumeric_tan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "tanh",    "f",     help_tanh,
+	{ F_("tanh"),    "f",     help_tanh,
 	  gnumeric_tanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "trunc",   "f|f",  help_trunc,
+	{ F_("trunc"),   "f|f",  help_trunc,
 	  gnumeric_trunc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pi",      "", help_pi,
+	{ F_("pi"),      "", help_pi,
 	  gnumeric_pi, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "mmult",   "AA",  help_mmult,
+	{ F_("mmult"),   "AA",  help_mmult,
 	  gnumeric_mmult, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "minverse","A",      help_minverse,
+	{ F_("minverse"),"A",      help_minverse,
 	  gnumeric_minverse, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mdeterm", "A",  help_mdeterm,
+	{ F_("mdeterm"), "A",  help_mdeterm,
 	  gnumeric_mdeterm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "munit","f",      help_munit,
+	{ F_("munit"),"f",      help_munit,
 	  gnumeric_munit, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE,
 	  GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 #if 0
-	{ "logmdeterm", "A|si",
+	{ F_("logmdeterm"), "A|si",
 	  help_logmdeterm, gnumeric_logmdeterm, NULL, NULL, NULL },
 #endif
         {NULL}
diff --git a/plugins/fn-math/plugin.xml.in b/plugins/fn-math/plugin.xml.in
index a79e8ed..045499a 100644
--- a/plugins/fn-math/plugin.xml.in
+++ b/plugins/fn-math/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="math">
+		<service type="function_group" id="math" gettext_domain="gnumeric-functions">
 			<_category>Mathematics</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="abs"/>
diff --git a/plugins/fn-numtheory/numtheory.c b/plugins/fn-numtheory/numtheory.c
index 9d59fbb..9623aab 100644
--- a/plugins/fn-numtheory/numtheory.c
+++ b/plugins/fn-numtheory/numtheory.c
@@ -218,8 +218,8 @@ static GnmFuncHelp const help_phi[] = {
  	{ GNM_FUNC_HELP_NAME, F_("NT_PHI:Euler's totient function")},
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer")},
 	{ GNM_FUNC_HELP_NOTE, F_("Euler's totient function gives the number of integers less than or equal to @{n} that are relatively prime (coprime) to @{n}.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NT_PHI(9)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NT_D,ITHPRIME,NT_SIGMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NT_PHI(9)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NT_D,ITHPRIME,NT_SIGMA")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Euler's_totient_function") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -257,8 +257,8 @@ static GnmFuncHelp const help_nt_mu[] = {
 	     " an odd  number of different prime factors, NT_MU returns "
 	     "-1, and if @{n} has an even number of different prime factors,"
 	     " it returns 1. If @{n} = 1, NT_MU returns 1.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=NT_MU(45)" },
-	{ GNM_FUNC_HELP_SEEALSO, "ITHPRIME,NT_PHI,NT_SIGMA,NT_D"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NT_MU(45)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("ITHPRIME,NT_PHI,NT_SIGMA,NT_D")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Möbius_function") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:MoebiusFunction.html") },
 	{ GNM_FUNC_HELP_END }
@@ -293,8 +293,8 @@ static GnmFuncHelp const help_d[] = {
 	{ GNM_FUNC_HELP_NAME, F_("NT_D:number of divisors")},
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NT_D calculates the number of divisors of @{n}.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=NT_D(4096)" },
-	{ GNM_FUNC_HELP_SEEALSO, "ITHPRIME,NT_PHI,NT_SIGMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NT_D(4096)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("ITHPRIME,NT_PHI,NT_SIGMA")},
 	{ GNM_FUNC_HELP_END }
 };
 static void
@@ -325,8 +325,8 @@ static GnmFuncHelp const help_sigma[] = {
 	{ GNM_FUNC_HELP_NAME, F_("NT_SIGMA:sigma function") },
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NT_SIGMA calculates the sum of the divisors of @{n}.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NT_SIGMA(4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NT_D,ITHPRIME,NT_PHI" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NT_SIGMA(4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NT_D,ITHPRIME,NT_PHI") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Divisor_function") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -359,8 +359,8 @@ static GnmFuncHelp const help_ithprime[] = {
  	{ GNM_FUNC_HELP_NAME, F_("ITHPRIME:@{i}th prime")},
 	{ GNM_FUNC_HELP_ARG, F_("i:positive integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ITHPRIME finds the @{i}th prime.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ITHPRIME(7)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NT_D,NT_SIGMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ITHPRIME(7)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NT_D,NT_SIGMA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -385,8 +385,8 @@ static GnmFuncHelp const help_isprime[] = {
 	{ GNM_FUNC_HELP_NAME, F_("ISPRIME:whether @{n} is prime")},
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("ISPRIME returns TRUE if @{n} is prime and FALSE otherwise.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ISPRIME(57)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NT_D, NT_SIGMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ISPRIME(57)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NT_D, NT_SIGMA")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:PrimeNumber.html") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -442,8 +442,8 @@ static GnmFuncHelp const help_pfactor[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("PFACTOR finds the smallest prime factor of its argument.")},
 	{ GNM_FUNC_HELP_NOTE, F_("The argument @{n} must be at least 2. Otherwise a #VALUE! error is returned.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=PFACTOR(57)" },
-	{ GNM_FUNC_HELP_SEEALSO, "ITHPRIME"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=PFACTOR(57)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("ITHPRIME")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -472,8 +472,8 @@ static GnmFuncHelp const help_nt_pi[] = {
 	{ GNM_FUNC_HELP_NAME, F_("NT_PI:number of primes upto @{n}")},
 	{ GNM_FUNC_HELP_ARG, F_("n:positive integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("NT_PI returns the number of primes less than or equal to @{n}.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=NT_PI(11)" },
-	{ GNM_FUNC_HELP_SEEALSO, "ITHPRIME,NT_PHI,NT_D,NT_SIGMA"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NT_PI(11)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("ITHPRIME,NT_PHI,NT_D,NT_SIGMA")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:PrimeCountingFunction.html") },
 	{ GNM_FUNC_HELP_END }
 };
@@ -504,8 +504,8 @@ static GnmFuncHelp const help_bitor[] = {
 	{ GNM_FUNC_HELP_ARG, F_("a:non-negative integer")},
 	{ GNM_FUNC_HELP_ARG, F_("b:non-negative integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("BITOR returns the bitwise or of the binary representations of its arguments.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=BITOR(9,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BITXOR,BITAND"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BITOR(9,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BITXOR,BITAND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -528,8 +528,8 @@ static GnmFuncHelp const help_bitxor[] = {
 	{ GNM_FUNC_HELP_ARG, F_("a:non-negative integer")},
 	{ GNM_FUNC_HELP_ARG, F_("b:non-negative integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("BITXOR returns the bitwise exclusive or of the binary representations of its arguments.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=BITXOR(9,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BITOR,BITAND"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BITXOR(9,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BITOR,BITAND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -552,8 +552,8 @@ static GnmFuncHelp const help_bitand[] = {
 	{ GNM_FUNC_HELP_ARG, F_("a:non-negative integer")},
 	{ GNM_FUNC_HELP_ARG, F_("b:non-negative integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("BITAND returns the bitwise and of the binary representations of its arguments.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=BITAND(9,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BITOR,BITXOR"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BITAND(9,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BITOR,BITXOR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -578,8 +578,8 @@ static GnmFuncHelp const help_bitlshift[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n:integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("BITLSHIFT returns the binary representations of @{a} shifted @{n} positions to the left.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} is negative, BITLSHIFT shifts the bits to the right by ABS(@{n}) positions.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BITLSHIFT(9,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BITRSHIFT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BITLSHIFT(9,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BITRSHIFT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -608,8 +608,8 @@ static GnmFuncHelp const help_bitrshift[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n:integer")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("BITRSHIFT returns the binary representations of @{a} shifted @{n} positions to the right.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} is negative, BITRSHIFT shifts the bits to the left by ABS(@{n}) positions.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BITRSHIFT(137,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BITLSHIFT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BITRSHIFT(137,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BITLSHIFT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -640,28 +640,28 @@ go_plugin_shutdown (GOPlugin *plugin, GOCmdContext *cc)
 }
 
 const GnmFuncDescriptor num_theory_functions[] = {
-	{"ithprime", "f", help_ithprime,
+	{F_("ithprime"), "f", help_ithprime,
 	 &gnumeric_ithprime, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"pfactor", "f", help_pfactor,
+	{F_("pfactor"), "f", help_pfactor,
 	 &gnumeric_pfactor, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"nt_phi",   "f", help_phi,
+	{F_("nt_phi"),   "f", help_phi,
 	 &gnumeric_phi,      NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"nt_d",     "f", help_d,
+	{F_("nt_d"),     "f", help_d,
 	 &gnumeric_d,        NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"nt_sigma", "f", help_sigma,
+	{F_("nt_sigma"), "f", help_sigma,
 	 &gnumeric_sigma,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"isprime",  "f", help_isprime,
+	{F_("isprime"),  "f", help_isprime,
 	 &gnumeric_isprime,  NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"nt_pi",    "f", help_nt_pi,
+	{F_("nt_pi"),    "f", help_nt_pi,
 	 &gnumeric_nt_pi,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{"nt_mu",    "f", help_nt_mu,
+	{F_("nt_mu"),    "f", help_nt_mu,
 	 &gnumeric_nt_mu,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
@@ -669,19 +669,19 @@ const GnmFuncDescriptor num_theory_functions[] = {
 };
 
 const GnmFuncDescriptor bitwise_functions[] = {
-	{"bitor",     "ff", help_bitor,
+	{F_("bitor"),     "ff", help_bitor,
 	 &func_bitor,     NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitxor",    "ff", help_bitxor,
+	{F_("bitxor"),    "ff", help_bitxor,
 	 &func_bitxor,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitand",    "ff", help_bitand,
+	{F_("bitand"),    "ff", help_bitand,
 	 &func_bitand,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitlshift", "ff", help_bitlshift,
+	{F_("bitlshift"), "ff", help_bitlshift,
 	 &func_bitlshift, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitrshift", "ff", help_bitrshift,
+	{F_("bitrshift"), "ff", help_bitrshift,
 	 &func_bitrshift, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
 	{NULL}
diff --git a/plugins/fn-numtheory/plugin.xml.in b/plugins/fn-numtheory/plugin.xml.in
index 86c0a02..7f2daa4 100644
--- a/plugins/fn-numtheory/plugin.xml.in
+++ b/plugins/fn-numtheory/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="num_theory">
+		<service type="function_group" id="num_theory" gettext_domain="gnumeric-functions">
 			<_category>Number Theory</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="isprime"/>
@@ -21,7 +21,7 @@
 				<function name="pfactor"/>
 			</functions>
 		</service>
-		<service type="function_group" id="bitwise">
+		<service type="function_group" id="bitwise" gettext_domain="gnumeric-functions">
 			<_category>Bitwise Operations</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="bitand"/>
diff --git a/plugins/fn-r/functions.c b/plugins/fn-r/functions.c
index ccce62b..c8d8666 100644
--- a/plugins/fn-r/functions.c
+++ b/plugins/fn-r/functions.c
@@ -22,7 +22,7 @@ static GnmFuncHelp const help_r_dnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("sigma:standard deviation of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PNORM,R.QNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PNORM,R.QNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -48,7 +48,7 @@ static GnmFuncHelp const help_r_pnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DNORM,R.QNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DNORM,R.QNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -75,7 +75,7 @@ static GnmFuncHelp const help_r_qnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DNORM,R.PNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DNORM,R.PNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -101,7 +101,7 @@ static GnmFuncHelp const help_r_dlnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("logsd:standard deviation of the underlying normal distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the log-normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PLNORM,R.QLNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PLNORM,R.QLNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -127,7 +127,7 @@ static GnmFuncHelp const help_r_plnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the log-normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DLNORM,R.QLNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DLNORM,R.QLNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -154,7 +154,7 @@ static GnmFuncHelp const help_r_qlnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the log-normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DLNORM,R.PLNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DLNORM,R.PLNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -180,7 +180,7 @@ static GnmFuncHelp const help_r_dgamma[] = {
 	{ GNM_FUNC_HELP_ARG, F_("scale:the scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the gamma distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PGAMMA,R.QGAMMA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PGAMMA,R.QGAMMA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -206,7 +206,7 @@ static GnmFuncHelp const help_r_pgamma[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the gamma distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DGAMMA,R.QGAMMA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DGAMMA,R.QGAMMA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -233,7 +233,7 @@ static GnmFuncHelp const help_r_qgamma[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the gamma distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DGAMMA,R.PGAMMA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DGAMMA,R.PGAMMA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -259,7 +259,7 @@ static GnmFuncHelp const help_r_dbeta[] = {
 	{ GNM_FUNC_HELP_ARG, F_("b:the second scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the beta distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PBETA,R.QBETA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PBETA,R.QBETA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -285,7 +285,7 @@ static GnmFuncHelp const help_r_pbeta[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the beta distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DBETA,R.QBETA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DBETA,R.QBETA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -312,7 +312,7 @@ static GnmFuncHelp const help_r_qbeta[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the beta distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DBETA,R.PBETA" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DBETA,R.PBETA") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -337,7 +337,7 @@ static GnmFuncHelp const help_r_dt[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n:the number of degrees of freedom of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the Student t distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PT,R.QT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PT,R.QT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -361,7 +361,7 @@ static GnmFuncHelp const help_r_pt[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the Student t distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DT,R.QT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DT,R.QT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -386,7 +386,7 @@ static GnmFuncHelp const help_r_qt[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Student t distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DT,R.PT" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DT,R.PT") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -411,7 +411,7 @@ static GnmFuncHelp const help_r_df[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n2:the second number of degrees of freedom of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the F distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PF,R.QF" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PF,R.QF") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -437,7 +437,7 @@ static GnmFuncHelp const help_r_pf[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the F distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DF,R.QF" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DF,R.QF") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -464,7 +464,7 @@ static GnmFuncHelp const help_r_qf[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the F distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DF,R.PF" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DF,R.PF") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -490,7 +490,7 @@ static GnmFuncHelp const help_r_dchisq[] = {
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the chi-square distribution.") },
 	{ GNM_FUNC_HELP_ODF, F_("A two argument invocation R.DCHISQ(@{x},@{df}) is exported to OpenFormula as CHISQDIST(@{x},@{df},FALSE()).") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PCHISQ,R.QCHISQ" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PCHISQ,R.QCHISQ") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -515,7 +515,7 @@ static GnmFuncHelp const help_r_pchisq[] = {
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the chi-square distribution.") },
 	{ GNM_FUNC_HELP_ODF, F_("A two argument invocation R.PCHISQ(@{x},@{df}) is exported to OpenFormula as CHISQDIST(@{x},@{df}).") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DCHISQ,R.QCHISQ" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DCHISQ,R.QCHISQ") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -541,7 +541,7 @@ static GnmFuncHelp const help_r_qchisq[] = {
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the chi-square distribution.") },
 	{ GNM_FUNC_HELP_ODF, F_("A two argument invocation R.QCHISQ(@{p},@{df}) is exported to OpenFormula as CHISQINV(@{p},@{df}).") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DCHISQ,R.PCHISQ" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DCHISQ,R.PCHISQ") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -566,7 +566,7 @@ static GnmFuncHelp const help_r_dweibull[] = {
 	{ GNM_FUNC_HELP_ARG, F_("scale:the scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the Weibull distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PWEIBULL,R.QWEIBULL" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PWEIBULL,R.QWEIBULL") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -592,7 +592,7 @@ static GnmFuncHelp const help_r_pweibull[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the Weibull distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DWEIBULL,R.QWEIBULL" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DWEIBULL,R.QWEIBULL") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -619,7 +619,7 @@ static GnmFuncHelp const help_r_qweibull[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Weibull distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DWEIBULL,R.PWEIBULL" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DWEIBULL,R.PWEIBULL") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -644,7 +644,7 @@ static GnmFuncHelp const help_r_dpois[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lambda:the mean of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the Poisson distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PPOIS,R.QPOIS" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PPOIS,R.QPOIS") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -668,7 +668,7 @@ static GnmFuncHelp const help_r_ppois[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the Poisson distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DPOIS,R.QPOIS" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DPOIS,R.QPOIS") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -693,7 +693,7 @@ static GnmFuncHelp const help_r_qpois[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Poisson distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DPOIS,R.PPOIS" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DPOIS,R.PPOIS") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -717,7 +717,7 @@ static GnmFuncHelp const help_r_dexp[] = {
 	{ GNM_FUNC_HELP_ARG, F_("scale:the scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the exponential distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PEXP,R.QEXP" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PEXP,R.QEXP") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -741,7 +741,7 @@ static GnmFuncHelp const help_r_pexp[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the exponential distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DEXP,R.QEXP" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DEXP,R.QEXP") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -766,7 +766,7 @@ static GnmFuncHelp const help_r_qexp[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the exponential distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DEXP,R.PEXP" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DEXP,R.PEXP") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -791,7 +791,7 @@ static GnmFuncHelp const help_r_dbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("psuc:the probability of success in each trial") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PBINOM,R.QBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PBINOM,R.QBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -817,7 +817,7 @@ static GnmFuncHelp const help_r_pbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DBINOM,R.QBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DBINOM,R.QBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -844,7 +844,7 @@ static GnmFuncHelp const help_r_qbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DBINOM,R.PBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DBINOM,R.PBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -870,7 +870,7 @@ static GnmFuncHelp const help_r_dnbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("psuc:the probability of success in each trial") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the negative binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PNBINOM,R.QNBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PNBINOM,R.QNBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -896,7 +896,7 @@ static GnmFuncHelp const help_r_pnbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the negative binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DNBINOM,R.QNBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DNBINOM,R.QNBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -923,7 +923,7 @@ static GnmFuncHelp const help_r_qnbinom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the negative binomial distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DNBINOM,R.PNBINOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DNBINOM,R.PNBINOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -950,7 +950,7 @@ static GnmFuncHelp const help_r_dhyper[] = {
 	{ GNM_FUNC_HELP_ARG, F_("n:the number of balls drawn") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the hypergeometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PHYPER,R.QHYPER" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PHYPER,R.QHYPER") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -978,7 +978,7 @@ static GnmFuncHelp const help_r_phyper[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the hypergeometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DHYPER,R.QHYPER" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DHYPER,R.QHYPER") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1007,7 +1007,7 @@ static GnmFuncHelp const help_r_qhyper[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the hypergeometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DHYPER,R.PHYPER" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DHYPER,R.PHYPER") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1033,7 +1033,7 @@ static GnmFuncHelp const help_r_dgeom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("psuc:the probability of success in each trial") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the geometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PGEOM,R.QGEOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PGEOM,R.QGEOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1057,7 +1057,7 @@ static GnmFuncHelp const help_r_pgeom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the geometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DGEOM,R.QGEOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DGEOM,R.QGEOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1082,7 +1082,7 @@ static GnmFuncHelp const help_r_qgeom[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the geometric distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DGEOM,R.PGEOM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DGEOM,R.PGEOM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1107,7 +1107,7 @@ static GnmFuncHelp const help_r_dcauchy[] = {
 	{ GNM_FUNC_HELP_ARG, F_("scale:the scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the Cauchy distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PCAUCHY,R.QCAUCHY" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PCAUCHY,R.QCAUCHY") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1133,7 +1133,7 @@ static GnmFuncHelp const help_r_pcauchy[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the Cauchy distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DCAUCHY,R.QCAUCHY" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DCAUCHY,R.QCAUCHY") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1160,7 +1160,7 @@ static GnmFuncHelp const help_r_qcauchy[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability quantile function, i.e., the inverse of the cumulative distribution function, of the Cauchy distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DCAUCHY,R.PCAUCHY" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DCAUCHY,R.PCAUCHY") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1187,7 +1187,7 @@ static GnmFuncHelp const help_r_dsnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("scale:the scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("give_log:if true, log of the result will be returned instead") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the probability density function of the skew-normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.PSNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.PSNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1215,7 +1215,7 @@ static GnmFuncHelp const help_r_psnorm[] = {
 	{ GNM_FUNC_HELP_ARG, F_("lower_tail:if true (the default), the lower tail of the distribution is considered") },
 	{ GNM_FUNC_HELP_ARG, F_("log_p:if true, log of the probability is used") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function returns the cumulative distribution function of the skew-normal distribution.") },
-	{ GNM_FUNC_HELP_SEEALSO, "R.DSNORM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("R.DSNORM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1273,336 +1273,336 @@ go_plugin_shutdown (GOPlugin *plugin, GOCmdContext *cc)
 
 GnmFuncDescriptor const stat_functions[] = {
 	{
-		"r.dnorm",
+		F_("r.dnorm"),
 		"fff|b",
 		help_r_dnorm,
 		gnumeric_r_dnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pnorm",
+		F_("r.pnorm"),
 		"fff|bb",
 		help_r_pnorm,
 		gnumeric_r_pnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qnorm",
+		F_("r.qnorm"),
 		"fff|bb",
 		help_r_qnorm,
 		gnumeric_r_qnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dlnorm",
+		F_("r.dlnorm"),
 		"fff|b",
 		help_r_dlnorm,
 		gnumeric_r_dlnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.plnorm",
+		F_("r.plnorm"),
 		"fff|bb",
 		help_r_plnorm,
 		gnumeric_r_plnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qlnorm",
+		F_("r.qlnorm"),
 		"fff|bb",
 		help_r_qlnorm,
 		gnumeric_r_qlnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dgamma",
+		F_("r.dgamma"),
 		"fff|b",
 		help_r_dgamma,
 		gnumeric_r_dgamma, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pgamma",
+		F_("r.pgamma"),
 		"fff|bb",
 		help_r_pgamma,
 		gnumeric_r_pgamma, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qgamma",
+		F_("r.qgamma"),
 		"fff|bb",
 		help_r_qgamma,
 		gnumeric_r_qgamma, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dbeta",
+		F_("r.dbeta"),
 		"fff|b",
 		help_r_dbeta,
 		gnumeric_r_dbeta, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pbeta",
+		F_("r.pbeta"),
 		"fff|bb",
 		help_r_pbeta,
 		gnumeric_r_pbeta, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qbeta",
+		F_("r.qbeta"),
 		"fff|bb",
 		help_r_qbeta,
 		gnumeric_r_qbeta, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dt",
+		F_("r.dt"),
 		"ff|b",
 		help_r_dt,
 		gnumeric_r_dt, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pt",
+		F_("r.pt"),
 		"ff|bb",
 		help_r_pt,
 		gnumeric_r_pt, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qt",
+		F_("r.qt"),
 		"ff|bb",
 		help_r_qt,
 		gnumeric_r_qt, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.df",
+		F_("r.df"),
 		"fff|b",
 		help_r_df,
 		gnumeric_r_df, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pf",
+		F_("r.pf"),
 		"fff|bb",
 		help_r_pf,
 		gnumeric_r_pf, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qf",
+		F_("r.qf"),
 		"fff|bb",
 		help_r_qf,
 		gnumeric_r_qf, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dchisq",
+		F_("r.dchisq"),
 		"ff|b",
 		help_r_dchisq,
 		gnumeric_r_dchisq, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pchisq",
+		F_("r.pchisq"),
 		"ff|bb",
 		help_r_pchisq,
 		gnumeric_r_pchisq, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qchisq",
+		F_("r.qchisq"),
 		"ff|bb",
 		help_r_qchisq,
 		gnumeric_r_qchisq, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dweibull",
+		F_("r.dweibull"),
 		"fff|b",
 		help_r_dweibull,
 		gnumeric_r_dweibull, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pweibull",
+		F_("r.pweibull"),
 		"fff|bb",
 		help_r_pweibull,
 		gnumeric_r_pweibull, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qweibull",
+		F_("r.qweibull"),
 		"fff|bb",
 		help_r_qweibull,
 		gnumeric_r_qweibull, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dpois",
+		F_("r.dpois"),
 		"ff|b",
 		help_r_dpois,
 		gnumeric_r_dpois, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.ppois",
+		F_("r.ppois"),
 		"ff|bb",
 		help_r_ppois,
 		gnumeric_r_ppois, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qpois",
+		F_("r.qpois"),
 		"ff|bb",
 		help_r_qpois,
 		gnumeric_r_qpois, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dexp",
+		F_("r.dexp"),
 		"ff|b",
 		help_r_dexp,
 		gnumeric_r_dexp, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pexp",
+		F_("r.pexp"),
 		"ff|bb",
 		help_r_pexp,
 		gnumeric_r_pexp, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qexp",
+		F_("r.qexp"),
 		"ff|bb",
 		help_r_qexp,
 		gnumeric_r_qexp, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dbinom",
+		F_("r.dbinom"),
 		"fff|b",
 		help_r_dbinom,
 		gnumeric_r_dbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pbinom",
+		F_("r.pbinom"),
 		"fff|bb",
 		help_r_pbinom,
 		gnumeric_r_pbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qbinom",
+		F_("r.qbinom"),
 		"fff|bb",
 		help_r_qbinom,
 		gnumeric_r_qbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dnbinom",
+		F_("r.dnbinom"),
 		"fff|b",
 		help_r_dnbinom,
 		gnumeric_r_dnbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pnbinom",
+		F_("r.pnbinom"),
 		"fff|bb",
 		help_r_pnbinom,
 		gnumeric_r_pnbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qnbinom",
+		F_("r.qnbinom"),
 		"fff|bb",
 		help_r_qnbinom,
 		gnumeric_r_qnbinom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dhyper",
+		F_("r.dhyper"),
 		"ffff|b",
 		help_r_dhyper,
 		gnumeric_r_dhyper, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.phyper",
+		F_("r.phyper"),
 		"ffff|bb",
 		help_r_phyper,
 		gnumeric_r_phyper, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qhyper",
+		F_("r.qhyper"),
 		"ffff|bb",
 		help_r_qhyper,
 		gnumeric_r_qhyper, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dgeom",
+		F_("r.dgeom"),
 		"ff|b",
 		help_r_dgeom,
 		gnumeric_r_dgeom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pgeom",
+		F_("r.pgeom"),
 		"ff|bb",
 		help_r_pgeom,
 		gnumeric_r_pgeom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qgeom",
+		F_("r.qgeom"),
 		"ff|bb",
 		help_r_qgeom,
 		gnumeric_r_qgeom, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dcauchy",
+		F_("r.dcauchy"),
 		"fff|b",
 		help_r_dcauchy,
 		gnumeric_r_dcauchy, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pcauchy",
+		F_("r.pcauchy"),
 		"fff|bb",
 		help_r_pcauchy,
 		gnumeric_r_pcauchy, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qcauchy",
+		F_("r.qcauchy"),
 		"fff|bb",
 		help_r_qcauchy,
 		gnumeric_r_qcauchy, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dsnorm",
+		F_("r.dsnorm"),
 		"ffff|b",
 		help_r_dsnorm,
 		gnumeric_r_dsnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.psnorm",
+		F_("r.psnorm"),
 		"ffff|bb",
 		help_r_psnorm,
 		gnumeric_r_psnorm, NULL, NULL, NULL, NULL,
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dst",
+		F_("r.dst"),
 		"fff|b",
 		help_r_dst,
 		gnumeric_r_dst, NULL, NULL, NULL, NULL,
diff --git a/plugins/fn-r/plugin.xml.in b/plugins/fn-r/plugin.xml.in
index b5ee8c3..aef02c7 100644
--- a/plugins/fn-r/plugin.xml.in
+++ b/plugins/fn-r/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="rstat"/>
 	</loader>
 	<services>
-		<service type="function_group" id="stat">
+		<service type="function_group" id="stat" gettext_domain="gnumeric-functions">
 			<_category>Statistics</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="r.dbeta"/>
diff --git a/plugins/fn-random/functions.c b/plugins/fn-random/functions.c
index d4f5b94..474543f 100644
--- a/plugins/fn-random/functions.c
+++ b/plugins/fn-random/functions.c
@@ -45,9 +45,9 @@ GNM_PLUGIN_MODULE_HEADER;
 static GnmFuncHelp const help_rand[] = {
         { GNM_FUNC_HELP_NAME, F_("RAND:a random number between zero and one.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RAND()" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RAND()" },
-        { GNM_FUNC_HELP_SEEALSO, "RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RAND()") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RAND()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -64,9 +64,9 @@ static GnmFuncHelp const help_randuniform[] = {
         { GNM_FUNC_HELP_ARG, F_("a:lower limit of the uniform distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:upper limit of the uniform distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} > @{b} RANDUNIFORM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDUNIFORM(1.4,4.2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDUNIFORM(1.4,4.2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RANDBETWEEN,RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDUNIFORM(1.4,4.2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDUNIFORM(1.4,4.2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RANDBETWEEN,RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -94,9 +94,9 @@ static GnmFuncHelp const help_randdiscrete[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the sum of all values in @{prob_range} is not one, RANDDISCRETE returns #NUM!") },
  	{ GNM_FUNC_HELP_NOTE, F_("If @{val_range} and @{prob_range} are not the same size, RANDDISCRETE returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{val_range} or @{prob_range} is not a range, RANDDISCRETE returns #VALUE!") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RANDDISCRETE({1;3;5;7})" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDDISCRETE({1;3;5;7})" },
-        { GNM_FUNC_HELP_SEEALSO, "RANDBETWEEN,RAND" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RANDDISCRETE({1;3;5;7})") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDDISCRETE({1;3;5;7})") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RANDBETWEEN,RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -173,9 +173,9 @@ error:
 static GnmFuncHelp const help_randexp[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDEXP:random variate from an exponential distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the exponential distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDEXP(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDEXP(0.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDEXP(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDEXP(0.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -193,10 +193,10 @@ static GnmFuncHelp const help_randpoisson[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDPOISSON:random variate from a Poisson distribution") },
         { GNM_FUNC_HELP_ARG, F_("\xce\xbb:parameter of the Poisson distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{\xce\xbb} < 0 RANDPOISSON returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDPOISSON(30)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDPOISSON(30)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDPOISSON(-1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDPOISSON(30)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDPOISSON(30)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDPOISSON(-1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -219,9 +219,9 @@ static GnmFuncHelp const help_randbinom[] = {
         { GNM_FUNC_HELP_ARG, F_("n:number of trials") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 RANDBINOM returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} < 0 RANDBINOM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBINOM(0.5,10)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBINOM(0.5,10)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBINOM(0.5,10)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBINOM(0.5,10)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -246,9 +246,9 @@ static GnmFuncHelp const help_randbetween[] = {
         { GNM_FUNC_HELP_ARG, F_("top:upper limit") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{bottom} > @{top}, RANDBETWEEN returns #NUM!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBETWEEN(3,7)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBETWEEN(3,7)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDUNIFORM" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBETWEEN(3,7)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBETWEEN(3,7)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDUNIFORM") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -276,8 +276,8 @@ static GnmFuncHelp const help_randnegbinom[] = {
         { GNM_FUNC_HELP_ARG, F_("n:number of failures") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 RANDNEGBINOM returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} < 1 RANDNEGBINOM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDNEGBINOM(0.5,5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDNEGBINOM(0.5,5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -299,10 +299,10 @@ static GnmFuncHelp const help_randbernoulli[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDBERNOULLI:random variate from a Bernoulli distribution") },
         { GNM_FUNC_HELP_ARG, F_("p:probability of success") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 RANDBERNOULLI returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBERNOULLI(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBERNOULLI(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBERNOULLI(0.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDBETWEEN" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBERNOULLI(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBERNOULLI(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBERNOULLI(0.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDBETWEEN") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -324,9 +324,9 @@ static GnmFuncHelp const help_randnorm[] = {
         { GNM_FUNC_HELP_ARG, F_("\xce\xbc:mean of the distribution") },
         { GNM_FUNC_HELP_ARG, F_("\xcf\x83:standard deviation of the distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{\xcf\x83} < 0, RANDNORM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDNORM(0,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDNORM(0,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDNORM(0,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDNORM(0,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -348,9 +348,9 @@ static GnmFuncHelp const help_randcauchy[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDCAUCHY:random variate from a Cauchy or Lorentz distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:scale parameter of the distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} < 0 RANDCAUCHY returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDCAUCHY(1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDCAUCHY(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDCAUCHY(1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDCAUCHY(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -372,9 +372,9 @@ static GnmFuncHelp const help_randlognorm[] = {
         { GNM_FUNC_HELP_ARG, F_("\xce\xb6:parameter of the lognormal distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("\xcf\x83:standard deviation of the distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{\xcf\x83} < 0, RANDLOGNORM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOGNORM(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOGNORM(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOGNORM(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOGNORM(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -393,9 +393,9 @@ static GnmFuncHelp const help_randweibull[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDWEIBULL:random variate from a Weibull distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the Weibull distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the Weibull distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDWEIBULL(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDWEIBULL(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDWEIBULL(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDWEIBULL(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -413,9 +413,9 @@ gnumeric_randweibull (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_randlaplace[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDLAPLACE:random variate from a Laplace distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the Laplace distribution") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RANDLAPLACE(1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLAPLACE(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RANDLAPLACE(1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLAPLACE(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -432,9 +432,9 @@ gnumeric_randlaplace (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_randrayleigh[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDRAYLEIGH:random variate from a Rayleigh distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("\xcf\x83:scale parameter of the Rayleigh distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDRAYLEIGH(1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDRAYLEIGH(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDRAYLEIGH(1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDRAYLEIGH(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -452,9 +452,9 @@ static GnmFuncHelp const help_randrayleightail[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDRAYLEIGHTAIL:random variate from the tail of a Rayleigh distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:lower limit of the tail") },
 	{ GNM_FUNC_HELP_ARG, F_("\xcf\x83:scale parameter of the Rayleigh distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDRAYLEIGHTAIL(0.3,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDRAYLEIGHTAIL(0.3,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDRAYLEIGH" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDRAYLEIGHTAIL(0.3,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDRAYLEIGHTAIL(0.3,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDRAYLEIGH") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -474,9 +474,9 @@ static GnmFuncHelp const help_randgamma[] = {
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the Gamma distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the Gamma distribution") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} \xe2\x89\xa4 0, RANDGAMMA returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGAMMA(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGAMMA(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGAMMA(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGAMMA(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -498,9 +498,9 @@ static GnmFuncHelp const help_randpareto[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDPARETO:random variate from a Pareto distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the Pareto distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the Pareto distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDPARETO(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDPARETO(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDPARETO(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDPARETO(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -519,9 +519,9 @@ static GnmFuncHelp const help_randfdist[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDFDIST:random variate from an F distribution") },
 	{ GNM_FUNC_HELP_ARG, F_("df1:numerator degrees of freedom") },
         { GNM_FUNC_HELP_ARG, F_("df2:denominator degrees of freedom") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDFDIST(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDFDIST(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDGAMMA" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDFDIST(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDFDIST(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDGAMMA") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -540,9 +540,9 @@ static GnmFuncHelp const help_randbeta[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDBETA:random variate from a Beta distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the Beta distribution") },
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the Beta distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBETA(1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDBETA(1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDGAMMA" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBETA(1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDBETA(1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDGAMMA") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -560,9 +560,9 @@ gnumeric_randbeta (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_randlogistic[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDLOGISTIC:random variate from a logistic distribution") },
         { GNM_FUNC_HELP_ARG, F_("a:parameter of the logistic distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOGISTIC(1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOGISTIC(1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOGISTIC(1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOGISTIC(1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -580,9 +580,9 @@ static GnmFuncHelp const help_randgeom[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDGEOM:random variate from a geometric distribution") },
         { GNM_FUNC_HELP_ARG, F_("p:probability of success in a single trial") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 RANDGEOM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGEOM(0.4)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGEOM(0.4)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGEOM(0.4)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGEOM(0.4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -604,9 +604,9 @@ static GnmFuncHelp const help_randhyperg[] = {
         { GNM_FUNC_HELP_ARG, F_("n1:number of objects of type 1") },
         { GNM_FUNC_HELP_ARG, F_("n2:number of objects of type 2") },
         { GNM_FUNC_HELP_ARG, F_("t:total number of objects selected") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDHYPERG(21,1,9)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDHYPERG(21,1,9)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDHYPERG(21,1,9)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDHYPERG(21,1,9)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -628,9 +628,9 @@ static GnmFuncHelp const help_randlog[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDLOG:random variate from a logarithmic distribution") },
         { GNM_FUNC_HELP_ARG, F_("p:probability") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 RANDLOG returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOG(0.72)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLOG(0.72)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOG(0.72)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLOG(0.72)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -650,9 +650,9 @@ gnumeric_randlog (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_randchisq[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDCHISQ:random variate from a Chi-square distribution") },
         { GNM_FUNC_HELP_ARG, F_("df:degrees of freedom") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDCHISQ(0.5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDCHISQ(0.5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND,RANDGAMMA" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDCHISQ(0.5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDCHISQ(0.5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND,RANDGAMMA") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -669,9 +669,9 @@ gnumeric_randchisq (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_randtdist[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDTDIST:random variate from a Student t distribution") },
         { GNM_FUNC_HELP_ARG, F_("df:degrees of freedom") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDTDIST(5)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDTDIST(5)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDTDIST(5)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDTDIST(5)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -691,9 +691,9 @@ static GnmFuncHelp const help_randgumbel[] = {
         { GNM_FUNC_HELP_ARG, F_("b:parameter of the Gumbel distribution") },
         { GNM_FUNC_HELP_ARG, F_("type:type of the Gumbel distribution, defaults to 1") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{type} is neither 1 nor 2, RANDGUMBEL returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGUMBEL(0.5,1,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDGUMBEL(0.5,1,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGUMBEL(0.5,1,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDGUMBEL(0.5,1,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -725,9 +725,9 @@ static GnmFuncHelp const help_randlevy[] = {
 					"reduces to the normal distribution.") },
  	{ GNM_FUNC_HELP_NOTE, F_("If @{\xce\xb1} \xe2\x89\xa4 0 or @{\xce\xb1} > 2, RANDLEVY returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{\xce\xb2} < -1 or @{\xce\xb2} > 1, RANDLEVY returns #NUM!") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RANDLEVY(0.5,0.1,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RANDLEVY(0.5,0.1,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RANDLEVY(0.5,0.1,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RANDLEVY(0.5,0.1,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -754,9 +754,9 @@ static GnmFuncHelp const help_randexppow[] = {
 					"reduces to the Laplace distribution.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("For @{b} = 2 the exponential power distribution "
 					"reduces to the normal distribution with \xcf\x83 = a/sqrt(2)") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDEXPPOW(0.5,0.1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDEXPPOW(0.5,0.1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDEXPPOW(0.5,0.1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDEXPPOW(0.5,0.1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -773,9 +773,9 @@ gnumeric_randexppow (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 
 static GnmFuncHelp const help_randlandau[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDLANDAU:random variate from the Landau distribution") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLANDAU()" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDLANDAU()" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLANDAU()") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDLANDAU()") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -795,8 +795,8 @@ static GnmFuncHelp const help_randnormtail[] = {
 				 "rectangle-wedge-tail algorithm (Ann Math Stat 32, 894-899 "
 				 "(1961)), with this aspect explained in Knuth, v2, 3rd ed, p139, "
 				 "586 (exercise 11).") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDNORMTAIL(0.5,0.1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RAND" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDNORMTAIL(0.5,0.1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RAND") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -836,7 +836,7 @@ static GnmFuncHelp const help_simtable[] = {
 					"the values of the output variables are stored, and when "
 					"the round is completed, descriptive statistical information is "
 					"created according to the values.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SIMTABLE(223,225,227,229)" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SIMTABLE(223,225,227,229)") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -884,9 +884,9 @@ static GnmFuncHelp const help_randsnorm[] = {
         { GNM_FUNC_HELP_ARG, F_("\xce\xbc:mean of the underlying normal distribution, defaults to 0") },
         { GNM_FUNC_HELP_ARG, F_("\xcf\x83:standard deviation of the underlying normal distribution, defaults to 1") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{\xcf\x83} < 0, RANDSNORM returns #NUM!") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDSNORM(-3,0,1)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDSNORM(-3,0,1)" },
-        { GNM_FUNC_HELP_SEEALSO, "RANDNORM" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDSNORM(-3,0,1)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDSNORM(-3,0,1)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RANDNORM") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -921,9 +921,9 @@ static GnmFuncHelp const help_randstdist[] = {
         { GNM_FUNC_HELP_NAME, F_("RANDSTDIST:random variate from a skew t distribution") },
         { GNM_FUNC_HELP_ARG, F_("df:degrees of freedom") },
         { GNM_FUNC_HELP_ARG, F_("a: amount of skew, defaults to 0") },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDSTDIST(5,-2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=RANDSTDIST(5,2)" },
-        { GNM_FUNC_HELP_SEEALSO, "RANDTDIST" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDSTDIST(5,-2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=RANDSTDIST(5,2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("RANDTDIST") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -940,106 +940,106 @@ gnumeric_randstdist (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const random_functions[] = {
-	{ "rand",    "", help_rand,
+	{ F_("rand"),    "", help_rand,
 	  gnumeric_rand, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "randbernoulli", "f",    help_randbernoulli,
+        { F_("randbernoulli"), "f",    help_randbernoulli,
 	  gnumeric_randbernoulli, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randbeta", "ff",    help_randbeta,
+        { F_("randbeta"), "ff",    help_randbeta,
 	  gnumeric_randbeta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randbetween", "ff",  help_randbetween,
+        { F_("randbetween"), "ff",  help_randbetween,
 	  gnumeric_randbetween, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "randbinom", "ff",  help_randbinom,
+        { F_("randbinom"), "ff",  help_randbinom,
 	  gnumeric_randbinom, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randcauchy", "f",    help_randcauchy,
+        { F_("randcauchy"), "f",    help_randcauchy,
 	  gnumeric_randcauchy, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randchisq", "f",    help_randchisq,
+        { F_("randchisq"), "f",    help_randchisq,
 	  gnumeric_randchisq, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "randdiscrete", "r|r",
+	{ F_("randdiscrete"), "r|r",
 	  help_randdiscrete, gnumeric_randdiscrete, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "randexp", "f",          help_randexp,
+	{ F_("randexp"), "f",          help_randexp,
 	  gnumeric_randexp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randexppow", "ff",          help_randexppow,
+        { F_("randexppow"), "ff",          help_randexppow,
 	  gnumeric_randexppow, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randfdist", "ff",       help_randfdist,
+        { F_("randfdist"), "ff",       help_randfdist,
 	  gnumeric_randfdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randgamma", "ff",     help_randgamma,
+        { F_("randgamma"), "ff",     help_randgamma,
 	  gnumeric_randgamma, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randnormtail", "ff",     help_randnormtail,
+        { F_("randnormtail"), "ff",     help_randnormtail,
 	  gnumeric_randnormtail, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randgeom", "f",     help_randgeom,
+        { F_("randgeom"), "f",     help_randgeom,
 	  gnumeric_randgeom, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randgumbel", "ff|f",     help_randgumbel,
+        { F_("randgumbel"), "ff|f",     help_randgumbel,
 	  gnumeric_randgumbel, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randhyperg", "fff",     help_randhyperg,
+        { F_("randhyperg"), "fff",     help_randhyperg,
 	  gnumeric_randhyperg, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlandau", "", help_randlandau,
+        { F_("randlandau"), "", help_randlandau,
 	  gnumeric_randlandau, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlaplace", "f",  help_randlaplace,
+        { F_("randlaplace"), "f",  help_randlaplace,
 	  gnumeric_randlaplace, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlevy", "ff|f",  help_randlevy,
+        { F_("randlevy"), "ff|f",  help_randlevy,
 	  gnumeric_randlevy, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlog", "f",  help_randlog,
+        { F_("randlog"), "f",  help_randlog,
 	  gnumeric_randlog, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlogistic", "f",  help_randlogistic,
+        { F_("randlogistic"), "f",  help_randlogistic,
 	  gnumeric_randlogistic, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randlognorm", "ff",  help_randlognorm,
+        { F_("randlognorm"), "ff",  help_randlognorm,
 	  gnumeric_randlognorm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randnegbinom", "ff",  help_randnegbinom,
+        { F_("randnegbinom"), "ff",  help_randnegbinom,
 	  gnumeric_randnegbinom, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randnorm", "ff",  help_randnorm,
+        { F_("randnorm"), "ff",  help_randnorm,
 	  gnumeric_randnorm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randpareto", "ff",  help_randpareto,
+        { F_("randpareto"), "ff",  help_randpareto,
 	  gnumeric_randpareto, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randpoisson", "f",  help_randpoisson,
+        { F_("randpoisson"), "f",  help_randpoisson,
 	  gnumeric_randpoisson, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randrayleigh", "f",  help_randrayleigh,
+        { F_("randrayleigh"), "f",  help_randrayleigh,
 	  gnumeric_randrayleigh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randrayleightail", "ff",  help_randrayleightail,
+        { F_("randrayleightail"), "ff",  help_randrayleightail,
 	  gnumeric_randrayleightail, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randsnorm", "|fff",  help_randsnorm,
+        { F_("randsnorm"), "|fff",  help_randsnorm,
 	  gnumeric_randsnorm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randstdist", "ff",  help_randstdist,
+        { F_("randstdist"), "ff",  help_randstdist,
 	  gnumeric_randstdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randtdist", "f",  help_randtdist,
+        { F_("randtdist"), "f",  help_randtdist,
 	  gnumeric_randtdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randuniform", "ff",  help_randuniform,
+        { F_("randuniform"), "ff",  help_randuniform,
 	  gnumeric_randuniform, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randweibull", "ff",  help_randweibull,
+        { F_("randweibull"), "ff",  help_randweibull,
 	  gnumeric_randweibull, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "simtable", NULL,  help_simtable,
+	{ F_("simtable"), NULL,  help_simtable,
 	  NULL,	gnumeric_simtable, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
diff --git a/plugins/fn-random/plugin.xml.in b/plugins/fn-random/plugin.xml.in
index 5c1508c..1cdcbda 100644
--- a/plugins/fn-random/plugin.xml.in
+++ b/plugins/fn-random/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="random">
+		<service type="function_group" id="random" gettext_domain="gnumeric-functions">
 			<_category>Random Numbers</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="rand"/>
diff --git a/plugins/fn-stat/functions.c b/plugins/fn-stat/functions.c
index 484f12b..ac252ac 100644
--- a/plugins/fn-stat/functions.c
+++ b/plugins/fn-stat/functions.c
@@ -55,7 +55,7 @@ static GnmFuncHelp const help_varp[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("VARP is also known as the N-variance.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain number 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then VARP(A1:A5) equals 94.112")},
-	{ GNM_FUNC_HELP_SEEALSO, ("AVERAGE,DVAR,DVARP,STDEV,VAR")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,DVAR,DVARP,STDEV,VAR")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Variance") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Variance.html") },
 	{ GNM_FUNC_HELP_END }
@@ -83,7 +83,7 @@ static GnmFuncHelp const help_var[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then VAR(A1:A5) equals 117.64.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("VARP,STDEV")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("VARP,STDEV")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Variance") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Variance.html") },
 	{ GNM_FUNC_HELP_END }
@@ -113,7 +113,7 @@ static GnmFuncHelp const help_stdev[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then STDEV(A1:A5) equals 10.84619749.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("AVERAGE,DSTDEV,DSTDEVP,STDEVA,STDEVPA,VAR")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,DSTDEV,DSTDEVP,STDEVA,STDEVPA,VAR")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Standard_deviation") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:StandardDeviation.html") },
 	{ GNM_FUNC_HELP_END }
@@ -140,7 +140,7 @@ static GnmFuncHelp const help_stdevp[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then STDEVP(A1:A5) equals 9.701133954.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("STDEV,STDEVA,STDEVPA")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEV,STDEVA,STDEVPA")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Standard_deviation") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:StandardDeviation.html") },
 	{ GNM_FUNC_HELP_END }
@@ -167,7 +167,7 @@ static GnmFuncHelp const help_rank[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then RANK(17.3,A1:A5) equals 4.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("PERCENTRANK")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("PERCENTRANK")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -218,7 +218,7 @@ static GnmFuncHelp const help_trimmean[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.")},
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then TRIMMEAN(A1:A5,0.2) equals 23.2 and TRIMMEAN(A1:A5,0.4) equals 21.5.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("AVERAGE,GEOMEAN,HARMEAN,MEDIAN,MODE")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,GEOMEAN,HARMEAN,MEDIAN,MODE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -268,7 +268,7 @@ static GnmFuncHelp const help_covar[] = {
 	   "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 	   "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then COVAR(A1:A5,B1:B5) equals 65.858.") },
-	{ GNM_FUNC_HELP_SEEALSO, "CORREL,FISHER,FISHERINV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("CORREL,FISHER,FISHERINV")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Covariance") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Covariance.html") },
 	{ GNM_FUNC_HELP_END }
@@ -298,7 +298,7 @@ static GnmFuncHelp const help_correl[] = {
 	   "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 	   "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then CORREL(A1:A5,B1:B5) equals 0.996124788.") },
-	{ GNM_FUNC_HELP_SEEALSO, "COVAR,FISHER,FISHERINV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("COVAR,FISHER,FISHERINV")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:CorrelationCoefficient.html") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Covariance.html") },
 	{ GNM_FUNC_HELP_END }
@@ -327,8 +327,8 @@ static GnmFuncHelp const help_negbinomdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If (@{f} + @{t} -1) <= 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this functions returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NEGBINOMDIST(2,5,0.55)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BINOMDIST,COMBIN,FACT,HYPGEOMDIST,PERMUT"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NEGBINOMDIST(2,5,0.55)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BINOMDIST,COMBIN,FACT,HYPGEOMDIST,PERMUT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -352,8 +352,8 @@ static GnmFuncHelp const help_normsdist[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("NORMSDIST is the OpenFormula function LEGACY.NORMSDIST.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NORMSDIST(2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NORMDIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NORMSDIST(2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NORMDIST")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Normal_distribution") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:NormalDistribution.html") },
 	{ GNM_FUNC_HELP_END }
@@ -377,8 +377,8 @@ static GnmFuncHelp const help_normsinv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("NORMSINV is the OpenFormula function LEGACY.NORMSINV.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NORMSINV(0.2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NORMDIST,NORMINV,NORMSDIST,STANDARDIZE,ZTEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NORMSINV(0.2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NORMDIST,NORMINV,NORMSDIST,STANDARDIZE,ZTEST")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Normal_distribution") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:NormalDistribution.html") },
 	{ GNM_FUNC_HELP_END }
@@ -407,8 +407,8 @@ static GnmFuncHelp const help_lognormdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{stddev} = 0 LOGNORMDIST returns a #DIV/0! error.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} <= 0, @{mean} < 0 or @{stddev} <= 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=LOGNORMDIST(3,1,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NORMDIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LOGNORMDIST(3,1,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NORMDIST")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Log-normal_distribution") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:LogNormalDistribution.html") },
 	{ GNM_FUNC_HELP_END }
@@ -436,8 +436,8 @@ static GnmFuncHelp const help_loginv[] = {
 	{ GNM_FUNC_HELP_ARG, F_("stddev:standard deviation")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 or @{stddev} <= 0 this function returns #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=LOGINV(0.5,2,3)" },
-	{ GNM_FUNC_HELP_SEEALSO, ("EXP,LN,LOG,LOG10,LOGNORMDIST")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LOGINV(0.5,2,3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("EXP,LN,LOG,LOG10,LOGNORMDIST")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Log-normal_distribution") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:LogNormalDistribution.html") },
 	{ GNM_FUNC_HELP_END }
@@ -465,8 +465,8 @@ static GnmFuncHelp const help_fisherinv[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} is a non-number this function returns a #VALUE! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FISHERINV(2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "FISHER,TANH"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FISHERINV(2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FISHER,TANH")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -487,7 +487,7 @@ static GnmFuncHelp const help_mode[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 11.4, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MODE(A1:A5) equals 11.4.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,MEDIAN"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,MEDIAN")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Mode_(statistics)") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:Mode.html") },
 	{ GNM_FUNC_HELP_END }
@@ -514,7 +514,7 @@ static GnmFuncHelp const help_harmean[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then HARMEAN(A1:A5) equals 19.529814427.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,GEOMEAN,MEDIAN,MODE,TRIMMEAN"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,GEOMEAN,MEDIAN,MODE,TRIMMEAN")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Harmonic_mean") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:HarmonicMean.html") },
 	{ GNM_FUNC_HELP_END }
@@ -541,7 +541,7 @@ static GnmFuncHelp const help_geomean[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then GEOMEAN(A1:A5) equals 21.279182482.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,HARMEAN,MEDIAN,MODE,TRIMMEAN"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,HARMEAN,MEDIAN,MODE,TRIMMEAN")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Geometric_mean") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:GeometricMean.html") },
 	{ GNM_FUNC_HELP_END }
@@ -567,7 +567,7 @@ static GnmFuncHelp const help_count[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then COUNT(A1:A5) equals 5.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -603,7 +603,7 @@ static GnmFuncHelp const help_counta[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings 11.4, \"missing\", \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then COUNTA(A1:A5) equals 5.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,COUNT,DCOUNT,DCOUNTA,PRODUCT,SUM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,COUNT,DCOUNT,DCOUNTA,PRODUCT,SUM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -637,7 +637,7 @@ static GnmFuncHelp const help_average[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then AVERAGE(A1:A5) equals 23.2.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("SUM, COUNT")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("SUM, COUNT")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Arithmetic_mean") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:ArithmeticMean.html") },
 	{ GNM_FUNC_HELP_END }
@@ -663,7 +663,7 @@ static GnmFuncHelp const help_min[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MIN(A1:A5) equals 11.4.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MAX,ABS"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MAX,ABS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -698,7 +698,7 @@ static GnmFuncHelp const help_max[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MAX(A1:A5) equals 40.1.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MIN,ABS"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MIN,ABS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -738,7 +738,7 @@ static GnmFuncHelp const help_skew[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then SKEW(A1:A5) equals 0.976798268.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,VAR,SKEWP,KURT"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,VAR,SKEWP,KURT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -763,7 +763,7 @@ static GnmFuncHelp const help_skewp[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If less than two numbers are given, SKEWP returns a #DIV/0! error.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then SKEWP(A1:A5) equals 0.655256198.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,VARP,SKEW,KURTP"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,VARP,SKEW,KURTP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -790,8 +790,8 @@ static GnmFuncHelp const help_expondist[] = {
 	   "1 - exp (-@{y}*@{x}).")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 or @{y} <= 0 this will return an error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EXPONDIST(2,4,0)" },
-	{ GNM_FUNC_HELP_SEEALSO, "POISSON"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EXPONDIST(2,4,0)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("POISSON")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -819,8 +819,8 @@ static GnmFuncHelp const help_bernoulli[] = {
 	{ GNM_FUNC_HELP_ARG, F_("p:probability of success")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{k} != 0 and @{k} != 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=BERNOULLI(0,0.5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDBERNOULLI"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BERNOULLI(0,0.5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDBERNOULLI")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -858,8 +858,8 @@ static GnmFuncHelp const help_gammadist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} <= 0 or @{beta} <= 0, this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=GAMMADIST(1,2,3,0)" },
-	{ GNM_FUNC_HELP_SEEALSO, "GAMMAINV"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GAMMADIST(1,2,3,0)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("GAMMAINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -890,8 +890,8 @@ static GnmFuncHelp const help_gammainv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} <= 0 or @{beta} <= 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=GAMMAINV(0.34,2,4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "GAMMADIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GAMMAINV(0.34,2,4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("GAMMADIST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -921,8 +921,8 @@ static GnmFuncHelp const help_chidist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{dof} < 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("CHIDIST(@{x},@{dof}) is the OpenFormula function LEGACY.CHIDIST(@{x},@{dof}).") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CHIDIST(5.3,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CHIINV,CHITEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CHIDIST(5.3,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CHIINV,CHITEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -948,8 +948,8 @@ static GnmFuncHelp const help_chiinv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 or @{dof} < 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("CHIINV(@{p},@{dof}) is the OpenFormula function LEGACY.CHIDIST(@{p},@{dof}).") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CHIINV(0.98,7)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CHIDIST,CHITEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CHIINV(0.98,7)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CHIDIST,CHITEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -975,7 +975,7 @@ static GnmFuncHelp const help_chitest[] = {
 				 "the returned value appears to have no sensible meaning.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("CHITEST is the OpenFormula function LEGACY.CHITEST.") },
-	{ GNM_FUNC_HELP_SEEALSO, "CHIDIST,CHIINV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("CHIDIST,CHIINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1064,8 +1064,8 @@ static GnmFuncHelp const help_betadist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} <= 0 or @{beta} <= 0, this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} >= @{b} this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BETADIST(0.12,2,3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BETAINV"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BETADIST(0.12,2,3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BETAINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1101,8 +1101,8 @@ static GnmFuncHelp const help_betainv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} <= 0 or @{beta} <= 0, this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} >= @{b} this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BETAINV(0.45,1.6,1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BETADIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BETAINV(0.45,1.6,1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BETADIST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1138,10 +1138,10 @@ static GnmFuncHelp const help_tdist[] = {
 	   "what is used for, e.g., NORMSDIST.  This is a common source of "
 	   "mistakes, but necessary for compatibility.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function is Excel compatible for non-negative @{x}.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TDIST(2,5,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TDIST(-2,5,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TDIST(0,5,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "TINV,TTEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TDIST(2,5,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TDIST(-2,5,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TDIST(0,5,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TINV,TTEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1171,8 +1171,8 @@ static GnmFuncHelp const help_tinv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("The parameterization of this function is different from "
 	   "what is used for, e.g., NORMSINV.  This is a common source of "
 	   "mistakes, but necessary for compatibility.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=TINV(0.4,32)" },
-	{ GNM_FUNC_HELP_SEEALSO, "TDIST,TTEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=TINV(0.4,32)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("TDIST,TTEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1206,8 +1206,8 @@ static GnmFuncHelp const help_fdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{dof_of_num} < 1 or @{dof_of_denom} < 1, this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("FDIST is the OpenFormula function LEGACY.FDIST.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FDIST(2,5,5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "FINV"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FDIST(2,5,5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1229,8 +1229,8 @@ gnumeric_fdist (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_landau[] = {
 	{ GNM_FUNC_HELP_NAME, F_("LANDAU:approximate probability density function of the Landau distribution")},
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=LANDAU(0.34)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDLANDAU"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LANDAU(0.34)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDLANDAU")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1372,8 +1372,8 @@ static GnmFuncHelp const help_finv[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{dof_of_num} < 1 or @{dof_of_denom} < 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, F_("FINV is the OpenFormula function LEGACY.FINV.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FINV(0.2,2,4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "FDIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FINV(0.2,2,4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FDIST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1403,8 +1403,8 @@ static GnmFuncHelp const help_binomdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} > @{trials} this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BINOMDIST(3,5,0.8,0)" },
-	{ GNM_FUNC_HELP_SEEALSO, "POISSON"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BINOMDIST(3,5,0.8,0)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("POISSON")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1438,8 +1438,8 @@ static GnmFuncHelp const help_binom_dist_range[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{start} > @{end} this function returns 0.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is the OpenFormula function B") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=BINOM.DIST.RANGE(5,0.8,3,4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BINOMDIST,R.PBINOM"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=BINOM.DIST.RANGE(5,0.8,3,4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BINOMDIST,R.PBINOM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1480,8 +1480,8 @@ static GnmFuncHelp const help_cauchy[] = {
 	{ GNM_FUNC_HELP_ARG, F_("cumulative:whether to evaluate the density function or the cumulative distribution function")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{a} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{cumulative} is neither TRUE nor FALSE this function returns a #VALUE! error.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CAUCHY(0.43,1,TRUE)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDCAUCHY"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CAUCHY(0.43,1,TRUE)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDCAUCHY")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1513,8 +1513,8 @@ static GnmFuncHelp const help_critbinom[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} < 0 or @{alpha} > 1 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CRITBINOM(10,0.5,0.75)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BINOMDIST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CRITBINOM(10,0.5,0.75)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BINOMDIST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1540,8 +1540,8 @@ static GnmFuncHelp const help_permut[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} = 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{n} < @{k} this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=PERMUT(7,3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "COMBIN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=PERMUT(7,3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("COMBIN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1570,8 +1570,8 @@ static GnmFuncHelp const help_hypgeomdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x},@{n},@{M} or @{N} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} > @{M} or @{n} > @{N} this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=HYPGEOMDIST(1,2,3,10)" },
-	{ GNM_FUNC_HELP_SEEALSO, "BINOMDIST,POISSON"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=HYPGEOMDIST(1,2,3,10)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("BINOMDIST,POISSON")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1605,8 +1605,8 @@ static GnmFuncHelp const help_confidence[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{size} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{size} is 0 this function returns a #DIV/0! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CONFIDENCE(0.05,1,33)" },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CONFIDENCE(0.05,1,33)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1632,8 +1632,8 @@ static GnmFuncHelp const help_standardize[] = {
 	{ GNM_FUNC_HELP_ARG, F_("stddev:standard deviation of the original distribution")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{stddev} is 0 this function returns a #DIV/0! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=STANDARDIZE(3,2,4)" },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=STANDARDIZE(3,2,4)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1664,8 +1664,8 @@ static GnmFuncHelp const help_weibull[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{alpha} <= 0 or @{beta} <= 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=WEIBULL(3,2,4,0)" },
-	{ GNM_FUNC_HELP_SEEALSO, "POISSON"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=WEIBULL(3,2,4,0)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("POISSON")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1696,8 +1696,8 @@ static GnmFuncHelp const help_normdist[] = {
 	{ GNM_FUNC_HELP_ARG, F_("cumulative:whether to evaluate the density function or the cumulative distribution function")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{stddev} is 0 this function returns a #DIV/0! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NORMDIST(2,1,2,0)" },
-	{ GNM_FUNC_HELP_SEEALSO, "POISSON"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NORMDIST(2,1,2,0)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("POISSON")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1728,8 +1728,8 @@ static GnmFuncHelp const help_norminv[] = {
 	{ GNM_FUNC_HELP_ARG, F_("stddev:standard deviation of the distribution")},
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 or @{stddev} <= 0 this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=NORMINV(0.76,2,3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "NORMDIST,NORMSDIST,NORMSINV,STANDARDIZE,ZTEST"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=NORMINV(0.76,2,3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("NORMDIST,NORMSDIST,NORMSINV,STANDARDIZE,ZTEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1763,7 +1763,7 @@ static GnmFuncHelp const help_kurt[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then KURT(A1:A5) equals 1.234546305.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,VAR,SKEW,KURTP"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,VAR,SKEW,KURTP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1789,7 +1789,7 @@ static GnmFuncHelp const help_kurtp[] = {
            "this function returns a #DIV/0! error.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then KURTP(A1:A5) equals -0.691363424.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,VARP,SKEWP,KURT"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,VARP,SKEWP,KURT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1813,7 +1813,7 @@ static GnmFuncHelp const help_avedev[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then AVEDEV(A1:A5) equals 7.84.") },
-	{ GNM_FUNC_HELP_SEEALSO, "STDEV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1838,7 +1838,7 @@ static GnmFuncHelp const help_devsq[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then DEVSQ(A1:A5) equals 470.56.") },
-	{ GNM_FUNC_HELP_SEEALSO, "STDEV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1861,8 +1861,8 @@ static GnmFuncHelp const help_fisher[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} is not a number, this function returns a #VALUE! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} <= -1 or @{x} >= 1, this function returns a #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FISHER(0.332)" },
-	{ GNM_FUNC_HELP_SEEALSO, "FISHERINV,ATANH"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FISHER(0.332)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FISHERINV,ATANH")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1893,8 +1893,8 @@ static GnmFuncHelp const help_poisson[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{mean} <= 0 POISSON returns the #NUM! error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=POISSON(3,6,0)"},
-	{ GNM_FUNC_HELP_SEEALSO, ("NORMDIST,WEIBULL")},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=POISSON(3,6,0)")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("NORMDIST,WEIBULL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1922,7 +1922,7 @@ static GnmFuncHelp const help_pearson[] = {
 	{ GNM_FUNC_HELP_ARG, F_("array2:second component values")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("Strings and empty cells are simply ignored.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "INTERCEPT,LINEST,RSQ,SLOPE,STEYX"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("INTERCEPT,LINEST,RSQ,SLOPE,STEYX")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1941,7 +1941,7 @@ static GnmFuncHelp const help_rsq[] = {
 	{ GNM_FUNC_HELP_ARG, F_("array2:second component values")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("Strings and empty cells are simply ignored.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, ("CORREL,COVAR,INTERCEPT,LINEST,LOGEST,PEARSON,SLOPE,STEYX,TREND")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("CORREL,COVAR,INTERCEPT,LINEST,LOGEST,PEARSON,SLOPE,STEYX,TREND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1969,7 +1969,7 @@ static GnmFuncHelp const help_median[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MEDIAN(A1:A5) equals 21.3.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,COUNT,COUNTA,DAVERAGE,MODE,SSMEDIAN,SUM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE,COUNT,COUNTA,DAVERAGE,MODE,SSMEDIAN,SUM")},
 	{ GNM_FUNC_HELP_EXTREF, F_("wiki:en:Median") },
 	{ GNM_FUNC_HELP_EXTREF, F_("wolfram:StatisticalMedian.html") },
 	{ GNM_FUNC_HELP_END }
@@ -2001,7 +2001,7 @@ static GnmFuncHelp const help_ssmedian[] = {
 	   "at least @{interval} apart.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, A3 contain numbers 7, 8, 8.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then SSMEDIAN(A1:A3, 1) equals 7.75.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MEDIAN"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MEDIAN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2093,7 +2093,7 @@ static GnmFuncHelp const help_large[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then LARGE(A1:A5,2) equals 25.9."
 				     "LARGE(A1:A5,4) equals 17.3.") },
-	{ GNM_FUNC_HELP_SEEALSO, "PERCENTILE,PERCENTRANK,QUARTILE,SMALL"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("PERCENTILE,PERCENTRANK,QUARTILE,SMALL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2136,7 +2136,7 @@ static GnmFuncHelp const help_small[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then SMALL(A1:A5,2) equals 17.3."
 				     "SMALL(A1:A5,4) equals 25.9.") },
-	{ GNM_FUNC_HELP_SEEALSO, "PERCENTILE,PERCENTRANK,QUARTILE,LARGE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("PERCENTILE,PERCENTRANK,QUARTILE,LARGE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2206,7 +2206,7 @@ static GnmFuncHelp const help_prob[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x_range} and @{prob_range} contain a different number of data "
 				 "entries, this function returns a #N/A error.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "BINOMDIST,CRITBINOM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("BINOMDIST,CRITBINOM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2290,7 +2290,7 @@ static GnmFuncHelp const help_steyx[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then STEYX(A1:A5,B1:B5) equals 1.101509979.") },
-	{ GNM_FUNC_HELP_SEEALSO, "PEARSON,RSQ,SLOPE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("PEARSON,RSQ,SLOPE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2439,7 +2439,7 @@ static GnmFuncHelp const help_ztest[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers "
 				     "11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then ZTEST(A1:A5,20) equals 0.254717826.")},
-	{ GNM_FUNC_HELP_SEEALSO, ("CONFIDENCE,NORMDIST,NORMINV,NORMSDIST,NORMSINV,STANDARDIZE")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("CONFIDENCE,NORMDIST,NORMINV,NORMSDIST,NORMSINV,STANDARDIZE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2496,7 +2496,7 @@ static GnmFuncHelp const help_averagea[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings 11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then AVERAGEA(A1:A5) equals 18.94.") },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("AVERAGE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2522,7 +2522,7 @@ static GnmFuncHelp const help_maxa[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MAXA(A1:A5) equals 40.1.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MAX,MINA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MAX,MINA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2549,7 +2549,7 @@ static GnmFuncHelp const help_mina[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then MINA(A1:A5) equals 0.") },
-	{ GNM_FUNC_HELP_SEEALSO, "MIN,MAXA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("MIN,MAXA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2580,7 +2580,7 @@ static GnmFuncHelp const help_vara[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then VARA(A1:A5) equals 228.613.") },
-	{ GNM_FUNC_HELP_SEEALSO, "VAR,VARPA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("VAR,VARPA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2607,7 +2607,7 @@ static GnmFuncHelp const help_varpa[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then VARPA(A1:A5) equals 182.8904.") },
-	{ GNM_FUNC_HELP_SEEALSO, "VARA,VARP"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("VARA,VARP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2640,7 +2640,7 @@ static GnmFuncHelp const help_stdeva[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then STDEVA(A1:A5) equals 15.119953704.") },
-	{ GNM_FUNC_HELP_SEEALSO, "STDEV,STDEVPA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEV,STDEVPA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2667,7 +2667,7 @@ static GnmFuncHelp const help_stdevpa[] = {
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers and strings "
 				     "11.4, 17.3, \"missing\", 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then STDEVPA(A1:A5) equals 13.523697719.") },
-	{ GNM_FUNC_HELP_SEEALSO, "STDEVA,STDEVP"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEVA,STDEVP")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2697,7 +2697,7 @@ static GnmFuncHelp const help_percentrank[] = {
 				 "value in @{array}, this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} does not match any of the values in @{array} or @{x} matches "
 				 "more than once, this function interpolates the returned value.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LARGE,MAX,MEDIAN,MIN,PERCENTILE,QUARTILE,SMALL"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LARGE,MAX,MEDIAN,MIN,PERCENTILE,QUARTILE,SMALL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2790,7 +2790,7 @@ static GnmFuncHelp const help_percentile[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then PERCENTILE(A1:A5,0.42) equals 20.02.") },
-	{ GNM_FUNC_HELP_SEEALSO, "QUARTILE"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("QUARTILE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2834,7 +2834,7 @@ static GnmFuncHelp const help_quartile[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Let us assume that the cells A1, A2, ..., A5 contain numbers 11.4, 17.3, 21.3, 25.9, and 40.1.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then QUARTILE(A1:A5,1) equals 17.3.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LARGE,MAX,MEDIAN,MIN,PERCENTILE,SMALL"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LARGE,MAX,MEDIAN,MIN,PERCENTILE,SMALL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2877,7 +2877,7 @@ static GnmFuncHelp const help_ftest[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then FTEST(A1:A5,B1:B5) equals 0.510815017.") },
-	{ GNM_FUNC_HELP_SEEALSO, "FDIST,FINV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("FDIST,FINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -2946,7 +2946,7 @@ static GnmFuncHelp const help_ttest[] = {
 				     "TTEST(A1:A5,B1:B5,2,1) equals 0.006255239."
 				     "TTEST(A1:A5,B1:B5,1,2) equals 0.111804322."
 				     "TTEST(A1:A5,B1:B5,1,3) equals 0.113821797.") },
-	{ GNM_FUNC_HELP_SEEALSO, "FDIST,FINV"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("FDIST,FINV")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3185,7 +3185,7 @@ static GnmFuncHelp const help_linest[] = {
 					"that is the proportion of the sum of squares explained by the model.")},
 	{ GNM_FUNC_HELP_NOTE, F_("If the length of @{known_y's} does not match the corresponding length of @{known_x's}, "
 				 "this function returns a #NUM! error.")},
-	{ GNM_FUNC_HELP_SEEALSO, "LOGEST,TREND" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("LOGEST,TREND") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3451,7 +3451,7 @@ static GnmFuncHelp const help_logreg[] = {
 					"The default of @{stat} is FALSE.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{known_y}'s and @{known_x}'s have unequal number of data points, "
 				 "this function returns a #NUM! error.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LOGFIT,LINEST,LOGEST"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LOGFIT,LINEST,LOGEST")},
 	{ GNM_FUNC_HELP_END }
 };
 /* The following is a copy of "gnumeric_linest" of Gnumeric version 1.1.9
@@ -3711,7 +3711,7 @@ static GnmFuncHelp const help_logfit[] = {
 				 "The accuracy of `c' is: width of x-range -> rounded to the "
 				 "next smaller (10^integer), times 0.000001. There might be cases "
 				 "in which the returned fit is not the best possible.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LOGREG,LINEST,LOGEST"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LOGREG,LINEST,LOGEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3791,7 +3791,7 @@ static GnmFuncHelp const help_trend[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then TREND(A1:A5,B1:B5) equals {12.1, 15.7, 21.6, 26.7, 39.7}.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LINEST"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LINEST")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -3907,7 +3907,7 @@ static GnmFuncHelp const help_logest[] = {
 				 "of squares.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{known_y}'s and @{known_x}'s have unequal number of data points, "
 				 "this function returns a #NUM! error.") },
-	{ GNM_FUNC_HELP_SEEALSO, "GROWTH,TREND"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("GROWTH,TREND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4133,7 +4133,7 @@ static GnmFuncHelp const help_growth[] = {
 					"data point in @{new_x}.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{known_y}'s and @{known_x}'s have unequal number of data points, "
 				 "this function returns a #NUM! error.") },
-	{ GNM_FUNC_HELP_SEEALSO, "LOGEST,GROWTH,TREND"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("LOGEST,GROWTH,TREND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4248,7 +4248,7 @@ static GnmFuncHelp const help_forecast[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then FORECAST(7,A1:A5,B1:B5) equals -10.859397661.") },
-	{ GNM_FUNC_HELP_SEEALSO, "INTERCEPT,TREND"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("INTERCEPT,TREND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4312,7 +4312,7 @@ static GnmFuncHelp const help_intercept[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then INTERCEPT(A1:A5,B1:B5) equals -20.785117212.") },
-	{ GNM_FUNC_HELP_SEEALSO, "FORECAST,TREND"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("FORECAST,TREND")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4358,7 +4358,7 @@ static GnmFuncHelp const help_slope[] = {
 				     "11.4, 17.3, 21.3, 25.9, and 40.1, and the cells B1, B2, ... "
 				     "B5 23.2, 25.8, 29.9, 33.5, and 42.7.") },
 	{ GNM_FUNC_HELP_EXAMPLES, F_("Then SLOPE(A1:A5,B1:B5) equals 1.417959936.") },
-	{ GNM_FUNC_HELP_SEEALSO, "STDEV,STDEVPA"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("STDEV,STDEVPA")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4415,7 +4415,7 @@ static GnmFuncHelp const help_subtotal[] = {
 				     "SUBTOTAL(7,A1:A5) equals 6.164414003."
 				     "SUBTOTAL(9,A1:A5) equals 150."
 				     "SUBTOTAL(11,A1:A5) equals 30.4.") },
-	{ GNM_FUNC_HELP_SEEALSO, "COUNT,SUM"},
+	{ GNM_FUNC_HELP_SEEALSO, F_("COUNT,SUM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4492,7 +4492,7 @@ static GnmFuncHelp const help_cronbach[] = {
 	{ GNM_FUNC_HELP_NAME, F_("CRONBACH:Cronbach's alpha")},
 	{ GNM_FUNC_HELP_ARG, F_("ref1:first data set")},
 	{ GNM_FUNC_HELP_ARG, F_("ref2:second data set")},
-	{ GNM_FUNC_HELP_SEEALSO, "VAR" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("VAR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4609,8 +4609,8 @@ static GnmFuncHelp const help_geomdist[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{k} < 0 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{p} < 0 or @{p} > 1 this function returns a #NUM! error.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{cumulative} is neither TRUE nor FALSE this function returns a #VALUE! error.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=GEOMDIST(2,10.4,TRUE)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDGEOM"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=GEOMDIST(2,10.4,TRUE)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDGEOM")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4636,8 +4636,8 @@ static GnmFuncHelp const help_logistic[] = {
 	{ GNM_FUNC_HELP_NAME, F_("LOGISTIC:probability density function of the logistic distribution")},
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_ARG, F_("a:scale parameter")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=LOGISTIC(0.4,1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDLOGISTIC"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LOGISTIC(0.4,1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDLOGISTIC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4668,8 +4668,8 @@ static GnmFuncHelp const help_pareto[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_ARG, F_("a:exponent")},
 	{ GNM_FUNC_HELP_ARG, F_("b:scale parameter")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=PARETO(0.6,1,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDPARETO"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=PARETO(0.6,1,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDPARETO")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4701,8 +4701,8 @@ static GnmFuncHelp const help_rayleigh[] = {
 	{ GNM_FUNC_HELP_NAME, F_("RAYLEIGH:probability density function of the Rayleigh distribution")},
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_ARG, F_("sigma:scale parameter")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=RAYLEIGH(0.4,1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDRAYLEIGH"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RAYLEIGH(0.4,1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDRAYLEIGH")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4737,8 +4737,8 @@ static GnmFuncHelp const help_rayleightail[] = {
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_ARG, F_("a:lower limit")},
 	{ GNM_FUNC_HELP_ARG, F_("sigma:scale parameter")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=RAYLEIGHTAIL(0.6,0.3,1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDRAYLEIGHTAIL"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RAYLEIGHTAIL(0.6,0.3,1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDRAYLEIGHTAIL")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4781,8 +4781,8 @@ static GnmFuncHelp const help_exppowdist[] = {
 			"when a U-shaped hazard function is desired. "
 			"This corresponds to rapid failure once the product starts to "
 			"wear out after a period of steady or even improving reliability.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EXPPOWDIST(0.4,1,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDEXPPOW"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EXPPOWDIST(0.4,1,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDEXPPOW")},
 	{ GNM_FUNC_HELP_END }
 };
 /* Part of help text quoted from the PEXPDF manpage of the DATAPLOT program
@@ -4808,8 +4808,8 @@ static GnmFuncHelp const help_laplace[] = {
 	{ GNM_FUNC_HELP_NAME, F_("LAPLACE:probability density function of the Laplace distribution")},
 	{ GNM_FUNC_HELP_ARG, F_("x:")},
 	{ GNM_FUNC_HELP_ARG, F_("a:mean")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=LAPLACE(0.4,1)" },
-	{ GNM_FUNC_HELP_SEEALSO, "RANDLAPLACE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LAPLACE(0.4,1)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("RANDLAPLACE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -4835,10 +4835,10 @@ static GnmFuncHelp const help_permutationa[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} < 0 or @{y} < 0, PERMUTATIONA returns #NUM!") },
 	{ GNM_FUNC_HELP_NOTE, F_("If @{x} or @{y} are not integers, they are truncated") },
 	{ GNM_FUNC_HELP_ODF, F_("This function is ODF compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=PERMUTATIONA(2,7)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=PERMUTATIONA(2.3,7.6)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=PERMUTATIONA(0,0)" },
-        { GNM_FUNC_HELP_SEEALSO, "POWER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PERMUTATIONA(2,7)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PERMUTATIONA(2.3,7.6)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PERMUTATIONA(0,0)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("POWER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -4861,315 +4861,315 @@ gnumeric_permutationa (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 /***************************************************************************/
 
 GnmFuncDescriptor const stat_functions[] = {
-        { "avedev", NULL,
+        { F_("avedev"), NULL,
 	  help_avedev, NULL, gnumeric_avedev, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "average", NULL,
+	{ F_("average"), NULL,
 	  help_average, NULL, gnumeric_average, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "averagea", NULL,
+	{ F_("averagea"), NULL,
 	  help_averagea, NULL, gnumeric_averagea, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "bernoulli", "ff",    help_bernoulli,
+        { F_("bernoulli"), "ff",    help_bernoulli,
 	  gnumeric_bernoulli, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "betadist",     "fff|ff",
+	{ F_("betadist"),     "fff|ff",
 	  help_betadist, gnumeric_betadist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "betainv",      "fff|ff",
+	{ F_("betainv"),      "fff|ff",
 	  help_betainv, gnumeric_betainv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "binomdist",    "fffb",
+	{ F_("binomdist"),    "fffb",
 	  help_binomdist, gnumeric_binomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "binom.dist.range",    "fff|f",
+	{ F_("binom.dist.range"),    "fff|f",
 	  help_binom_dist_range, gnumeric_binom_dist_range, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
-        { "cauchy", "ffb",    help_cauchy,
+        { F_("cauchy"), "ffb",    help_cauchy,
 	  gnumeric_cauchy, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "chidist",      "ff",
+	{ F_("chidist"),      "ff",
 	  help_chidist, gnumeric_chidist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "chiinv",       "ff",
+	{ F_("chiinv"),       "ff",
 	  help_chiinv, gnumeric_chiinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "chitest",      "AA",
+	{ F_("chitest"),      "AA",
 	  help_chitest, gnumeric_chitest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "confidence",   "fff",
+	{ F_("confidence"),   "fff",
 	  help_confidence, gnumeric_confidence, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "correl",       "AA",
+        { F_("correl"),       "AA",
 	  help_correl, gnumeric_correl, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "count", NULL,
+	{ F_("count"), NULL,
 	  help_count, NULL, gnumeric_count, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "counta", NULL,
+	{ F_("counta"), NULL,
 	  help_counta, NULL, gnumeric_counta, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "covar",        "AA",
+        { F_("covar"),        "AA",
 	  help_covar, gnumeric_covar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "critbinom",    "fff",
+	{ F_("critbinom"),    "fff",
 	  help_critbinom, gnumeric_critbinom, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "devsq", NULL,
+        { F_("devsq"), NULL,
 	  help_devsq, NULL, gnumeric_devsq, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "expondist",    "ffb",
+	{ F_("expondist"),    "ffb",
 	  help_expondist, gnumeric_expondist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "fdist",        "fff",
+	{ F_("fdist"),        "fff",
 	  help_fdist, gnumeric_fdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "finv",         "fff",
+	{ F_("finv"),         "fff",
 	  help_finv, gnumeric_finv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "fisher",       "f",
+        { F_("fisher"),       "f",
 	  help_fisher, gnumeric_fisher, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "fisherinv",    "f",
+        { F_("fisherinv"),    "f",
 	  help_fisherinv, gnumeric_fisherinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "forecast",     "frr",
+        { F_("forecast"),     "frr",
 	  help_forecast, gnumeric_forecast, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "frequency",    "AA",
+	{ F_("frequency"),    "AA",
 	  help_frequency, gnumeric_frequency, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ftest",        "rr",
+	{ F_("ftest"),        "rr",
 	  help_ftest, gnumeric_ftest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gammadist",    "fffb",
+	{ F_("gammadist"),    "fffb",
 	  help_gammadist, gnumeric_gammadist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gammainv",     "fff",
+	{ F_("gammainv"),     "fff",
 	  help_gammainv, gnumeric_gammainv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "geomean", NULL,
+	{ F_("geomean"), NULL,
 	  help_geomean, NULL, gnumeric_geomean, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "growth",       "A|AAb",
+	{ F_("growth"),       "A|AAb",
 	  help_growth, gnumeric_growth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "harmean", NULL,
+	{ F_("harmean"), NULL,
 	  help_harmean, NULL, gnumeric_harmean, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hypgeomdist",  "ffff|b",
+	{ F_("hypgeomdist"),  "ffff|b",
 	  help_hypgeomdist, gnumeric_hypgeomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "intercept",    "AA",
+        { F_("intercept"),    "AA",
 	  help_intercept, gnumeric_intercept, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "kurt", NULL,
+        { F_("kurt"), NULL,
 	  help_kurt, NULL, gnumeric_kurt, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "large", "Af",
+	{ F_("large"), "Af",
 	  help_large, gnumeric_large, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "linest",       "A|Abb",
+	{ F_("linest"),       "A|Abb",
 	  help_linest, gnumeric_linest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logest",       "A|Abb",
+	{ F_("logest"),       "A|Abb",
 	  help_logest, gnumeric_logest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logfit",       "rr",
+	{ F_("logfit"),       "rr",
 	  help_logfit, gnumeric_logfit, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "loginv",       "fff",
+	{ F_("loginv"),       "fff",
 	  help_loginv, gnumeric_loginv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "lognormdist",  "fff",
+	{ F_("lognormdist"),  "fff",
 	  help_lognormdist, gnumeric_lognormdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logreg",       "A|Abb",
+	{ F_("logreg"),       "A|Abb",
 	  help_logreg, gnumeric_logreg, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "max", NULL,
+	{ F_("max"), NULL,
 	  help_max, NULL, gnumeric_max, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "maxa", NULL,
+	{ F_("maxa"), NULL,
 	  help_maxa, NULL, gnumeric_maxa, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "median", NULL,
+	{ F_("median"), NULL,
 	  help_median, NULL, gnumeric_median, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "min", NULL,
+	{ F_("min"), NULL,
 	  help_min, NULL, gnumeric_min, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mina", NULL,
+	{ F_("mina"), NULL,
 	  help_mina, NULL, gnumeric_mina, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mode", NULL,
+	{ F_("mode"), NULL,
 	  help_mode, NULL, gnumeric_mode, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "negbinomdist", "fff",
+	{ F_("negbinomdist"), "fff",
 	  help_negbinomdist, gnumeric_negbinomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normdist",     "fffb",
+	{ F_("normdist"),     "fffb",
 	  help_normdist, gnumeric_normdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "norminv",      "fff",
+	{ F_("norminv"),      "fff",
 	  help_norminv, gnumeric_norminv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normsdist",    "f",
+	{ F_("normsdist"),    "f",
 	  help_normsdist, gnumeric_normsdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normsinv",     "f",
+	{ F_("normsinv"),     "f",
 	  help_normsinv, gnumeric_normsinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "pearson",      "AA",
+        { F_("pearson"),      "AA",
 	  help_pearson, gnumeric_pearson, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "percentile",   "Af",
+        { F_("percentile"),   "Af",
 	  help_percentile, gnumeric_percentile, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "percentrank",  "Af|f",
+	{ F_("percentrank"),  "Af|f",
 	  help_percentrank, gnumeric_percentrank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "permut",       "ff",
+	{ F_("permut"),       "ff",
 	  help_permut, gnumeric_permut, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "poisson",      "ffb",
+	{ F_("poisson"),      "ffb",
 	  help_poisson, gnumeric_poisson, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "prob",         "AAf|f",
+	{ F_("prob"),         "AAf|f",
 	  help_prob, gnumeric_prob, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "quartile",     "Af",
+        { F_("quartile"),     "Af",
 	  help_quartile, gnumeric_quartile, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rank",         "fr|f",
+	{ F_("rank"),         "fr|f",
 	  help_rank, gnumeric_rank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "slope",        "AA",
+	{ F_("slope"),        "AA",
 	  help_slope, gnumeric_slope, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "small", "Af",
+	{ F_("small"), "Af",
 	  help_small, gnumeric_small, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "standardize",  "fff",
+	{ F_("standardize"),  "fff",
 	  help_standardize, gnumeric_standardize, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "ssmedian",   "A|f",
+        { F_("ssmedian"),   "A|f",
 	  help_ssmedian, gnumeric_ssmedian, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "stdev", NULL,
+	{ F_("stdev"), NULL,
 	  help_stdev, NULL, gnumeric_stdev, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "stdeva", NULL,
+	{ F_("stdeva"), NULL,
 	  help_stdeva, NULL, gnumeric_stdeva, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "stdevp", NULL,
+	{ F_("stdevp"), NULL,
 	  help_stdevp, NULL, gnumeric_stdevp, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "stdevpa", NULL,
+	{ F_("stdevpa"), NULL,
 	  help_stdevpa, NULL, gnumeric_stdevpa, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "steyx",        "AA",
+	{ F_("steyx"),        "AA",
 	  help_steyx, gnumeric_steyx, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "rsq",          "AA",
+        { F_("rsq"),          "AA",
 	  help_rsq, gnumeric_rsq, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "skew", NULL,
+	{ F_("skew"), NULL,
 	  help_skew, NULL, gnumeric_skew, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tdist",        "fff",
+	{ F_("tdist"),        "fff",
 	  help_tdist, gnumeric_tdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tinv",         "ff",
+	{ F_("tinv"),         "ff",
 	  help_tinv, gnumeric_tinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "trend",        "A|AAb",
+	{ F_("trend"),        "A|AAb",
 	  help_trend, gnumeric_trend, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "trimmean",     "rf",
+	{ F_("trimmean"),     "rf",
 	  help_trimmean, gnumeric_trimmean, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ttest",        "rrff",
+	{ F_("ttest"),        "rrff",
 	  help_ttest, gnumeric_ttest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "var", NULL,
+	{ F_("var"), NULL,
 	  help_var, NULL, gnumeric_var, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "vara", NULL,
+	{ F_("vara"), NULL,
 	  help_vara, NULL, gnumeric_vara, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "varp", NULL,
+	{ F_("varp"), NULL,
 	  help_varp, NULL, gnumeric_varp, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "varpa", NULL,
+	{ F_("varpa"), NULL,
 	  help_varpa, NULL, gnumeric_varpa, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "weibull",      "fffb",
+        { F_("weibull"),      "fffb",
 	  help_weibull, gnumeric_weibull, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ztest", "Af|f",
+	{ F_("ztest"), "Af|f",
 	  help_ztest, gnumeric_ztest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "exppowdist", "fff",          help_exppowdist,
+        { F_("exppowdist"), "fff",          help_exppowdist,
 	  gnumeric_exppowdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "geomdist", "ffb",     help_geomdist,
+        { F_("geomdist"), "ffb",     help_geomdist,
 	  gnumeric_geomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "kurtp", NULL,
+        { F_("kurtp"), NULL,
 	  help_kurtp, NULL, gnumeric_kurtp, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "landau", "f",  help_landau,
+        { F_("landau"), "f",  help_landau,
 	  gnumeric_landau, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "laplace", "ff",  help_laplace,
+        { F_("laplace"), "ff",  help_laplace,
 	  gnumeric_laplace, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "logistic", "ff",  help_logistic,
+        { F_("logistic"), "ff",  help_logistic,
 	  gnumeric_logistic, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "pareto", "fff",  help_pareto,
+        { F_("pareto"), "fff",  help_pareto,
 	  gnumeric_pareto, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "rayleigh", "ff",  help_rayleigh,
+        { F_("rayleigh"), "ff",  help_rayleigh,
 	  gnumeric_rayleigh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "rayleightail", "fff",  help_rayleightail,
+        { F_("rayleightail"), "fff",  help_rayleightail,
 	  gnumeric_rayleightail, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "skewp", NULL,
+	{ F_("skewp"), NULL,
 	  help_skewp, NULL, gnumeric_skewp, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "subtotal", NULL,
+	{ F_("subtotal"), NULL,
 	  help_subtotal,    NULL, gnumeric_subtotal, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "cronbach", NULL,
+	{ F_("cronbach"), NULL,
 	  help_cronbach, NULL, gnumeric_cronbach, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "permutationa",   "ff",       help_permutationa,
+	{ F_("permutationa"),   "ff",       help_permutationa,
 	  gnumeric_permutationa, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
diff --git a/plugins/fn-stat/plugin.xml.in b/plugins/fn-stat/plugin.xml.in
index 2e5e909..f66f377 100644
--- a/plugins/fn-stat/plugin.xml.in
+++ b/plugins/fn-stat/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="stat">
+		<service type="function_group" id="stat" gettext_domain="gnumeric-functions">
 			<_category>Statistics</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="avedev"/>
diff --git a/plugins/fn-string/functions.c b/plugins/fn-string/functions.c
index b2730b7..c1e8ea8 100644
--- a/plugins/fn-string/functions.c
+++ b/plugins/fn-string/functions.c
@@ -64,8 +64,8 @@ static GnmFuncHelp const help_char[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("In CP1252 (Windows-1252), 129, 141, 143, 144, and 157 do not have matching characters.") },
 	{ GNM_FUNC_HELP_NOTE, F_("For @{x} from 1 to 255 except 129, 141, 143, 144, and 157 we have CODE(CHAR(@{x}))=@{x}.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CHAR(65)" },
-	{ GNM_FUNC_HELP_SEEALSO, "CODE"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CHAR(65)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CODE")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -102,9 +102,9 @@ gnumeric_char (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_unichar[] = {
         { GNM_FUNC_HELP_NAME, F_("UNICHAR:the Unicode character represented by the Unicode code point @{x}.")},
         { GNM_FUNC_HELP_ARG, F_("x:Unicode code point")},
-        { GNM_FUNC_HELP_EXAMPLES, "=UNICHAR(65)"},
-        { GNM_FUNC_HELP_EXAMPLES, "=UNICHAR(960)"},
-        { GNM_FUNC_HELP_SEEALSO, "CHAR,UNICODE,CODE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=UNICHAR(65)")},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=UNICHAR(960)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("CHAR,UNICODE,CODE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -135,8 +135,8 @@ static GnmFuncHelp const help_code[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("In CP1252 (Windows-1252), 129, 141, 143, 144, and 157 do not have matching characters.") },
 	{ GNM_FUNC_HELP_NOTE, F_("For @{x} from 1 to 255 except 129, 141, 143, 144, and 157 we have CODE(CHAR(@{x}))=@{x}.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("This function is Excel compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=CODE(\"A\")" },
-	{ GNM_FUNC_HELP_SEEALSO, "CHAR"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=CODE(\"A\")") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CHAR")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -174,8 +174,8 @@ gnumeric_code (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 static GnmFuncHelp const help_unicode[] = {
         { GNM_FUNC_HELP_NAME, F_("UNICODE:the Unicode code point for the character @{c}")},
         { GNM_FUNC_HELP_ARG, F_("c:character")},
-        { GNM_FUNC_HELP_EXAMPLES, "=UNICODE(\"A\")" },
-        { GNM_FUNC_HELP_SEEALSO, "UNICHAR,CODE,CHAR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=UNICODE(\"A\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("UNICHAR,CODE,CHAR")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -197,9 +197,9 @@ static GnmFuncHelp const help_exact[] = {
         { GNM_FUNC_HELP_ARG, F_("string1:first string")},
         { GNM_FUNC_HELP_ARG, F_("string2:second string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=EXACT(\"Gnumeric\",\"Gnumeric\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=EXACT(\"gnumeric\",\"Gnumeric\")" },
-        { GNM_FUNC_HELP_SEEALSO, "LEN,SEARCH,DELTA"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EXACT(\"Gnumeric\",\"Gnumeric\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=EXACT(\"gnumeric\",\"Gnumeric\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LEN,SEARCH,DELTA")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -216,9 +216,9 @@ static GnmFuncHelp const help_len[] = {
         { GNM_FUNC_HELP_NAME, F_("LEN:the number of characters of the string @{s}")},
         { GNM_FUNC_HELP_ARG, F_("s:the string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LEN(\"Helsinki\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=LEN(\"L\xc3\xa9vy\")" },
-	{ GNM_FUNC_HELP_SEEALSO, "CHAR,CODE,LENB"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LEN(\"Helsinki\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LEN(\"L\xc3\xa9vy\")") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("CHAR,CODE,LENB")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -233,9 +233,9 @@ static GnmFuncHelp const help_lenb[] = {
         { GNM_FUNC_HELP_NAME, F_("LENB:the number of bytes in the string @{s}")},
         { GNM_FUNC_HELP_ARG, F_("s:the string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=LENB(\"Helsinki\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=LENB(\"L\xc3\xa9vy\")" },
-        { GNM_FUNC_HELP_SEEALSO, "CHAR, CODE, LEN"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LENB(\"Helsinki\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LENB(\"L\xc3\xa9vy\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CHAR, CODE, LEN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -254,9 +254,9 @@ static GnmFuncHelp const help_left[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the string @{s} is in a right-to-left script, the returned first characters are from the right of the string.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=LEFT(\"L\xc3\xa9vy\",3)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=LEFT(\"L\xc3\xa9vy\",2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "MID,RIGHT,LEN,MIDB,RIGHTB,LENB"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LEFT(\"L\xc3\xa9vy\",3)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LEFT(\"L\xc3\xa9vy\",2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("MID,RIGHT,LEN,MIDB,RIGHTB,LENB")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -287,9 +287,9 @@ static GnmFuncHelp const help_leftb[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the string is in a right-to-left script, the returned first characters are from the right of the string.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=LEFTB(\"L\xc3\xa9vy\",3)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=LEFTB(\"L\xc3\xa9vy\",2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "MIDB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN" },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LEFTB(\"L\xc3\xa9vy\",3)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=LEFTB(\"L\xc3\xa9vy\",2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("MIDB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -317,9 +317,9 @@ static GnmFuncHelp const help_lower[] = {
         { GNM_FUNC_HELP_NAME, F_("LOWER:a lower-case version of the string @{text}.")},
 	{ GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=LOWER(\"J. F. Kennedy\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=LOWER(\"L\xc3\x89VY\")" },
-        { GNM_FUNC_HELP_SEEALSO, "UPPER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOWER(\"J. F. Kennedy\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=LOWER(\"L\xc3\x89VY\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("UPPER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -338,9 +338,9 @@ static GnmFuncHelp const help_mid[] = {
 	{ GNM_FUNC_HELP_ARG, F_("length:the number of characters to return")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=MID(\"L\xc3\xa9vy\",2,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MID(\"L\xc3\xa9vy\",3,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "LEFT,RIGHT,LEN,LEFTB,MIDB,RIGHTB,LENB"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MID(\"L\xc3\xa9vy\",2,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MID(\"L\xc3\xa9vy\",3,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("LEFT,RIGHT,LEN,LEFTB,MIDB,RIGHTB,LENB")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -380,10 +380,10 @@ static GnmFuncHelp const help_midb[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, "
 				  "the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=MIDB(\"L\xc3\xa9vy\",2,1)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MIDB(\"L\xc3\xa9vy\",2,2)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=MIDB(\"L\xc3\xa9vy\",3,2)" },
-	{ GNM_FUNC_HELP_SEEALSO, "LEFTB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MIDB(\"L\xc3\xa9vy\",2,1)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MIDB(\"L\xc3\xa9vy\",2,2)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=MIDB(\"L\xc3\xa9vy\",3,2)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("LEFTB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -424,10 +424,10 @@ static GnmFuncHelp const help_findb[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, "
 				  "the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=FINDB(\"v\",\"L\xc3\xa9vy\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FINDB(\"v\",\"L\xc3\xa9vy\",3)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=FINDB(\"v\",\"L\xc3\xa9vy\",5)" },
-	{ GNM_FUNC_HELP_SEEALSO, "FIND,LEFTB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FINDB(\"v\",\"L\xc3\xa9vy\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FINDB(\"v\",\"L\xc3\xa9vy\",3)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=FINDB(\"v\",\"L\xc3\xa9vy\",5)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("FIND,LEFTB,RIGHTB,LENB,LEFT,MID,RIGHT,LEN")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -465,9 +465,9 @@ static GnmFuncHelp const help_right[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the string @{s} is in a right-to-left script, the returned last characters are from the left of the string.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=RIGHT(\"L\xc3\xa9vy\",2)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RIGHT(\"L\xc3\xa9vy\",3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "LEFT,MID,LEN,LEFTB,MIDB,RIGHTB,LENB"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RIGHT(\"L\xc3\xa9vy\",2)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RIGHT(\"L\xc3\xa9vy\",3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("LEFT,MID,LEN,LEFTB,MIDB,RIGHTB,LENB")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -502,9 +502,9 @@ static GnmFuncHelp const help_rightb[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If the string @{s} is in a right-to-left script, the returned last characters are from the left of the string.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=RIGHTB(\"L\xc3\xa9vy\",2)" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=RIGHTB(\"L\xc3\xa9vy\",3)" },
-	{ GNM_FUNC_HELP_SEEALSO, "LEFTB,MIDB,LENB,LEFT,MID,RIGHT,LEN"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RIGHTB(\"L\xc3\xa9vy\",2)") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=RIGHTB(\"L\xc3\xa9vy\",3)") },
+	{ GNM_FUNC_HELP_SEEALSO, F_("LEFTB,MIDB,LENB,LEFT,MID,RIGHT,LEN")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -533,9 +533,9 @@ static GnmFuncHelp const help_upper[] = {
         { GNM_FUNC_HELP_NAME, F_("UPPER:an upper-case version of the string @text.")},
 	{ GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=UPPER(\"Gnumeric\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=UPPER(\"L\xc3\xa9vy\")" },
-        { GNM_FUNC_HELP_SEEALSO, "LOWER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=UPPER(\"Gnumeric\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=UPPER(\"L\xc3\xa9vy\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LOWER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -553,8 +553,8 @@ static GnmFuncHelp const help_concatenate[] = {
         { GNM_FUNC_HELP_ARG, F_("s1:first string")},
         { GNM_FUNC_HELP_ARG, F_("s2:second string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=CONCATENATE(\"aa\",\"bb\")" },
-        { GNM_FUNC_HELP_SEEALSO, "LEFT,MID,RIGHT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CONCATENATE(\"aa\",\"bb\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LEFT,MID,RIGHT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -575,8 +575,8 @@ static GnmFuncHelp const help_rept[] = {
         { GNM_FUNC_HELP_ARG, F_("text:string")},
         { GNM_FUNC_HELP_ARG, F_("num:non-negative integer")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=REPT(\"x\",3)" },
-        { GNM_FUNC_HELP_SEEALSO, "CONCATENATE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=REPT(\"x\",3)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CONCATENATE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -619,7 +619,7 @@ static GnmFuncHelp const help_clean[] = {
         { GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_DESCRIPTION, F_("CLEAN removes non-printable characters from its argument leaving only regular characters and white-space.") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=CLEAN(\"Gnumeric\"&char(7))" },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=CLEAN(\"Gnumeric\"&char(7))") },
         { GNM_FUNC_HELP_END}
 };
 
@@ -650,8 +650,8 @@ static GnmFuncHelp const help_find[] = {
         { GNM_FUNC_HELP_ARG, F_("start:starting position, defaults to 1")},
         { GNM_FUNC_HELP_NOTE, F_("This search is case-sensitive.")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=FIND(\"num\",\"Gnumeric\")" },
-        { GNM_FUNC_HELP_SEEALSO, "EXACT,LEN,MID,SEARCH"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FIND(\"num\",\"Gnumeric\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("EXACT,LEN,MID,SEARCH")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -688,9 +688,9 @@ static GnmFuncHelp const help_fixed[] = {
         { GNM_FUNC_HELP_ARG, F_("no_commas:TRUE if no thousand separators should be used, "
 				"defaults to FALSE")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=FIXED(1234.567,2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=FIXED(1234.567,2,TRUE)" },
-        { GNM_FUNC_HELP_SEEALSO, "TEXT,VALUE,DOLLAR"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FIXED(1234.567,2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=FIXED(1234.567,2,TRUE)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("TEXT,VALUE,DOLLAR")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -743,8 +743,8 @@ static GnmFuncHelp const help_proper[] = {
         { GNM_FUNC_HELP_NAME, F_("PROPER:@{text} with initial of each word capitalised.")},
         { GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=PROPER(\"j. f. kennedy\")" },
-        { GNM_FUNC_HELP_SEEALSO, "LOWER,UPPER"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=PROPER(\"j. f. kennedy\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("LOWER,UPPER")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -789,8 +789,8 @@ static GnmFuncHelp const help_replace[] = {
         { GNM_FUNC_HELP_ARG, F_("num:number of characters to be replaced")},
         { GNM_FUNC_HELP_ARG, F_("new:replacement string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=REPLACE(\"Gnumeric\",2,6,\"*6*\")" },
-        { GNM_FUNC_HELP_SEEALSO, "MID,SEARCH,SUBSTITUTE,TRIM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=REPLACE(\"Gnumeric\",2,6,\"*6*\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("MID,SEARCH,SUBSTITUTE,TRIM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -845,13 +845,13 @@ static GnmFuncHelp const help_replaceb[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, "
 				  "the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",2,1,\"*\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",2,2,\"*\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",2,3,\"*\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",2,4,\"*\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",3,2,\"*\")" },
-	{ GNM_FUNC_HELP_EXAMPLES, "=REPLACEB(\"L\xc3\xa9vy\",3,3,\"*\")" },
-        { GNM_FUNC_HELP_SEEALSO, "MID,SEARCH,SUBSTITUTE,TRIM"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",2,1,\"*\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",2,2,\"*\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",2,3,\"*\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",2,4,\"*\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",3,2,\"*\")") },
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=REPLACEB(\"L\xc3\xa9vy\",3,3,\"*\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("MID,SEARCH,SUBSTITUTE,TRIM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -890,9 +890,9 @@ static GnmFuncHelp const help_t_[] = {
         { GNM_FUNC_HELP_NAME, F_("T:@{value} if and only if @{value} is text, otherwise empty")},
         { GNM_FUNC_HELP_ARG, F_("value:original value")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=T(\"Gnumeric\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=T(64)"},
-        { GNM_FUNC_HELP_SEEALSO, "CELL,N,VALUE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=T(\"Gnumeric\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=T(64)")},
+        { GNM_FUNC_HELP_SEEALSO, F_("CELL,N,VALUE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -914,9 +914,9 @@ static GnmFuncHelp const help_text[] = {
         { GNM_FUNC_HELP_ARG, F_("value:value to be formatted")},
         { GNM_FUNC_HELP_ARG, F_("format:desired format")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TEXT(3.223,\"$0.00\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=TEXT(date(1999,4,15),\"mmmm, dd, yy\")" },
-        { GNM_FUNC_HELP_SEEALSO, "DOLLAR,FIXED,VALUE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TEXT(3.223,\"$0.00\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TEXT(date(1999,4,15),\"mmmm, dd, yy\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DOLLAR,FIXED,VALUE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -967,8 +967,8 @@ static GnmFuncHelp const help_trim[] = {
         { GNM_FUNC_HELP_NAME, F_("TRIM:@{text} with only single spaces between words.")},
         { GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=TRIM(\"  a bbb  cc \")" },
-        { GNM_FUNC_HELP_SEEALSO, "CLEAN,MID,REPLACE,SUBSTITUTE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=TRIM(\"  a bbb  cc \")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("CLEAN,MID,REPLACE,SUBSTITUTE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1014,8 +1014,8 @@ static GnmFuncHelp const help_value[] = {
         { GNM_FUNC_HELP_NAME, F_("VALUE:numeric value of @{text}")},
         { GNM_FUNC_HELP_ARG, F_("text:string")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=VALUE(\"$1,000\")" },
-        { GNM_FUNC_HELP_SEEALSO, "DOLLAR,FIXED,TEXT"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=VALUE(\"$1,000\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("DOLLAR,FIXED,TEXT")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1051,8 +1051,8 @@ static GnmFuncHelp const help_numbervalue[] = {
 				 "NUMBERVALUE returns the value VALUE would "
 				 "return (ignoring the given @{separator}).")},
  	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=NUMBERVALUE(\"$1,000\",\",\")" },
-        { GNM_FUNC_HELP_SEEALSO, "VALUE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=NUMBERVALUE(\"$1,000\",\",\")") },
+        { GNM_FUNC_HELP_SEEALSO, F_("VALUE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1110,9 +1110,9 @@ static GnmFuncHelp const help_substitute[] = {
         { GNM_FUNC_HELP_ARG, F_("num:if @{num} is specified and a number "
 				"only the @{num}th occurrence of @{old} is replaced")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SUBSTITUTE(\"United Nations Educational, Scientific and Cultural Organization\",\"ation\",\"-5-\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SUBSTITUTE(\"United Nations Educational, Scientific and Cultural Organization\",\"ation\",\"-5-\",2)" },
-        { GNM_FUNC_HELP_SEEALSO, "REPLACE,TRIM"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SUBSTITUTE(\"United Nations Educational, Scientific and Cultural Organization\",\"ation\",\"-5-\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SUBSTITUTE(\"United Nations Educational, Scientific and Cultural Organization\",\"ation\",\"-5-\",2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("REPLACE,TRIM")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1181,8 +1181,8 @@ static GnmFuncHelp const help_dollar[] = {
         { GNM_FUNC_HELP_ARG, F_("num:number")},
         { GNM_FUNC_HELP_ARG, F_("decimals:decimals")},
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=DOLLAR(12345)" },
-        { GNM_FUNC_HELP_SEEALSO, "FIXED,TEXT,VALUE"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=DOLLAR(12345)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("FIXED,TEXT,VALUE")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1264,11 +1264,11 @@ static GnmFuncHelp const help_search[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("If @{start} is less than one or it is greater than "
 				 "the length of @{text}, SEARCH returns #VALUE!") },
 	{ GNM_FUNC_HELP_EXCEL, F_("This function is Excel compatible.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCH(\"c\",\"Canc\xc3\xban\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCH(\"c\",\"Canc\xc3\xban\",2)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCH(\"c*c\",\"Canc\xc3\xban\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCH(\"c*c\",\"Canc\xc3\xban\",2)" },
-        { GNM_FUNC_HELP_SEEALSO, "FIND,SEARCHB"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCH(\"c\",\"Canc\xc3\xban\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCH(\"c\",\"Canc\xc3\xban\",2)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCH(\"c*c\",\"Canc\xc3\xban\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCH(\"c*c\",\"Canc\xc3\xban\",2)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("FIND,SEARCHB")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1336,12 +1336,12 @@ static GnmFuncHelp const help_searchb[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("While this function is syntactically Excel compatible, "
 				  "the differences in the underlying text encoding will usually yield different results.")},
 	{ GNM_FUNC_HELP_ODF, F_("While this function is OpenFormula compatible, most of its behavior is, at this time, implementation specific.")},
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCHB(\"n\",\"Canc\xc3\xban\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCHB(\"n\",\"Canc\xc3\xban\",4)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCHB(\"n\",\"Canc\xc3\xban\",6)" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCHB(\"n*n\",\"Canc\xc3\xban\")" },
-        { GNM_FUNC_HELP_EXAMPLES, "=SEARCHB(\"n*n\",\"Canc\xc3\xban\",4)" },
-        { GNM_FUNC_HELP_SEEALSO, "FINDB,SEARCH"},
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCHB(\"n\",\"Canc\xc3\xban\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCHB(\"n\",\"Canc\xc3\xban\",4)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCHB(\"n\",\"Canc\xc3\xban\",6)") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCHB(\"n*n\",\"Canc\xc3\xban\")") },
+        { GNM_FUNC_HELP_EXAMPLES, F_("=SEARCHB(\"n*n\",\"Canc\xc3\xban\",4)") },
+        { GNM_FUNC_HELP_SEEALSO, F_("FINDB,SEARCH")},
         { GNM_FUNC_HELP_END}
 };
 
@@ -1393,8 +1393,8 @@ static GnmFuncHelp const help_asc[] = {
 	{ GNM_FUNC_HELP_EXCEL, F_("For most strings, this function has the same effect as in Excel.")},
 	{ GNM_FUNC_HELP_NOTE, F_("While in obsolete encodings ASC used to translate between 2-byte and 1-byte characters, this is not the case in UTF-8.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=ASC(\"\xef\xbc\xa1\xef\xbc\xa2\xef\xbc\xa3\")"},
-	{ GNM_FUNC_HELP_SEEALSO, "JIS"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=ASC(\"\xef\xbc\xa1\xef\xbc\xa2\xef\xbc\xa3\")")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("JIS")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1523,8 +1523,8 @@ static GnmFuncHelp const help_jis[] = {
 	{ GNM_FUNC_HELP_NOTE, F_("While in obsolete encodings JIS used to translate between 1-byte "
 				 "and 2-byte characters, this is not the case in UTF-8.")},
 	{ GNM_FUNC_HELP_ODF, F_("This function is OpenFormula compatible.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=JIS(\"ABC\")"},
-	{ GNM_FUNC_HELP_SEEALSO, "ASC"},
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=JIS(\"ABC\")")},
+	{ GNM_FUNC_HELP_SEEALSO, F_("ASC")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1626,109 +1626,109 @@ gnumeric_jis (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 }
 /***************************************************************************/
 GnmFuncDescriptor const string_functions[] = {
-        { "asc",       "s",                       help_asc,
+        { F_("asc"),       "s",                       help_asc,
 	  gnumeric_asc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "char",       "f",                       help_char,
+        { F_("char"),       "f",                       help_char,
 	  gnumeric_char, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "unichar",    "f",                       help_unichar,
+        { F_("unichar"),    "f",                       help_unichar,
 	  gnumeric_unichar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
-        { "clean",      "S",                         help_clean,
+        { F_("clean"),      "S",                         help_clean,
           gnumeric_clean, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "code",       "S",                         help_code,
+        { F_("code"),       "S",                         help_code,
 	  gnumeric_code, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "unicode",    "S",                         help_unicode,
+        { F_("unicode"),    "S",                         help_unicode,
 	  gnumeric_unicode, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
-        { "concatenate", NULL,               help_concatenate,
+        { F_("concatenate"), NULL,               help_concatenate,
 	  NULL, gnumeric_concatenate, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dollar",     "f|f",               help_dollar,
+        { F_("dollar"),     "f|f",               help_dollar,
 	  gnumeric_dollar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "exact",      "SS",                 help_exact,
+        { F_("exact"),      "SS",                 help_exact,
 	  gnumeric_exact, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "find",       "SS|f",           help_find,
+        { F_("find"),       "SS|f",           help_find,
 	  gnumeric_find, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "findb",       "SS|f",           help_findb,
+        { F_("findb"),       "SS|f",           help_findb,
 	  gnumeric_findb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "fixed",      "f|fb",        help_fixed,
+        { F_("fixed"),      "f|fb",        help_fixed,
 	  gnumeric_fixed, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "jis",       "s",                       help_jis,
+        { F_("jis"),       "s",                       help_jis,
 	  gnumeric_jis, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "left",       "S|f",             help_left,
+        { F_("left"),       "S|f",             help_left,
 	  gnumeric_left, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "leftb",       "S|f",             help_leftb,
+        { F_("leftb"),       "S|f",             help_leftb,
 	  gnumeric_leftb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "len",        "S",                         help_len,
+        { F_("len"),        "S",                         help_len,
 	  gnumeric_len, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "lenb",       "S",                         help_lenb,
+        { F_("lenb"),       "S",                         help_lenb,
 	  gnumeric_lenb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "lower",      "S",                         help_lower,
+        { F_("lower"),      "S",                         help_lower,
 	  gnumeric_lower, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "mid",        "Sff",               help_mid,
+        { F_("mid"),        "Sff",               help_mid,
 	  gnumeric_mid, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "midb",        "Sff",               help_midb,
+        { F_("midb"),        "Sff",               help_midb,
 	  gnumeric_midb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "numbervalue",      "SS",          help_numbervalue,
+        { F_("numbervalue"),      "SS",          help_numbervalue,
 	  gnumeric_numbervalue, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
-        { "proper",     "S",                         help_proper,
+        { F_("proper"),     "S",                         help_proper,
 	  gnumeric_proper, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "replace",    "SffS",         help_replace,
+        { F_("replace"),    "SffS",         help_replace,
 	  gnumeric_replace, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "replaceb",    "SffS",         help_replaceb,
+        { F_("replaceb"),    "SffS",         help_replaceb,
 	  gnumeric_replaceb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "rept",       "Sf",                    help_rept,
+        { F_("rept"),       "Sf",                    help_rept,
 	  gnumeric_rept, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "right",      "S|f",             help_right,
+        { F_("right"),      "S|f",             help_right,
 	  gnumeric_right, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "rightb",       "S|f",             help_rightb,
+        { F_("rightb"),       "S|f",             help_rightb,
 	  gnumeric_rightb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "search",     "SS|f",     help_search,
+        { F_("search"),     "SS|f",     help_search,
 	  gnumeric_search, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "searchb",     "SS|f",     help_searchb,
+        { F_("searchb"),     "SS|f",     help_searchb,
 	  gnumeric_searchb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "substitute", "SSS|f",        help_substitute,
+        { F_("substitute"), "SSS|f",        help_substitute,
 	  gnumeric_substitute, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "t",          "S",                        help_t_,
+        { F_("t"),          "S",                        help_t_,
           gnumeric_t_, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "text",       "Ss",           help_text,
+        { F_("text"),       "Ss",           help_text,
 	  gnumeric_text, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "trim",       "S",                         help_trim,
+        { F_("trim"),       "S",                         help_trim,
 	  gnumeric_trim, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "upper",      "S",                         help_upper,
+        { F_("upper"),      "S",                         help_upper,
 	  gnumeric_upper, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "value",      "S",                         help_value,
+        { F_("value"),      "S",                         help_value,
 	  gnumeric_value, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
diff --git a/plugins/fn-string/plugin.xml.in b/plugins/fn-string/plugin.xml.in
index b59b47a..8d95f94 100644
--- a/plugins/fn-string/plugin.xml.in
+++ b/plugins/fn-string/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="plugin"/>
 	</loader>
 	<services>
-		<service type="function_group" id="string">
+		<service type="function_group" id="string" gettext_domain="gnumeric-functions">
 			<_category>String</_category>
 			<functions textdomain="gnumeric-functions">
 				<function name="asc"/>
diff --git a/plugins/fn-tsa/functions.c b/plugins/fn-tsa/functions.c
index 34d1323..ff3378e 100644
--- a/plugins/fn-tsa/functions.c
+++ b/plugins/fn-tsa/functions.c
@@ -378,7 +378,7 @@ static GnmFuncHelp const help_interpolation[] = {
 	INTERPOLATIONMETHODS,
 	{ GNM_FUNC_HELP_NOTE, F_("Strings and empty cells in @{abscissas} and @{ordinates} are ignored.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If several target data are provided they must be in the same column in consecutive cells.") },
-	{ GNM_FUNC_HELP_SEEALSO, "PERIODOGRAM" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("PERIODOGRAM") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -653,7 +653,7 @@ static GnmFuncHelp const help_periodogram[] = {
 					"3: Welch (parabolic window)") },
 	{ GNM_FUNC_HELP_NOTE, F_("Strings and empty cells in @{abscissas} and @{ordinates} are ignored.") },
 	{ GNM_FUNC_HELP_NOTE, F_("If several target data are provided they must be in the same column in consecutive cells.") },
-	{ GNM_FUNC_HELP_SEEALSO, "INTERPOLATION" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("INTERPOLATION") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -1003,15 +1003,15 @@ gnumeric_fourier (GnmFuncEvalInfo *ei, GnmValue const * const *argv)
 
 const GnmFuncDescriptor TimeSeriesAnalysis_functions[] = {
 
-        { "interpolation",       "AAA|f",
+        { F_("interpolation"),       "AAA|f",
 	  help_interpolation, gnumeric_interpolation, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "periodogram",       "A|fAff",
+	{ F_("periodogram"),       "A|fAff",
 	  help_periodogram, gnumeric_periodogram, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "fourier",       "A|b",
+	{ F_("fourier"),       "A|b",
 	  help_fourier, gnumeric_fourier, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
diff --git a/plugins/gda/plugin-gda.c b/plugins/gda/plugin-gda.c
index c65683c..a066cf8 100644
--- a/plugins/gda/plugin-gda.c
+++ b/plugins/gda/plugin-gda.c
@@ -310,9 +310,9 @@ static GnmFuncHelp const help_execSQL[] = {
 	{ GNM_FUNC_HELP_ARG, F_("sql:SQL command") },
 	{ GNM_FUNC_HELP_NOTE, F_("Before using EXECSQL, you need to set up a libgda "
 				 "data source.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=EXECSQL(\"mydatasource\",\"username\",\"password\""
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=EXECSQL(\"mydatasource\",\"username\",\"password\"")
 	  ",\"SELECT * FROM customers\")" },
-	{ GNM_FUNC_HELP_SEEALSO, "READDBTABLE" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("READDBTABLE") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -387,9 +387,9 @@ static GnmFuncHelp const help_readDBTable[] = {
 	{ GNM_FUNC_HELP_ARG, F_("table:SQL table to retrieve") },
 	{ GNM_FUNC_HELP_NOTE, F_("Before using EXECSQL, you need to set up a libgda "
 				 "data source.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=READDBTABLE(\"mydatasource\",\"username\","
+	{ GNM_FUNC_HELP_EXAMPLES, F_("=READDBTABLE(\"mydatasource\",\"username\",")
 	  "\"password\",\"customers\")" },
-	{ GNM_FUNC_HELP_SEEALSO, "EXECSQL" },
+	{ GNM_FUNC_HELP_SEEALSO, F_("EXECSQL") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -490,11 +490,11 @@ ModulePluginUIActions const gdaif_ui_actions[] = {
 
 GnmFuncDescriptor gdaif_functions[] = {
 	{
-		"execSQL",	"ssss", "dsn,username,password,sql",
+		F_("execSQL"),	"ssss", F_("dsn,username,password,sql"),
 		help_execSQL, &gnumeric_execSQL, NULL, NULL, NULL
 	},
 	{
-		"readDBTable", "ssss", "dsn,username,password,table",
+		F_("readDBTable"), "ssss", F_("dsn,username,password,table"),
 		help_readDBTable, &gnumeric_readDBTable, NULL, NULL, NULL
 	},
 	{NULL}
diff --git a/plugins/gda/plugin.xml.in b/plugins/gda/plugin.xml.in
index e20cecb..7af8953 100644
--- a/plugins/gda/plugin.xml.in
+++ b/plugins/gda/plugin.xml.in
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="gdaif"/>
 	</loader>
 	<services>
-		<service type="function_group" id="gdaif">
+		<service type="function_group" id="gdaif" gettext_domain="gnumeric-functions">
 			<_category>Database</_category>
 			<functions>
 				<function name="execSQL"/>
diff --git a/plugins/guile/plugin.c b/plugins/guile/plugin.c
index 9f1c878..ef80d87 100644
--- a/plugins/guile/plugin.c
+++ b/plugins/guile/plugin.c
@@ -190,6 +190,7 @@ scm_register_function (SCM scm_name, SCM scm_args, SCM scm_help, SCM scm_categor
 
 	scm_permanent_object (scm_function);
 
+	memset (&desc, 0, sizeof (desc));
 	desc.name	= g_strdup (SCM_CHARS (scm_name));
 	desc.arg_spec	= g_strdup (SCM_CHARS (scm_args));
 	desc.arg_names	= NULL;
diff --git a/plugins/openoffice/openoffice-write.c b/plugins/openoffice/openoffice-write.c
index 2e36bc3..35398db 100644
--- a/plugins/openoffice/openoffice-write.c
+++ b/plugins/openoffice/openoffice-write.c
@@ -977,7 +977,7 @@ odf_save_style_map_single_f (GnmOOExport *state, GString *str, GnmExprTop const
 
 	parse_pos_init (&pp, WORKBOOK (state->wb), state->sheet, 0, 0);
 
-	formula = gnm_expr_top_as_string (texpr, &pp, state->conv);
+	formula = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 	g_string_append (str, formula);
 	g_free (formula);
 }
@@ -1453,9 +1453,9 @@ odf_func_r_dchisq_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 		GString *target = out->accum;
 		GnmExprConstPtr const *ptr = func->argv;
 		g_string_append (target, "CHISQDIST(");
-		gnm_expr_as_gstring (ptr[0], out);
+		gnm_expr_as_gstring (ptr[0], out, FALSE);
 		g_string_append_c (out->accum, ';');
-		gnm_expr_as_gstring (ptr[1], out);
+		gnm_expr_as_gstring (ptr[1], out, FALSE);
 		g_string_append (out->accum, ";FALSE())");
 		return TRUE;
 	}
@@ -1468,7 +1468,7 @@ odf_func_r_pchisq_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 	if (func->argc == 2) {
 		GString *target = out->accum;
 		g_string_append (target, "CHISQDIST");
-		gnm_expr_list_as_string (func->argc, func->argv, out);
+		gnm_expr_list_as_string (func->argc, func->argv, out, FALSE);
 		return TRUE;
 	}
 	return FALSE;
@@ -1480,7 +1480,7 @@ odf_func_r_qchisq_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 	if (func->argc == 2) {
 		GString *target = out->accum;
 		g_string_append (target, "CHISQINV");
-		gnm_expr_list_as_string (func->argc, func->argv, out);
+		gnm_expr_list_as_string (func->argc, func->argv, out, FALSE);
 		return TRUE;
 	}
 	return FALSE;
@@ -1494,13 +1494,13 @@ odf_func_floor_ceiling_handler (GnmConventionsOut *out, GnmExprFunction const *f
 	g_string_append (target, func->func->name);
 	g_string_append_c (target, '(');
 	if (func->argc > 0) {
-		gnm_expr_as_gstring (ptr[0], out);
+		gnm_expr_as_gstring (ptr[0], out, FALSE);
 		g_string_append_c (target, ';');
 		if (func->argc > 1)
-			gnm_expr_as_gstring (ptr[1], out);
+			gnm_expr_as_gstring (ptr[1], out, FALSE);
 		else {
 			g_string_append (target, "SIGN(");
-			gnm_expr_as_gstring (ptr[0], out);
+			gnm_expr_as_gstring (ptr[0], out, FALSE);
 			g_string_append_c (target, ')');
 		}
 		g_string_append (target, ";1)");
@@ -1516,7 +1516,7 @@ odf_func_sec_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 {
 	GString *target = out->accum;
 	g_string_append (target, "(1/COS");
-	gnm_expr_list_as_string (func->argc, func->argv, out);
+	gnm_expr_list_as_string (func->argc, func->argv, out, FALSE);
 	g_string_append_c (target, ')');
 	return TRUE;
 }
@@ -1526,7 +1526,7 @@ odf_func_sech_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 {
 	GString *target = out->accum;
 	g_string_append (target, "(1/COSH");
-	gnm_expr_list_as_string (func->argc, func->argv, out);
+	gnm_expr_list_as_string (func->argc, func->argv, out, FALSE);
 	g_string_append_c (target, ')');
 	return TRUE;
 }
@@ -1540,7 +1540,7 @@ odf_func_eastersunday_handler (GnmConventionsOut *out, GnmExprFunction const *fu
 		GnmExprConstPtr const *ptr = func->argv;
 /* OOo incorrectly stores this without an ORG.OPENOFFICE. prefix. */
 		g_string_append (target, "EASTERSUNDAY(");
-		gnm_expr_as_gstring (ptr[0], out);
+		gnm_expr_as_gstring (ptr[0], out, FALSE);
 		g_string_append (out->accum, ")");
 		return TRUE;
 	}
@@ -1548,7 +1548,7 @@ odf_func_eastersunday_handler (GnmConventionsOut *out, GnmExprFunction const *fu
 }
 
 static void
-odf_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func)
+odf_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func, gboolean localized)
 {
 	static struct {
 		char const *gnm_name;
@@ -1973,7 +1973,7 @@ odf_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 	static GHashTable *namemap = NULL;
 	static GHashTable *handlermap = NULL;
 
-	char const *name = gnm_func_get_name (func->func);
+	char const *name = gnm_func_get_name (func->func, localized);
 	gboolean (*handler) (GnmConventionsOut *out, GnmExprFunction const *func);
 
 	if (NULL == namemap) {
@@ -2018,7 +2018,7 @@ odf_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func)
 		else
 			g_string_append (target, new_name);
 
-		gnm_expr_list_as_string (func->argc, func->argv, out);
+		gnm_expr_list_as_string (func->argc, func->argv, out, localized);
 	}
 	return;
 }
@@ -2130,7 +2130,7 @@ odf_graph_get_series (GnmOOExport *state, GogGraph *sog, GnmParsePos *pp)
 		GOData *dat = list->data;
 		GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 		if (texpr != NULL && gnm_expr_top_is_rangeref (texpr)) {
-			char *formula = gnm_expr_top_as_string (texpr, pp, state->conv);
+			char *formula = gnm_expr_top_as_string (texpr, pp, state->conv, FALSE);
 			g_string_append (str, odf_strip_brackets (formula));
 			g_string_append_c (str, ' ');
 			g_free (formula);
@@ -2168,7 +2168,7 @@ odf_write_frame (GnmOOExport *state, SheetObject *so)
 	gnm_cellref_init (&ref, (Sheet *) state->sheet, r->end.col, r->end.row, TRUE);
 	texpr =  gnm_expr_top_new (gnm_expr_new_cellref (&ref));
 	parse_pos_init_sheet (&pp, state->sheet);
-	formula = gnm_expr_top_as_string (texpr, &pp, state->conv);
+	formula = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 	gnm_expr_top_unref (texpr);
 	gsf_xml_out_add_cstr (state->xml, TABLE "end-cell-address", odf_strip_brackets (formula));
 	g_free (formula);
@@ -2321,7 +2321,8 @@ odf_write_cell (GnmOOExport *state, GnmCell *cell, GnmRange const *merge_range,
 			parse_pos_init_cell (&pp, cell);
 			formula = gnm_expr_top_as_string (cell->base.texpr,
 							  &pp,
-							  state->conv);
+							  state->conv,
+			                                  FALSE);
 			eq_formula = g_strdup_printf ("of:=%s", formula);
 
 			gsf_xml_out_add_cstr (state->xml,
@@ -2913,7 +2914,8 @@ odf_write_content (GnmOOExport *state, GsfOutput *child)
 			parse_pos_init_sheet (&pp, sheet);
 			formula = gnm_expr_top_as_string (texpr,
 							  &pp,
-							  state->conv);
+							  state->conv,
+			                                  FALSE);
 			gnm_expr_top_unref (texpr);
 			gsf_xml_out_add_cstr (state->xml, TABLE "print-ranges",
 					      odf_strip_brackets (formula));
@@ -3204,7 +3206,7 @@ odf_write_standard_series (GnmOOExport *state, GSList const *series)
 		if (NULL != dat) {
 			GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 			if (NULL != texpr) {
-				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 				GOData const *cat = gog_dataset_get_dim (GOG_DATASET (series->data), GOG_MS_DIM_LABELS);
 				gsf_xml_out_start_element (state->xml, CHART "series");
 				gsf_xml_out_add_cstr (state->xml, CHART "values-cell-range-address",
@@ -3216,7 +3218,7 @@ odf_write_standard_series (GnmOOExport *state, GSList const *series)
 				if (NULL != cat) {
 					texpr = gnm_go_data_get_expr (cat);
 					if (NULL != texpr) {
-						str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+						str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 						gsf_xml_out_start_element (state->xml, CHART "domain");
 						gsf_xml_out_add_cstr (state->xml, TABLE "cell-range-address",
 								      odf_strip_brackets (str));
@@ -3242,7 +3244,7 @@ odf_write_gantt_series (GnmOOExport *state, GSList const *series)
 		if (NULL != dat) {
 			GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 			if (NULL != texpr) {
-				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 				GOData const *cat = gog_dataset_get_dim (GOG_DATASET (series->data), GOG_MS_DIM_LABELS);
 				gsf_xml_out_start_element (state->xml, CHART "series");
 				gsf_xml_out_add_cstr (state->xml, CHART "values-cell-range-address",
@@ -3254,7 +3256,7 @@ odf_write_gantt_series (GnmOOExport *state, GSList const *series)
 				if (NULL != cat) {
 					texpr = gnm_go_data_get_expr (cat);
 					if (NULL != texpr) {
-						str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+						str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 						gsf_xml_out_start_element (state->xml, CHART "domain");
 						gsf_xml_out_add_cstr (state->xml, TABLE "cell-range-address",
 								      odf_strip_brackets (str));
@@ -3269,7 +3271,7 @@ odf_write_gantt_series (GnmOOExport *state, GSList const *series)
 		if (NULL != dat) {
 			GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 			if (NULL != texpr) {
-				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 				gsf_xml_out_start_element (state->xml, CHART "series");
 				gsf_xml_out_add_cstr (state->xml, CHART "values-cell-range-address",
 						      odf_strip_brackets (str));
@@ -3297,7 +3299,7 @@ odf_write_bubble_series (GnmOOExport *state, GSList const *orig_series)
 		if (NULL != dat) {
 			GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 			if (NULL != texpr) {
-				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+				char *str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 				gsf_xml_out_start_element (state->xml, CHART "series");
 				gsf_xml_out_add_cstr (state->xml, CHART "values-cell-range-address",
 						      odf_strip_brackets (str));
@@ -3310,7 +3312,7 @@ odf_write_bubble_series (GnmOOExport *state, GSList const *orig_series)
 					if (NULL != dat) {
 						texpr = gnm_go_data_get_expr (dat);
 						if (NULL != texpr) {
-							str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+							str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 							gsf_xml_out_start_element (state->xml, CHART "domain");
 							gsf_xml_out_add_cstr (state->xml, TABLE "cell-range-address",
 									      odf_strip_brackets (str));
@@ -3341,7 +3343,7 @@ odf_write_min_max_series (GnmOOExport *state, GSList const *orig_series)
 			if (NULL != dat) {
 				GnmExprTop const *texpr = gnm_go_data_get_expr (dat);
 				if (NULL != texpr) {
-					char *str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+					char *str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 					gsf_xml_out_add_cstr (state->xml, CHART "values-cell-range-address",
 							      odf_strip_brackets (str));
 					g_free (str);
@@ -3682,7 +3684,7 @@ odf_write_plot (GnmOOExport *state, SheetObject *so, GogObject const *chart, Gog
 					GnmParsePos pp;
 					char *str;
 					parse_pos_init (&pp, WORKBOOK (state->wb), NULL, 0,0 );
-					str = gnm_expr_top_as_string (texpr, &pp, state->conv);
+					str = gnm_expr_top_as_string (texpr, &pp, state->conv, FALSE);
 					gsf_xml_out_add_cstr (state->xml, TABLE "cell-range-address",
 							      odf_strip_brackets (str));
 					g_free (str);
diff --git a/plugins/perl-func/plugin.xml.in b/plugins/perl-func/plugin.xml.in
index f004341..dc95afa 100644
--- a/plugins/perl-func/plugin.xml.in
+++ b/plugins/perl-func/plugin.xml.in
@@ -9,7 +9,7 @@
 		<attribute name="module_name" value="perl_func"/>
 	</loader>
 	<services>
-		<service type="function_group" id="test">
+		<service type="function_group" id="test" gettext_domain="gnumeric-functions">
 			<_category>Perl</_category>
 			<functions>
 				<function name="perl_adder"/>
diff --git a/plugins/py-func/plugin.xml.in b/plugins/py-func/plugin.xml.in
index d53f00b..2c8345c 100644
--- a/plugins/py-func/plugin.xml.in
+++ b/plugins/py-func/plugin.xml.in
@@ -9,7 +9,7 @@
 		<attribute name="module_name" value="py_func"/>
 	</loader>
 	<services>
-		<service type="function_group" id="test">
+		<service type="function_group" id="test" gettext_domain="gnumeric-functions">
 			<_category>Python</_category>
 			<functions>
 				<function name="py_printf"/>
diff --git a/plugins/python-loader/python-loader.c b/plugins/python-loader/python-loader.c
index 5a4fa3f..45cb620 100644
--- a/plugins/python-loader/python-loader.c
+++ b/plugins/python-loader/python-loader.c
@@ -476,7 +476,7 @@ call_python_function_args (GnmFuncEvalInfo *ei, GnmValue const * const *args)
 	loader_data = g_object_get_data (G_OBJECT (service), "loader_data");
 	SWITCH_TO_PLUGIN (go_plugin_service_get_plugin (service));
 	fn_info_tuple = PyDict_GetItemString (loader_data->python_fn_info_dict,
-	                                      (gchar *) gnm_func_get_name (fndef));
+	                                      (gchar *) gnm_func_get_name (fndef, FALSE));
 	g_assert (fn_info_tuple != NULL);
 	python_fn = PyTuple_GetItem (fn_info_tuple, 2);
 	function_def_count_args (fndef, &min_n_args, &max_n_args);
@@ -506,7 +506,7 @@ call_python_function_nodes (GnmFuncEvalInfo *ei,
 	loader_data = g_object_get_data (G_OBJECT (service), "loader_data");
 	SWITCH_TO_PLUGIN (go_plugin_service_get_plugin (service));
 	python_fn = PyDict_GetItemString (loader_data->python_fn_info_dict,
-	                                  (gchar *) gnm_func_get_name (fndef));
+	                                  (gchar *) gnm_func_get_name (fndef, FALSE));
 
 	values = g_new (GnmValue *, argc);
 	for (i = 0; i < argc; i++) {
diff --git a/plugins/qpro/qpro-read.c b/plugins/qpro/qpro-read.c
index cfa536a..255b11b 100644
--- a/plugins/qpro/qpro-read.c
+++ b/plugins/qpro/qpro-read.c
@@ -679,7 +679,8 @@ error:
 			GnmExpr *expr = tmp->data;
 #ifdef DEBUG_EXPR_STACK
 			char *p = gnm_expr_as_string (expr, &pp,
-						      gnm_conventions_default);
+						      gnm_conventions_default,
+			                              FALSE);
 			g_printerr ("Expr: %s\n", p);
 			g_free (p);
 #endif
diff --git a/plugins/sample_datasource/plugin.xml.in b/plugins/sample_datasource/plugin.xml.in
index e319ea3..5f17f3a 100644
--- a/plugins/sample_datasource/plugin.xml.in
+++ b/plugins/sample_datasource/plugin.xml.in
@@ -9,7 +9,7 @@
 		<attribute name="module_file" value="sample_datasource"/>
 	</loader>
 	<services>
-		<service type="function_group" id="ATL">
+		<service type="function_group" id="ATL" gettext_domain="gnumeric-functions">
 			<_category>Finance</_category>
 			<functions>
 				<function name="atl_last"/>
diff --git a/plugins/sample_datasource/sample_datasource.c b/plugins/sample_datasource/sample_datasource.c
index 21b24cd..5fe9adc 100644
--- a/plugins/sample_datasource/sample_datasource.c
+++ b/plugins/sample_datasource/sample_datasource.c
@@ -283,7 +283,7 @@ static GnmFuncHelp const help_atl_last[] = {
 };
 
 GnmFuncDescriptor const ATL_functions[] = {
-	{"atl_last", "s", help_atl_last, atl_last, NULL, atl_last_link, atl_last_unlink },
+	{F_("atl_last"), "s", help_atl_last, atl_last, NULL, atl_last_link, atl_last_unlink },
 
 	{NULL}
 };
diff --git a/plugins/sylk/sylk-write.c b/plugins/sylk/sylk-write.c
index 1388806..4dec8bd 100644
--- a/plugins/sylk/sylk-write.c
+++ b/plugins/sylk/sylk-write.c
@@ -129,7 +129,7 @@ cb_sylk_write_cell (GnmCellIter const *iter, SylkWriter *state)
 			out.accum = g_string_new (NULL);
 			out.pp    = &iter->pp;
 			out.convs = state->convs;
-			gnm_expr_top_as_gstring (texpr, &out);
+			gnm_expr_top_as_gstring (texpr, &out, FALSE);
 			sylk_write (state, out.accum->str);
 			g_string_free (out.accum, TRUE);
 		}
diff --git a/src/cell.c b/src/cell.c
index 9f2bc77..4c18356 100644
--- a/src/cell.c
+++ b/src/cell.c
@@ -568,7 +568,7 @@ gnm_cell_get_entered_text (GnmCell const *cell)
 		out.pp = parse_pos_init_cell (&pp, cell);
 		out.convs = sheet->convs;
 
-		gnm_expr_top_as_gstring (cell->base.texpr, &out);
+		gnm_expr_top_as_gstring (cell->base.texpr, &out, TRUE);
 		return g_string_free (out.accum, FALSE);
 	}
 
diff --git a/src/commands.c b/src/commands.c
index 26a0ab4..28a7621 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -3978,7 +3978,7 @@ cmd_search_replace_do_cell (CmdSearchReplace *me, GnmEvalPos *ep,
 					out.accum = g_string_new ("=");
 					out.pp = &pp;
 					out.convs = pp.sheet->convs;
-					gnm_expr_top_as_gstring (ee, &out);
+					gnm_expr_top_as_gstring (ee, &out, TRUE);
 					gnm_expr_top_unref (ee);
 					cell_res.new_text = g_string_free (out.accum, FALSE);
 					err = FALSE;
diff --git a/src/dialogs/dialog-cell-format.c b/src/dialogs/dialog-cell-format.c
index f1c0d17..017c5b3 100644
--- a/src/dialogs/dialog-cell-format.c
+++ b/src/dialogs/dialog-cell-format.c
@@ -1961,7 +1961,7 @@ fmt_dialog_conditions_page_load_cond_single_f (FormatState *state,
 	parse_pos_init (&pp, wb_control_get_workbook (WORKBOOK_CONTROL (state->wbcg)),
 			state->sheet, 0, 0);
 
-	formula = gnm_expr_top_as_string (texpr, &pp, gnm_conventions_default);
+	formula = gnm_expr_top_as_string (texpr, &pp, gnm_conventions_default, TRUE);
 	gtk_tree_store_set (state->conditions.model, &iter2, CONDITIONS_RANGE, NULL,
 			    CONDITIONS_COND, formula, -1);
 	g_free (formula);
diff --git a/src/dialogs/dialog-formula-guru.c b/src/dialogs/dialog-formula-guru.c
index 0395dbb..3b70268 100644
--- a/src/dialogs/dialog-formula-guru.c
+++ b/src/dialogs/dialog-formula-guru.c
@@ -149,7 +149,7 @@ dialog_formula_guru_update_this_parent (GtkTreeIter *parent, FormulaGuruState *s
 	g_return_if_fail (!is_non_fun);
 	g_return_if_fail (fd != NULL);
 
-	text = g_string_append (text, gnm_func_get_name (fd));
+	text = g_string_append (text, gnm_func_get_name (fd, TRUE));
 	text = g_string_append (text, "(");
 
 	if (gtk_tree_model_iter_children (GTK_TREE_MODEL(state->model), &iter, parent)) {
@@ -480,7 +480,7 @@ dialog_formula_guru_load_expr (GtkTreePath const *parent_path, gint child_num,
 	case GNM_EXPR_OP_UNARY_NEG:
 	default: {
 		char *text = gnm_expr_as_string (expr, state->pos,
-			 sheet_get_conventions (state->pos->sheet));
+			 sheet_get_conventions (state->pos->sheet), TRUE);
 		dialog_formula_guru_load_string (path, text, state);
 		g_free (text);
 		break;
@@ -989,7 +989,7 @@ dialog_formula_guru (WBCGtk *wbcg, GnmFunc const *fd)
 		state->pos = g_new (GnmParsePos, 1);
 		func_str = gnm_expr_as_string (expr,
 			 parse_pos_init_cell (state->pos, cell),
-			 sheet_get_conventions (sv_sheet (sv)));
+			 sheet_get_conventions (sv_sheet (sv)), TRUE);
 
 		wbcg_edit_start (wbcg, FALSE, TRUE);
 		fd = gnm_expr_get_func_def (expr);
diff --git a/src/dialogs/dialog-function-select.c b/src/dialogs/dialog-function-select.c
index 2d4ef41..872740a 100644
--- a/src/dialogs/dialog-function-select.c
+++ b/src/dialogs/dialog-function-select.c
@@ -117,7 +117,7 @@ dialog_function_write_recent_func (FunctionSelectState *state, GnmFunc const *fd
 
 	for (rec_funcs = state->recent_funcs; rec_funcs; rec_funcs = rec_funcs->next) {
 		gconf_value_list = g_slist_prepend
-			(gconf_value_list, g_strdup (gnm_func_get_name (rec_funcs->data)));
+			(gconf_value_list, g_strdup (gnm_func_get_name (rec_funcs->data, FALSE)));
 	}
 	gnm_conf_set_functionselector_recentfunctions (gconf_value_list);
 	go_slist_free_custom (gconf_value_list, g_free);
@@ -198,7 +198,7 @@ dialog_function_select_by_name (gconstpointer _a, gconstpointer _b)
 	GnmFunc const * const a = (GnmFunc const * const)_a;
 	GnmFunc const * const b = (GnmFunc const * const)_b;
 
-	return strcmp (gnm_func_get_name (a), gnm_func_get_name (b));
+	return strcmp (gnm_func_get_name (a, TRUE), gnm_func_get_name (b, TRUE));
 }
 
 static void
@@ -318,11 +318,11 @@ make_expr_example (Sheet *sheet, const char *text, gboolean localized)
 		gnm_pop_C_locale (oldlocale);
 
 	if (texpr) {
-		char *etxt = gnm_expr_top_as_string (texpr, &pp, convs);
+		char *etxt = gnm_expr_top_as_string (texpr, &pp, convs, TRUE);
 		GnmValue *val = gnm_expr_top_eval
 			(texpr, &ep, GNM_EXPR_EVAL_PERMIT_NON_SCALAR);
 		GnmExprTop const *texpr_res = gnm_expr_top_new_constant (val);
-		char *vtxt = gnm_expr_top_as_string (texpr_res, &pp, convs);
+		char *vtxt = gnm_expr_top_as_string (texpr_res, &pp, convs, TRUE);
 
 		gnm_expr_top_unref (texpr);
 		gnm_expr_top_unref (texpr_res);
@@ -761,7 +761,7 @@ cb_dialog_function_select_cat_selection_changed (GtkTreeSelection *the_selection
 			if (!(func->flags & GNM_FUNC_INTERNAL)) {
 				gtk_list_store_append (state->model_f, &iter);
 				gtk_list_store_set (state->model_f, &iter,
-						    FUN_NAME, gnm_func_get_name (func),
+						    FUN_NAME, gnm_func_get_name (func, TRUE),
 						    FUNCTION_CAT,
 						    cat_specific ? "" : _(func->fn_group->display_name->str),
 						    FUNCTION, func,
diff --git a/src/expr-name.c b/src/expr-name.c
index 4a2639f..43d6b55 100644
--- a/src/expr-name.c
+++ b/src/expr-name.c
@@ -656,7 +656,8 @@ expr_name_as_string (GnmNamedExpr const *nexpr, GnmParsePos const *pp,
 {
 	if (pp == NULL)
 		pp = &nexpr->pos;
-	return gnm_expr_top_as_string (nexpr->texpr, pp, fmt);
+	/*TODO, support localization? */
+	return gnm_expr_top_as_string (nexpr->texpr, pp, fmt, FALSE);
 }
 
 GnmValue *
diff --git a/src/expr.c b/src/expr.c
index 7541795..f42bab9 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1543,7 +1543,7 @@ gnm_expr_eval (GnmExpr const *expr, GnmEvalPos const *pos,
  */
 static void
 do_expr_as_string (GnmExpr const *expr, int paren_level,
-		   GnmConventionsOut *out)
+		   GnmConventionsOut *out, gboolean localized)
 {
 	static struct {
 		char const name[4];
@@ -1591,7 +1591,7 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 
 		if (need_par) g_string_append_c (target, '(');
 		do_expr_as_string (expr->binary.value_a,
-			prec - operations[op].assoc_left, out);
+			prec - operations[op].assoc_left, out, localized);
 
 		/*
 		 * Avoid getting "-2^2".  We want to make sure files do not
@@ -1617,7 +1617,7 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 			g_string_append (target, opname);
 
 		do_expr_as_string (expr->binary.value_b,
-			prec - operations[op].assoc_right, out);
+			prec - operations[op].assoc_right, out, localized);
 		if (need_par) g_string_append_c (target, ')');
 		return;
 	}
@@ -1630,14 +1630,14 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 
 		if (need_par) g_string_append_c (target, '(');
 		if (is_prefix) g_string_append (target, opname);
-		do_expr_as_string (expr->unary.value, prec, out);
+		do_expr_as_string (expr->unary.value, prec, out, localized);
 		if (!is_prefix) g_string_append (target, opname);
 		if (need_par) g_string_append_c (target, ')');
 		return;
 	}
 
 	case GNM_EXPR_OP_FUNCALL:
-		out->convs->output.func (out, &expr->func);
+		out->convs->output.func (out, &expr->func, localized);
 		return;
 
 	case GNM_EXPR_OP_NAME:
@@ -1676,7 +1676,7 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 	}
 
 	case GNM_EXPR_OP_ARRAY_CORNER:
-		do_expr_as_string (expr->array_corner.expr, 0, out);
+		do_expr_as_string (expr->array_corner.expr, 0, out, localized);
 		return;
 
 	case GNM_EXPR_OP_ARRAY_ELEM: {
@@ -1691,7 +1691,7 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 			out->pp = &pp;
 			do_expr_as_string (
 				corner->base.texpr->expr->array_corner.expr,
-				0, out);
+				0, out, localized);
 			out->pp = real_pp;
 			return;
 		}
@@ -1699,7 +1699,7 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 	}
 
 	case GNM_EXPR_OP_SET:
-		gnm_expr_list_as_string (expr->set.argc, expr->set.argv, out);
+		gnm_expr_list_as_string (expr->set.argc, expr->set.argv, out, localized);
 		return;
 	}
 
@@ -1707,17 +1707,17 @@ do_expr_as_string (GnmExpr const *expr, int paren_level,
 }
 
 void
-gnm_expr_as_gstring (GnmExpr const *expr, GnmConventionsOut *out)
+gnm_expr_as_gstring (GnmExpr const *expr, GnmConventionsOut *out, gboolean localized)
 {
 	g_return_if_fail (expr != NULL);
 	g_return_if_fail (out  != NULL);
 
-	do_expr_as_string (expr, 0, out);
+	do_expr_as_string (expr, 0, out, localized);
 }
 
 char *
 gnm_expr_as_string (GnmExpr const *expr, GnmParsePos const *pp,
-		    GnmConventions const *convs)
+		    GnmConventions const *convs, gboolean localized)
 {
 	GnmConventionsOut out;
 	GnmParsePos pp0;
@@ -1740,7 +1740,7 @@ gnm_expr_as_string (GnmExpr const *expr, GnmParsePos const *pp,
 	out.accum = g_string_new (NULL);
 	out.pp    = pp;
 	out.convs = convs;
-	do_expr_as_string (expr, 0, &out);
+	do_expr_as_string (expr, 0, &out, localized);
 	return g_string_free (out.accum, FALSE);
 }
 
@@ -2580,7 +2580,7 @@ gboolean
 gnm_expr_is_data_table (GnmExpr const *expr, GnmCellPos *c_in, GnmCellPos *r_in)
 {
 	if (GNM_EXPR_GET_OPER (expr) == GNM_EXPR_OP_FUNCALL) {
-		char const *name = gnm_func_get_name (expr->func.func);
+		char const *name = gnm_func_get_name (expr->func.func, FALSE);
 		if (name && 0 == strcmp (name, "table")) {
 			if (NULL != r_in) {
 				GnmExpr const *r = (expr->func.argc <= 0)
@@ -2636,7 +2636,8 @@ gnm_expr_list_unref (GnmExprList *list)
 void
 gnm_expr_list_as_string (int argc,
 			 GnmExprConstPtr const *argv,
-			 GnmConventionsOut *out)
+			 GnmConventionsOut *out,
+                         gboolean localized)
 {
 	int i;
 	gunichar arg_sep;
@@ -2649,7 +2650,7 @@ gnm_expr_list_as_string (int argc,
 	for (i = 0; i < argc; i++) {
 		if (i != 0)
 			g_string_append_unichar (out->accum, arg_sep);
-		do_expr_as_string (argv[i], 0, out);
+		do_expr_as_string (argv[i], 0, out, localized);
 	}
 	g_string_append_c (out->accum, ')');
 }
@@ -2853,21 +2854,23 @@ gnm_expr_top_get_range (GnmExprTop const *texpr)
 char *
 gnm_expr_top_as_string (GnmExprTop const *texpr,
 			GnmParsePos const *pp,
-			GnmConventions const *convs)
+			GnmConventions const *convs,
+                        gboolean localized)
 {
 	g_return_val_if_fail (IS_GNM_EXPR_TOP (texpr), NULL);
 
-	return gnm_expr_as_string (texpr->expr, pp, convs);
+	return gnm_expr_as_string (texpr->expr, pp, convs, localized);
 }
 
 void
 gnm_expr_top_as_gstring (GnmExprTop const *texpr,
-			 GnmConventionsOut *out)
+			 GnmConventionsOut *out,
+                         gboolean localized)
 {
 	g_return_if_fail (IS_GNM_EXPR_TOP (texpr));
 	g_return_if_fail (out != NULL);
 
-	do_expr_as_string (texpr->expr, 0, out);
+	do_expr_as_string (texpr->expr, 0, out, localized);
 }
 
 guint
@@ -3204,7 +3207,7 @@ cb_expression_pool_leak (gpointer data, G_GNUC_UNUSED gpointer user)
 	pp.eval.row = 0;
 	pp.sheet = NULL;
 	pp.wb = NULL;
-	s = gnm_expr_as_string (expr, &pp, NULL);
+	s = gnm_expr_as_string (expr, &pp, NULL, FALSE);
 	g_printerr ("Leaking expression at %p: %s.\n", (void *)expr, s);
 	g_free (s);
 }
diff --git a/src/expr.h b/src/expr.h
index 84c295b..a04ec9f 100644
--- a/src/expr.h
+++ b/src/expr.h
@@ -91,11 +91,11 @@ gboolean  gnm_expr_is_data_table     (GnmExpr const *expr,
 gboolean  gnm_expr_is_empty          (GnmExpr const *expr);
 
 void	  gnm_expr_as_gstring	     (GnmExpr const *expr,
-				      GnmConventionsOut *out);
+				      GnmConventionsOut *out, gboolean localized);
 char	 *gnm_expr_as_string	     (GnmExpr const *expr, GnmParsePos const *pp,
-				      GnmConventions const *convs);
+				      GnmConventions const *convs, gboolean localized);
 void      gnm_expr_list_as_string    (int argc, GnmExprConstPtr const *argv,
-				      GnmConventionsOut *out);
+				      GnmConventionsOut *out, gboolean localized);
 gboolean  gnm_expr_contains_subtotal (GnmExpr const *expr);
 
 GnmValue *gnm_expr_eval (GnmExpr const *expr, GnmEvalPos const *pos,
@@ -183,9 +183,9 @@ GnmValue *gnm_expr_top_eval	  (GnmExprTop const *texpr,
 				   GnmExprEvalFlags flags);
 char	 *gnm_expr_top_as_string  (GnmExprTop const *texpr,
 				   GnmParsePos const *pp,
-				   GnmConventions const *convs);
+				   GnmConventions const *convs, gboolean localized);
 void	  gnm_expr_top_as_gstring (GnmExprTop const *texpr,
-				   GnmConventionsOut *out);
+				   GnmConventionsOut *out, gboolean localized);
 
 /*****************************************************************************/
 
diff --git a/src/func-builtin.c b/src/func-builtin.c
index 529ccbb..c74d06d 100644
--- a/src/func-builtin.c
+++ b/src/func-builtin.c
@@ -21,7 +21,7 @@
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 #include <gnumeric-config.h>
-#include <glib/gi18n-lib.h>
+#include <gnm-i18n.h>
 #include <gnumeric.h>
 #include <func.h>
 #include <func-builtin.h>
@@ -45,8 +45,8 @@ static GnmFuncHelp const help_sum[] = {
 	{ GNM_FUNC_HELP_DESCRIPTION, N_("SUM computes the sum of all the values and cells referenced in the argument list.")},
 	{ GNM_FUNC_HELP_EXCEL, N_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, N_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=SUM(11,15,17,21,43)" },
-	{ GNM_FUNC_HELP_SEEALSO, "AVERAGE,COUNT"},
+	{ GNM_FUNC_HELP_EXAMPLES, N_("=SUM(11,15,17,21,43)") },
+	{ GNM_FUNC_HELP_SEEALSO, N_"AVERAGE,COUNT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -72,8 +72,8 @@ static GnmFuncHelp const help_product[] = {
 	{ GNM_FUNC_HELP_NOTE, N_("If all cells are empty, the result will be 0.") },
 	{ GNM_FUNC_HELP_EXCEL, N_("This function is Excel compatible.") },
 	{ GNM_FUNC_HELP_ODF, N_("This function is OpenFormula compatible.") },
-	{ GNM_FUNC_HELP_EXAMPLES, "=PRODUCT(2,5,9)" },
-	{ GNM_FUNC_HELP_SEEALSO, "SUM,COUNT,G_PRODUCT"},
+	{ GNM_FUNC_HELP_EXAMPLES, N_("=PRODUCT(2,5,9)") },
+	{ GNM_FUNC_HELP_SEEALSO, N_("SUM,COUNT,G_PRODUCT")},
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -104,7 +104,7 @@ static GnmFuncHelp const help_gnumeric_version[] = {
 	/* xgettext : see po-functions/README.translators */
  	{ GNM_FUNC_HELP_NAME, N_("GNUMERIC_VERSION:the current version of GNumeric")},
 	{ GNM_FUNC_HELP_DESCRIPTION, N_("GNUMERIC_VERSION returns the version of gnumeric as a string.")},
-	{ GNM_FUNC_HELP_EXAMPLES, "=GNUMERIC_VERSION()" },
+	{ GNM_FUNC_HELP_EXAMPLES, N_("=GNUMERIC_VERSION()") },
 	{ GNM_FUNC_HELP_SEEALSO, ""},
 	{ GNM_FUNC_HELP_END }
 };
@@ -269,8 +269,8 @@ static GnmFuncHelp const help_if[] = {
 	/* xgettext : see po-functions/README.translators */
 	{ GNM_FUNC_HELP_ARG, N_("falseval:value to use if condition is false.") },
 	{ GNM_FUNC_HELP_DESCRIPTION, N_("This function first evaluates the condition.  If the result is true, it will then evaluate and return the second argument.  Otherwise, it will evaluate and return the last argument.") },
-        { GNM_FUNC_HELP_EXAMPLES, "=IF(1+2=3,\"x\",\"y\")" },
-	{ GNM_FUNC_HELP_SEEALSO, "AND,OR,XOR,NOT,IFERROR" },
+        { GNM_FUNC_HELP_EXAMPLES, N_("=IF(1+2=3,\"x\",\"y\")") },
+	{ GNM_FUNC_HELP_SEEALSO, N_("AND,OR,XOR,NOT,IFERROR") },
 	{ GNM_FUNC_HELP_END }
 };
 
@@ -353,32 +353,32 @@ func_builtin_init (void)
 	const char *textdomain = GETTEXT_PACKAGE;
 
 	static GnmFuncDescriptor const builtins [] = {
-		{	"sum",		NULL,
+		{	N_("sum"),		NULL,
 			help_sum,	NULL,	gnumeric_sum,
 			NULL, NULL, NULL, GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 			GNM_FUNC_IMPL_STATUS_COMPLETE,
 			GNM_FUNC_TEST_STATUS_BASIC
 		},
-		{	"product",		NULL,
+		{	N_("product"),		NULL,
 			help_product,	NULL,	gnumeric_product,
 			NULL, NULL, NULL, GNM_FUNC_SIMPLE,
 			GNM_FUNC_IMPL_STATUS_COMPLETE,
 			GNM_FUNC_TEST_STATUS_BASIC
 		},
-		{	"gnumeric_version",	"",
+		{	N_("gnumeric_version"),	"",
 			help_gnumeric_version,	gnumeric_version, NULL,
 			NULL, NULL, NULL, GNM_FUNC_SIMPLE,
 			GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 			GNM_FUNC_TEST_STATUS_EXHAUSTIVE
 		},
-		{	"table",	"",
+		{	N_("table"),	"",
 			NULL,		NULL,	gnumeric_table,
 			gnumeric_table_link, NULL,
 			NULL, GNM_FUNC_SIMPLE + GNM_FUNC_INTERNAL,
 			GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
 			GNM_FUNC_TEST_STATUS_EXHAUSTIVE
 		},
-		{	"if", "b|EE",
+		{	N_("if"), "b|EE",
 			help_if, gnumeric_if, NULL,
 			NULL, NULL, NULL,
 			GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_SECOND,
diff --git a/src/func.c b/src/func.c
index b12545a..aafbac9 100644
--- a/src/func.c
+++ b/src/func.c
@@ -37,12 +37,18 @@
 
 static GList	    *categories;
 static SymbolTable  *global_symbol_table;
+#if ENABLE_NLS
+static SymbolTable  *global_symbol_table_localized;
+#endif /* ENABLE_NLS */
 static GnmFuncGroup *unknown_cat;
 
 void
 functions_init (void)
 {
 	global_symbol_table = symbol_table_new ();
+#if ENABLE_NLS
+	global_symbol_table_localized = symbol_table_new ();
+#endif /* ENABLE_NLS */
 	func_builtin_init ();
 }
 
@@ -53,7 +59,7 @@ functions_shutdown (void)
 		GnmFunc *func = unknown_cat->functions->data;
 		if (func->ref_count > 0) {
 			g_warning ("Function %s still has %d refs.\n",
-				   gnm_func_get_name (func),
+				   gnm_func_get_name (func, FALSE),
 				   func->ref_count);
 			func->ref_count = 0;
 		}
@@ -63,6 +69,11 @@ functions_shutdown (void)
 
 	symbol_table_destroy (global_symbol_table);
 	global_symbol_table = NULL;
+
+#if ENABLE_NLS
+	symbol_table_destroy (global_symbol_table_localized);
+	global_symbol_table_localized = NULL;
+#endif /* ENABLE_NLS */
 }
 
 inline void
@@ -767,6 +778,15 @@ gnm_func_free (GnmFunc *func)
 	if (!(func->flags & GNM_FUNC_IS_WORKBOOK_LOCAL)) {
 		sym = symbol_lookup (global_symbol_table, func->name);
 		symbol_unref (sym);
+
+#if ENABLE_NLS
+		if (func->textdomain) {
+			sym = symbol_lookup (global_symbol_table_localized, func->name);
+			if (sym) {
+				symbol_unref (sym);
+			}
+		}
+#endif /* ENABLE_NLS */
 	}
 
 	if (func->fn_type == GNM_FUNC_TYPE_ARGS)
@@ -809,12 +829,27 @@ gnm_func_unref (GnmFunc *func)
 GnmFunc *
 gnm_func_lookup (char const *name, Workbook *scope)
 {
-	Symbol *sym = symbol_lookup (global_symbol_table, name);
+	Symbol *sym;
+	GnmFunc *f;
+
+	sym = symbol_lookup (global_symbol_table, name);
+#if ENABLE_NLS
+	if (!sym)
+		sym = symbol_lookup (global_symbol_table_localized, name);
+#endif /* ENABLE_NLS */
+
 	if (sym != NULL)
 		return sym->data;
 	if (scope == NULL || scope->sheet_local_functions == NULL)
 		return NULL;
-	return g_hash_table_lookup (scope->sheet_local_functions, (gpointer)name);
+
+	f = g_hash_table_lookup (scope->sheet_local_functions, (gpointer)name);
+#if ENABLE_NLS
+	if (!f)
+		f = g_hash_table_lookup (scope->sheet_local_functions_localized, (gpointer)name);
+#endif /* ENABLE_NLS */
+
+	return f;
 }
 
 GnmFunc *
@@ -874,8 +909,16 @@ gnm_func_add (GnmFuncGroup *fn_group,
 	func->fn_group = fn_group;
 	if (fn_group != NULL)
 		gnm_func_group_add_func (fn_group, func);
-	if (!(func->flags & GNM_FUNC_IS_WORKBOOK_LOCAL))
+	if (!(func->flags & GNM_FUNC_IS_WORKBOOK_LOCAL)) {
 		symbol_install (global_symbol_table, func->name, SYMBOL_FUNCTION, func);
+#if ENABLE_NLS
+		if (func->textdomain != NULL && func->textdomain->str != NULL &&
+		    dgettext (func->textdomain->str, func->name) != func->name)
+			symbol_install (global_symbol_table_localized,
+					dgettext (func->textdomain->str, func->name),
+					SYMBOL_FUNCTION, func);
+#endif /* ENABLE_NLS */
+	}
 
 	func->arg_names_p = function_def_create_arg_names (func);
 
@@ -913,6 +956,12 @@ gnm_func_add_stub (GnmFuncGroup *fn_group,
 	if (fn_group != NULL)
 		gnm_func_group_add_func (fn_group, func);
 	symbol_install (global_symbol_table, func->name, SYMBOL_FUNCTION, func);
+#if ENABLE_NLS
+	if (func->textdomain != NULL && func->textdomain->str != NULL &&
+	    dgettext (func->textdomain->str, func->name) != func->name) {
+		symbol_install (global_symbol_table_localized, dgettext (func->textdomain->str, func->name), SYMBOL_FUNCTION, func);
+	}
+#endif /* ENABLE_NLS */
 
 	return func;
 }
@@ -968,6 +1017,19 @@ gnm_func_add_placeholder (Workbook *scope,
 				NULL, (GDestroyNotify) gnm_func_free);
 		g_hash_table_insert (scope->sheet_local_functions,
 			(gpointer)func->name, func);
+
+#if ENABLE_NLS
+		if (func->textdomain != NULL && func->textdomain->str != NULL &&
+		    dgettext (func->textdomain->str, name) != name) {
+			if (scope->sheet_local_functions_localized == NULL)
+				scope->sheet_local_functions_localized = g_hash_table_new_full (
+					g_str_hash, g_str_equal,
+					NULL, NULL);
+
+			g_hash_table_insert (scope->sheet_local_functions_localized,
+					     (gpointer) dgettext (func->textdomain->str, name), func);
+		}
+#endif /* ENABLE_NLS */
 	}
 
 	return func;
@@ -1001,11 +1063,17 @@ gnm_func_set_user_data (GnmFunc *func, gpointer user_data)
 }
 
 char const *
-gnm_func_get_name (GnmFunc const *func)
+gnm_func_get_name (GnmFunc const *func,
+		   gboolean localized)
 {
 	g_return_val_if_fail (func != NULL, NULL);
 
+#if ENABLE_NLS
+	return (localized && func->textdomain && func->textdomain->str) ?
+	        dgettext (func->textdomain->str, func->name) : func->name;
+#else /* !ENABLE_NLS */
 	return func->name;
+#endif /* ENABLE_NLS */
 }
 
 /**
diff --git a/src/func.h b/src/func.h
index 25d5b99..92dbfe9 100644
--- a/src/func.h
+++ b/src/func.h
@@ -226,7 +226,7 @@ void	    gnm_func_ref	     (GnmFunc *func);
 void	    gnm_func_unref	     (GnmFunc *func);
 void        gnm_func_load_if_stub    (GnmFunc *func);
 void	    gnm_func_load_stub	     (GnmFunc *fn_def);
-char const *gnm_func_get_name	     (GnmFunc const *fn_def);
+char const *gnm_func_get_name	     (GnmFunc const *fn_def, gboolean localized);
 gpointer    gnm_func_get_user_data   (GnmFunc const *func);
 void        gnm_func_set_user_data   (GnmFunc *func, gpointer user_data);
 GnmFunc	   *gnm_func_lookup	     (char const *name, Workbook *scope);	/* change scope one day */
diff --git a/src/gnm-plugin.c b/src/gnm-plugin.c
index 240462c..b8262a7 100644
--- a/src/gnm-plugin.c
+++ b/src/gnm-plugin.c
@@ -27,6 +27,7 @@ struct _PluginServiceFunctionGroup {
 	GOPluginServiceSimple	base;
 
 	gchar *category_name, *translated_category_name;
+	char *gettext_domain;
 	GSList *function_name_list;
 
 	GnmFuncGroup *func_group;
@@ -160,7 +161,7 @@ plugin_service_function_group_func_desc_load (GnmFunc const *fn_def,
 		return FALSE;
 	}
 	return sfg->cbs.func_desc_load (service,
-					gnm_func_get_name (fn_def),
+					gnm_func_get_name (fn_def, FALSE),
 					res);
 }
 
diff --git a/src/graph.c b/src/graph.c
index 3478ac2..46a768e 100644
--- a/src/graph.c
+++ b/src/graph.c
@@ -194,7 +194,7 @@ gnm_go_data_serialize (GOData const *dat, gpointer user)
 
 	res = gnm_expr_top_as_string (dep->texpr,
 				      parse_pos_init_dep (&pp, dep),
-				      convs);
+				      convs, FALSE);
 #if 0
 	g_printerr ("Serializing %s\n", res);
 #endif
diff --git a/src/parse-util.c b/src/parse-util.c
index fe3c562..7f93164 100644
--- a/src/parse-util.c
+++ b/src/parse-util.c
@@ -1149,14 +1149,14 @@ rangeref_parse (GnmRangeRef *res, char const *start, GnmParsePos const *pp,
 /* ------------------------------------------------------------------------- */
 
 static void
-std_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func)
+std_expr_func_handler (GnmConventionsOut *out, GnmExprFunction const *func, gboolean localized)
 {
-		char const *name = gnm_func_get_name (func->func);
+		char const *name = gnm_func_get_name (func->func, localized);
 		GString *target = out->accum;
 
 		g_string_append (target, name);
 		/* FIXME: possibly a space here.  */
-		gnm_expr_list_as_string (func->argc, func->argv, out);
+		gnm_expr_list_as_string (func->argc, func->argv, out, localized);
 		return;
 }
 
diff --git a/src/parse-util.h b/src/parse-util.h
index 4da653a..812d6c1 100644
--- a/src/parse-util.h
+++ b/src/parse-util.h
@@ -170,7 +170,8 @@ struct _GnmConventions {
 		void (*string)	  (GnmConventionsOut *out,
 				   GOString const *str);
 		void (*func)	  (GnmConventionsOut *out,
-				   GnmExprFunction const *func);
+				   GnmExprFunction const *func,
+			           gboolean localized);
 		void (*name)	  (GnmConventionsOut *out,
 				   GnmExprName const *name);
 		void (*cell_ref)  (GnmConventionsOut *out,
diff --git a/src/rendered-value.c b/src/rendered-value.c
index 80986d1..15ce22a 100644
--- a/src/rendered-value.c
+++ b/src/rendered-value.c
@@ -351,7 +351,7 @@ gnm_rendered_value_new (GnmCell const *cell,
 		out.pp    = &pp;
 
 		parse_pos_init_cell (&pp, cell),
-		gnm_expr_top_as_gstring (cell->base.texpr, &out);
+		gnm_expr_top_as_gstring (cell->base.texpr, &out, TRUE);
 		if (is_array)
 			g_string_append_c (out.accum, '}');
 		pango_layout_set_text (layout, out.accum->str, out.accum->len);
diff --git a/src/sheet-autofill.c b/src/sheet-autofill.c
index aa17a7f..be3c9d8 100644
--- a/src/sheet-autofill.c
+++ b/src/sheet-autofill.c
@@ -877,7 +877,8 @@ afc_set_cell_hint (AutoFiller *af, GnmCell *cell, GnmCellPos const *pos,
 			else {
 				res = gnm_expr_as_string (aexpr,
 							  &rinfo.pos,
-							  sheet->convs);
+							  sheet->convs,
+				                          TRUE);
 				gnm_expr_free (aexpr);
 			}
 		} else if (texpr) {
@@ -886,7 +887,8 @@ afc_set_cell_hint (AutoFiller *af, GnmCell *cell, GnmCellPos const *pos,
 			else
 				res = gnm_expr_top_as_string (texpr,
 							      &rinfo.pos,
-							      sheet->convs);
+							      sheet->convs,
+				                              TRUE);
 			gnm_expr_top_unref (texpr);
 		} else {
 			if (doit)
@@ -894,7 +896,8 @@ afc_set_cell_hint (AutoFiller *af, GnmCell *cell, GnmCellPos const *pos,
 			else
 				res = gnm_expr_top_as_string (src_texpr,
 							      &rinfo.pos,
-							      sheet->convs);
+							      sheet->convs,
+				                              TRUE);
 		}
 	} else if (src) {
 		if (doit)
diff --git a/src/sheet-object-widget.c b/src/sheet-object-widget.c
index a647e16..870aac6 100644
--- a/src/sheet-object-widget.c
+++ b/src/sheet-object-widget.c
@@ -224,7 +224,7 @@ sax_write_dep (GsfXMLOut *output, GnmDependent const *dep, char const *id,
 		char *val;
 
 		parse_pos_init_dep (&pos, dep);
-		val = gnm_expr_top_as_string (dep->texpr, &pos, convs);
+		val = gnm_expr_top_as_string (dep->texpr, &pos, convs, FALSE);
 		gsf_xml_out_add_cstr (output, id, val);
 		g_free (val);
 	}
diff --git a/src/sstest.c b/src/sstest.c
index b049bb3..53337ce 100644
--- a/src/sstest.c
+++ b/src/sstest.c
@@ -85,7 +85,7 @@ dump_names (Workbook *wb)
 		go_strescape (out.accum, expr_name_name (nexpr));
 
 		g_string_append (out.accum, " Expr=");
-		gnm_expr_top_as_gstring (nexpr->texpr, &out);
+		gnm_expr_top_as_gstring (nexpr->texpr, &out, TRUE);
 
 		g_printerr ("%s\n", out.accum->str);
 		g_string_free (out.accum, TRUE);
diff --git a/src/stf.c b/src/stf.c
index bb4481c..d9bc48f 100644
--- a/src/stf.c
+++ b/src/stf.c
@@ -232,8 +232,15 @@ cb_get_content (GnmCellIter const *iter, GsfOutput *buf)
 	if (NULL != (cell = iter->cell)) {
 		char *tmp;
 		if (gnm_cell_has_expr (cell))
+			/* TODO we could probably localize this, but then
+ 			 * we'd somehow have to escape/protect function-related strings as
+ 			 * otherwise the seperators might be messed up. For instance,
+ 			 * the colon in de_* locales is used for separating
+ 			 * function arguments, and is also used for column
+ 			 * separation
+ 			 **/
 			tmp = gnm_expr_top_as_string (cell->base.texpr,
-				&iter->pp, iter->pp.sheet->convs);
+				&iter->pp, iter->pp.sheet->convs, FALSE);
 		else if (VALUE_FMT (cell->value) != NULL)
 			tmp = format_value (NULL, cell->value, NULL, -1,
 				workbook_date_conv (iter->pp.wb));
diff --git a/src/tools/gnm-solver.c b/src/tools/gnm-solver.c
index 96deb89..e6d9d03 100644
--- a/src/tools/gnm-solver.c
+++ b/src/tools/gnm-solver.c
@@ -312,7 +312,7 @@ gnm_solver_constraint_side_as_str (GnmSolverConstraint const *c,
 		out.accum = buf;
 		out.pp = parse_pos_init_sheet (&pp, sheet);
 		out.convs = sheet->convs;
-		gnm_expr_top_as_gstring (texpr, &out);
+		gnm_expr_top_as_gstring (texpr, &out, TRUE);
 	} else
 		g_string_append (buf,
 				 value_error_name (GNM_ERROR_REF,
diff --git a/src/validation.c b/src/validation.c
index 64367af..71af4a7 100644
--- a/src/validation.c
+++ b/src/validation.c
@@ -425,7 +425,8 @@ validation_eval (WorkbookControl *wbc, GnmStyle const *mstyle,
 				char *expr_str = gnm_expr_top_as_string
 					(v->texpr[0],
 					 parse_pos_init_evalpos (&pp, &ep),
-					 ep.sheet->convs);
+					 ep.sheet->convs,
+					 TRUE);
 				char *msg = g_strdup_printf (_("%s does not contain the new value."), expr_str);
 				g_free (expr_str);
 				BARF (msg);
@@ -459,7 +460,8 @@ validation_eval (WorkbookControl *wbc, GnmStyle const *mstyle,
 			char *expr_str = gnm_expr_top_as_string
 				(v->texpr[0],
 				 parse_pos_init_evalpos (&pp, &ep),
-				 ep.sheet->convs);
+				 ep.sheet->convs,
+				 TRUE);
 			char *msg = g_strdup_printf (_("%s is not true."), expr_str);
 			g_free (expr_str);
 			BARF (msg);
diff --git a/src/widgets/gnumeric-expr-entry.c b/src/widgets/gnumeric-expr-entry.c
index 959a143..f439993 100644
--- a/src/widgets/gnumeric-expr-entry.c
+++ b/src/widgets/gnumeric-expr-entry.c
@@ -685,7 +685,7 @@ cb_gee_key_press_event (GtkEntry	*entry,
 			 */
 			expr = gnm_expr_new_constant (v);
 			cst = gnm_expr_as_string (expr, &gee->pp,
-						  gee_convs (gee));
+						  gee_convs (gee), TRUE);
 			gnm_expr_free (expr);
 
 			gtk_editable_delete_text (editable, start, end);
@@ -1450,7 +1450,7 @@ gnm_expr_entry_load_from_dep (GnmExprEntry *gee, GnmDependent const *dep)
 
 		parse_pos_init_dep (&pp, dep);
 		text = gnm_expr_top_as_string (dep->texpr, &pp,
-					       gee_convs (gee));
+					       gee_convs (gee), TRUE);
 
 		gee_rangesel_reset (gee);
 		gtk_entry_set_text (gee->entry, text);
@@ -1481,7 +1481,7 @@ gnm_expr_entry_load_from_expr (GnmExprEntry *gee,
 
 	if (texpr != NULL) {
 		char *text = gnm_expr_top_as_string
-			(texpr, pp, gee_convs (gee));
+			(texpr, pp, gee_convs (gee), TRUE);
 		gee_rangesel_reset (gee);
 		gtk_entry_set_text (gee->entry, text);
 		gee->rangesel.text_end = strlen (text);
@@ -1711,7 +1711,7 @@ gnm_expr_entry_parse (GnmExprEntry *gee, GnmParsePos const *pp,
 	}
 
 	/* Reset the entry in case something changed */
-	str = gnm_expr_top_as_string (texpr, pp, gee_convs (gee));
+	str = gnm_expr_top_as_string (texpr, pp, gee_convs (gee), TRUE);
 	if (strcmp (str, text)) {
 		SheetControlGUI *scg = wbcg_cur_scg (gee->wbcg);
 		Rangesel const *rs = &gee->rangesel;
diff --git a/src/workbook-priv.h b/src/workbook-priv.h
index 63abadd..425ba81 100644
--- a/src/workbook-priv.h
+++ b/src/workbook-priv.h
@@ -2,6 +2,7 @@
 #ifndef _GNM_WORKBOOK_PRIV_H_
 # define _GNM_WORKBOOK_PRIV_H_
 
+#include <gnumeric-config.h>
 #include "workbook.h"
 #include <goffice/goffice.h>
 
@@ -16,6 +17,9 @@ struct _Workbook {
 	GHashTable *sheet_hash_private;
 	GHashTable *sheet_order_dependents;
 	GHashTable *sheet_local_functions;
+#if ENABLE_NLS
+	GHashTable *sheet_local_functions_localized;
+#endif /* ENABLE_NLS */
 
 	gboolean is_placeholder;
 
diff --git a/src/workbook.c b/src/workbook.c
index 9b1b06e..c6f3ecd 100644
--- a/src/workbook.c
+++ b/src/workbook.c
@@ -166,6 +166,7 @@ workbook_init (GObject *object)
 	wb->sheet_hash_private = g_hash_table_new (g_str_hash, g_str_equal);
 	wb->sheet_order_dependents = NULL;
 	wb->sheet_local_functions = NULL;
+	wb->sheet_local_functions_localized = NULL;
 	wb->names        = NULL;
 
 	/* Nothing to undo or redo */
diff --git a/src/xml-sax-write.c b/src/xml-sax-write.c
index 7dc040f..b73f3f4 100644
--- a/src/xml-sax-write.c
+++ b/src/xml-sax-write.c
@@ -532,12 +532,12 @@ xml_write_style (GnmOutputXML *state, GnmStyle const *style)
 		parse_pos_init_sheet (&pp, (Sheet *)state->sheet);
 
 		if (v->texpr[0] != NULL &&
-		    (tmp = gnm_expr_top_as_string (v->texpr[0], &pp, state->convs)) != NULL) {
+		    (tmp = gnm_expr_top_as_string (v->texpr[0], &pp, state->convs, FALSE)) != NULL) {
 			gsf_xml_out_simple_element (state->output, GNM "Expression0", tmp);
 			g_free (tmp);
 		}
 		if (v->texpr[1] != NULL &&
-		    (tmp = gnm_expr_top_as_string (v->texpr[1], &pp, state->convs)) != NULL) {
+		    (tmp = gnm_expr_top_as_string (v->texpr[1], &pp, state->convs, FALSE)) != NULL) {
 			gsf_xml_out_simple_element (state->output, GNM "Expression1", tmp);
 			g_free (tmp);
 		}
@@ -568,12 +568,12 @@ xml_write_style (GnmOutputXML *state, GnmStyle const *style)
 				gsf_xml_out_start_element (state->output, GNM "Condition");
 				gsf_xml_out_add_int (state->output, "Operator", cond->op);
 				if (cond->texpr[0] != NULL &&
-				    (tmp = gnm_expr_top_as_string (cond->texpr[0], &pp, state->convs)) != NULL) {
+				    (tmp = gnm_expr_top_as_string (cond->texpr[0], &pp, state->convs, FALSE)) != NULL) {
 					gsf_xml_out_simple_element (state->output, GNM "Expression0", tmp);
 					g_free (tmp);
 				}
 				if (cond->texpr[1] != NULL &&
-				    (tmp = gnm_expr_top_as_string (cond->texpr[1], &pp, state->convs)) != NULL) {
+				    (tmp = gnm_expr_top_as_string (cond->texpr[1], &pp, state->convs, FALSE)) != NULL) {
 					gsf_xml_out_simple_element (state->output, GNM "Expression1", tmp);
 					g_free (tmp);
 				}
@@ -815,7 +815,7 @@ xml_write_cell_and_position (GnmOutputXML *state,
 			out.convs = state->convs;
 
 			g_string_append_c (str, '=');
-			gnm_expr_top_as_gstring (texpr, &out);
+			gnm_expr_top_as_gstring (texpr, &out, FALSE);
 		}
 
 		gsf_xml_out_add_cstr (state->output, NULL, str->str);
@@ -982,7 +982,8 @@ xml_write_solver (GnmOutputXML *state)
 		char *txt = gnm_expr_as_string
 			(expr,
 			 parse_pos_init_sheet (&pp, state->sheet),
-			 state->convs);
+			 state->convs,
+			 FALSE);
 		gsf_xml_out_add_cstr (state->output, "Target", txt);
 		g_free (txt);
 		gnm_expr_free (expr);
