كيف يمكن إضافة منتديات فرعية بلغات اخرى

النقاش العام حول phpBB و خصائصها و إمكانياتها
يمنع طلب الدعم الفني أو طرح المشاكل هنا.

المشرف: alhitary

قوانين المنتدى
يمنع منعاً باتاً اضافه طلبات الدعم الفني او مشاكل الاستايلات او الهاكات هنا ، هناك ساحات مخصصه لكل ذلك !
X-Force
عضو نشيط
عضو نشيط
مشاركات: 111
اشترك في: الأحد يونيو 08, 2008 11:37 pm
مكان: الأردن
اتصال:

??? ???? ????? ??????? ????? ????? ????

مشاركةبواسطة X-Force » الخميس يوليو 03, 2008 5:16 pm

??? ???? ??? phpBB ???? ???? ???? ????? ?????????? ? ??? ????????? ??? ?????? ?????? ????, ? ?? ?? ?????? ????? ????? ?????? POST ?? ?????? ????? ?????? ?????? ????

http://www.google.com/webhp?hl=ar
http://www.google.com/webhp?hl=en
http://www.google.com/webhp?hl=fr




صورة العضو الرمزية
Garebooo
المشرف العام
المشرف العام
مشاركات: 7407
اشترك في: السبت مارس 26, 2005 6:12 am
مكان: phpBB Arabia
اتصال:

??? ???? ????? ??????? ????? ????? ????

مشاركةبواسطة Garebooo » الخميس يوليو 03, 2008 6:23 pm

??? ???? ?? ???? ???
من فضلك استخدم نموذج طلب الدعم عند اضافة مشكلتك
بعد حل مشكلتك فضلاً ضع [ مجابة ] في عنوان الموضوع حتى يتنظم الموقع بشكل اكبر

Almsamim
عضو شرف
عضو شرف
مشاركات: 239
اشترك في: الأربعاء أغسطس 01, 2007 1:07 pm
مكان: localhost

??? ???? ????? ??????? ????? ????? ????

مشاركةبواسطة Almsamim » الخميس يوليو 03, 2008 8:40 pm

??? ??? ??? ??????? ??????? ???? ??? ?????
???? ??? ??? ????? ??????? ??? ??? ????? ?? phpmyadmin

كود: تحديد الكل

ALTER TABLE phpbb_sessions ADD session_lang varchar(30) DEFAULT 'en' NOT NULL;


???? : includes/sessions.php
???? ?? :

كود: تحديد الكل

         'session_viewonline'   => ($viewonline) ? 1 : 0,

??? ?????

كود: تحديد الكل

         'session_lang'         => (string) lang_selector::guess_lang($this->data), 


???? ??

كود: تحديد الكل

      if ($this->data['user_id'] != ANONYMOUS)
      {
         $this->lang_name = (file_exists($phpbb_root_path . 'language/' . $this->data['user_lang'] . "/common.$phpEx")) ? $this->data['user_lang'] : basename($config['default_lang']);
         $this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';

         $this->date_format = $this->data['user_dateformat'];
         $this->timezone = $this->data['user_timezone'] * 3600;
         $this->dst = $this->data['user_dst'] * 3600;
      }
      else
      {
         $this->lang_name = basename($config['default_lang']);
         $this->lang_path = $phpbb_root_path . 'language/' . $this->lang_name . '/';
         $this->date_format = $config['default_dateformat'];
         $this->timezone = $config['board_timezone'] * 3600;
         $this->dst = $config['board_dst'] * 3600;

         /**
         * If a guest user is surfing, we try to guess his/her language first by obtaining the browser language
         * If re-enabled we need to make sure only those languages installed are checked
         * Commented out so we do not loose the code.

         if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
         {
            $accept_lang_ary = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);

            foreach ($accept_lang_ary as $accept_lang)
            {
               // Set correct format ... guess full xx_YY form
               $accept_lang = substr($accept_lang, 0, 2) . '_' . strtoupper(substr($accept_lang, 3, 2));
               $accept_lang = basename($accept_lang);

               if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
               {
                  $this->lang_name = $config['default_lang'] = $accept_lang;
                  $this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
                  break;
               }
               else
               {
                  // No match on xx_YY so try xx
                  $accept_lang = substr($accept_lang, 0, 2);
                  $accept_lang = basename($accept_lang);

                  if (file_exists($phpbb_root_path . 'language/' . $accept_lang . "/common.$phpEx"))
                  {
                     $this->lang_name = $config['default_lang'] = $accept_lang;
                     $this->lang_path = $phpbb_root_path . 'language/' . $accept_lang . '/';
                     break;
                  }
               }
            }
         }
         */
      }


