Beiträge: 1.735
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
Hallo,
mir ist aufgefallen das einige Plugins zwingend englische Sprachdateien voraussetzen. Wie kann ich Plugins dazu bringen im deutschen Sprachordner zu suchen?
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
Welche Plugins verlangen dies ?
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 1.735
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
27.03.2015, 01:05
(Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2015, 15:46 von hkkp.)
mention me...
hier mal zur verdeutlichung...
[attachment=10285]
ich habe die sprache englisch bei mir gelöscht. soweit geht auch alles, bis auf mention me. die mention me datei liegt direkt im sprachen-ordner... also nicht im deutsch_du, eines darüber...
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Und warum liegt die Datei dort und nicht im jeweiligen Sprachordner, wo sie hingehört? Ich kann mir nicht vorstellen, dass das nicht mit deutsch_du und deutsch_sie funktionieren soll....
Beiträge: 1.735
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
27.03.2015, 21:06
(Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2015, 21:08 von hkkp.)
wenn es gehen würde, dann wären diese meine beiträge nicht vorhanden.
sie liegt dort, weil es nur dann funktioniert bzw. im nicht mehr vorhandenen englisch-ordner. mit deutsch_du geht es nicht.
lösche ich die datei, dann kommt dies:
Code:
/www/htdocs/xxx/inc/languages//mention.lang.php does not exist
auf einer weisen seite
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Beiträge: 1.735
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
okay. scheint mit der advanced sidebox dasselbe zu sein. habe jetzt die class_language angepasst. bisher sind mir auf die schnelle keine fehler aufgefallen.
PHP-Code:
<?php
/**
* MyBB 1.6
* Copyright 2010 MyBB Group, All Rights Reserved
*
* Website: http://mybb.com
* License: http://mybb.com/about/license
*
* $Id$
*/
class MyLanguage
{
/**
* The path to the languages folder.
*
* @var string
*/
public $path;
/**
* The language we are using.
*
* @var string
*/
public $language;
/**
* The fallback language we are using.
*
* @var string
*/
public $fallback = 'deutsch_du';
/**
* Information about the current language.
*
* @var array
*/
public $settings;
/**
* Set the path for the language folder.
*
* @param string The path to the language folder.
*/
function set_path($path)
{
$this->path = $path;
}
/**
* Check if a specific language exists.
*
* @param string The language to check for.
* @return boolean True when exists, false when does not exist.
*/
function language_exists($language)
{
$language = preg_replace("#[^a-z0-9\-_]#i", "", $language);
if(file_exists($this->path."/".$language.".php"))
{
return true;
}
else
{
return false;
}
}
/**
* Set the language for an area.
*
* @param string The language to use.
* @param string The area to set the language for.
*/
function set_language($language="deutsch_du", $area="user")
{
global $mybb;
$language = preg_replace("#[^a-z0-9\-_]#i", "", $language);
// Default language is deutsch_du.
if($language == "")
{
$language = "deutsch_du";
}
// Check if the language exists.
if(!$this->language_exists($language))
{
die("Language $language ($this->path/$language) is not installed");
}
$this->language = $language;
require $this->path."/".$language.".php";
$this->settings = $langinfo;
// Load the admin language files as well, if needed.
if($area == "admin")
{
if(!is_dir($this->path."/".$language."/{$area}"))
{
if(!is_dir($this->path."/".$mybb->settings['cplanguage']."/{$area}"))
{
if(!is_dir($this->path."/deutsch_du/{$area}"))
{
die("Your forum does not contain an Administration set. Please reupload the deutsch_du language administration pack.");
}
else
{
$language = "deutsch_du";
}
}
else
{
$language = $mybb->settings['cplanguage'];
}
}
$this->language = $language."/{$area}";
$this->fallback = $this->fallback."/{$area}";
}
}
/**
* Load the language variables for a section.
*
* @param string The section name.
* @param boolean Is this a datahandler?
* @param boolean supress the error if the file doesn't exist?
*/
function load($section, $isdatahandler=false, $supress_error=false)
{
// Assign language variables.
// Datahandlers are never in admin lang directory.
if($isdatahandler === true)
{
$lfile = $this->path."/".str_replace('/admin', '', $this->language)."/".$section.".lang.php";
}
else
{
$lfile = $this->path."/".$this->language."/".$section.".lang.php";
}
if(file_exists($lfile))
{
require_once $lfile;
}
elseif(file_exists($this->path."/".$this->fallback."/".$section.".lang.php"))
{
require_once $this->path."/".$this->fallback."/".$section.".lang.php";
}
// Deprecated! This fallback will be removed in future versions!
elseif(file_exists($this->path."/deutsch_du/".$section.".lang.php"))
{
require_once $this->path."/deutsch_du/".$section.".lang.php";
}
else
{
if($supress_error != true)
{
die("$lfile does not exist");
}
}
// We must unite and protect our language variables!
$lang_keys_ignore = array('language', 'path', 'settings');
if(is_array($l))
{
foreach($l as $key => $val)
{
if((empty($this->$key) || $this->$key != $val) && !in_array($key, $lang_keys_ignore))
{
$this->$key = $val;
}
}
}
}
function sprintf($string)
{
$arg_list = func_get_args();
$num_args = count($arg_list);
for($i = 1; $i < $num_args; $i++)
{
$string = str_replace('{'.$i.'}', $arg_list[$i], $string);
}
return $string;
}
/**
* Get the language variables for a section.
*
* @param boolean Admin variables when true, user when false.
* @return array The language variables.
*/
function get_languages($admin=0)
{
$dir = @opendir($this->path);
while($lang = readdir($dir))
{
$ext = my_strtolower(get_extension($lang));
if($lang != "." && $lang != ".." && $ext == "php")
{
$lname = str_replace(".".$ext, "", $lang);
require $this->path."/".$lang;
if(!$admin || ($admin && $langinfo['admin']))
{
$languages[$lname] = $langinfo['name'];
}
}
}
@ksort($languages);
return $languages;
}
/**
* Parse contents for language variables.
*
* @param string The contents to parse.
* @return string The parsed contents.
*/
function parse($contents)
{
$contents = preg_replace_callback("#<lang:([a-zA-Z0-9_]+)>#", array($this, 'parse_replace'), $contents);
return $contents;
}
/**
* Replace content with language variable.
*
* @param array Matches.
* @return string Language variable.
*/
function parse_replace($matches)
{
return $this->$matches[1];
}
}
?>
kann man dies machen?
push it
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 25.776
Themen: 269
Registriert seit: 20.09.2005
Wäre es nicht sinnvoller den/dir Fehler in den Plugins zu beheben?
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.735
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
wahrscheinlich, da es bei mir aber keine englische sprache gibt, dürfte meine umsetzung funktionieren oder?
Mit freundlichen Grüßen
Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Beiträge: 25.776
Themen: 269
Registriert seit: 20.09.2005
Die Fallback-Funktion sollte normalerweise gar nicht benutzt werden.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.