EphySpellCheckPrivate *priv; + const gchar * const *locale; priv = speller->priv = EPHY_SPELL_CHECK_GET_PRIVATE (speller); priv->broker = enchant_broker_init (); - /* FIXME */ - priv->dict = enchant_broker_request_dict (priv->broker, "en"); - if(priv->dict == NULL) - g_warning(enchant_broker_get_error (priv->broker)); + /* Get current locale */ + for (locale = g_get_language_names (); *locale != NULL; ++locale) + { + priv->dict = enchant_broker_request_dict (priv->broker, *locale); + if (priv->dict != NULL) break; + } + if (priv->dict == NULL) + g_warning (enchant_broker_get_error (priv->broker)); } static void