Today Yesterday Hack Multilingual anpassen

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
mode
Mitglied
Beiträge: 4
Registriert: 21.12.2004 18:44

Today Yesterday Hack Multilingual anpassen

Beitrag von mode »

Hallo,

Ich habe den Today/Yesterday Hack von phpbbhacks.com eingebaut. Dazu ist ja nur eine aenderung der functions.php notwendig. Daraus resultiert, dass die Woerter Today und Yesterday Hardcoded sind. Nicht so gut. Ich habe sie nun schon auf Heute und Gestern umgebaut aber das is ja auch keine richtige Loesung.

Wie kann ich es schaffen dass ich die Worte in der (z.B. fuer GER) /language/lang_german/lang_main.php festlege?

Also wie kann ich aus der functions.php auf die
$lang['TODAY'] = '<b>Heute</b>';
aus der lang_main.php zugreifen?


Hatte schon Loesungsideen die aber nach hinten losgegangen sind :(
Folgende Aenderungen habe ich an der Funktion Create_date vorgenommen:

Code: Alles auswählen

function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang, $template;    // Hier $template hinzugefuegt

	$template->assign_vars(array(
		'L_Today' => $lang['TODAY'])
	);

// Dann mod hinzufeguegt und die Zeile $L_Today = 'Today'; auskommentiert.
Leider funktioniert das nicht, es wird einfach an der Stelle nichts angezeigt.

Wo ist mein Fehler?


Gruss

Mode
mode
Mitglied
Beiträge: 4
Registriert: 21.12.2004 18:44

Beitrag von mode »

hmm keiner ne Idee?

Wenn man schon mal was verstehen will und nicht nur das es funktioniert... Schade :(
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

wie sah den der Codeabschnitt original aus? also ohne Lang-Anpassung?
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
mode
Mitglied
Beiträge: 4
Registriert: 21.12.2004 18:44

Beitrag von mode »

Code: Alles auswählen

//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

// friendly date mod\\*******************

	$thetime = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
	
	$L_Today = '<b>Today</b>';
	$L_Yesterday = 'Yesterday';
	$time_format = " - H:i";// - hour:minute am/pm
	
	$date = getdate();
	$today = $date['mday'];
	$month = $date['mon'];
	$year = $date['year'];

	$forum_date_today = @gmdate ("d", $gmepoch);
	$forum_date_month = @gmdate ("m", $gmepoch);
	$forum_date_year = @gmdate ("Y", $gmepoch);
	
	if ($forum_date_today == $today && $forum_date_month == $month && $forum_date_year == $year)
		$thetime = $L_Today . @gmdate ($time_format, $gmepoch);//today
	
	else
	if ($today != 1 && $forum_date_today == ($today-1) && $forum_date_month == $month && $forum_date_year == $year)
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
		
	else
	//if today is 1 and the month is not 1, then we have to check how many days in the previews month
	//and then set $yesterday to the last day in the previews month
	if ($today == 1 && $month != 1)
	{
	$yesterday = date ("t", mktime(0,0,0,($month-1),1,$year));//returns how many days in the previews month
	if ($forum_date_today == $yesterday && $forum_date_month == ($month-1) && $forum_date_year == $year)
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
	}
	else 
	//if we are in the first day in the year
	if ($today == 1 && $month == 1)
	{
	$yesterday = date ("t", mktime(0,0,0,12,1,($year -1)));
	if ($forum_date_today == $yesterday && $forum_date_month == 12 && $forum_date_year == ($year-1))
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
	}

   	return ($thetime);
//end friendly date \\*******************************

	// return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
}
Benutzeravatar
kratzer54847
Mitglied
Beiträge: 3065
Registriert: 20.01.2003 16:34
Wohnort: Düsseldorf/Hannover/Berlin
Kontaktdaten:

Beitrag von kratzer54847 »

versuch mal:

Code: Alles auswählen

// 
// Create date/time from format and timezone 
// 
function create_date($format, $gmepoch, $tz) 
{ 
   global $board_config, $lang; 
   static $translate; 

   if ( empty($translate) && $board_config['default_lang'] != 'english' ) 
   { 
      @reset($lang['datetime']); 
      while ( list($match, $replace) = @each($lang['datetime']) ) 
      { 
         $translate[$match] = $replace; 
      } 
   } 

// friendly date mod\\******************* 

   $thetime = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
    
   $time_format = " - H:i";// - hour:minute am/pm 
    
   $date = getdate(); 
   $today = $date['mday']; 
   $month = $date['mon']; 
   $year = $date['year']; 

   $forum_date_today = @gmdate ("d", $gmepoch); 
   $forum_date_month = @gmdate ("m", $gmepoch); 
   $forum_date_year = @gmdate ("Y", $gmepoch); 
    
   if ($forum_date_today == $today && $forum_date_month == $month && $forum_date_year == $year) 
      $thetime = $lang['TODAY'] . @gmdate ($time_format, $gmepoch);//today 
    
   else 
   if ($today != 1 && $forum_date_today == ($today-1) && $forum_date_month == $month && $forum_date_year == $year) 
      $thetime = $lang['yesterday'] . @gmdate ($time_format, $gmepoch);//yesterday 
       
   else 
   //if today is 1 and the month is not 1, then we have to check how many days in the previews month 
   //and then set $yesterday to the last day in the previews month 
   if ($today == 1 && $month != 1) 
   { 
   $yesterday = date ("t", mktime(0,0,0,($month-1),1,$year));//returns how many days in the previews month 
   if ($forum_date_today == $yesterday && $forum_date_month == ($month-1) && $forum_date_year == $year) 
      $thetime = $lang['yesterday'] . @gmdate ($time_format, $gmepoch);//yesterday 
   } 
   else 
   //if we are in the first day in the year 
   if ($today == 1 && $month == 1) 
   { 
   $yesterday = date ("t", mktime(0,0,0,12,1,($year -1))); 
   if ($forum_date_today == $yesterday && $forum_date_month == 12 && $forum_date_year == ($year-1)) 
      $thetime = $lang['yesterday'] . @gmdate ($time_format, $gmepoch);//yesterday 
   } 

      return ($thetime); 
//end friendly date \\******************************* 

   // return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 
} 
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP

Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden ;-)
mode
Mitglied
Beiträge: 4
Registriert: 21.12.2004 18:44

Beitrag von mode »

Alles klar,

Danke fuer deinen Tipp!

Hab den Mod so gelassen und diese Zeilen eingefuegt. Damit geht es wunderbar :)

Code: Alles auswählen

	$L_Today = $lang['TODAY'];
	$L_Today = $lang['YESTERDAY'];
	$time_format = $lang['TIMEFORMAT'];

Prost Neujahr


Mode
Antworten

Zurück zu „phpBB 2.0: Mod Support“