]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Be nice to other plugins (fixes #1534102)
authorhellekin <hellekin@cepheide.org>
Wed, 5 Dec 2012 00:33:29 +0000 (21:33 -0300)
committerhellekin <hellekin@cepheide.org>
Wed, 5 Dec 2012 00:33:29 +0000 (21:33 -0300)
The plugin *must* now come *after* other plugins it should update
translation strings for.

- Add an init,system handler
- Do not force reloading all strings all the time

start.php

index a481c887783ae00c9f04dfedefe5bcc7150551d5..1b392dd4982c45a642772ced490c9241d67517bd 100644 (file)
--- a/start.php
+++ b/start.php
@@ -4,6 +4,34 @@
  *
  */
 
+elgg_register_event_handler('init', 'system', 'languages_init');
+
+function languages_init() {
+
+       register_translations(elgg_get_plugins_path() . "languages/languages/es");
+       register_translations(elgg_get_plugins_path() . "languages/languages/nl");
+       register_translations(elgg_get_plugins_path() . "languages/languages/de");
+       register_translations(elgg_get_plugins_path() . "languages/languages/pt");
+       register_translations(elgg_get_plugins_path() . "languages/languages/fr");
+       register_translations(elgg_get_plugins_path() . "languages/languages/ca");
+       register_translations(elgg_get_plugins_path() . "languages/languages/da");
+       register_translations(elgg_get_plugins_path() . "languages/languages/eu");
+       register_translations(elgg_get_plugins_path() . "languages/languages/gl");
+       register_translations(elgg_get_plugins_path() . "languages/languages/it");
+       register_translations(elgg_get_plugins_path() . "languages/languages/ja");
+       register_translations(elgg_get_plugins_path() . "languages/languages/sr");
+       register_translations(elgg_get_plugins_path() . "languages/languages/th");
+       register_translations(elgg_get_plugins_path() . "languages/languages/zh");
+
+       if (!elgg_is_logged_in()) {
+               global $CONFIG;
+               if ($useragent_language = languages_get_useragent_language()) {
+                       $CONFIG->language = $useragent_language;
+               }
+       }
+
+}
+
 function languages_get_useragent_language() {
        global $CONFIG;
        if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
@@ -25,24 +53,3 @@ function languages_get_useragent_language() {
        }
 }
 
-register_translations(elgg_get_plugins_path() . "languages/languages/es", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/nl", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/de", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/pt", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/fr", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/ca", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/da", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/eu", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/gl", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/it", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/ja", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/sr", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/th", true);
-register_translations(elgg_get_plugins_path() . "languages/languages/zh", true);
-
-if (!elgg_is_logged_in()) {
-       global $CONFIG;
-       if ($useragent_language = languages_get_useragent_language()) {
-               $CONFIG->language = $useragent_language;
-       }
-}
\ No newline at end of file