?????? ??

كود: تحديد الكل

      lang_selector::set_user_lang($this);

      if ($this->data['user_id'] != ANONYMOUS)
      {
         $this->date_format = $this->data['user_dateformat'];
         $this->timezone = $this->data['user_timezone'] * 3600;
         $this->dst = $this->data['user_dst'] * 3600;
      }
      else
      {
         $this->date_format = $config['default_dateformat'];
         $this->timezone = $config['board_timezone'] * 3600;
         $this->dst = $config['board_dst'] * 3600;
      }


???? ??

??? ?????

كود: تحديد الكل

class lang_selector
{
   function guess_lang($userdata)
   {
      global $phpbb_root_path, $phpEx, $config, $db;

      $sql = 'SELECT *
         FROM ' . LANG_TABLE;
      $result = $db->sql_query($sql, 3600);
      $languages = array();
      while ($row = $db->sql_fetchrow($result))
      {
         $languages[$row['lang_dir']] = $row;
      }

      if ($userdata['user_id'] == ANONYMOUS)
      {
         if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
         {
            foreach (explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']) as $lang)
            {
               // Set correct format ... guess full xx_YY form
               $lang = substr($lang, 0, 2) . '_' . strtoupper(substr($lang, 3, 2));

               if (isset($languages[basename($lang)]))
               {
                  return $lang;
               }

               // No match on xx_YY so try xx
               $lang = substr($lang, 0, 2);

               if (isset($languages[basename($lang)]))
               {
                  return $lang;
               }
            }
         }
      }
      else if (isset($languages[$userdata['user_lang']]))
      {
         return $userdata['user_lang'];
      }
      return basename($config['default_lang']);
   }

   function set_user_lang(&$user)
   {
      global $phpbb_root_path;

      $user->lang_name =  lang_selector::get_session_lang($user->data);
      $user->lang_path = "{$phpbb_root_path}language/{$user->lang_name}/";

      if ($user->lang_name != $userdata['user_lang'] && $userdata['user_id'] != ANONYMOUS)
      {
         lang_selector::change_user_lang($user->data['user_id'], $user->lang_name);
      }
   }

   function get_session_lang($userdata)
   {
      global $phpbb_root_path, $phpEx;

      $lang = request_var('lang', '', false, true);
      if (empty($lang) || $lang == $userdata['session_lang'])
      {
         return $userdata['session_lang'];
      }

      if (!file_exists("{$phpbb_root_path}language/$lang/common.$phpEx"))
      {
         return $userdata['session_lang'];
      }

      lang_selector::change_session_lang($userdata['session_id'], $lang);
      if ($userdata['user_id'] != ANONYMOUS)
      {
         lang_selector::change_user_lang($userdata['user_id'], $lang);
      }
      return $lang;
   }

   function change_session_lang($session_id, $lang)
   {
      global $db;

      $sql = 'UPDATE ' . SESSIONS_TABLE . '
         SET session_lang = "' . $lang . '"
         WHERE session_id = "' . $session_id . '"';
      $db->sql_query($sql);
   }

   function change_user_lang($user_id, $lang)
   {
      global $db;

      $sql = 'UPDATE ' . USERS_TABLE . '
         SET user_lang = "' . $lang . '"
         WHERE user_id = ' . $user_id;
      $db->sql_query($sql);
   }
}


? ??? ??? ??????? lang=ar , lang=en
? ????? ???????
?? ???? ??????

X-Force
عضو نشيط
عضو نشيط
مشاركات: 111
اشترك في: الأحد يونيو 08, 2008 11:37 pm
مكان: الأردن
اتصال:

??? ???? ????? ??????? ????? ????? ????

مشاركةبواسطة X-Force » الجمعة يوليو 04, 2008 8:39 am

????? ??? Almsamim ????? ?? ???? :cry:


العودة إلى ”النقاش العام حول phpBB“

الموجودون الآن

المتصفحون للمنتدى الآن: لا يوجد أعضاء مسجلين متصلين و 3 زوار