diff options
-rw-r--r-- | modules/locale.module | 25 | ||||
-rw-r--r-- | modules/locale/locale.module | 25 |
2 files changed, 50 insertions, 0 deletions
diff --git a/modules/locale.module b/modules/locale.module index 9813f1152..4d6e8f083 100644 --- a/modules/locale.module +++ b/modules/locale.module @@ -216,6 +216,8 @@ function locale_admin() { print status("locale disabled."); } else if (user_access("administer locales")) { + locale_admin_initialize(); + print "<small>". locale_links(1) . locale_links(0) . la(t("search"), array("mod" => "locale", "op" => "Search")) ." | ". la(t("overview"), array("mod" => "locale", "op" => "overview")) ." | ". la(t("help"), array("mod" => "locale", "op" => "help")) ."</small><hr />\n"; switch ($op) { @@ -253,6 +255,29 @@ function locale_admin() { } } +function locale_admin_initialize() { + /* This function inserts common strings into the locale table (e.g. names of months and days). + * We use $revision and a stored variable to track if the locale table is up-to-date. + */ + + $revision = 1; + + if (variable_get("locale_initialize_revision", 0) < $revision) { + variable_set("locale_initialize_revision", $revision); + for ($i = 1; $i <= 12; $i++) { + $stamp = mktime(0, 0, 0, $i, 1, 1971); + t(date("F", $stamp)); + t(date("M", $stamp)); + } + + for ($i = 0; $i <= 7; $i++) { + $stamp = $i * 86400; + t(date("D", $stamp)); + t(date("l", $stamp)); + } + } +} + function locale($string) { global $locale; static $locale_t; diff --git a/modules/locale/locale.module b/modules/locale/locale.module index 9813f1152..4d6e8f083 100644 --- a/modules/locale/locale.module +++ b/modules/locale/locale.module @@ -216,6 +216,8 @@ function locale_admin() { print status("locale disabled."); } else if (user_access("administer locales")) { + locale_admin_initialize(); + print "<small>". locale_links(1) . locale_links(0) . la(t("search"), array("mod" => "locale", "op" => "Search")) ." | ". la(t("overview"), array("mod" => "locale", "op" => "overview")) ." | ". la(t("help"), array("mod" => "locale", "op" => "help")) ."</small><hr />\n"; switch ($op) { @@ -253,6 +255,29 @@ function locale_admin() { } } +function locale_admin_initialize() { + /* This function inserts common strings into the locale table (e.g. names of months and days). + * We use $revision and a stored variable to track if the locale table is up-to-date. + */ + + $revision = 1; + + if (variable_get("locale_initialize_revision", 0) < $revision) { + variable_set("locale_initialize_revision", $revision); + for ($i = 1; $i <= 12; $i++) { + $stamp = mktime(0, 0, 0, $i, 1, 1971); + t(date("F", $stamp)); + t(date("M", $stamp)); + } + + for ($i = 0; $i <= 7; $i++) { + $stamp = $i * 86400; + t(date("D", $stamp)); + t(date("l", $stamp)); + } + } +} + function locale($string) { global $locale; static $locale_t; |