You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.0 KiB

  1. <?php
  2. register_hook('options_save', function ($options) {
  3. if (array_key_exists('ui_lang', $options)) {
  4. $_SESSION['ui_lang'] = $options['ui_lang'];
  5. }
  6. });
  7. register_hook('lang_report_non_translated', function ($strings, $ui_lang) {
  8. if (!is_writeable('data')) {
  9. return;
  10. }
  11. $db = new PDO('sqlite:data/lang.db');
  12. $res = $db->query('select 1 from lang_non_translated');
  13. if (!$res) {
  14. $query = <<<EOT
  15. create table lang_non_translated (
  16. str varchar(255) not null,
  17. lang varchar(32) not null,
  18. count integer not null default 0,
  19. primary key(str, lang)
  20. );
  21. EOT;
  22. $db->query($query);
  23. }
  24. foreach ($strings as $k => $count) {
  25. if ($count > 0) {
  26. $query = 'insert or replace into lang_non_translated values (' . $db->quote($k) . ', ' . $db->quote($ui_lang) . ', coalesce((select count + ' . $db->quote($count) . ' from lang_non_translated where str=' . $db->quote($k) . ' and lang=' . $db->quote($ui_lang) . '), ' . $db->quote($count) . '))';
  27. $db->query($query);
  28. }
  29. }
  30. });