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

النقاش العام حول 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“

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

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