Übersetzung der Foren-Beschreibungen!

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

WOW good work 8)

..also wenn ein Kategorie Titel z.B. so aussieht:

.::Kategorie 1::.

muss ich dann alle ":" mit einem "\" auskommentieren?
Zuletzt geändert von Fitnessboarder am 12.11.2002 15:54, insgesamt 1-mal geändert.
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

Ui ui ui.. also das mit dem [$i] statt dem [$j] scheint nicht zu funktionieren:

Code: Alles auswählen

#-----[ OPEN ]------------------------------------------ 
# 
/index.php 
# 
#-----[ FIND ]------------------------------------------ 
# 
                        'CAT_DESC' => $category_rows[$i]['cat_title'], 
# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
                        'CAT_DESC' => get_lang_desc($category_rows[$i]['cat_title'], $board_config['default_lang']), // EDITED BY
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

und dann noch eine optimierung in der functions.php:
suche:

Code: Alles auswählen

function get_lang_desc($desc, $lang)
{
[...]
}
ersetzen durch:

Code: Alles auswählen

function get_lang_desc($desc, $lang)
{
	static $backup;
	if ( empty($desc) )
	{
		return '';
	}
	if ( !strpos(' ' . $desc, '|') && !strpos(' ' . $desc, ':') )
	{
		return $desc;
	}
	if ( !isset($backup[$desc]) )
	{
		$desc_array = explode('|', $desc);
		$c_desc = count($desc_array);
		for ( $i = 0; $i < $c_desc; $i++ )
		{
			$desc = $desc_array[$i];
			$strlen = strlen($desc);
			while ( substr($desc, $strlen - 1, 1) == "\\" )
			{
				$i++;
				$desc = substr($desc, 0, $strlen - 1) . $desc_array[$i];
			}
			list($key, $value) = explode(':', $desc, 2);
			if ( empty($value) )
			{
				$value = $key;
				$key = 'else';
			}
			else
			{
				$key = strtolower(trim($key));
			}
			$desc_by_lang[$key] = $value;
		}
		if ( !isset($desc_by_lang[$lang]) )
		{
			if( isset($desc_by_lang['else']) )
			{
				$lang = 'else';
			}
			else if( isset($desc_by_lang['english']) )
			{
				$lang = 'english';
			}
			else
			{
				$lang = 0;
			}
		}
		$backup[$desc] = $desc_by_lang[$lang];
	}
	return $backup[$desc];
}
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

Man bekommt einen parse error in der "viewforum.php", wenn man diesen Code verwendet:
$page_title = $lang['View_forum'] . ' - ' . get_lang_desc($forum_row['forum_name'];
so ist es richtig:

Code: Alles auswählen

$page_title = $lang['View_forum'] . ' - ' . get_lang_desc($forum_row['forum_name'], $board_config['default_lang']);
Was jetzt bloss noch offen ist, warum es mit den Kategorie Namen nicht funzt...?
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

hmm warum was wird den angezeigt?
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

Also Kategorie Bezeichnungen sehe ich im Moment gar nicht... :(
weder beim Index noch in der Combobox im Suchfenster..
--------------
okay hat sich geklärt, es lag nur an den Bezeichnungen

zB ".::Kategorie1::." mit den ganzen (Doppel-)Punkten! :)

also wenn ich die Punkte nicht wegnehmen möchte wie sollte das
dann aussehen? Ich probier's jetzt mal einfach mit

"\.\:\:Kategorie1\:\:\.|english:\.\:\:Category1\:\:\." :)

hmm ich komm nicht drauf.... :cry:
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

eigendlich sollten die doppelpunkte nichts ausmachen...
welche php version benutzt du?

ah
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

Auf meinem Server läuft PHP Version 4.1.2

also ohne Doppelpunkte funktioniert's wunderbar.. :-?
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

hmm eigendlich sollte die explode funktion mir einem limit von 2 nur zwei teile ausgeben. die limit funktion gibts ja schon seit version 4.0.1...

naja dann machen wirs halt anders...
suche in der functions.php:

Code: Alles auswählen

function get_lang_desc($desc, $lang)
{
[...]
}
ersetzen durch:

Code: Alles auswählen

function get_lang_desc($desc, $lang)
{
	static $backup;
	if ( empty($desc) )
	{
		return '';
	}
	if ( !strpos(' ' . $desc, '|') && !strpos(' ' . $desc, ':') )
	{
		return $desc;
	}
	if ( !isset($backup[$desc]) )
	{
		$desc_array = explode('|', $desc);
		$c_desc = count($desc_array);
		for ( $i = 0; $i < $c_desc; $i++ )
		{
			$desc = $desc_array[$i];
			$strlen = strlen($desc);
			while ( substr($desc, $strlen - 1, 1) == "\\" )
			{
				$i++;
				$desc = substr($desc, 0, $strlen - 1) . $desc_array[$i];
			}
			if ( !($pos = strpos($desc, ':')) )
			{
				$value = $desc;
				$key = 'else';
			}
			else
			{
				$key = strtolower(trim(substr(0, $pos)));
				$value = substr($desc, $pos + 1);
			}
			$desc_by_lang[$key] = $value;
		}
		if ( !isset($desc_by_lang[$lang]) )
		{
			if( isset($desc_by_lang['else']) )
			{
				$lang = 'else';
			}
			else if( isset($desc_by_lang['english']) )
			{
				$lang = 'english';
			}
			else
			{
				$lang = 0;
			}
		}
		$backup[$desc] = $desc_by_lang[$lang];
	}
	return $backup[$desc];
}
ah
Zuletzt geändert von saerdnaer am 16.11.2002 21:11, insgesamt 1-mal geändert.
Fitnessboarder
Mitglied
Beiträge: 25
Registriert: 02.11.2002 18:37

Beitrag von Fitnessboarder »

Okay 2 kleine Syntaxfehler sind da drin

Code: Alles auswählen

         $desc 
         if ( !($pos = strpos($desc, ':')) ) 
         { 
            $value = $desc; 
            $key = 'else'; 
         } 
         else 
         { 
            $key = strtolower(trim(substr(0, $pos));
hinterm $desc fehlt ein ";" und in der letzten zeile ")".
Ansonsten funktionierts jetzt mit "::Kategorie1::", aber nicht
mehr mit ".::Kategorie1::." irgendwie stören da die Punkte...
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“