Index: plugins/derivatives/options.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/derivatives/options.c,v
retrieving revision 1.65
diff -u -p -r1.65 options.c
--- plugins/derivatives/options.c	11 Nov 2006 18:00:27 -0000	1.65
+++ plugins/derivatives/options.c	2 Dec 2006 11:29:23 -0000
@@ -2273,149 +2273,149 @@ static GnmFuncHelp const help_opt_binomi
 
 
 GnmFuncDescriptor const derivatives_functions [] = {
-	{ "opt_bs",
-	  "sfffff|f", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs"),
+	  "sfffff|f", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "sffffff|f", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_delta"),
+	  "sffffff|f", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "sffffff|f", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_rho"),
+	  "sffffff|f", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "sffffff|f", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_theta"),
+	  "sffffff|f", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "fffff|f", N_("spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_gamma"),
+	  "fffff|f", F_("spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "fffff|f", N_("spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_vega"),
+	  "fffff|f", F_("spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "sffffff|f", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_bs_carrycost"),
+	  "sffffff|f", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "fff", N_("a, b, rho"),
+	{ F_("cum_biv_norm_dist"),
+	  "fff", F_("a, b, rho"),
 	  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",
-	  "sffffff", N_("call_put_flag, spot, strike, time, domestic_rate, foreign_rate, volatility"),
+	{ F_("opt_garman_kohlhagen"),
+	  "sffffff", F_("call_put_flag, spot, strike, time, domestic_rate, foreign_rate, volatility"),
 	  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",
-	  "sfffffff", N_("call_put_flag, spot, strike, time, t2, rate, volatility, cost of carry"),
+	{ F_("opt_french"),
+	  "sfffffff", F_("call_put_flag, spot, strike, time, t2, rate, volatility, cost of carry"),
 	  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",
-	  "sfffffff", N_("call_put_flag, spot, strike, time, rate, volatility, lambda, gamma"),
+	{ F_("opt_jump_diff"),
+	  "sfffffff", F_("call_put_flag, spot, strike, time, rate, volatility, lambda, gamma"),
 	  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",
-	  "sfffffff", N_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry, lambda"),
+	{ F_("opt_exec"),
+	  "sfffffff", F_("call_put_flag, spot, strike, time, rate, volatility, cost_of_carry, lambda"),
 	  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",
-	  "sffffff", N_("call_put_flag, spot, strike, time, rate, cost_of_carry, volatility"),
+	{ F_("opt_bjer_stens"),
+	  "sffffff", F_("call_put_flag, spot, strike, time, rate, cost_of_carry, volatility"),
 	  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",
-	  "sfffffffffffff", N_("call_put_flag, p_t, f_t, x, t1, t2, v_s, v_e, v_f, rho_se, rho_sf, rho_ef, kappa_e, kappa_f)"),
+	{ F_("opt_miltersen_schwartz"),
+	  "sfffffffffffff", F_("call_put_flag, p_t, f_t, x, t1, t2, v_s, v_e, v_f, rho_se, rho_sf, rho_ef, kappa_e, kappa_f)"),
 	  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",
-	  "sffffff", N_("call_put_flag, spot, strike, time, rate, cost_of_carry, volatility"),
+	{ F_("opt_baw_amer"),
+	  "sffffff", F_("call_put_flag, spot, strike, time, rate, cost_of_carry, volatility"),
 	  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",
-	  "fffffff", N_("call_put_flag, spot, strike, t1, t2, rate, d, volatility"),
+	{ F_("opt_rgw"),
+	  "fffffff", F_("call_put_flag, spot, strike, t1, t2, rate, d, volatility"),
 	  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",
-	  "sfffffff", N_("call_put_flag, spot, alpha, time1, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_forward_start"),
+	  "sfffffff", F_("call_put_flag, spot, alpha, time1, time, rate, volatility, cost_of_carry"),
 	  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",
-	  "sfffffffff", N_("call_put_flag, spot, strike, a, time, m, dt, rate, cost_of_carry, volatility"),
+	{ F_("opt_time_switch"),
+	  "sfffffffff", F_("call_put_flag, spot, strike, a, time, m, dt, rate, cost_of_carry, volatility"),
 	  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",
-	  "fffffff", N_("spot, strike, time1, time2, rate, cost_of_carry, volatility"),
+	{ F_("opt_simple_chooser"),
+	  "fffffff", F_("spot, strike, time1, time2, rate, cost_of_carry, volatility"),
 	  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",
-	  "fffffffff", N_("spot, strike_call, strike_put, time, time_call, time_put, rate, cost_of_carry, volatility"),
+	{ F_("opt_complex_chooser"),
+	  "fffffffff", F_("spot, strike_call, strike_put, time, time_call, time_put, rate, cost_of_carry, volatility"),
 	  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",
-	  "sffffffff", N_("type_flag, spot, strike1, strike2, time1, time2, rate, cost_of_carry, volatility"),
+	{ F_("opt_on_options"),
+	  "sffffffff", F_("type_flag, spot, strike1, strike2, time1, time2, rate, cost_of_carry, volatility"),
 	  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",
-	  "sffffffff", N_("type_flag, spot, strike1, strike2, time1, time2, rate, cost_of_carry, volatility"),
+	{ F_("opt_extendible_writer"),
+	  "sffffffff", F_("type_flag, spot, strike1, strike2, time1, time2, rate, cost_of_carry, volatility"),
 	  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",
-	  "sfffffffffff", N_("type_flag, spot1, spot2, strike1, strike2, time, cost_of_carry1, cost_of_carry2, rate, volatility1, volatility2, rho"),
+	  "sfffffffffff", F_("type_flag, spot1, spot2, strike1, strike2, time, cost_of_carry1, cost_of_carry2, rate, volatility1, volatility2, rho"),
 	  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",
-	  "fffffffffff", N_("spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho"),
+	{ F_("opt_euro_exchange"),
+	  "fffffffffff", F_("spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho"),
 	  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",
-	  "fffffffffff", N_("spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho"),
+	{ F_("opt_amer_exchange"),
+	  "fffffffffff", F_("spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho"),
 	  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",
-	  "sffffffff", N_("call_put_flag,fut_price1,fut_price2,strike,time, rate,volatility1,volatility2,rho"),
+	{ F_("opt_spread_approx"),
+	  "sffffffff", F_("call_put_flag,fut_price1,fut_price2,strike,time, rate,volatility1,volatility2,rho"),
 	  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",
-	  "sfffffff", N_("call_put_flag,spot,spot_min,spot_max,time,rate,cost_of_carry,volatility"),
+	{ F_("opt_float_strk_lkbk"),
+	  "sfffffff", F_("call_put_flag,spot,spot_min,spot_max,time,rate,cost_of_carry,volatility"),
 	  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",
-	  "sffffffff", N_("call_put_flag,spot,spot_min,spot_max,strike,time,rate,cost_of_carry,volatility"),
+	{ F_("opt_fixed_strk_lkbk"),
+	  "sffffffff", F_("call_put_flag,spot,spot_min,spot_max,strike,time,rate,cost_of_carry,volatility"),
 	  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",
-	  "ssffffff|f", N_("amer_euro_flag,call_put_flag,num_time_steps, spot, strike, time, rate, volatility, cost_of_carry"),
+	{ F_("opt_binomial"),
+	  "ssffffff|f", F_("amer_euro_flag,call_put_flag,num_time_steps, spot, strike, time, rate, volatility, cost_of_carry"),
 	  help_opt_binomial, opt_binomial, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_BASIC },
 
Index: plugins/derivatives/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/derivatives/plugin.xml.in,v
retrieving revision 1.13
diff -u -p -r1.13 plugin.xml.in
--- plugins/derivatives/plugin.xml.in	24 Sep 2004 01:33:18 -0000	1.13
+++ plugins/derivatives/plugin.xml.in	2 Dec 2006 11:29:23 -0000
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="derivatives"/>
 	</loader>
 	<services>
-		<service type="function_group" id="derivatives">
+		<service type="function_group" id="derivatives" gettext_domain="gnumeric-functions">
 			<_category>Finance</_category>
 			<functions>
 				<function name="cum_biv_norm_dist"/>
Index: plugins/fn-complex/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-complex/functions.c,v
retrieving revision 1.37
diff -u -p -r1.37 functions.c
--- plugins/fn-complex/functions.c	11 Nov 2006 18:00:29 -0000	1.37
+++ plugins/fn-complex/functions.c	2 Dec 2006 11:29:27 -0000
@@ -1604,131 +1604,131 @@ gnumeric_imsum (GnmFuncEvalInfo *ei, int
 /***************************************************************************/
 
 GnmFuncDescriptor const complex_functions[] = {
-        { "complex",     "ff|s", N_("real,im,suffix"), help_complex,
+        { F_("complex"),     "ff|s", F_("real,im,suffix"), help_complex,
 	  gnumeric_complex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imabs",       "S",    N_("inumber"), help_imabs,
+        { F_("imabs"),       "S",    F_("inumber"), help_imabs,
 	  gnumeric_imabs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imaginary",   "S",    N_("inumber"), help_imaginary,
+        { F_("imaginary"),   "S",    F_("inumber"), help_imaginary,
 	  gnumeric_imaginary, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imargument",  "S",    N_("inumber"), help_imargument,
+        { F_("imargument"),  "S",    F_("inumber"), help_imargument,
 	  gnumeric_imargument, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imconjugate", "S",    N_("inumber"), help_imconjugate,
+        { F_("imconjugate"), "S",    F_("inumber"), help_imconjugate,
 	  gnumeric_imconjugate, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcos",       "S",    N_("inumber"), help_imcos,
+        { F_("imcos"),       "S",    F_("inumber"), help_imcos,
 	  gnumeric_imcos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imdiv",       "SS",   N_("inumber,inumber"), help_imdiv,
+        { F_("imdiv"),       "SS",   F_("inumber,inumber"), help_imdiv,
 	  gnumeric_imdiv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imexp",       "S",    N_("inumber"), help_imexp,
+        { F_("imexp"),       "S",    F_("inumber"), help_imexp,
 	  gnumeric_imexp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imln",        "S",    N_("inumber"), help_imln,
+        { F_("imln"),        "S",    F_("inumber"), help_imln,
 	  gnumeric_imln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imlog10",     "S",    N_("inumber"), help_imlog10,
+        { "imlog10",     "S",    F_("inumber"), help_imlog10,
 	  gnumeric_imlog10, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imlog2",      "S",    N_("inumber"), help_imlog2,
+        { "imlog2",      "S",    F_("inumber"), help_imlog2,
 	  gnumeric_imlog2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "impower",     "SS",   N_("inumber,inumber"), help_impower,
+        { F_("impower"),     "SS",   F_("inumber,inumber"), help_impower,
 	  gnumeric_impower, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imreal",      "S",    N_("inumber"), help_imreal,
+        { F_("imreal"),      "S",    F_("inumber"), help_imreal,
 	  gnumeric_imreal, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsin",       "S",    N_("inumber"), help_imsin,
+        { F_("imsin"),       "S",    F_("inumber"), help_imsin,
 	  gnumeric_imsin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsqrt",      "S",    N_("inumber"), help_imsqrt,
+        { F_("imsqrt"),      "S",    F_("inumber"), help_imsqrt,
 	  gnumeric_imsqrt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsub",       "SS",   N_("inumber,inumber"), help_imsub,
+        { F_("imsub"),       "SS",   F_("inumber,inumber"), help_imsub,
 	  gnumeric_imsub, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsum",       NULL,   N_("inumber,inumber"), help_imsum,
+        { F_("imsum"),       NULL,   F_("inumber,inumber"), help_imsum,
 	  NULL, gnumeric_imsum, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "iminv",   "S",    N_("inumber"), help_iminv,
+        { F_("iminv"),   "S",    F_("inumber"), 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",    N_("inumber"), help_imneg,
+        { F_("imneg"),   "S",    F_("inumber"), help_imneg,
 	  gnumeric_imneg, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imtan",       "S",    N_("inumber"), help_imtan,
+        { F_("imtan"),       "S",    F_("inumber"), help_imtan,
 	  gnumeric_imtan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "improduct",   NULL,   N_("inumber,inumber"), help_improduct,
+        { F_("improduct"),   NULL,   F_("inumber,inumber"), help_improduct,
 	  NULL, gnumeric_improduct, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsec",       "S",    N_("inumber"), help_imsec,
+        { F_("imsec"),       "S",    F_("inumber"), help_imsec,
 	  gnumeric_imsec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcsc",       "S",    N_("inumber"), help_imcsc,
+        { F_("imcsc"),       "S",    F_("inumber"), help_imcsc,
 	  gnumeric_imcsc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcot",       "S",    N_("inumber"), help_imcot,
+        { F_("imcot"),       "S",    F_("inumber"), help_imcot,
 	  gnumeric_imcot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsinh",       "S",   N_("inumber"), help_imsinh,
+        { F_("imsinh"),       "S",   F_("inumber"), help_imsinh,
 	  gnumeric_imsinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcosh",       "S",   N_("inumber"), help_imcosh,
+        { F_("imcosh"),       "S",   F_("inumber"), help_imcosh,
 	  gnumeric_imcosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imtanh",       "S",   N_("inumber"), help_imtanh,
+        { F_("imtanh"),       "S",   F_("inumber"), help_imtanh,
 	  gnumeric_imtanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imsech",       "S",   N_("inumber"), help_imsech,
+        { F_("imsech"),       "S",   F_("inumber"), help_imsech,
 	  gnumeric_imsech, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcsch",       "S",   N_("inumber"), help_imcsch,
+        { F_("imcsch"),       "S",   F_("inumber"), help_imcsch,
 	  gnumeric_imcsch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imcoth",       "S",   N_("inumber"), help_imcoth,
+        { F_("imcoth"),       "S",   F_("inumber"), help_imcoth,
 	  gnumeric_imcoth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsin",     "S",   N_("inumber"), help_imarcsin,
+        { F_("imarcsin"),     "S",   F_("inumber"), help_imarcsin,
 	  gnumeric_imarcsin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccos",     "S",   N_("inumber"), help_imarccos,
+        { F_("imarccos"),     "S",   F_("inumber"), help_imarccos,
 	  gnumeric_imarccos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarctan",     "S",   N_("inumber"), help_imarctan,
+        { F_("imarctan"),     "S",   F_("inumber"), help_imarctan,
 	  gnumeric_imarctan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsec",     "S",   N_("inumber"), help_imarcsec,
+        { F_("imarcsec"),     "S",   F_("inumber"), help_imarcsec,
 	  gnumeric_imarcsec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccsc",     "S",   N_("inumber"), help_imarccsc,
+        { F_("imarccsc"),     "S",   F_("inumber"), help_imarccsc,
 	  gnumeric_imarccsc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccot",     "S",   N_("inumber"), help_imarccot,
+        { F_("imarccot"),     "S",   F_("inumber"), help_imarccot,
 	  gnumeric_imarccot, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsinh",    "S",   N_("inumber"), help_imarcsinh,
+        { F_("imarcsinh"),    "S",   F_("inumber"), help_imarcsinh,
 	  gnumeric_imarcsinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccosh",    "S",   N_("inumber"), help_imarccosh,
+        { F_("imarccosh"),    "S",   F_("inumber"), help_imarccosh,
 	  gnumeric_imarccosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarctanh",    "S",   N_("inumber"), help_imarctanh,
+        { F_("imarctanh"),    "S",   F_("inumber"), help_imarctanh,
 	  gnumeric_imarctanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarcsech",    "S",   N_("inumber"), help_imarcsech,
+        { F_("imarcsech"),    "S",   F_("inumber"), help_imarcsech,
 	  gnumeric_imarcsech, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccsch",    "S",   N_("inumber"), help_imarccsch,
+        { F_("imarccsch"),    "S",   F_("inumber"), help_imarccsch,
 	  gnumeric_imarccsch, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "imarccoth",    "S",   N_("inumber"), help_imarccoth,
+        { F_("imarccoth"),    "S",   F_("inumber"), help_imarccoth,
 	  gnumeric_imarccoth, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
         {NULL}
Index: plugins/fn-complex/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-complex/plugin.xml.in,v
retrieving revision 1.6
diff -u -p -r1.6 plugin.xml.in
--- plugins/fn-complex/plugin.xml.in	24 Sep 2004 01:33:18 -0000	1.6
+++ plugins/fn-complex/plugin.xml.in	2 Dec 2006 11:29:27 -0000
@@ -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>
                                 <function name="complex"/>
Index: plugins/fn-database/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-database/functions.c,v
retrieving revision 1.99
diff -u -p -r1.99 functions.c
--- plugins/fn-database/functions.c	11 Nov 2006 18:00:30 -0000	1.99
+++ plugins/fn-database/functions.c	2 Dec 2006 11:29:30 -0000
@@ -1234,45 +1234,45 @@ gnumeric_getpivotdata (GnmFuncEvalInfo *
 /***************************************************************************/
 
 const GnmFuncDescriptor database_functions[] = {
-	{ "daverage", "rSr", N_("database,field,criteria"),
+	{ F_("daverage"), "rSr", F_("database,field,criteria"),
 	  help_daverage,   gnumeric_daverage, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dcount",   "rSr", N_("database,field,criteria"),
+	{ F_("dcount"),   "rSr", F_("database,field,criteria"),
 	  help_dcount,     gnumeric_dcount, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dcounta",  "rSr", N_("database,field,criteria"),
+	{ F_("dcounta"),  "rSr", F_("database,field,criteria"),
 	  help_dcounta,    gnumeric_dcounta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dget",     "rSr", N_("database,field,criteria"),
+	{ F_("dget"),     "rSr", F_("database,field,criteria"),
 	  help_dget,       gnumeric_dget, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dmax",     "rSr", N_("database,field,criteria"),
+	{ F_("dmax"),     "rSr", F_("database,field,criteria"),
 	  help_dmax,       gnumeric_dmax, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dmin",     "rSr", N_("database,field,criteria"),
+	{ F_("dmin"),     "rSr", F_("database,field,criteria"),
 	  help_dmin,       gnumeric_dmin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dproduct", "rSr", N_("database,field,criteria"),
+	{ F_("dproduct"), "rSr", F_("database,field,criteria"),
 	  help_dproduct,   gnumeric_dproduct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dstdev",   "rSr", N_("database,field,criteria"),
+	{ F_("dstdev"),   "rSr", F_("database,field,criteria"),
 	  help_dstdev,     gnumeric_dstdev, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dstdevp",  "rSr", N_("database,field,criteria"),
+	{ F_("dstdevp"),  "rSr", F_("database,field,criteria"),
 	  help_dstdevp,    gnumeric_dstdevp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dsum",     "rSr", N_("database,field,criteria"),
+	{ F_("dsum"),     "rSr", F_("database,field,criteria"),
 	  help_dsum,       gnumeric_dsum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dvar",     "rSr", N_("database,field,criteria"),
+	{ F_("dvar"),     "rSr", F_("database,field,criteria"),
 	  help_dvar,       gnumeric_dvar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dvarp",    "rSr", N_("database,field,criteria"),
+	{ F_("dvarp"),    "rSr", F_("database,field,criteria"),
 	  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", N_("pivot_table,field_name"),
+	{ F_("getpivotdata"), "rs", F_("pivot_table,field_name"),
 	  help_getpivotdata, gnumeric_getpivotdata, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUBSET, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
Index: plugins/fn-database/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-database/plugin.xml.in,v
retrieving revision 1.5
diff -u -p -r1.5 plugin.xml.in
--- plugins/fn-database/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.5
+++ plugins/fn-database/plugin.xml.in	2 Dec 2006 11:29:30 -0000
@@ -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>
 				<function name="daverage"/>
Index: plugins/fn-date/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-date/functions.c,v
retrieving revision 1.142
diff -u -p -r1.142 functions.c
--- plugins/fn-date/functions.c	25 Nov 2006 03:16:31 -0000	1.142
+++ plugins/fn-date/functions.c	2 Dec 2006 11:29:32 -0000
@@ -1443,104 +1443,104 @@ gnumeric_yearfrac (GnmFuncEvalInfo *ei, 
 /***************************************************************************/
 
 GnmFuncDescriptor const datetime_functions[] = {
-	{ "date",        "fff",  N_("year,month,day"), help_date,
+	{ F_("date"),        "fff",  F_("year,month,day"), 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",    N_("date_str"), help_datevalue,
+	{ F_("datevalue"),   "f",    F_("date_str"), 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",  N_("date1,date2,interval"), help_datedif,
+	{ F_("datedif"),     "ffs",  F_("date1,date2,interval"), 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",    N_("date"), help_day,
+	{ F_("day"),         "f",    F_("date"), 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", N_("date1,date2,method"), help_days360,
+	{ "days360",     "ff|f", F_("date1,date2,method"), 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",   N_("date,months"), help_edate,
+	{ F_("edate"),       "ff",   F_("date,months"), 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",  N_("start_date,months"), help_eomonth,
+	{ F_("eomonth"),     "f|f",  F_("start_date,months"), 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",    N_("time"), help_hour,
+	{ F_("hour"),        "f",    F_("time"), 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",    N_("time"), help_minute,
+	{ F_("minute"),      "f",    F_("time"), 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",    N_("date"), help_month,
+	{ F_("month"),       "f",    F_("date"), 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|?", N_("start_date,end_date,holidays"),
-	  help_networkdays, gnumeric_networkdays, NULL, NULL, NULL, NULL,
+	{ F_("networkdays"), "ff|?", F_("start_date,end_date,holidays"), 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",    N_("time"), help_second,
+	{ F_("second"),      "f",    F_("time"), 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",  N_("hours,minutes,seconds"), help_time,
+	{ F_("time"),        "fff",  F_("hours,minutes,seconds"), 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",    N_("timetext"), help_timevalue,
+	{ F_("timevalue"),   "f",    F_("timetext"), 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",  N_("date"), help_weekday,
+	{ F_("weekday"),     "f|f",  F_("date"), 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",  N_("date"), help_weeknum,
+	{ F_("weeknum"),     "f|f",  F_("date"), 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|?", N_("date,days,holidays"), help_workday,
+	{ F_("workday"),     "ff|?", F_("date,days,holidays"), 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",    N_("date"), help_year,
+	{ F_("year"),        "f",    F_("date"), 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",    N_("date"), help_yearfrac,
+	{ F_("yearfrac"), 	"ff|f",    F_("date"), 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",    N_("unixtime"), help_unix2date,
+	{ "unix2date",   "f",    F_("unixtime"), 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",    N_("serial"), help_date2unix,
+	{ "date2unix",   "f",    F_("serial"), 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",    N_("date"), help_isoweeknum,
+	{ F_("isoweeknum"),  "f",    F_("date"), 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",    N_("date"), help_isoyear,
+	{ F_("isoyear"),     "f",    F_("date"), 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 },
Index: plugins/fn-date/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-date/plugin.xml.in,v
retrieving revision 1.6
diff -u -p -r1.6 plugin.xml.in
--- plugins/fn-date/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.6
+++ plugins/fn-date/plugin.xml.in	2 Dec 2006 11:29:33 -0000
@@ -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>
 				<function name="date"/>
Index: plugins/fn-eng/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-eng/functions.c,v
retrieving revision 1.131
diff -u -p -r1.131 functions.c
--- plugins/fn-eng/functions.c	11 Nov 2006 18:00:31 -0000	1.131
+++ plugins/fn-eng/functions.c	2 Dec 2006 11:29:34 -0000
@@ -1425,84 +1425,84 @@ gnumeric_invsuminv (GnmFuncEvalInfo *ei,
 /***************************************************************************/
 
 GnmFuncDescriptor const engineering_functions[] = {
-        { "base",     "Sf|f",   "text,base,length", help_base,
+        { F_("base"),     "Sf|f",   F_("text,base,length"), 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",   "xnum,ynum", help_besseli,
+        { F_("besseli"),     "ff",  F_("xnum,ynum"), help_besseli,
 	  gnumeric_besseli, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "besselj",     "ff",   "xnum,ynum", help_besselj,
+        { F_("besselj"),     "ff",  F_("xnum,ynum"), help_besselj,
 	  gnumeric_besselj, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "besselk",     "ff",   "xnum,ynum", help_besselk,
+        { F_("besselk"),     "ff",  F_("xnum,ynum"), help_besselk,
 	  gnumeric_besselk, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bessely",     "ff",   "xnum,ynum", help_bessely,
+        { F_("bessely"),     "ff",  F_("xnum,ynum"), help_bessely,
 	  gnumeric_bessely, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "bin2dec",     "S",    "number", help_bin2dec,
+        { F_("bin2dec"),     "S",   F_("number"), help_bin2dec,
 	  gnumeric_bin2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bin2hex",     "S|f",  "xnum,ynum", help_bin2hex,
+        { F_("bin2hex"),     "S|f", F_("xnum,ynum"), help_bin2hex,
 	  gnumeric_bin2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "bin2oct",     "S|f",  "xnum,ynum", help_bin2oct,
+        { F_("bin2oct"),     "S|f", F_("xnum,ynum"), help_bin2oct,
 	  gnumeric_bin2oct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "convert",     "fss",  "number,from_unit,to_unit", help_convert,
+        { F_("convert"),     "fss", F_("number,from_unit,to_unit"), help_convert,
 	  gnumeric_convert, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2bin",     "S|f",  "xnum,ynum", help_dec2bin,
+        { F_("dec2bin"),     "S|f", F_("xnum,ynum"), help_dec2bin,
 	  gnumeric_dec2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2oct",     "S|f",  "xnum,ynum", help_dec2oct,
+        { F_("dec2oct"),     "S|f", F_("xnum,ynum"), help_dec2oct,
 	  gnumeric_dec2oct, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dec2hex",     "S|f",  "xnum,ynum", help_dec2hex,
+        { F_("dec2hex"),     "S|f", F_("xnum,ynum"), help_dec2hex,
 	  gnumeric_dec2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "decimal",     "Sf",   "text,base", help_decimal,
+        { F_("decimal"),     "Sf",  F_("text,base"), 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",  "xnum,ynum", help_delta,
+        { F_("delta"),       "f|f", F_("xnum,ynum"), help_delta,
 	  gnumeric_delta, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "erf",         "f|f",  "lower,upper", help_erf,
+        { F_("erf"),         "f|f", F_("lower,upper"), help_erf,
 	  gnumeric_erf , NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "erfc",        "f",    "number", help_erfc,
+        { F_("erfc"),        "f",   F_("number"), help_erfc,
 	  gnumeric_erfc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "gestep",      "f|f",  "xnum,ynum", help_gestep,
+        { F_("gestep"),      "f|f", F_("xnum,ynum"), help_gestep,
 	  gnumeric_gestep, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "hex2bin",     "S|f",  "xnum,ynum", help_hex2bin,
+        { F_("hex2bin"),     "S|f", F_("xnum,ynum"), help_hex2bin,
 	  gnumeric_hex2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "hex2dec",     "S",    "number", help_hex2dec,
+        { F_("hex2dec"),     "S",   F_("number"), help_hex2dec,
 	  gnumeric_hex2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "hex2oct",     "S|f",  "xnum,ynum", help_hex2oct,
+        { F_("hex2oct"),     "S|f", F_("xnum,ynum"), 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",  "xnum,ynum", help_oct2bin,
+        { F_("oct2bin"),     "S|f", F_("xnum,ynum"), help_oct2bin,
 	  gnumeric_oct2bin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "oct2dec",     "S",    "number", help_oct2dec,
+        { F_("oct2dec"),     "S",   F_("number"), help_oct2dec,
 	  gnumeric_oct2dec, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "oct2hex",     "S|f",  "xnum,ynum", help_oct2hex,
+        { F_("oct2hex"),     "S|f", F_("xnum,ynum"), help_oct2hex,
 	  gnumeric_oct2hex, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
Index: plugins/fn-eng/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-eng/plugin.xml.in,v
retrieving revision 1.7
diff -u -p -r1.7 plugin.xml.in
--- plugins/fn-eng/plugin.xml.in	12 Jan 2005 16:15:41 -0000	1.7
+++ plugins/fn-eng/plugin.xml.in	2 Dec 2006 11:29:34 -0000
@@ -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>
 				<function name="base"/>
Index: plugins/fn-erlang/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-erlang/functions.c,v
retrieving revision 1.16
diff -u -p -r1.16 functions.c
--- plugins/fn-erlang/functions.c	11 Nov 2006 18:00:32 -0000	1.16
+++ plugins/fn-erlang/functions.c	2 Dec 2006 11:29:36 -0000
@@ -316,22 +316,22 @@ gnumeric_offcap (GnmFuncEvalInfo *ei, Gn
 }
 
 GnmFuncDescriptor const erlang_functions[] = {
-	{ "probblock",        "ff",  N_("traffic,circuits"), help_probblock,
+	{ F_("probblock"),        "ff",  F_("traffic,circuits"), 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",  N_("traffic,circuits"), help_offtraf,
+	{ F_("offtraf"),        "ff",  F_("traffic,circuits"), 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",  N_("traffic,gos"), help_dimcirc,
+	{ F_("dimcirc"),        "ff",  F_("traffic,gos"), 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",  N_("circuits,gos"), help_offcap,
+	{ F_("offcap"),        "ff",  F_("circuits,gos"), help_offcap,
 	  gnumeric_offcap, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE,
 	  GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC,
Index: plugins/fn-erlang/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-erlang/plugin.xml.in,v
retrieving revision 1.2
diff -u -p -r1.2 plugin.xml.in
--- plugins/fn-erlang/plugin.xml.in	3 Jan 2005 22:16:16 -0000	1.2
+++ plugins/fn-erlang/plugin.xml.in	2 Dec 2006 11:29:36 -0000
@@ -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>
 				<function name="probblock"/>
Index: plugins/fn-financial/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-financial/functions.c,v
retrieving revision 1.220
diff -u -p -r1.220 functions.c
--- plugins/fn-financial/functions.c	28 Nov 2006 15:43:00 -0000	1.220
+++ plugins/fn-financial/functions.c	2 Dec 2006 11:29:43 -0000
@@ -3973,207 +3973,207 @@ gnumeric_vdb (GnmFuncEvalInfo *ei, GnmVa
 /***************************************************************************/
 
 GnmFuncDescriptor const financial_functions[] = {
-	{ "accrint", "ffffff|f", "issue,first_interest,settlement,rate,par,frequency,basis",
+	{ F_("accrint"), "ffffff|f", F_("issue,first_interest,settlement,rate,par,frequency,basis"),
 	  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", "issue,maturity,rate,par,basis",
+	{ F_("accrintm"), "fff|ff", F_("issue,maturity,rate,par,basis"),
 	  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", "cost,purchase_date,first_period,salvage,period,rate,basis",
+	{ F_("amordegrc"), "fffffff", F_("cost,purchase_date,first_period,salvage,period,rate,basis"),
 	  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", "cost,purchase_date,first_period,salvage,period,rate,basis",
+	{ F_("amorlinc"), "fffffff", F_("cost,purchase_date,first_period,salvage,period,rate,basis"),
 	  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", "settlement,maturity,frequency,basis,eom",
+	{ F_("coupdaybs"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  help_coupdaybs, gnumeric_coupdaybs, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupdays", "fff|fb", "settlement,maturity,frequency,basis,eom",
+	{ F_("coupdays"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  help_coupdays, gnumeric_coupdays, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupdaysnc", "fff|fb", "settlement,maturity,frequency,basis,eom",
+	{ F_("coupdaysnc"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  help_coupdaysnc, gnumeric_coupdaysnc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "coupncd", "fff|fb", "settlement,maturity,frequency,basis,eom",
+	{ F_("coupncd"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  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", "settlement,maturity,frequency,basis,eom",
+	{ F_("coupnum"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  help_coupnum, gnumeric_coupnum, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "couppcd", "fff|fb", "settlement,maturity,frequency,basis,eom",
+	{ F_("couppcd"), "fff|fb", F_("settlement,maturity,frequency,basis,eom"),
 	  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", "rate,nper,pv,start_period,end_period,type",
+	{ F_("cumipmt"), "ffffff", F_("rate,nper,pv,start_period,end_period,type"),
 	  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", "rate,nper,pv,start_period,end_period,type",
+	{ F_("cumprinc"), "ffffff", F_("rate,nper,pv,start_period,end_period,type"),
 	  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", "cost,salvage,life,period,month",
+	{ F_("db"), "ffff|f", F_("cost,salvage,life,period,month"),
 	  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", "cost,salvage,life,period,factor",
+	{ F_("ddb"), "ffff|f", F_("cost,salvage,life,period,factor"),
 	  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", "settlement,maturity,pr,redemption,basis",
+	{ F_("disc"), "ffff|f", F_("settlement,maturity,pr,redemption,basis"),
 	  help_disc, gnumeric_disc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "dollarde", "ff", "fractional_dollar,fraction",
+	{ F_("dollarde"), "ff", F_("fractional_dollar,fraction"),
 	  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", "decimal_dollar,fraction",
+	{ F_("dollarfr"), "ff", F_("decimal_dollar,fraction"),
 	  help_dollarfr, gnumeric_dollarfr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "duration", "fffff|f", "settlement,maturity,coup,yield,frequency,basis",
+	{ F_("duration"), "fffff|f", F_("settlement,maturity,coup,yield,frequency,basis"),
 	  help_duration, gnumeric_duration, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "effect", "ff", "rate,nper",
+	{ F_("effect"), "ff", F_("rate,nper"),
 	  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", "currency",
+	{ F_("euro"), "s", F_("currency"),
 	  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", "n,source,target",
+	{ F_("euroconvert"), "fss", F_("n,source,target"),
 	  help_euroconvert, gnumeric_euroconvert, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "fv", "fff|ff", "rate,nper,pmt,pv,type",
+	{ F_("fv"), "fff|ff", F_("rate,nper,pmt,pv,type"),
 	  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", "pv,schedule",
+	{ F_("fvschedule"), "fA", F_("pv,schedule"),
 	  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", "rate,pv,fv",
+	{ "g_duration", "fff", F_("rate,pv,fv"),
 	  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", "settlement,maturity,investment,redemption,basis",
+	{ F_("intrate"), "ffff|f", F_("settlement,maturity,investment,redemption,basis"),
 	  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", "rate,per,nper,pv,fv,type",
+	{ F_("ipmt"), "ffff|ff", F_("rate,per,nper,pv,fv,type"),
 	  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", "values,guess",
+	{ F_("irr"), "A|f", F_("values,guess"),
 	  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", "rate,per,nper,pv",
+	{ F_("ispmt"), "ffff", F_("rate,per,nper,pv"),
 	  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", "settlement,maturify,coupon,yield,frequency,basis",
+	{ F_("mduration"), "fffff|f", F_("settlement,maturify,coupon,yield,frequency,basis"),
 	  help_mduration, gnumeric_mduration, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mirr", "Aff", "values,finance_rate,reinvest_rate",
+	{ F_("mirr"), "Aff", F_("values,finance_rate,reinvest_rate"),
 	  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", "rate,nper",
+	{ F_("nominal"), "ff", F_("rate,nper"),
 	  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", "rate,pmt,pv,fv,type",
+	{ F_("nper"), "fff|ff", F_("rate,pmt,pv,fv,type"),
 	  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", "settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency,basis",
+	{ F_("oddfprice"), "fffffffff", F_("settlement,maturity,issue,first_coupon,rate,yld,redemption,frequency,basis"),
 	  help_oddfprice,  gnumeric_oddfprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "oddfyield", "fffffffff", "settlement,maturity,issue,first_coupon,rate,pr,redemption,frequency,basis",
+	{ F_("oddfyield"), "fffffffff", F_("settlement,maturity,issue,first_coupon,rate,pr,redemption,frequency,basis"),
 	  help_oddfyield,  gnumeric_oddfyield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "oddlprice", "ffffffff", "settlement,maturity,last_interest,rate,yld,redemption,frequency,basis",
+	{ F_("oddlprice"), "ffffffff", F_("settlement,maturity,last_interest,rate,yld,redemption,frequency,basis"),
 	  help_oddlprice,  gnumeric_oddlprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "oddlyield", "ffffffff", "settlement,maturity,last_interest,rate,pr,redemption,frequency,basis",
+	{ F_("oddlyield"), "ffffffff", F_("settlement,maturity,last_interest,rate,pr,redemption,frequency,basis"),
 	  help_oddlyield,  gnumeric_oddlyield, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pmt", "fff|ff", "rate,nper,pv,fv,type",
+	{ F_("pmt"), "fff|ff", F_("rate,nper,pv,fv,type"),
 	  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", "rate,per,nper,pv,fv,type",
+	{ F_("ppmt"), "ffff|ff", F_("rate,per,nper,pv,fv,type"),
 	  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", "settlement,maturity,rate,yield,redemption_price,frequency,basis",
+	{ F_("price"), "ffffff|f", F_("settlement,maturity,rate,yield,redemption_price,frequency,basis"),
 	  help_price, gnumeric_price, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pricedisc", "ffff|f", "settlement,maturity,discount,redemption,basis",
+	{ F_("pricedisc"), "ffff|f", F_("settlement,maturity,discount,redemption,basis"),
 	  help_pricedisc,  gnumeric_pricedisc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pricemat", "fffff|f", "settlement,maturity,issue,rate,yield,basis",
+	{ F_("pricemat"), "fffff|f", F_("settlement,maturity,issue,rate,yield,basis"),
 	  help_pricemat,  gnumeric_pricemat, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "pv", "fff|ff", "rate,nper,pmt,fv,type",
+	{ F_("pv"), "fff|ff", F_("rate,nper,pmt,fv,type"),
 	  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", "nper,pmt,pv,fv,type,guess",
+	{ F_("rate"), "fff|fff", F_("nper,pmt,pv,fv,type,guess"),
 	  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 },
-	{ "received", "ffff|f", "settlement,maturity,investment,discount,basis",
+	{ F_("received"), "ffff|f", F_("settlement,maturity,investment,discount,basis"),
 	  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", "cost,salvagevalue,life",
+	{ F_("sln"), "fff", F_("cost,salvagevalue,life"),
 	  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", "cost,salvagevalue,life,period",
+	{ F_("syd"), "ffff", F_("cost,salvagevalue,life,period"),
 	  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", "settlement,maturity,discount",
+	{ F_("tbilleq"), "fff", F_("settlement,maturity,discount"),
 	  help_tbilleq,  gnumeric_tbilleq, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tbillprice", "fff", "settlement,maturity,discount",
+	{ F_("tbillprice"), "fff", F_("settlement,maturity,discount"),
 	  help_tbillprice, gnumeric_tbillprice, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tbillyield", "fff", "settlement,maturity,pr",
+	{ F_("tbillyield"), "fff", F_("settlement,maturity,pr"),
 	  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", "cost,salvage,life,start_period,end_period,factor,switch",
+	{ F_("vdb"), "fffff|ff", F_("cost,salvage,life,start_period,end_period,factor,switch"),
 	  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", "values,dates,guess",
+	{ F_("xirr"), "AA|f", F_("values,dates,guess"),
 	  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", "rate,values,dates",
+	{ F_("xnpv"), "fAA", F_("rate,values,dates"),
 	  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", "settlement,maturity,rate,price,redemption_price,frequency,basis",
+	{ F_("yield"), "ffffff|f", F_("settlement,maturity,rate,price,redemption_price,frequency,basis"),
 	  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", "settlement,maturity,pr,redemption,basis",
+	{ F_("yielddisc"), "ffff|f", F_("settlement,maturity,pr,redemption,basis"),
 	  help_yielddisc,  gnumeric_yielddisc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "yieldmat", "fffff|f", "settlement,maturity,issue,rate,pr,basis",
+	{ F_("yieldmat"), "fffff|f", "settlement,maturity,issue,rate,pr,basis",
 	  help_yieldmat,  gnumeric_yieldmat, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
         {NULL}
Index: plugins/fn-financial/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-financial/plugin.xml.in,v
retrieving revision 1.7
diff -u -p -r1.7 plugin.xml.in
--- plugins/fn-financial/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.7
+++ plugins/fn-financial/plugin.xml.in	2 Dec 2006 11:29:43 -0000
@@ -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>
 				<function name="accrint"/>
Index: plugins/fn-info/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-info/functions.c,v
retrieving revision 1.173
diff -u -p -r1.173 functions.c
--- plugins/fn-info/functions.c	11 Nov 2006 18:00:33 -0000	1.173
+++ plugins/fn-info/functions.c	2 Dec 2006 11:29:47 -0000
@@ -1880,70 +1880,70 @@ gnumeric_getenv (GnmFuncEvalInfo *ei, Gn
 /***************************************************************************/
 
 GnmFuncDescriptor const info_functions[] = {
-	{ "cell",	"sr", N_("info_type, cell"), help_cell,
+	{ F_("cell"),	"sr", F_("info_type, cell"), 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", N_("value"), help_error_type,
+	{ "error.type",	"E", F_("value"), 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", N_("info_type"), help_info,
+	{ F_("info"),	"s", F_("info_type"), help_info,
 	  gnumeric_info, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isblank",	"E", N_("value"), help_isblank,
+	{ F_("isblank"),	"E", F_("value"), help_isblank,
 	  gnumeric_isblank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iserr",	"E",   N_("value"), help_iserr,
+	{ F_("iserr"),	"E",   F_("value"), help_iserr,
 	  gnumeric_iserr, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iserror",	"E",   N_("value"), help_iserror,
+	{ F_("iserror"),	"E",   F_("value"), help_iserror,
 	  gnumeric_iserror, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "iseven",	"f", N_("value"), help_iseven,
+	{ F_("iseven"),	"f", F_("value"), help_iseven,
 	  gnumeric_iseven, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "islogical",	"E", N_("value"), help_islogical,
+	{ F_("islogical"),	"E", F_("value"), help_islogical,
 	  gnumeric_islogical, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isna",	"E",   N_("value"), help_isna,
+	{ F_("isna"),	"E",   F_("value"), help_isna,
 	  gnumeric_isna, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isnontext",	"E", N_("value"), help_isnontext,
+	{ F_("isnontext"),	"E", F_("value"), help_isnontext,
 	  gnumeric_isnontext, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isnumber",	"E", N_("value"), help_isnumber,
+	{ F_("isnumber"),	"E", F_("value"), help_isnumber,
 	  gnumeric_isnumber, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isodd",	"S", N_("value"), help_isodd,
+	{ F_("isodd"),	"S", F_("value"), help_isodd,
 	  gnumeric_isodd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "isref",	NULL, N_("value"), help_isref,
+	{ F_("isref"),	NULL, F_("value"), help_isref,
 	  NULL, gnumeric_isref, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "istext",	"E", N_("value"), help_istext,
+	{ F_("istext"),	"E", F_("value"), help_istext,
 	  gnumeric_istext, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "n",		"S", N_("value"), help_n,
+	{ F_("n"),		"S", F_("value"), 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",	"?", N_("value"), help_type,
+	{ F_("type"),	"?", F_("value"), 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",  N_("range"), help_countblank,
+        { F_("countblank"),	"r",  F_("range"), help_countblank,
 	  gnumeric_countblank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "error",	"s",  N_("text"), help_error,
+	{ F_("error"),	"s",  F_("text"), 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",   N_("cell"), help_expression,
+	{ F_("expression"),	"r",   F_("cell"), help_expression,
 	  gnumeric_expression, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "getenv",	"s", N_("string"), help_getenv,
+	{ F_("getenv"),	"s", F_("string"), help_getenv,
 	  gnumeric_getenv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
Index: plugins/fn-info/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-info/plugin.xml.in,v
retrieving revision 1.4
diff -u -p -r1.4 plugin.xml.in
--- plugins/fn-info/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.4
+++ plugins/fn-info/plugin.xml.in	2 Dec 2006 11:29:47 -0000
@@ -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>
 				<function name="cell"/>
Index: plugins/fn-logical/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-logical/functions.c,v
retrieving revision 1.84
diff -u -p -r1.84 functions.c
--- plugins/fn-logical/functions.c	11 Nov 2006 18:00:34 -0000	1.84
+++ plugins/fn-logical/functions.c	2 Dec 2006 11:29:47 -0000
@@ -356,31 +356,31 @@ gnumeric_false (GnmFuncEvalInfo *ei, Gnm
 /***************************************************************************/
 
 GnmFuncDescriptor const logical_functions[] = {
-	{ "and", NULL, N_("number,number,"), help_and, NULL,
+	{ F_("and"), NULL, F_("number,number,"), 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, N_("number,number,"), help_or, NULL,
+	{ F_("or"), NULL, F_("number,number,"), 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", N_("number"), help_not, gnumeric_not,
+	{ F_("not"), "b", F_("number"), 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 },
-	{ "if", "b|EE", N_("condition,if true,if false"), help_if,
+	{ F_("if"), "b|EE", F_("condition,if true,if false"), help_if,
 	  gnumeric_if, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_SECOND,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "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, N_("number,number,"), help_xor, NULL,
+	{ F_("xor"), NULL, F_("number,number,"), 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 },
Index: plugins/fn-logical/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-logical/plugin.xml.in,v
retrieving revision 1.5
diff -u -p -r1.5 plugin.xml.in
--- plugins/fn-logical/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.5
+++ plugins/fn-logical/plugin.xml.in	2 Dec 2006 11:29:48 -0000
@@ -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>
 				<function name="and"/>
Index: plugins/fn-lookup/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-lookup/functions.c,v
retrieving revision 1.162
diff -u -p -r1.162 functions.c
--- plugins/fn-lookup/functions.c	11 Nov 2006 18:00:35 -0000	1.162
+++ plugins/fn-lookup/functions.c	2 Dec 2006 11:29:51 -0000
@@ -1266,55 +1266,55 @@ gnumeric_transpose (GnmFuncEvalInfo *ei,
 /***************************************************************************/
 
 GnmFuncDescriptor const lookup_functions[] = {
-	{ "address",   "ff|fbs", N_("row_num,col_num,abs_num,a1,text"),
+	{ F_("address"),   "ff|fbs", F_("row_num,col_num,abs_num,a1,text"),
 	  help_address,  gnumeric_address, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "areas", NULL,	N_("reference"),
+	{ F_("areas"), NULL,	F_("reference"),
 	  help_areas,	NULL,	gnumeric_areas, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "choose", NULL,	N_("index,value,"),
+        { F_("choose"), NULL,	F_("index,value,"),
 	  help_choose,	NULL,	gnumeric_choose, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "column",     "|A",    N_("ref"),
+	{ F_("column"),     "|A",    F_("ref"),
 	  help_column,   gnumeric_column, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "columnnumber", "s",    N_("colname"),
+	{ F_("columnnumber"), "s",    F_("colname"),
 	  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",    N_("ref"),
+	{ F_("columns"),   "A",    F_("ref"),
 	  help_columns, gnumeric_columns, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hlookup",   "EAf|bb", N_("val,range,col_idx,approx,as_index"),
+	{ F_("hlookup"),   "EAf|bb", F_("val,range,col_idx,approx,as_index"),
 	  help_hlookup, gnumeric_hlookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "hyperlink", "s|s", N_("link_location, label"),
+	{ F_("hyperlink"), "s|s", F_("link_location, label"),
 	  help_hyperlink, gnumeric_hyperlink, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_SUBSET, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "indirect",  "s|b",N_("ref_string,format"),
+	{ F_("indirect"),  "s|b",F_("ref_string,format"),
 	  help_indirect, gnumeric_indirect, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "index",     "A|fff",N_("reference,row,col,area"),
+	{ F_("index"),     "A|fff",F_("reference,row,col,area"),
 	  help_index,    NULL, gnumeric_index, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "lookup",    "EA|r", N_("val,range,range"),
+	{ F_("lookup"),    "EA|r", F_("val,range,range"),
 	  help_lookup,   gnumeric_lookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "match",     "EA|f", N_("val,range,approx"),
+	{ F_("match"),     "EA|f", F_("val,range,approx"),
 	  help_match,    gnumeric_match, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "offset",    "rff|ff",N_("ref,row,col,height,width"),
+	{ F_("offset"),    "rff|ff",F_("ref,row,col,height,width"),
 	  help_offset,   gnumeric_offset, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "row",       "|A",   N_("ref"),
+	{ F_("row"),       "|A",   F_("ref"),
 	  help_row,      gnumeric_row, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "rows",      "A",    N_("ref"),
+	{ F_("rows"),      "A",    F_("ref"),
 	  help_rows,     gnumeric_rows, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "transpose", "A",    N_("array"),
+	{ F_("transpose"), "A",    F_("array"),
 	  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", N_("val,range,col_idx,approx,as_index"),
+	{ F_("vlookup"),   "EAf|bb", F_("val,range,col_idx,approx,as_index"),
 	  help_vlookup, gnumeric_vlookup, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
Index: plugins/fn-lookup/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-lookup/plugin.xml.in,v
retrieving revision 1.6
diff -u -p -r1.6 plugin.xml.in
--- plugins/fn-lookup/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.6
+++ plugins/fn-lookup/plugin.xml.in	2 Dec 2006 11:29:51 -0000
@@ -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>
 				<function name="address"/>
Index: plugins/fn-math/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-math/functions.c,v
retrieving revision 1.272
diff -u -p -r1.272 functions.c
--- plugins/fn-math/functions.c	11 Nov 2006 18:00:37 -0000	1.272
+++ plugins/fn-math/functions.c	2 Dec 2006 11:29:57 -0000
@@ -3287,220 +3287,220 @@ gnumeric_sumproduct (GnmFuncEvalInfo *ei
 /***************************************************************************/
 
 GnmFuncDescriptor const math_functions[] = {
-	{ "abs",     "f", N_("number"),    help_abs,
+	{ F_("abs"),     "f", F_("number"),    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", N_("number"),    help_acos,
+	{ F_("acos"),    "f", F_("number"),    help_acos,
 	  gnumeric_acos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "acosh",   "f", N_("number"),    help_acosh,
+	{ F_("acosh"),   "f", F_("number"),    help_acosh,
 	  gnumeric_acosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "asin",    "f", N_("number"),    help_asin,
+	{ F_("asin"),    "f", F_("number"),    help_asin,
 	  gnumeric_asin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "asinh",   "f", N_("number"),    help_asinh,
+	{ F_("asinh"),   "f", F_("number"),    help_asinh,
 	  gnumeric_asinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atan",    "f", N_("number"),    help_atan,
+	{ F_("atan"),    "f", F_("number"),    help_atan,
 	  gnumeric_atan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atanh",   "f", N_("number"),    help_atanh,
+	{ F_("atanh"),   "f", F_("number"),    help_atanh,
 	  gnumeric_atanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "atan2",   "ff", N_("xnum,ynum"), help_atan2,
+	{ F_("atan2"),   "ff", F_("xnum,ynum"), help_atan2,
 	  gnumeric_atan2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "cos",     "f", N_("number"),    help_cos,
+	{ F_("cos"),     "f", F_("number"),    help_cos,
 	  gnumeric_cos, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "beta",     "ff", N_("a,b"),     help_beta,
+	{ F_("beta"),     "ff", F_("a,b"),     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", N_("a,b"),     help_betaln,
+	{ F_("betaln"),   "ff", F_("a,b"),     help_betaln,
 	  gnumeric_betaln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-	{ "cosh",    "f", N_("number"),    help_cosh,
+	{ F_("cosh"),    "f", F_("number"),    help_cosh,
 	  gnumeric_cosh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
 
 /* MS Excel puts this in statistical */
-	{ "countif", "rS", N_("range,criteria"), help_countif,
+	{ F_("countif"), "rS", F_("range,criteria"), help_countif,
 	  gnumeric_countif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "ceil",    "f", N_("number"),    help_ceil,
+	{ F_("ceil"),    "f", F_("number"),    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", N_("number,significance"), help_ceiling,
+	{ F_("ceiling"), "f|f", F_("number,significance"), 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", N_("number"),    help_degrees,
+	{ F_("degrees"), "f", F_("number"),    help_degrees,
 	  gnumeric_degrees, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "even",    "f", N_("number"),    help_even,
+	{ F_("even"),    "f", F_("number"),    help_even,
 	  gnumeric_even, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "exp",     "f", N_("number"),    help_exp,
+	{ F_("exp"),     "f", F_("number"),    help_exp,
 	  gnumeric_exp, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "expm1",   "f", N_("number"),    help_expm1,
+	{ F_("expm1"),   "f", F_("number"),    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", N_("number"),    help_fact,
+	{ F_("fact"),    "f", F_("number"),    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", N_("number"), help_factdouble,
+	{ F_("factdouble"), "f", F_("number"), help_factdouble,
 	  gnumeric_factdouble, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "fib", "f", N_("number"), help_fib,
+	{ F_("fib"), "f", F_("number"), help_fib,
 	  gnumeric_fib, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "combin",  "ff", N_("n,k"),      help_combin,
+	{ F_("combin"),  "ff", F_("n,k"),      help_combin,
 	  gnumeric_combin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "floor",   "f|f", N_("number"),  help_floor,
+	{ F_("floor"),   "f|f", F_("number"),  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 },
-	{ "gcd", NULL, N_("number,number"), help_gcd,
+	{ F_("gcd"), NULL, F_("number,number"), help_gcd,
 	  NULL, gnumeric_gcd, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "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", N_("number"),    help_int,
+	{ F_("int"),     "f", F_("number"),    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", N_("number"),    help_ln,
+	{ F_("ln"),      "f", F_("number"),    help_ln,
 	  gnumeric_ln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ln1p",    "f", N_("number"),    help_ln1p,
+	{ F_("ln1p"),    "f", F_("number"),    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", N_("number,base"), help_log,
+	{ F_("log"),     "f|f", F_("number,base"), help_log,
 	  gnumeric_log, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "log2",    "f", N_("number"),    help_log2,
+	{ F_("log2"),    "f", F_("number"),    help_log2,
 	  gnumeric_log2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "log10",   "f", N_("number"),    help_log10,
+	{ F_("log10"),   "f", F_("number"),    help_log10,
 	  gnumeric_log10, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mod",     "ff", N_("numerator,denominator"), help_mod,
+	{ F_("mod"),     "ff", F_("numerator,denominator"), help_mod,
 	  gnumeric_mod, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "mround",  "ff", N_("number,multiple"), help_mround,
+	{ F_("mround"),  "ff", F_("number,multiple"), 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", N_("number"),    help_odd,
+	{ F_("odd") ,    "f", F_("number"),    help_odd,
 	  gnumeric_odd, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "power",   "ff", N_("base,exponent"),      help_power,
+	{ F_("power"),   "ff", F_("base,exponent"),      help_power,
 	  gnumeric_power, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "g_product", NULL, N_("number"),    help_g_product,
+	{ "g_product", NULL, F_("number"),    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", N_("numerator,denominator"), help_quotient,
+	{ F_("quotient") , "ff", F_("numerator,denominator"), help_quotient,
 	  gnumeric_quotient, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "radians", "f", N_("number"),    help_radians,
+	{ F_("radians"), "f", F_("number"),    help_radians,
 	  gnumeric_radians, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "roman",      "f|f", N_("number,type"), help_roman,
+	{ F_("roman"),      "f|f", F_("number,type"), help_roman,
 	  gnumeric_roman, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "round",      "f|f", N_("number,digits"), help_round,
+	{ F_("round"),      "f|f", F_("number,digits"), 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", N_("number,digits"), help_rounddown,
+	{ F_("rounddown"),  "f|f", F_("number,digits"), 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", N_("number,digits"), help_roundup,
+	{ F_("roundup"),    "f|f", F_("number,digits"), 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 },
-	{ "seriessum", NULL, N_("x,n,m,coefficients"), help_seriessum,
+	{ F_("seriessum"), NULL, F_("x,n,m,coefficients"), help_seriessum,
 	  NULL, gnumeric_seriessum, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sign",    "f", N_("number"),    help_sign,
+	{ F_("sign"),    "f", F_("number"),    help_sign,
 	  gnumeric_sign, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sin",     "f", N_("number"),    help_sin,
+	{ F_("sin"),     "f", F_("number"),    help_sin,
 	  gnumeric_sin, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "sinh",    "f", N_("number"),    help_sinh,
+	{ F_("sinh"),    "f", F_("number"),    help_sinh,
 	  gnumeric_sinh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "sqrt",    "f", N_("number"),    help_sqrt,
+	{ F_("sqrt"),    "f", F_("number"),    help_sqrt,
 	  gnumeric_sqrt, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sqrtpi",  "f", N_("number"),    help_sqrtpi,
+	{ F_("sqrtpi"),  "f", F_("number"),    help_sqrtpi,
 	  gnumeric_sqrtpi, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "suma", NULL, N_("number,number,"), help_suma,
+	{ F_("suma"), NULL, F_("number,number,"), 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", N_("range,criteria,actual_range"), help_sumif,
+	{ F_("sumif"),   "rS|r", F_("range,criteria,actual_range"), help_sumif,
 	  gnumeric_sumif, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumproduct", NULL, N_("range,range,"), help_sumproduct,
+	{ F_("sumproduct"), NULL, F_("range,range,"), help_sumproduct,
 	  NULL, gnumeric_sumproduct, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumsq", NULL, N_("number"),      help_sumsq,
+	{ F_("sumsq"), NULL, F_("number"),      help_sumsq,
 	  NULL, gnumeric_sumsq, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumx2my2", "AA", N_("array1,array2"), help_sumx2my2,
+	{ F_("sumx2my2"), "AA", F_("array1,array2"), help_sumx2my2,
 	  gnumeric_sumx2my2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumx2py2", "AA", N_("array1,array2"), help_sumx2py2,
+	{ F_("sumx2py2"), "AA", F_("array1,array2"), help_sumx2py2,
 	  gnumeric_sumx2py2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "sumxmy2",  "AA", N_("array1,array2"), help_sumxmy2,
+	{ F_("sumxmy2"),  "AA", F_("array1,array2"), help_sumxmy2,
 	  gnumeric_sumxmy2, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tan",     "f", N_("number"),    help_tan,
+	{ F_("tan"),     "f", F_("number"),    help_tan,
 	  gnumeric_tan, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "tanh",    "f", N_("number"),    help_tanh,
+	{ F_("tanh"),    "f", F_("number"),    help_tanh,
 	  gnumeric_tanh, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{ "trunc",   "f|f", N_("number,digits"), help_trunc,
+	{ F_("trunc"),   "f|f", F_("number,digits"), 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", N_("array1,array2"), help_mmult,
+	{ F_("mmult"),   "AA", F_("array1,array2"), 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", N_("array"),     help_minverse,
+	{ F_("minverse"),"A", F_("array"),     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", N_("array,matrix_type,bandsize"), help_mdeterm,
+	{ F_("mdeterm"), "A", F_("array,matrix_type,bandsize"), help_mdeterm,
 	  gnumeric_mdeterm, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_RETURNS_NON_SCALAR, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 #if 0
-	{ "logmdeterm", "A|si", N_("array,matrix_type,bandsize"),
+	{ F_("logmdeterm"), "A|si", F_("array,matrix_type,bandsize"),
 	  help_logmdeterm, gnumeric_logmdeterm, NULL, NULL, NULL },
 #endif
         {NULL}
Index: plugins/fn-math/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-math/plugin.xml.in,v
retrieving revision 1.10
diff -u -p -r1.10 plugin.xml.in
--- plugins/fn-math/plugin.xml.in	8 Oct 2004 19:48:26 -0000	1.10
+++ plugins/fn-math/plugin.xml.in	2 Dec 2006 11:29:57 -0000
@@ -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>
 				<function name="abs"/>
Index: plugins/fn-r/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-r/functions.c,v
retrieving revision 1.16
diff -u -p -r1.16 functions.c
--- plugins/fn-r/functions.c	11 Nov 2006 18:00:37 -0000	1.16
+++ plugins/fn-r/functions.c	2 Dec 2006 11:30:00 -0000
@@ -1189,7 +1189,7 @@ go_plugin_shutdown (GOPlugin *plugin, GO
 
 GnmFuncDescriptor const stat_functions[] = {
 	{
-		"r.dnorm",
+		F_("r.dnorm"),
 		"fff|b",
 		F_("x,mu,sigma,give_log"),
 		help_r_dnorm,
@@ -1197,7 +1197,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pnorm",
+		F_("r.pnorm"),
 		"fff|bb",
 		F_("x,mu,sigma,lower_tail,log_p"),
 		help_r_pnorm,
@@ -1205,7 +1205,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qnorm",
+		F_("r.qnorm"),
 		"fff|bb",
 		F_("p,mu,sigma,lower_tail,log_p"),
 		help_r_qnorm,
@@ -1213,7 +1213,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dlnorm",
+		F_("r.dlnorm"),
 		"fff|b",
 		F_("x,logmean,logsd,give_log"),
 		help_r_dlnorm,
@@ -1221,7 +1221,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.plnorm",
+		F_("r.plnorm"),
 		"fff|bb",
 		F_("x,logmean,logsd,lower_tail,log_p"),
 		help_r_plnorm,
@@ -1229,7 +1229,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qlnorm",
+		F_("r.qlnorm"),
 		"fff|bb",
 		F_("x,logmean,logsd,lower_tail,log_p"),
 		help_r_qlnorm,
@@ -1237,7 +1237,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dgamma",
+		F_("r.dgamma"),
 		"fff|b",
 		F_("x,shape,scale,give_log"),
 		help_r_dgamma,
@@ -1245,7 +1245,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pgamma",
+		F_("r.pgamma"),
 		"fff|bb",
 		F_("x,shape,scale,lower_tail,log_p"),
 		help_r_pgamma,
@@ -1253,7 +1253,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qgamma",
+		F_("r.qgamma"),
 		"fff|bb",
 		F_("p,shape,scale,lower_tail,log_p"),
 		help_r_qgamma,
@@ -1261,7 +1261,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dbeta",
+		F_("r.dbeta"),
 		"fff|b",
 		F_("x,a,b,give_log"),
 		help_r_dbeta,
@@ -1269,7 +1269,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pbeta",
+		F_("r.pbeta"),
 		"fff|bb",
 		F_("x,a,b,lower_tail,log_p"),
 		help_r_pbeta,
@@ -1277,7 +1277,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qbeta",
+		F_("r.qbeta"),
 		"fff|bb",
 		F_("p,a,b,lower_tail,log_p"),
 		help_r_qbeta,
@@ -1285,7 +1285,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dt",
+		F_("r.dt"),
 		"ff|b",
 		F_("x,n,give_log"),
 		help_r_dt,
@@ -1293,7 +1293,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pt",
+		F_("r.pt"),
 		"ff|bb",
 		F_("x,n,lower_tail,log_p"),
 		help_r_pt,
@@ -1301,7 +1301,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qt",
+		F_("r.qt"),
 		"ff|bb",
 		F_("p,n,lower_tail,log_p"),
 		help_r_qt,
@@ -1309,7 +1309,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.df",
+		F_("r.df"),
 		"fff|b",
 		F_("x,n1,n2,give_log"),
 		help_r_df,
@@ -1317,7 +1317,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pf",
+		F_("r.pf"),
 		"fff|bb",
 		F_("x,n1,n2,lower_tail,log_p"),
 		help_r_pf,
@@ -1325,7 +1325,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qf",
+		F_("r.qf"),
 		"fff|bb",
 		F_("x,n1,n2,lower_tail,log_p"),
 		help_r_qf,
@@ -1333,7 +1333,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dchisq",
+		F_("r.dchisq"),
 		"ff|b",
 		F_("x,df,give_log"),
 		help_r_dchisq,
@@ -1341,7 +1341,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pchisq",
+		F_("r.pchisq"),
 		"ff|bb",
 		F_("x,df,lower_tail,log_p"),
 		help_r_pchisq,
@@ -1349,7 +1349,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qchisq",
+		F_("r.qchisq"),
 		"ff|bb",
 		F_("p,df,lower_tail,log_p"),
 		help_r_qchisq,
@@ -1357,7 +1357,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dweibull",
+		F_("r.dweibull"),
 		"fff|b",
 		F_("x,shape,scale,give_log"),
 		help_r_dweibull,
@@ -1365,7 +1365,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pweibull",
+		F_("r.pweibull"),
 		"fff|bb",
 		F_("x,shape,scale,lower_tail,log_p"),
 		help_r_pweibull,
@@ -1373,7 +1373,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qweibull",
+		F_("r.qweibull"),
 		"fff|bb",
 		F_("p,shape,scale,lower_tail,log_p"),
 		help_r_qweibull,
@@ -1381,7 +1381,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dpois",
+		F_("r.dpois"),
 		"ff|b",
 		F_("x,lambda,give_log"),
 		help_r_dpois,
@@ -1389,7 +1389,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.ppois",
+		F_("r.ppois"),
 		"ff|bb",
 		F_("x,lambda,lower_tail,log_p"),
 		help_r_ppois,
@@ -1397,7 +1397,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qpois",
+		F_("r.qpois"),
 		"ff|bb",
 		F_("p,lambda,lower_tail,log_p"),
 		help_r_qpois,
@@ -1405,7 +1405,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dexp",
+		F_("r.dexp"),
 		"ff|b",
 		F_("x,scale,give_log"),
 		help_r_dexp,
@@ -1413,7 +1413,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pexp",
+		F_("r.pexp"),
 		"ff|bb",
 		F_("x,scale,lower_tail,log_p"),
 		help_r_pexp,
@@ -1421,23 +1421,15 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qexp",
+		F_("r.qexp"),
 		"ff|bb",
 		F_("p,scale,lower_tail,log_p"),
-		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",
-		"fff|b",
-		F_("x,n,psuc,give_log"),
 		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",
 		F_("x,n,psuc,lower_tail,log_p"),
 		help_r_pbinom,
@@ -1445,7 +1437,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qbinom",
+		F_("r.qbinom"),
 		"fff|bb",
 		F_("x,n,psuc,lower_tail,log_p"),
 		help_r_qbinom,
@@ -1453,7 +1445,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dnbinom",
+		F_("r.dnbinom"),
 		"fff|b",
 		F_("x,n,psuc,give_log"),
 		help_r_dnbinom,
@@ -1461,7 +1453,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pnbinom",
+		F_("r.pnbinom"),
 		"fff|bb",
 		F_("x,n,psuc,lower_tail,log_p"),
 		help_r_pnbinom,
@@ -1469,7 +1461,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qnbinom",
+		F_("r.qnbinom"),
 		"fff|bb",
 		F_("p,n,psuc,lower_tail,log_p"),
 		help_r_qnbinom,
@@ -1477,7 +1469,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dhyper",
+		F_("r.dhyper"),
 		"ffff|b",
 		F_("x,r,b,n,give_log"),
 		help_r_dhyper,
@@ -1485,7 +1477,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.phyper",
+		F_("r.phyper"),
 		"ffff|bb",
 		F_("x,r,b,n,lower_tail,log_p"),
 		help_r_phyper,
@@ -1493,7 +1485,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qhyper",
+		F_("r.qhyper"),
 		"ffff|bb",
 		F_("p,r,b,n,lower_tail,log_p"),
 		help_r_qhyper,
@@ -1501,7 +1493,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dgeom",
+		F_("r.dgeom"),
 		"ff|b",
 		F_("x,psuc,give_log"),
 		help_r_dgeom,
@@ -1509,7 +1501,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pgeom",
+		F_("r.pgeom"),
 		"ff|bb",
 		F_("x,psuc,lower_tail,log_p"),
 		help_r_pgeom,
@@ -1517,7 +1509,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qgeom",
+		F_("r.qgeom"),
 		"ff|bb",
 		F_("p,psuc,lower_tail,log_p"),
 		help_r_qgeom,
@@ -1525,7 +1517,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.dcauchy",
+		F_("r.dcauchy"),
 		"fff|b",
 		F_("x,location,scale,give_log"),
 		help_r_dcauchy,
@@ -1533,7 +1525,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.pcauchy",
+		F_("r.pcauchy"),
 		"fff|bb",
 		F_("x,location,scale,lower_tail,log_p"),
 		help_r_pcauchy,
@@ -1541,7 +1533,7 @@ GnmFuncDescriptor const stat_functions[]
 		GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE,
 	},
 	{
-		"r.qcauchy",
+		F_("r.qcauchy"),
 		"fff|bb",
 		F_("p,location,scale,lower_tail,log_p"),
 		help_r_qcauchy,
Index: plugins/fn-r/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-r/plugin.xml.in,v
retrieving revision 1.4
diff -u -p -r1.4 plugin.xml.in
--- plugins/fn-r/plugin.xml.in	27 May 2005 19:58:05 -0000	1.4
+++ plugins/fn-r/plugin.xml.in	2 Dec 2006 11:30:01 -0000
@@ -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>
 				<function name="r.dbeta"/>
Index: plugins/fn-random/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-random/functions.c,v
retrieving revision 1.60
diff -u -p -r1.60 functions.c
--- plugins/fn-random/functions.c	11 Nov 2006 18:00:38 -0000	1.60
+++ plugins/fn-random/functions.c	2 Dec 2006 11:30:03 -0000
@@ -1191,100 +1191,100 @@ gnumeric_simtable (GnmFuncEvalInfo *ei, 
 /***************************************************************************/
 
 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", N_("p"),   help_randbernoulli,
+        { F_("randbernoulli"), "f", F_("p"),   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", N_("a,b"),   help_randbeta,
+        { F_("randbeta"), "ff", F_("a,b"),   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", N_("bottom,top"), help_randbetween,
+        { F_("randbetween"), "ff", F_("bottom,top"), help_randbetween,
 	  gnumeric_randbetween, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "randbinom", "ff", N_("p,trials"), help_randbinom,
+        { F_("randbinom"), "ff", F_("p,trials"), 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", N_("a"),   help_randcauchy,
+        { F_("randcauchy"), "f", F_("a"),   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", N_("nu"),   help_randchisq,
+        { F_("randchisq"), "f", F_("nu"),   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", N_("value_range,prob_range"),
+ 	{ F_("randdiscrete"), "r|r", F_("value_range,prob_range"),
 	  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", N_("b"),         help_randexp,
+	{ F_("randexp"), "f", F_("b"),         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", N_("a,b"),         help_randexppow,
+        { F_("randexppow"), "ff", F_("a,b"),         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", N_("nu1,nu2"),      help_randfdist,
+        { F_("randfdist"), "ff", F_("nu1,nu2"),      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", N_("a,b"),    help_randgamma,
+        { F_("randgamma"), "ff", F_("a,b"),    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", N_("a,sigma"),    help_randnormtail,
+        { F_("randnormtail"), "ff", F_("a,sigma"),    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", N_("p"),    help_randgeom,
+        { F_("randgeom"), "f", F_("p"),    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", N_("a,b,type"),    help_randgumbel,
+        { F_("randgumbel"), "ff|f", F_("a,b,type"),    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", N_("n1,n2,t"),    help_randhyperg,
+        { F_("randhyperg"), "fff", F_("n1,n2,t"),    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", N_("a"), help_randlaplace,
+        { F_("randlaplace"), "f", F_("a"), 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", N_("c,alpha,beta"), help_randlevy,
+        { F_("randlevy"), "ff|f", F_("c,alpha,beta"), 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", N_("p"), help_randlog,
+        { F_("randlog"), "f", F_("p"), 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", N_("a"), help_randlogistic,
+        { F_("randlogistic"), "f", F_("a"), 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", N_("zeta,sigma"), help_randlognorm,
+        { F_("randlognorm"), "ff", F_("zeta,sigma"), 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", N_("p,failures"), help_randnegbinom,
+        { F_("randnegbinom"), "ff", F_("p,failures"), 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", N_("mean,stdev"), help_randnorm,
+        { F_("randnorm"), "ff", F_("mean,stdev"), 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", N_("a,b"), help_randpareto,
+        { F_("randpareto"), "ff", F_("a,b"), 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", N_("lambda"), help_randpoisson,
+        { F_("randpoisson"), "f", F_("lambda"), 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", N_("sigma"), help_randrayleigh,
+        { F_("randrayleigh"), "f", F_("sigma"), 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", N_("a,sigma"), help_randrayleightail,
+        { F_("randrayleightail"), "ff", F_("a,sigma"), help_randrayleightail,
 	  gnumeric_randrayleightail, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "randtdist", "f", N_("nu"), help_randtdist,
+        { F_("randtdist"), "f", F_("nu"), 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", N_("a,b"), help_randuniform,
+        { F_("randuniform"), "ff", F_("a,b"), 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", N_("a,b"), help_randweibull,
+        { F_("randweibull"), "ff", F_("a,b"), 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, N_("d1,d2,...,dN"), help_simtable,
+	{ F_("simtable"), NULL, F_("d1,d2,...,dN"), help_simtable,
 	  NULL,	gnumeric_simtable, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
Index: plugins/fn-random/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-random/plugin.xml.in,v
retrieving revision 1.25
diff -u -p -r1.25 plugin.xml.in
--- plugins/fn-random/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.25
+++ plugins/fn-random/plugin.xml.in	2 Dec 2006 11:30:03 -0000
@@ -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>
 				<function name="rand"/>
Index: plugins/fn-stat/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-stat/functions.c,v
retrieving revision 1.264
diff -u -p -r1.264 functions.c
--- plugins/fn-stat/functions.c	11 Nov 2006 18:00:38 -0000	1.264
+++ plugins/fn-stat/functions.c	2 Dec 2006 11:30:14 -0000
@@ -5809,312 +5809,312 @@ gnumeric_laplace (GnmFuncEvalInfo *ei, G
 /***************************************************************************/
 
 GnmFuncDescriptor const stat_functions[] = {
-        { "avedev", NULL,      N_("number,number,"),
+        { F_("avedev"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("average"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("averagea"), NULL,      F_("number,number,"),
 	  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", N_("k,p"),   help_bernoulli,
-	  gnumeric_bernoulli, NULL, NULL, NULL, NULL,
+        { F_("bernoulli"), "ff", F_("k,p"),
+	  help_bernoulli, gnumeric_bernoulli, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "betadist",     "fff|ff", N_("x,alpha,beta,a,b"),
+	{ F_("betadist"),     "fff|ff", F_("x,alpha,beta,a,b"),
 	  help_betadist, gnumeric_betadist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "betainv",      "fff|ff", N_("p,alpha,beta,a,b"),
+	{ F_("betainv"),      "fff|ff", F_("p,alpha,beta,a,b"),
 	  help_betainv, gnumeric_betainv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "binomdist",    "fffb", N_("n,t,p,c"),
+	{ F_("binomdist"),    "fffb", F_("n,t,p,c"),
 	  help_binomdist, gnumeric_binomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "cauchy", "ffb", N_("x,a,cum"),   help_cauchy,
-	  gnumeric_cauchy, NULL, NULL, NULL, NULL,
+        { F_("cauchy"), "ffb", F_("x,a,cum"),
+	  help_cauchy, gnumeric_cauchy, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-	{ "chidist",      "ff",  N_("x,dof"),
+	{ F_("chidist"),      "ff",  F_("x,dof"),
 	  help_chidist, gnumeric_chidist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "chiinv",       "ff",  N_("p,dof"),
+	{ F_("chiinv"),       "ff",  F_("p,dof"),
 	  help_chiinv, gnumeric_chiinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "chitest",      "rr",  N_("act_range,theo_range"),
+	{ F_("chitest"),      "rr",  F_("act_range,theo_range"),
 	  help_chitest, gnumeric_chitest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "confidence",   "fff",  N_("x,stddev,size"),
+	{ F_("confidence"),   "fff",  F_("x,stddev,size"),
 	  help_confidence, gnumeric_confidence, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "correl",       "AA",   N_("array1,array2"),
+        { F_("correl"),       "AA",   F_("array1,array2"),
 	  help_correl, gnumeric_correl, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "count", NULL,      N_("number,number,"),
+	{ F_("count"), NULL,      F_("number,number,"),
 	  help_count, NULL, gnumeric_count, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "counta", NULL,      N_("number,number,"),
+	{ F_("counta"), NULL,      F_("number,number,"),
 	  help_counta, NULL, gnumeric_counta, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "covar",        "AA",   N_("array1,array2"),
+        { F_("covar"),        "AA",   F_("array1,array2"),
 	  help_covar, gnumeric_covar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "critbinom",    "fff",  N_("trials,p,alpha"),
+	{ F_("critbinom"),    "fff",  F_("trials,p,alpha"),
 	  help_critbinom, gnumeric_critbinom, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "devsq", NULL,      N_("number,number,"),
+        { F_("devsq"), NULL,      F_("number,number,"),
 	  help_devsq, NULL, gnumeric_devsq, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "expondist",    "ffb",  N_("x,y,cumulative"),
+	{ F_("expondist"),    "ffb",  F_("x,y,cumulative"),
 	  help_expondist, gnumeric_expondist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "fdist",        "fff",  N_("x,dof of num,dof of denom"),
+	{ F_("fdist"),        "fff",  F_("x,dof of num,dof of denom"),
 	  help_fdist, gnumeric_fdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "finv",         "fff",  N_("p,dof of num,dof of denom"),
+	{ F_("finv"),         "fff",  F_("p,dof of num,dof of denom"),
 	  help_finv, gnumeric_finv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "fisher",       "f",    N_("number"),
+        { F_("fisher"),       "f",    F_("number"),
 	  help_fisher, gnumeric_fisher, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "fisherinv",    "f",    N_("number"),
+        { F_("fisherinv"),    "f",    F_("number"),
 	  help_fisherinv, gnumeric_fisherinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "forecast",     "frr",   N_("x,known y's,known x's"),
+        { F_("forecast"),     "frr",   F_("x,known y's,known x's"),
 	  help_forecast, gnumeric_forecast, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "frequency",    "AA", N_("data_array,bins_array"),
+	{ F_("frequency"),    "AA", F_("data_array,bins_array"),
 	  help_frequency, gnumeric_frequency, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ftest",        "rr",   N_("arr1,arr2"),
+	{ F_("ftest"),        "rr",   F_("arr1,arr2"),
 	  help_ftest, gnumeric_ftest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gammadist",    "fffb", N_("number,alpha,beta,cum"),
+	{ F_("gammadist"),    "fffb", F_("number,alpha,beta,cum"),
 	  help_gammadist, gnumeric_gammadist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gammainv",     "fff",   N_("number,alpha,beta"),
+	{ F_("gammainv"),     "fff",   F_("number,alpha,beta"),
 	  help_gammainv, gnumeric_gammainv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "gammaln",      "f",    N_("number"),
+	{ F_("gammaln"),      "f",    F_("number"),
 	  help_gammaln, gnumeric_gammaln, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "geomean", NULL,      N_("number,number,"),
+	{ F_("geomean"), NULL,      F_("number,number,"),
 	  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", N_("known_y's,known_x's,new_x's,const"),
+	{ F_("growth"),       "A|AAb", F_("known_y's,known_x's,new_x's,const"),
 	  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", N_("x,n,M,N,cumulative"),
+	{ F_("hypgeomdist"),  "ffff|b", F_("x,n,M,N,cumulative"),
 	  help_hypgeomdist, gnumeric_hypgeomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "intercept",    "AA",   N_("number,number,"),
+        { F_("intercept"),    "AA",   F_("number,number,"),
 	  help_intercept, gnumeric_intercept, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "kurt", NULL,      N_("number,number,"),
+        { F_("kurt"), NULL,      F_("number,number,"),
 	  help_kurt, NULL, gnumeric_kurt, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "large", NULL,      N_("number,number,"),
+	{ F_("large"), NULL,      F_("number,number,"),
 	  help_large, NULL, gnumeric_large, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "linest",       "A|Abb",  N_("known_y's,known_x's,const,stat"),
+	{ F_("linest"),       "A|Abb",  F_("known_y's,known_x's,const,stat"),
 	  help_linest, gnumeric_linest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logest",       "A|Abb",  N_("known_y's,known_x's,const,stat"),
+	{ F_("logest"),       "A|Abb",  F_("known_y's,known_x's,const,stat"),
 	  help_logest, gnumeric_logest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logfit",       "rr",  N_("known_y's,known_x's"),
+	{ F_("logfit"),       "rr",  F_("known_y's,known_x's"),
 	  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",  N_("p,mean,stddev"),
+	{ F_("loginv"),       "fff",  F_("p,mean,stddev"),
 	  help_loginv, gnumeric_loginv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "lognormdist",  "fff",  N_("x,mean,stddev"),
+	{ F_("lognormdist"),  "fff",  F_("x,mean,stddev"),
 	  help_lognormdist, gnumeric_lognormdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "logreg",       "A|Abb",  N_("known_y's,known_x's,const,stat"),
+	{ F_("logreg"),       "A|Abb",  F_("known_y's,known_x's,const,stat"),
 	  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,      N_("number,number,"),
+	{ F_("max"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("maxa"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("median"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("min"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("mina"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("mode"), NULL,      F_("number,number,"),
 	  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", N_("f,t,p"),
+	{ F_("negbinomdist"), "fff", F_("f,t,p"),
 	  help_negbinomdist, gnumeric_negbinomdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normdist",     "fffb",  N_("x,mean,stddev,cumulative"),
+	{ F_("normdist"),     "fffb",  F_("x,mean,stddev,cumulative"),
 	  help_normdist, gnumeric_normdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "norminv",      "fff",  N_("p,mean,stddev"),
+	{ F_("norminv"),      "fff",  F_("p,mean,stddev"),
 	  help_norminv, gnumeric_norminv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normsdist",    "f",  N_("number"),
+	{ F_("normsdist"),    "f",  F_("number"),
 	  help_normsdist, gnumeric_normsdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "normsinv",     "f",  N_("p"),
+	{ F_("normsinv"),     "f",  F_("p"),
 	  help_normsinv, gnumeric_normsinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "pearson",      "AA",   N_("array1,array2"),
+        { F_("pearson"),      "AA",   F_("array1,array2"),
 	  help_pearson, gnumeric_pearson, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "percentile",   "Af",  N_("array,k"),
+        { F_("percentile"),   "Af",  F_("array,k"),
 	  help_percentile, gnumeric_percentile, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "percentrank",  "Af|f", N_("array,x,significance"),
+	{ F_("percentrank"),  "Af|f", F_("array,x,significance"),
 	  help_percentrank, gnumeric_percentrank, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "permut",       "ff",  N_("n,k"),
+	{ F_("permut"),       "ff",  F_("n,k"),
 	  help_permut, gnumeric_permut, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "poisson",      "ffb",  N_("x,mean,cumulative"),
+	{ F_("poisson"),      "ffb",  F_("x,mean,cumulative"),
 	  help_poisson, gnumeric_poisson, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "prob",         "AAf|f", N_("x_range,prob_range,lower_limit,upper_limit"),
+	{ F_("prob"),         "AAf|f", F_("x_range,prob_range,lower_limit,upper_limit"),
 	  help_prob, gnumeric_prob, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "quartile",     "Af",   N_("array,quart"),
+        { F_("quartile"),     "Af",   F_("array,quart"),
 	  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", N_("known_y's,known_x's"),
+	{ F_("slope"),        "AA", F_("known_y's,known_x's"),
 	  help_slope, gnumeric_slope, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "small", NULL,      N_("number,number,"),
+	{ F_("small"), NULL,      F_("number,number,"),
 	  help_small, NULL, gnumeric_small, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "standardize",  "fff",  N_("x,mean,stddev"),
+	{ F_("standardize"),  "fff",  F_("x,mean,stddev"),
 	  help_standardize, gnumeric_standardize, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "ssmedian",   "A|f",  N_("array,interval"),
+        { F_("ssmedian"),   "A|f",  F_("array,interval"),
 	  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,      N_("number,number,"),
+	{ F_("stdev"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("stdeva"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("stdevp"), NULL,      F_("number,number,"),
 	  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,      N_("number,number,"),
+	{ F_("stdevpa"), NULL,      F_("number,number,"),
 	  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", N_("known_y's,known_x's"),
+	{ F_("steyx"),        "AA", F_("known_y's,known_x's"),
 	  help_steyx, gnumeric_steyx, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "rsq",          "AA",   N_("array1,array2"),
+        { F_("rsq"),          "AA",   F_("array1,array2"),
 	  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",    N_("x,dof,tails"),
+	{ F_("tdist"),        "fff",    F_("x,dof,tails"),
 	  help_tdist, gnumeric_tdist, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "tinv",         "ff",     N_("p,dof"),
+	{ F_("tinv"),         "ff",     F_("p,dof"),
 	  help_tinv, gnumeric_tinv, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "trend",        "A|AAb", N_("known_y's,known_x's,new_x's,const"),
+	{ F_("trend"),        "A|AAb", F_("known_y's,known_x's,new_x's,const"),
 	  help_trend, gnumeric_trend, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "trimmean", NULL,      N_("ref,fraction"),
+	{ F_("trimmean"), NULL,      F_("ref,fraction"),
 	  help_trimmean, NULL, gnumeric_trimmean, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE + GNM_FUNC_AUTO_FIRST,
 	  GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ttest",        "rrff",   N_("array1,array2,tails,type"),
+	{ F_("ttest"),        "rrff",   F_("array1,array2,tails,type"),
 	  help_ttest, gnumeric_ttest, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "var", NULL,      N_("number,number,"),
+	{ F_("var"), NULL,      F_("number,number,"),
 	  help_var, NULL, gnumeric_var, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "vara", NULL,      N_("number,number,"),
+	{ F_("vara"), NULL,      F_("number,number,"),
 	  help_vara, NULL, gnumeric_vara, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "varp", NULL,      N_("number,number,"),
+	{ F_("varp"), NULL,      F_("number,number,"),
 	  help_varp, NULL, gnumeric_varp, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "varpa", NULL,      N_("number,number,"),
+	{ F_("varpa"), NULL,      F_("number,number,"),
 	  help_varpa, NULL, gnumeric_varpa, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "weibull",      "fffb",  N_("x.alpha,beta,cumulative"),
+        { F_("weibull"),      "fffb",  F_("x.alpha,beta,cumulative"),
 	  help_weibull, gnumeric_weibull, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "ztest", NULL,      N_("ref,x"),
+	{ F_("ztest"), NULL,      F_("ref,x"),
 	  help_ztest, NULL, gnumeric_ztest, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
-        { "exppowdist", "fff", N_("x,a,b"),         help_exppowdist,
-	  gnumeric_exppowdist, NULL, NULL, NULL, NULL,
+        { F_("exppowdist"), "fff", F_("x,a,b"),
+	  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", N_("k,p"),    help_geomdist,
-	  gnumeric_geomdist, NULL, NULL, NULL, NULL,
+        { F_("geomdist"), "ffb", F_("k,p"),
+	  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,      N_("number,number,"),
+        { F_("kurtp"), NULL,      F_("number,number,"),
 	  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", N_("x"), help_landau,
-	  gnumeric_landau, NULL, NULL, NULL, NULL,
+        { F_("landau"), "f", F_("x"),
+	  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", N_("x,a"), help_laplace,
-	  gnumeric_laplace, NULL, NULL, NULL, NULL,
+        { F_("laplace"), "ff", F_("x,a"),
+	  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", N_("x,a"), help_logistic,
-	  gnumeric_logistic, NULL, NULL, NULL, NULL,
+        { F_("logistic"), "ff", F_("x,a"),
+	  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", N_("x,a,b"), help_pareto,
-	  gnumeric_pareto, NULL, NULL, NULL, NULL,
+        { F_("pareto"), "fff", F_("x,a,b"),
+	  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", N_("x,sigma"), help_rayleigh,
-	  gnumeric_rayleigh, NULL, NULL, NULL, NULL,
+        { F_("rayleigh"), "ff", F_("x,sigma"),
+	  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", N_("x,a,sigma"), help_rayleightail,
-	  gnumeric_rayleightail, NULL, NULL, NULL, NULL,
+        { F_("rayleightail"), "fff", F_("x,a,sigma"),
+	  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,  N_("function_nbr,ref,ref,"),
+	{ F_("subtotal"), NULL,  F_("function_nbr,ref,ref,"),
 	  help_subtotal,    NULL, gnumeric_subtotal, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-	{ "cronbach", NULL,      N_("ref,ref,"),
+	{ F_("cronbach"), NULL,      F_("ref,ref,"),
 	  help_cronbach, NULL, gnumeric_cronbach, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_UNIQUE_TO_GNUMERIC, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
 
Index: plugins/fn-stat/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-stat/plugin.xml.in,v
retrieving revision 1.11
diff -u -p -r1.11 plugin.xml.in
--- plugins/fn-stat/plugin.xml.in	24 Sep 2004 01:33:19 -0000	1.11
+++ plugins/fn-stat/plugin.xml.in	2 Dec 2006 11:30:15 -0000
@@ -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>
 				<function name="avedev"/>
Index: plugins/fn-string/functions.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-string/functions.c,v
retrieving revision 1.173
diff -u -p -r1.173 functions.c
--- plugins/fn-string/functions.c	11 Nov 2006 18:00:42 -0000	1.173
+++ plugins/fn-string/functions.c	2 Dec 2006 11:30:17 -0000
@@ -1207,86 +1207,86 @@ gnumeric_asc (GnmFuncEvalInfo *ei, GnmVa
 
 /***************************************************************************/
 GnmFuncDescriptor const string_functions[] = {
-        { "asc",       "s",     N_("string"),                  help_asc,
-	  gnumeric_asc, NULL, NULL, NULL, NULL,
+        { F_("asc"),       "s",     F_("string"),
+	  help_asc, gnumeric_asc, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "char",       "f",     N_("number"),                  help_char,
-	  gnumeric_char, NULL, NULL, NULL, NULL,
+        { F_("char"),       "f",     F_("number"),                 
+	  help_char, gnumeric_char, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "unichar",    "f",     N_("number"),                  help_unichar,
-	  gnumeric_unichar, NULL, NULL, NULL, NULL,
+        { F_("unichar"),    "f",     F_("number"),                 
+	  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",     N_("text"),                    help_clean,
-          gnumeric_clean, NULL, NULL, NULL, NULL,
+        { F_("clean"),      "S",     F_("text"),                   
+	  help_clean, gnumeric_clean, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "code",       "S",     N_("text"),                    help_code,
-	  gnumeric_code, NULL, NULL, NULL, NULL,
+        { F_("code"),       "S",     F_("text"),                   
+	  help_code, gnumeric_code, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "unicode",    "S",     N_("text"),                    help_unicode,
-	  gnumeric_unicode, NULL, NULL, NULL, NULL,
+        { F_("unicode"),    "S",     F_("text"),                   
+	  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,   N_("text,text,"),            help_concatenate,
-	  NULL, gnumeric_concatenate, NULL, NULL, NULL,
+        { F_("concatenate"), NULL,   F_("text,text,"),           
+	  help_concatenate, NULL, gnumeric_concatenate, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "dollar",     "f|f",   N_("num,decimals"),            help_dollar,
-	  gnumeric_dollar, NULL, NULL, NULL, NULL,
+        { F_("dollar"),     "f|f",   F_("num,decimals"),           
+	  help_dollar, gnumeric_dollar, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "exact",      "SS",    N_("text1,text2"),             help_exact,
-	  gnumeric_exact, NULL, NULL, NULL, NULL,
+        { F_("exact"),      "SS",    F_("text1,text2"),            
+	  help_exact, gnumeric_exact, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "find",       "SS|f",  N_("text1,text2,num"),         help_find,
-	  gnumeric_find, NULL, NULL, NULL, NULL,
+        { F_("find"),       "SS|f",  F_("text1,text2,num"),        
+	  help_find, gnumeric_find, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "fixed",      "f|fb",  N_("num,decs,no_commas"),      help_fixed,
-	  gnumeric_fixed, NULL, NULL, NULL, NULL,
+        { F_("fixed"),      "f|fb",  F_("num,decs,no_commas"),     
+	  help_fixed, gnumeric_fixed, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "left",       "S|f",   N_("text,num_chars"),          help_left,
-	  gnumeric_left, NULL, NULL, NULL, NULL,
+        { F_("left"),       "S|f",   F_("text,num_chars"),         
+	  help_left, gnumeric_left, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "len",        "S",     N_("text"),                    help_len,
-	  gnumeric_len, NULL, NULL, NULL, NULL,
+        { F_("len"),        "S",     F_("text"),                   
+	  help_len, gnumeric_len, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "lenb",       "S",     N_("text"),                    help_lenb,
-	  gnumeric_lenb, NULL, NULL, NULL, NULL,
+        { F_("lenb"),       "S",     F_("text"),                   
+	  help_lenb, gnumeric_lenb, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_NO_TESTSUITE },
-        { "lower",      "S",     N_("text"),                    help_lower,
-	  gnumeric_lower, NULL, NULL, NULL, NULL,
+        { F_("lower"),      "S",     F_("text"),                   
+	  help_lower, gnumeric_lower, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "mid",        "Sff",   N_("text,pos,num"),            help_mid,
-	  gnumeric_mid, NULL, NULL, NULL, NULL,
+        { F_("mid"),        "Sff",   F_("text,pos,num"),           
+	  help_mid, gnumeric_mid, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "proper",     "S",     N_("text"),                    help_proper,
-	  gnumeric_proper, NULL, NULL, NULL, NULL,
+        { F_("proper"),     "S",     F_("text"),                   
+	  help_proper, gnumeric_proper, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "replace",    "SffS",  N_("old,start,num,new"),       help_replace,
-	  gnumeric_replace, NULL, NULL, NULL, NULL,
+        { F_("replace"),    "SffS",  F_("old,start,num,new"),      
+	  help_replace, gnumeric_replace, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "rept",       "Sf",    N_("text,num"),                help_rept,
-	  gnumeric_rept, NULL, NULL, NULL, NULL,
+        { F_("rept"),       "Sf",    F_("text,num"),               
+	  help_rept, gnumeric_rept, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "right",      "S|f",   N_("text,num_chars"),          help_right,
-	  gnumeric_right, NULL, NULL, NULL, NULL,
+        { F_("right"),      "S|f",   F_("text,num_chars"),         
+	  help_right, gnumeric_right, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "search",     "SS|f",  N_("search_string,text,start_num"),   help_search,
-	  gnumeric_search, NULL, NULL, NULL, NULL,
+        { F_("search"),     "SS|f",  F_("search_string,text,start_num"),  
+	  help_search, gnumeric_search, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "substitute", "SSS|f", N_("text,old,new,num"),       help_substitute,
-	  gnumeric_substitute, NULL, NULL, NULL, NULL,
+        { F_("substitute"), "SSS|f", F_("text,old,new,num"),      
+	  help_substitute, gnumeric_substitute, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "t",          "S",     N_("value"),                   help_t_,
-          gnumeric_t_, NULL, NULL, NULL, NULL,
+        { F_("t"),          "S",     F_("value"),                  
+	  help_t_, gnumeric_t_, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "text",       "Ss",    N_("value,format_text"),       help_text,
-	  gnumeric_text, NULL, NULL, NULL, NULL,
+        { F_("text"),       "Ss",    F_("value,format_text"),      
+	  help_text, gnumeric_text, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "trim",       "S",     N_("text"),                    help_trim,
-	  gnumeric_trim, NULL, NULL, NULL, NULL,
+        { F_("trim"),       "S",     F_("text"),                   
+	  help_trim, gnumeric_trim, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "upper",      "S",     N_("text"),                    help_upper,
-	  gnumeric_upper, NULL, NULL, NULL, NULL,
+        { F_("upper"),      "S",     F_("text"),                   
+	  help_upper, gnumeric_upper, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
-        { "value",      "S",     N_("text"),                    help_value,
-	  gnumeric_value, NULL, NULL, NULL, NULL,
+        { F_("value"),      "S",     F_("text"),                   
+	  help_value, gnumeric_value, NULL, NULL, NULL, NULL,
 	  GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_BASIC },
 
         {NULL}
Index: plugins/fn-string/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/fn-string/plugin.xml.in,v
retrieving revision 1.8
diff -u -p -r1.8 plugin.xml.in
--- plugins/fn-string/plugin.xml.in	13 May 2005 03:43:17 -0000	1.8
+++ plugins/fn-string/plugin.xml.in	2 Dec 2006 11:30:17 -0000
@@ -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>
 				<function name="asc"/>
Index: plugins/gda/plugin-gda.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/gda/plugin-gda.c,v
retrieving revision 1.48
diff -u -p -r1.48 plugin-gda.c
--- plugins/gda/plugin-gda.c	11 Nov 2006 18:00:44 -0000	1.48
+++ plugins/gda/plugin-gda.c	2 Dec 2006 11:30:18 -0000
@@ -472,11 +472,11 @@ go_plugin_shutdown (GOPlugin *plugin, GO
 
 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}
Index: plugins/gda/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/gda/plugin.xml.in,v
retrieving revision 1.8
diff -u -p -r1.8 plugin.xml.in
--- plugins/gda/plugin.xml.in	24 Sep 2004 01:33:20 -0000	1.8
+++ plugins/gda/plugin.xml.in	2 Dec 2006 11:30:18 -0000
@@ -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"/>
Index: plugins/guile/plugin.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/guile/plugin.c,v
retrieving revision 1.106
diff -u -p -r1.106 plugin.c
--- plugins/guile/plugin.c	11 Nov 2006 18:00:48 -0000	1.106
+++ plugins/guile/plugin.c	2 Dec 2006 11:30:18 -0000
@@ -191,6 +191,7 @@ scm_register_function (SCM scm_name, SCM
 
 	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;
Index: plugins/numtheory/numtheory.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/numtheory/numtheory.c,v
retrieving revision 1.49
diff -u -p -r1.49 numtheory.c
--- plugins/numtheory/numtheory.c	11 Nov 2006 18:00:56 -0000	1.49
+++ plugins/numtheory/numtheory.c	2 Dec 2006 11:30:20 -0000
@@ -670,28 +670,28 @@ go_plugin_shutdown (GOPlugin *plugin, GO
 }
 
 const GnmFuncDescriptor num_theory_functions[] = {
-	{"ithprime", "f", "number", help_ithprime,
+	{ F_("ithprime"), "f", F_("number"), 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", "number", help_pfactor,
+	{ F_("pfactor"), "f", F_("number"), 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", "number", help_phi,
+	{"nt_phi",   "f", F_("number"), 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", "number", help_d,
+	{"nt_d",     "f", F_("number"), 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", "number", help_sigma,
+	{"nt_sigma", "f", F_("number"), 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", "number", help_isprime,
+	{ F_("isprime"),  "f", F_("number"), 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", "number", help_nt_pi,
+	{"nt_pi",    "f", F_("number"), 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", "number", help_nt_mu,
+	{"nt_mu",    "f", F_("number"), 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 },
 
@@ -699,19 +699,19 @@ const GnmFuncDescriptor num_theory_funct
 };
 
 const GnmFuncDescriptor bitwise_functions[] = {
-	{"bitor",     "ff", "A,B", help_bitor,
+	{ F_("bitor"),     "ff", F_("A,B"), help_bitor,
 	 &func_bitor,     NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitxor",    "ff", "A,B", help_bitxor,
+	{ F_("bitxor"),    "ff", F_("A,B"), help_bitxor,
 	 &func_bitxor,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitand",    "ff", "A,B", help_bitand,
+	{ F_("bitand"),    "ff", F_("A,B"), help_bitand,
 	 &func_bitand,    NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitlshift", "ff", "X,N", help_bitlshift,
+	{ F_("bitlshift"), "ff", F_("X,N"), help_bitlshift,
 	 &func_bitlshift, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
-	{"bitrshift", "ff", "N,N", help_bitrshift,
+	{ F_("bitrshift"), "ff", F_("N,N"), help_bitrshift,
 	 &func_bitrshift, NULL, NULL, NULL, NULL,
 	 GNM_FUNC_SIMPLE, GNM_FUNC_IMPL_STATUS_COMPLETE, GNM_FUNC_TEST_STATUS_EXHAUSTIVE },
 	{NULL}
Index: plugins/numtheory/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/numtheory/plugin.xml.in,v
retrieving revision 1.8
diff -u -p -r1.8 plugin.xml.in
--- plugins/numtheory/plugin.xml.in	11 Oct 2004 18:33:32 -0000	1.8
+++ plugins/numtheory/plugin.xml.in	2 Dec 2006 11:30:20 -0000
@@ -8,7 +8,7 @@
 		<attribute name="module_file" value="numtheory"/>
 	</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>
 				<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>
 				<function name="bitand"/>
Index: plugins/perl-func/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/perl-func/plugin.xml.in,v
retrieving revision 1.1
diff -u -p -r1.1 plugin.xml.in
--- plugins/perl-func/plugin.xml.in	29 Oct 2004 14:44:46 -0000	1.1
+++ plugins/perl-func/plugin.xml.in	2 Dec 2006 11:30:20 -0000
@@ -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"/>
Index: plugins/py-func/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/py-func/plugin.xml.in,v
retrieving revision 1.5
diff -u -p -r1.5 plugin.xml.in
--- plugins/py-func/plugin.xml.in	23 Aug 2003 01:35:34 -0000	1.5
+++ plugins/py-func/plugin.xml.in	2 Dec 2006 11:30:20 -0000
@@ -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"/>
Index: plugins/python-loader/python-loader.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/python-loader/python-loader.c,v
retrieving revision 1.68
diff -u -p -r1.68 python-loader.c
--- plugins/python-loader/python-loader.c	11 Nov 2006 18:01:02 -0000	1.68
+++ plugins/python-loader/python-loader.c	2 Dec 2006 11:30:21 -0000
@@ -470,7 +470,7 @@ call_python_function_args (GnmFuncEvalIn
 	loader_data = g_object_get_data (G_OBJECT (service), "loader_data");
 	SWITCH_TO_PLUGIN (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);
@@ -500,7 +500,7 @@ call_python_function_nodes (GnmFuncEvalI
 	loader_data = g_object_get_data (G_OBJECT (service), "loader_data");
 	SWITCH_TO_PLUGIN (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++) {
Index: plugins/sample_datasource/plugin.xml.in
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/sample_datasource/plugin.xml.in,v
retrieving revision 1.6
diff -u -p -r1.6 plugin.xml.in
--- plugins/sample_datasource/plugin.xml.in	24 Sep 2004 01:33:21 -0000	1.6
+++ plugins/sample_datasource/plugin.xml.in	2 Dec 2006 11:30:22 -0000
@@ -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"/>
Index: plugins/sample_datasource/sample_datasource.c
===================================================================
RCS file: /cvs/gnome/gnumeric/plugins/sample_datasource/sample_datasource.c,v
retrieving revision 1.27
diff -u -p -r1.27 sample_datasource.c
--- plugins/sample_datasource/sample_datasource.c	11 Nov 2006 18:01:03 -0000	1.27
+++ plugins/sample_datasource/sample_datasource.c	2 Dec 2006 11:30:22 -0000
@@ -289,7 +289,7 @@ static GnmFuncHelp const help_atl_last[]
 };
 
 GnmFuncDescriptor const ATL_functions[] = {
-	{"atl_last", "s", "tag", help_atl_last, atl_last, NULL, atl_last_link, atl_last_unlink },
+	{ F_("atl_last"), "s", F_("tag"), help_atl_last, atl_last, NULL, atl_last_link, atl_last_unlink },
 
 	{NULL}
 };
Index: src/cell.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/cell.c,v
retrieving revision 1.337
diff -u -p -r1.337 cell.c
--- src/cell.c	11 Nov 2006 21:55:03 -0000	1.337
+++ src/cell.c	2 Dec 2006 11:31:01 -0000
@@ -537,7 +537,7 @@ gnm_cell_get_entered_text (GnmCell const
 
 		gnm_expr_top_as_gstring (res, cell->base.texpr,
 					 parse_pos_init_cell (&pp, cell),
-					 cell->base.sheet->convs);
+					 cell->base.sheet->convs, TRUE);
 		return g_string_free (res, FALSE);
 	}
 
Index: src/commands.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/commands.c,v
retrieving revision 1.481
diff -u -p -r1.481 commands.c
--- src/commands.c	25 Nov 2006 03:16:36 -0000	1.481
+++ src/commands.c	2 Dec 2006 11:31:12 -0000
@@ -4090,7 +4090,7 @@ cmd_search_replace_do_cell (CmdSearchRep
 						  (value_new_string_nocopy (cell_res.new_text))));
 					GString *s = g_string_new ("=");
 					gnm_expr_top_as_gstring
-						(s, ee, &pp, gnm_expr_conventions_default);
+						(s, ee, &pp, gnm_expr_conventions_default, TRUE);
 					gnm_expr_top_unref (ee);
 					cell_res.new_text = g_string_free (s, FALSE);
 					err = FALSE;
Index: src/expr-name.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/expr-name.c,v
retrieving revision 1.125
diff -u -p -r1.125 expr-name.c
--- src/expr-name.c	26 Nov 2006 03:45:49 -0000	1.125
+++ src/expr-name.c	2 Dec 2006 11:31:13 -0000
@@ -596,7 +596,8 @@ expr_name_as_string (GnmNamedExpr const 
 {
 	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 *
Index: src/expr.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/expr.c,v
retrieving revision 1.408
diff -u -p -r1.408 expr.c
--- src/expr.c	28 Nov 2006 03:31:56 -0000	1.408
+++ src/expr.c	2 Dec 2006 11:31:18 -0000
@@ -1455,7 +1455,8 @@ static void
 gnm_expr_list_as_string (GString *target,
 			 int argc, GnmExprConstPtr const *argv,
 			 GnmParsePos const *pp,
-			 GnmExprConventions const *fmt);
+			 GnmExprConventions const *fmt,
+			 gboolean localized);
 
 
 /*
@@ -1467,7 +1468,7 @@ gnm_expr_list_as_string (GString *target
  */
 static void
 do_expr_as_string (GString *target, GnmExpr const *expr, GnmParsePos const *pp,
-		   int paren_level, GnmExprConventions const *conv)
+		   int paren_level, GnmExprConventions const *conv, gboolean localized)
 {
 	static struct {
 		char const name[4];
@@ -1513,7 +1514,7 @@ do_expr_as_string (GString *target, GnmE
 
 		if (need_par) g_string_append_c (target, '(');
 		do_expr_as_string (target, expr->binary.value_a, pp,
-				   prec - operations[op].assoc_left, conv);
+				   prec - operations[op].assoc_left, conv, localized);
 
 		/*
 		 * Avoid getting "-2^2".  We want to make sure files do not contain
@@ -1535,7 +1536,7 @@ do_expr_as_string (GString *target, GnmE
 			g_string_append (target, opname);
 
 		do_expr_as_string (target, expr->binary.value_b, pp,
-				   prec - operations[op].assoc_right, conv);
+				   prec - operations[op].assoc_right, conv, localized);
 		if (need_par) g_string_append_c (target, ')');
 		return;
 	}
@@ -1548,7 +1549,7 @@ do_expr_as_string (GString *target, GnmE
 
 		if (need_par) g_string_append_c (target, '(');
 		if (is_prefix) g_string_append (target, opname);
-		do_expr_as_string (target, expr->unary.value, pp, prec, conv);
+		do_expr_as_string (target, expr->unary.value, pp, prec, conv, localized);
 		if (!is_prefix) g_string_append (target, opname);
 		if (need_par) g_string_append_c (target, ')');
 		return;
@@ -1556,12 +1557,12 @@ do_expr_as_string (GString *target, GnmE
 
 	case GNM_EXPR_OP_FUNCALL: {
 		GnmExprFunction const *func = &expr->func;
-		char const *name = gnm_func_get_name (func->func);
+		char const *name = gnm_func_get_name (func->func, localized);
 
 		g_string_append (target, name);
 		/* FIXME: possibly a space here.  */
 		gnm_expr_list_as_string (target, func->argc, func->argv,
-					 pp, conv);
+					 pp, conv, localized);
 		return;
 	}
 
@@ -1602,7 +1603,7 @@ do_expr_as_string (GString *target, GnmE
 
 	case GNM_EXPR_OP_ARRAY_CORNER: 
 		do_expr_as_string ( target,
-			expr->array_corner.expr, pp, 0, conv);
+			expr->array_corner.expr, pp, 0, conv, localized);
 		return;
 
 	case GNM_EXPR_OP_ARRAY_ELEM: {
@@ -1614,7 +1615,7 @@ do_expr_as_string (GString *target, GnmE
 			tmp_pos.eval.row -= expr->array_elem.y;
 			do_expr_as_string (target,
 				corner->base.texpr->expr->array_corner.expr,
-				&tmp_pos, 0, conv);
+				&tmp_pos, 0, conv, localized);
 			return;
 		}
 		break;
@@ -1624,7 +1625,7 @@ do_expr_as_string (GString *target, GnmE
 		gnm_expr_list_as_string (target,
 					 expr->set.argc,
 					 expr->set.argv,
-					 pp, conv);
+					 pp, conv, localized);
 		return;
 	}
 
@@ -1633,14 +1634,14 @@ do_expr_as_string (GString *target, GnmE
 
 char *
 gnm_expr_as_string (GnmExpr const *expr, GnmParsePos const *pp,
-		    GnmExprConventions const *fmt)
+		    GnmExprConventions const *fmt, gboolean localized)
 {
 	GString *res;
 	g_return_val_if_fail (expr != NULL, NULL);
 	g_return_val_if_fail (pp != NULL, NULL);
 
 	res = g_string_new (NULL);
-	do_expr_as_string (res, expr, pp, 0, fmt);
+	do_expr_as_string (res, expr, pp, 0, fmt, localized);
 	return g_string_free (res, FALSE);
 }
 
@@ -2407,7 +2408,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)
@@ -2455,7 +2456,8 @@ static void
 gnm_expr_list_as_string (GString *target,
 			 int argc, GnmExprConstPtr const *argv,
 			 GnmParsePos const *pp,
-			 GnmExprConventions const *conv)
+			 GnmExprConventions const *conv,
+			 gboolean localized)
 {
 	int i;
 	char const *sep;
@@ -2472,7 +2474,7 @@ gnm_expr_list_as_string (GString *target
 	for (i = 0; i < argc; i++) {
 		if (i != 0)
 			g_string_append (target, sep);
-		do_expr_as_string (target, argv[i], pp, 0, conv);
+		do_expr_as_string (target, argv[i], pp, 0, conv, localized);
 	}
 	g_string_append_c (target, ')');
 }
@@ -2676,23 +2678,25 @@ gnm_expr_top_get_range (GnmExprTop const
 char *
 gnm_expr_top_as_string (GnmExprTop const *texpr,
 			GnmParsePos const *pp,
-			GnmExprConventions const *fmt)
+			GnmExprConventions const *fmt,
+			gboolean localized)
 {
 	g_return_val_if_fail (IS_GNM_EXPR_TOP (texpr), NULL);
 
-	return gnm_expr_as_string (texpr->expr, pp, fmt);
+	return gnm_expr_as_string (texpr->expr, pp, fmt, localized);
 }
 
 void
 gnm_expr_top_as_gstring (GString *target,
 			 GnmExprTop const *texpr,
 			 GnmParsePos const *pp,
-			 GnmExprConventions const *fmt)
+			 GnmExprConventions const *fmt,
+			 gboolean localized)
 {
 	g_return_if_fail (IS_GNM_EXPR_TOP (texpr));
 	g_return_if_fail (pp != NULL);
 
-	do_expr_as_string (target, texpr->expr, pp, 0, fmt);
+	do_expr_as_string (target, texpr->expr, pp, 0, fmt, localized);
 }
 
 guint
@@ -2962,7 +2966,7 @@ cb_expression_pool_leak (gpointer data, 
 	pp.eval.row = 0;
 	pp.sheet = NULL;
 	pp.wb = NULL;
-	s = gnm_expr_as_string (expr, &pp, gnm_expr_conventions_default);
+	s = gnm_expr_as_string (expr, &pp, gnm_expr_conventions_default, FALSE);
 	fprintf (stderr, "Leaking expression at %p: %s.\n", expr, s);
 	g_free (s);
 }
Index: src/expr.h
===================================================================
RCS file: /cvs/gnome/gnumeric/src/expr.h,v
retrieving revision 1.169
diff -u -p -r1.169 expr.h
--- src/expr.h	11 Oct 2006 20:14:12 -0000	1.169
+++ src/expr.h	2 Dec 2006 11:31:19 -0000
@@ -74,7 +74,7 @@ gboolean  gnm_expr_is_rangeref 	     (Gn
 gboolean  gnm_expr_is_data_table     (GnmExpr const *expr,
 				      GnmCellPos *c_in, GnmCellPos *r_in);
 char	 *gnm_expr_as_string	     (GnmExpr const *expr, GnmParsePos const *pp,
-				      GnmExprConventions const *fmt);
+				      GnmExprConventions const *fmt, gboolean localized);
 gboolean  gnm_expr_contains_subtotal (GnmExpr const *expr);
 
 GnmValue *gnm_expr_eval (GnmExpr const *expr, GnmEvalPos const *pos,
@@ -148,11 +148,13 @@ GnmValue *gnm_expr_top_eval	  (GnmExprTo
 				   GnmExprEvalFlags flags);
 char	 *gnm_expr_top_as_string  (GnmExprTop const *texpr,
 				   GnmParsePos const *pp,
-				   GnmExprConventions const *fmt);
+				   GnmExprConventions const *fmt,
+				   gboolean localized);
 void	  gnm_expr_top_as_gstring (GString *target,
 				   GnmExprTop const *texpr,
 				   GnmParsePos const *pp,
-				   GnmExprConventions const *fmt);
+				   GnmExprConventions const *fmt,
+				   gboolean localized);
 
 /*****************************************************************************/
 
Index: src/func-builtin.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/func-builtin.c,v
retrieving revision 1.37
diff -u -p -r1.37 func-builtin.c
--- src/func-builtin.c	11 Nov 2006 18:01:09 -0000	1.37
+++ src/func-builtin.c	2 Dec 2006 11:31:20 -0000
@@ -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>
@@ -38,7 +38,7 @@
 
 static GnmFuncHelp const help_sum[] = {
     { GNM_FUNC_HELP_OLD,
-	N_("@FUNCTION=SUM\n"
+	F_("@FUNCTION=SUM\n"
 	   "@SYNTAX=SUM(value1, value2, ...)\n"
 
 	   "@DESCRIPTION="
@@ -70,7 +70,7 @@ gnumeric_sum (GnmFuncEvalInfo *ei, int a
 
 static GnmFuncHelp const help_product[] = {
     { GNM_FUNC_HELP_OLD,
-	N_("@FUNCTION=PRODUCT\n"
+	F_("@FUNCTION=PRODUCT\n"
 	   "@SYNTAX=PRODUCT(value1, value2, ...)\n"
 
 	   "@DESCRIPTION="
@@ -111,7 +111,7 @@ gnumeric_product (GnmFuncEvalInfo *ei, i
 
 static GnmFuncHelp const help_gnumeric_version[] = {
     { GNM_FUNC_HELP_OLD,
-	N_("@FUNCTION=GNUMERIC_VERSION\n"
+	F_("@FUNCTION=GNUMERIC_VERSION\n"
 	   "@SYNTAX=GNUMERIC_VERSION()\n"
 
 	   "@DESCRIPTION="
@@ -262,25 +262,25 @@ void
 func_builtin_init (void)
 {
 	static GnmFuncDescriptor const builtins [] = {
-		{	"sum",		NULL,	N_("number,number,"),
+		{	F_("sum"),		NULL,	F_("number,number,"),
 			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_("number,number,"),
+		{	F_("product"),		NULL,	F_("number,number,"),
 			help_product,	NULL,	gnumeric_product,
 			NULL, NULL, NULL, GNM_FUNC_SIMPLE,
 			GNM_FUNC_IMPL_STATUS_COMPLETE,
 			GNM_FUNC_TEST_STATUS_BASIC
 		},
-		{	"gnumeric_version",	"",	"",
+		{	F_("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",	"",	"",
+		{	F_("table"),	"",	"",
 			NULL,		NULL,	gnumeric_table,
 			gnumeric_table_link, NULL,
 			NULL, GNM_FUNC_SIMPLE + GNM_FUNC_INTERNAL,
@@ -291,12 +291,12 @@ func_builtin_init (void)
 	};
 
 	math_group = gnm_func_group_fetch (N_("Mathematics"));
-	gnm_func_add (math_group, builtins + 0);
-	gnm_func_add (math_group, builtins + 1);
+	gnm_func_add (math_group, builtins + 0, "gnumeric-functions");
+	gnm_func_add (math_group, builtins + 1, "gnumeric-functions");
 
 	gnumeric_group = gnm_func_group_fetch (N_("Gnumeric"));
-	gnm_func_add (gnumeric_group, builtins + 2);
-	gnm_func_add (gnumeric_group, builtins + 3);
+	gnm_func_add (gnumeric_group, builtins + 2, "gnumeric-functions");
+	gnm_func_add (gnumeric_group, builtins + 3, "gnumeric-functions");
 }
 
 static void
Index: src/func.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/func.c,v
retrieving revision 1.262
diff -u -p -r1.262 func.c
--- src/func.c	28 Nov 2006 03:32:05 -0000	1.262
+++ src/func.c	2 Dec 2006 11:31:21 -0000
@@ -36,12 +36,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 ();
 }
 
@@ -54,6 +60,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
@@ -143,7 +154,11 @@ cb_generate_po (gpointer key, Symbol *sy
 		return;
 	}
 
-	ptr = dgettext ("gnumeric-functions", fd->help[0].text);
+#if ENABLE_NLS
+	ptr = dgettext (fd->gettext_domain, fd->help[0].text);
+#else /* !ENABLE_NLS */
+	ptr = fd->help[0].text;
+#endif /* ENABLE_NLS */
 	if (NULL == (ptr = check_name_match (fd->name, ptr, "@FUNCTION=")))
 		return;
 	if (NULL == (ptr = check_name_match (fd->name, ptr, "@SYNTAX=")))
@@ -497,7 +512,7 @@ gnm_func_group_fetch_with_translation (c
 		gnm_string_unref (cat->display_name);
 		cat->display_name = gnm_string_get (translation);
 		cat->has_translation = TRUE;
-		g_list_remove_link (categories, l);
+		categories = g_list_remove_link (categories, l);
 		g_list_free_1 (l);
 		categories = g_list_insert_sorted (
 		             categories, cat, &function_category_compare);
@@ -608,12 +623,23 @@ 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->gettext_domain) {
+			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)
 		g_free (func->fn.args.arg_types);
-	if (func->flags & GNM_FUNC_FREE_NAME)
+	if (func->flags & GNM_FUNC_FREE_NAME) {
 		g_free ((char *)func->name);
+		g_free ((char *)func->gettext_domain);
+	}
 	g_free (func);
 }
 
@@ -641,17 +667,32 @@ gnm_func_unref (GnmFunc *func)
 GnmFunc *
 gnm_func_lookup (char const *name, Workbook const *scope)
 {
-	Symbol *sym = symbol_lookup (global_symbol_table, name);
+	Symbol *sym;
+	GnmFunc *f;
+
+	sym = symbol_lookup (global_symbol_table, name);
+#ifdef 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);
+#ifdef ENABLE_NLS
+	if (!f)
+		f = g_hash_table_lookup (scope->sheet_local_functions_localized, (gpointer)name);
+#endif /* ENABLE_NLS */
+
+	return f;
 }
 
 GnmFunc *
 gnm_func_add (GnmFuncGroup *fn_group,
-	      GnmFuncDescriptor const *desc)
+	      GnmFuncDescriptor const *desc,
+	      const char *gettext_domain)
 {
 	static char const valid_tokens[] = "fsbraAES?|";
 	GnmFunc *func;
@@ -666,6 +707,7 @@ gnm_func_add (GnmFuncGroup *fn_group,
 
 	func->name		= desc->name;
 	func->arg_names		= desc->arg_names;
+	func->gettext_domain    = gettext_domain;
 	func->help		= desc->help ? desc->help : NULL;
 	func->linker		= desc->linker;
 	func->unlinker		= desc->unlinker;
@@ -722,6 +764,7 @@ unknownFunctionHandler (GnmFuncEvalInfo 
 GnmFunc *
 gnm_func_add_stub (GnmFuncGroup *fn_group,
 		   char const 	    *name,
+		   char const       *gettext_domain,
 		   GnmFuncLoadDesc   load_desc,
 		   GnmFuncRefNotify  opt_ref_notify)
 {
@@ -730,6 +773,7 @@ gnm_func_add_stub (GnmFuncGroup *fn_grou
 		return NULL;
 
 	func->name		= name;
+	func->gettext_domain    = gettext_domain;
 	func->ref_notify	= opt_ref_notify;
 	func->fn_type		= GNM_FUNC_TYPE_STUB;
 	func->fn.load_desc	= load_desc;
@@ -738,6 +782,11 @@ gnm_func_add_stub (GnmFuncGroup *fn_grou
 	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->gettext_domain != NULL && dgettext (func->gettext_domain, func->name) != func->name) {
+		symbol_install (global_symbol_table_localized, dgettext (func->gettext_domain, func->name), SYMBOL_FUNCTION, func);
+	}
+#endif /* ENABLE_NLS */
 
 	return func;
 }
@@ -768,6 +817,7 @@ gnm_func_add_placeholder (Workbook *scop
 	desc.name	  = copy_name ? g_strdup (name) : name;
 	desc.arg_spec	  = NULL;
 	desc.arg_names	  = "...";
+	desc.gettext_domain = NULL;
 	desc.help	  = NULL;
 	desc.fn_args	  = NULL;
 	desc.fn_nodes	  = &unknownFunctionHandler;
@@ -784,7 +834,7 @@ gnm_func_add_placeholder (Workbook *scop
 		/* WISHLIST : it would be nice to have a log if these. */
 		g_warning ("Unknown %sfunction : %s", type, name);
 
-	func = gnm_func_add (unknown_cat, &desc);
+	func = gnm_func_add (unknown_cat, &desc, NULL);
 
 	if (scope != NULL) {
 		if (scope->sheet_local_functions == NULL)
@@ -793,6 +843,18 @@ gnm_func_add_placeholder (Workbook *scop
 				NULL, (GDestroyNotify) gnm_func_free);
 		g_hash_table_insert (scope->sheet_local_functions,
 			(gpointer)func->name, func);
+
+#if ENABLE_NLS
+		if (func->gettext_domain != NULL && dgettext (func->gettext_domain, 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->gettext_domain, name), func);
+		}
+#endif /* ENABLE_NLS */
 	}
 
 	return func;
@@ -826,11 +888,16 @@ gnm_func_set_user_data (GnmFunc *func, g
 }
 
 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 ? dgettext (func->gettext_domain, func->name) : func->name;
+#else /* !ENABLE_NLS */
 	return func->name;
+#endif /* ENABLE_NLS */
 }
 
 /**
@@ -1537,8 +1604,17 @@ tokenized_help_new (GnmFunc const *func)
 		gboolean last_newline = TRUE;
 
 #warning "fixme, use the rest of the pieces and get rid of this routine."
-		tok->help_is_localized = FALSE;
-		tok->help_copy = g_strdup (func->help [0].text);
+#if ENABLE_NLS
+		if (func->gettext_domain != NULL) {
+			tok->help_is_localized = TRUE;
+			tok->help_copy = g_strdup (dgettext (func->gettext_domain, func->help [0].text));
+		} else
+#endif /* ENABLE_NLS */
+		{
+			tok->help_is_localized = FALSE;
+			tok->help_copy = g_strdup (func->help [0].text);
+		}
+
 		tok->sections = g_ptr_array_new ();
 
 		for (start = ptr = tok->help_copy; *ptr ; ptr++) {
Index: src/func.h
===================================================================
RCS file: /cvs/gnome/gnumeric/src/func.h,v
retrieving revision 1.114
diff -u -p -r1.114 func.h
--- src/func.h	18 Nov 2006 03:47:01 -0000	1.114
+++ src/func.h	2 Dec 2006 11:31:22 -0000
@@ -163,6 +163,7 @@ struct _GnmFuncDescriptor {
 struct _GnmFunc {
 	char const *name;
 	char const *arg_names;
+	char const *gettext_domain;
 	GnmFuncHelp const *help;
 	GnmFuncType fn_type;
 	union {
@@ -197,14 +198,16 @@ void	    gnm_func_ref	     (GnmFunc *fun
 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 const *scope);
 GnmFunc    *gnm_func_add	     (GnmFuncGroup *group,
-				      GnmFuncDescriptor const *descriptor);
+				      GnmFuncDescriptor const *descriptor,
+				      const char *gettext_domain);
 GnmFunc    *gnm_func_add_stub	     (GnmFuncGroup *group,
 				      char const *name,
+				      char const *gettext_domain,
 				      GnmFuncLoadDesc  load_desc,
 				      GnmFuncRefNotify opt_ref_notify);
 GnmFunc    *gnm_func_add_placeholder (Workbook *optional_context,
Index: src/gnm-plugin.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/gnm-plugin.c,v
retrieving revision 1.9
diff -u -p -r1.9 gnm-plugin.c
--- src/gnm-plugin.c	29 Jun 2006 13:54:36 -0000	1.9
+++ src/gnm-plugin.c	2 Dec 2006 11:31:23 -0000
@@ -28,6 +28,7 @@ struct _PluginServiceFunctionGroup {
 	PluginServiceSimple	base;
 
 	gchar *category_name, *translated_category_name;
+	char *gettext_domain;
 	GSList *function_name_list;
 
 	GnmFuncGroup	*func_group;
@@ -107,6 +108,7 @@ plugin_service_function_group_read_xml (
 
 		service_function_group->category_name = category_name;
 		service_function_group->translated_category_name = translated_category_name;
+		service_function_group->gettext_domain = xml_node_get_cstr (tree, "gettext_domain");
 		service_function_group->function_name_list = function_name_list;
 	} else {
 		GSList *error_list = NULL;
@@ -151,7 +153,7 @@ plugin_service_function_group_func_desc_
 		return FALSE;
 	}
 	return service_function_group->cbs.func_desc_load (service,
-		gnm_func_get_name (fn_def), res);
+		gnm_func_get_name (fn_def, FALSE), res);
 }
 
 static void
@@ -182,6 +184,7 @@ plugin_service_function_group_activate (
 
 		fn_def = gnm_func_add_stub (
 			service_function_group->func_group, fname,
+			service_function_group->gettext_domain,
 			plugin_service_function_group_func_desc_load,
 			plugin_service_function_group_func_ref_notify);
 		gnm_func_set_user_data (fn_def, service);
Index: src/graph.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/graph.c,v
retrieving revision 1.53
diff -u -p -r1.53 graph.c
--- src/graph.c	11 Nov 2006 18:01:09 -0000	1.53
+++ src/graph.c	2 Dec 2006 11:31:25 -0000
@@ -96,9 +96,11 @@ gnm_go_data_as_str (GOData const *dat)
 	GnmDependent const *dep = gnm_go_data_get_dep (dat);
 	if (dep->sheet == NULL)
 		return g_strdup ("No sheet for GnmGOData");
+	/* TODO, support localization? */
 	return gnm_expr_top_as_string (dep->texpr,
 		parse_pos_init_dep (&pp, dep),
-		gnm_expr_conventions_default);
+		gnm_expr_conventions_default,
+		FALSE);
 }
 
 static  gboolean
Index: src/rendered-value.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/rendered-value.c,v
retrieving revision 1.129
diff -u -p -r1.129 rendered-value.c
--- src/rendered-value.c	11 Nov 2006 22:29:19 -0000	1.129
+++ src/rendered-value.c	2 Dec 2006 11:31:27 -0000
@@ -329,7 +329,7 @@ gnm_rendered_value_new (GnmCell *cell, G
 		GString *str = g_string_new ("=");
 		gnm_expr_top_as_gstring (str, cell->base.texpr,
 					 parse_pos_init_cell (&pp, cell),
-					 sheet->convs);
+					 sheet->convs, TRUE);
 		pango_layout_set_text (layout, str->str, str->len);
 		g_string_free (str, TRUE);
 		fore = 0;
Index: src/sheet-autofill.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/sheet-autofill.c,v
retrieving revision 1.139
diff -u -p -r1.139 sheet-autofill.c
--- src/sheet-autofill.c	11 Nov 2006 22:29:19 -0000	1.139
+++ src/sheet-autofill.c	2 Dec 2006 11:31:29 -0000
@@ -876,7 +876,7 @@ afc_set_cell_hint (AutoFiller *af, GnmCe
 					 gnm_expr_top_new (aexpr));
 			else {
 				res = gnm_expr_as_string (aexpr,
-					&rinfo.pos, gnm_expr_conventions_default);
+					&rinfo.pos, gnm_expr_conventions_default, TRUE);
 				gnm_expr_free (aexpr);
 			}
 		} else if (texpr) {
@@ -884,14 +884,14 @@ afc_set_cell_hint (AutoFiller *af, GnmCe
 				gnm_cell_set_expr (cell, texpr);
 			else
 				res = gnm_expr_top_as_string (texpr,
-					&rinfo.pos, gnm_expr_conventions_default);
+					&rinfo.pos, gnm_expr_conventions_default, TRUE);
 			gnm_expr_top_unref (texpr);
 		} else {
 			if (doit)
 				gnm_cell_set_expr (cell, src_texpr);
 			else
 				res = gnm_expr_top_as_string (src_texpr,
-					&rinfo.pos, gnm_expr_conventions_default);
+					&rinfo.pos, gnm_expr_conventions_default, TRUE);
 		}
 	} else if (src) {
 		if (doit)
Index: src/sheet-object-widget.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/sheet-object-widget.c,v
retrieving revision 1.173
diff -u -p -r1.173 sheet-object-widget.c
--- src/sheet-object-widget.c	19 Nov 2006 14:55:07 -0000	1.173
+++ src/sheet-object-widget.c	2 Dec 2006 11:31:33 -0000
@@ -150,7 +150,7 @@ sax_write_dep (GsfXMLOut *output, GnmDep
 		GnmParsePos pos;
 		char *val = gnm_expr_top_as_string (dep->texpr,
 			parse_pos_init_sheet (&pos, dep->sheet),
-			gnm_expr_conventions_default);
+			gnm_expr_conventions_default, FALSE);
 		gsf_xml_out_add_cstr (output, id, val);
 		g_free (val);
 	}
Index: src/stf.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/stf.c,v
retrieving revision 1.145
diff -u -p -r1.145 stf.c
--- src/stf.c	25 Nov 2006 23:03:58 -0000	1.145
+++ src/stf.c	2 Dec 2006 11:31:34 -0000
@@ -232,8 +232,15 @@ cb_get_content (GnmCellIter const *iter,
 	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));
Index: src/validation.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/validation.c,v
retrieving revision 1.57
diff -u -p -r1.57 validation.c
--- src/validation.c	25 Nov 2006 23:02:46 -0000	1.57
+++ src/validation.c	2 Dec 2006 11:31:34 -0000
@@ -366,7 +366,7 @@ validation_eval (WorkbookControl *wbc, G
 				char *expr_str = gnm_expr_top_as_string
 					(v->texpr[0],
 					 parse_pos_init_evalpos (&pp, &ep),
-					 gnm_expr_conventions_default);
+					 gnm_expr_conventions_default, TRUE);
 				char *msg = g_strdup_printf (_("%s does not contain the new value."), expr_str);
 				g_free (expr_str);
 				BARF (msg);
@@ -400,7 +400,7 @@ validation_eval (WorkbookControl *wbc, G
 			char *expr_str = gnm_expr_top_as_string
 				(v->texpr[0],
 				 parse_pos_init_evalpos (&pp, &ep),
-				 gnm_expr_conventions_default);
+				 gnm_expr_conventions_default, TRUE);
 			char *msg = g_strdup_printf (_("%s is not true."), expr_str);
 			g_free (expr_str);
 			BARF (msg);
Index: src/workbook-priv.h
===================================================================
RCS file: /cvs/gnome/gnumeric/src/workbook-priv.h,v
retrieving revision 1.132
diff -u -p -r1.132 workbook-priv.h
--- src/workbook-priv.h	19 Mar 2006 17:12:13 -0000	1.132
+++ src/workbook-priv.h	2 Dec 2006 11:31:35 -0000
@@ -1,6 +1,7 @@
 #ifndef GNUMERIC_WORKBOOK_PRIV_H
 #define GNUMERIC_WORKBOOK_PRIV_H
 
+#include <gnumeric-config.h>
 #include "workbook.h"
 #include <goffice/app/file.h>
 #include <goffice/app/go-doc-impl.h>
@@ -15,6 +16,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;
 
Index: src/workbook.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/workbook.c,v
retrieving revision 1.668
diff -u -p -r1.668 workbook.c
--- src/workbook.c	13 Nov 2006 19:18:20 -0000	1.668
+++ src/workbook.c	2 Dec 2006 11:31:37 -0000
@@ -173,6 +173,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 */
Index: src/xml-sax-write.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/xml-sax-write.c,v
retrieving revision 1.78
diff -u -p -r1.78 xml-sax-write.c
--- src/xml-sax-write.c	24 Nov 2006 02:04:06 -0000	1.78
+++ src/xml-sax-write.c	2 Dec 2006 11:31:39 -0000
@@ -460,12 +460,12 @@ xml_write_gnmstyle (GnmOutputXML *state,
 
 		parse_pos_init_sheet (&pp, (Sheet *)state->sheet);
 		if (v->texpr[0] != NULL &&
-		    (tmp = gnm_expr_top_as_string (v->texpr[0], &pp, state->exprconv)) != NULL) {
+		    (tmp = gnm_expr_top_as_string (v->texpr[0], &pp, state->exprconv, 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->exprconv)) != NULL) {
+		    (tmp = gnm_expr_top_as_string (v->texpr[1], &pp, state->exprconv, FALSE)) != NULL) {
 			gsf_xml_out_simple_element (state->output, GNM "Expression1", tmp);
 			g_free (tmp);
 		}
@@ -493,12 +493,12 @@ xml_write_gnmstyle (GnmOutputXML *state,
 				gsf_xml_out_add_int (state->output, "Operator", cond->op);
 				parse_pos_init_sheet (&pp, (Sheet *)state->sheet);
 				if (cond->texpr[0] != NULL &&
-				    (tmp = gnm_expr_top_as_string (cond->texpr[0], &pp, state->exprconv)) != NULL) {
+				    (tmp = gnm_expr_top_as_string (cond->texpr[0], &pp, state->exprconv, 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->exprconv)) != NULL) {
+				    (tmp = gnm_expr_top_as_string (cond->texpr[1], &pp, state->exprconv, FALSE)) != NULL) {
 					gsf_xml_out_simple_element (state->output, GNM "Expression1", tmp);
 					g_free (tmp);
 				}
@@ -735,7 +735,7 @@ xml_write_cell_and_position (GnmOutputXM
 			}
 		} else {
 			g_string_append_c (str, '=');
-			gnm_expr_top_as_gstring (str, texpr, pp, state->exprconv);
+			gnm_expr_top_as_gstring (str, texpr, pp, state->exprconv, FALSE);
 		}
 
 		gsf_xml_out_add_cstr (state->output, NULL, str->str);
Index: src/dialogs/dialog-formula-guru.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/dialogs/dialog-formula-guru.c,v
retrieving revision 1.118
diff -u -p -r1.118 dialog-formula-guru.c
--- src/dialogs/dialog-formula-guru.c	28 Nov 2006 03:32:19 -0000	1.118
+++ src/dialogs/dialog-formula-guru.c	2 Dec 2006 11:31:41 -0000
@@ -152,7 +152,7 @@ dialog_formula_guru_update_this_parent (
 	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)) {
@@ -481,7 +481,7 @@ dialog_formula_guru_load_expr (GtkTreePa
 	case GNM_EXPR_OP_UNARY_NEG:
 	default: {
 		char *text = gnm_expr_as_string (expr, state->pos,
-			gnm_expr_conventions_default);
+			gnm_expr_conventions_default, TRUE);
 		dialog_formula_guru_load_string (path, text, state);
 		g_free (text);
 		break;
@@ -1008,7 +1008,7 @@ dialog_formula_guru (WorkbookControlGUI 
 		state->pos = g_new (GnmParsePos, 1);
 		func_str = gnm_expr_as_string (expr,
 			parse_pos_init_cell (state->pos, cell),
-			gnm_expr_conventions_default);
+			gnm_expr_conventions_default, TRUE);
 
 		wbcg_edit_start (wbcg, FALSE, TRUE);
 		fd = gnm_expr_get_func_def (expr);
Index: src/dialogs/dialog-function-select.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/dialogs/dialog-function-select.c,v
retrieving revision 1.87
diff -u -p -r1.87 dialog-function-select.c
--- src/dialogs/dialog-function-select.c	18 Nov 2006 03:47:19 -0000	1.87
+++ src/dialogs/dialog-function-select.c	2 Dec 2006 11:31:42 -0000
@@ -113,7 +113,7 @@ dialog_function_write_recent_func (Funct
 
 	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_gconf_set_recent_funcs (gconf_value_list);
 	go_conf_sync (NULL);
@@ -188,12 +188,12 @@ cb_dialog_function_select_ok_clicked (G_
 }
 
 static gint
-dialog_function_select_by_name (gconstpointer _a, gconstpointer _b)
+dialog_function_compare_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
@@ -474,17 +474,17 @@ cb_dialog_function_select_cat_selection_
 							g_slist_copy (cat->functions));
 
 				funcs = g_slist_sort (funcs,
-						      dialog_function_select_by_name);
+						      dialog_function_compare_by_name);
 			} else
 				funcs = g_slist_sort (g_slist_copy (cat->functions),
-						      dialog_function_select_by_name);
+						      dialog_function_compare_by_name);
 
 			for (ptr = funcs; ptr; ptr = ptr->next) {
 				func = ptr->data;
 				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, func,
 						-1);
 				}
@@ -495,7 +495,7 @@ cb_dialog_function_select_cat_selection_
 				func = ptr->data;
 				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, func,
 					-1);
 			}
@@ -506,7 +506,7 @@ cb_dialog_function_select_cat_selection_
 			while ((cat = gnm_func_group_get_nth (i++)) != NULL)
 				funcs = g_slist_concat (funcs, g_slist_copy (cat->functions));
 
-			funcs = g_slist_sort (funcs, dialog_function_select_by_name);
+			funcs = g_slist_sort (funcs, dialog_function_compare_by_name);
 		}
 	}
 }
Index: src/widgets/gnumeric-expr-entry.c
===================================================================
RCS file: /cvs/gnome/gnumeric/src/widgets/gnumeric-expr-entry.c,v
retrieving revision 1.150
diff -u -p -r1.150 gnumeric-expr-entry.c
--- src/widgets/gnumeric-expr-entry.c	28 Nov 2006 03:32:20 -0000	1.150
+++ src/widgets/gnumeric-expr-entry.c	2 Dec 2006 11:31:46 -0000
@@ -1152,7 +1152,7 @@ gnm_expr_entry_load_from_dep (GnmExprEnt
 
 	if (dep->texpr != NULL) {
 		char *text = gnm_expr_top_as_string (dep->texpr,
-			parse_pos_init_dep (&pp, dep), gnm_expr_conventions_default);
+			parse_pos_init_dep (&pp, dep), gnm_expr_conventions_default, TRUE);
 
 		gee_rangesel_reset (gee);
 		gtk_entry_set_text (gee->entry, text);
@@ -1182,7 +1182,7 @@ gnm_expr_entry_load_from_expr (GnmExprEn
 
 	if (texpr != NULL) {
 		char *text = gnm_expr_top_as_string (texpr, pp,
-				gnm_expr_conventions_default);
+				gnm_expr_conventions_default, TRUE);
 		gee_rangesel_reset (gee);
 		gtk_entry_set_text (gee->entry, text);
 		gee->rangesel.text_end = strlen (text);
@@ -1407,7 +1407,7 @@ gnm_expr_entry_parse (GnmExprEntry *gee,
 	}
 
 	/* Reset the entry in case something changed */
-	str = gnm_expr_top_as_string (texpr, pp, gnm_expr_conventions_default);
+	str = gnm_expr_top_as_string (texpr, pp, gnm_expr_conventions_default, TRUE);
 	if (strcmp (str, text)) {
 		SheetControlGUI *scg = wbcg_cur_scg (gee->wbcg);
 		Rangesel const *rs = &gee->rangesel;
