Hallo, Gast! (Registrieren)

Letzte Ankündigung: Sicherheitsupdate: MyBB 1.8.30 veröffentlicht (09.03.22)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Plugins und die Sprache
#1
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!
Zitieren
#2
Welche Plugins verlangen dies ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#3
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!
Zitieren
#4
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....
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#5
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!
Zitieren
#6
scheint ein alter Bug zu sein:
https://github.com/WildcardSearch/MentionMe/issues/72
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
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!
Zitieren
#8
Wäre es nicht sinnvoller den/dir Fehler in den Plugins zu beheben?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
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!
Zitieren
#10
Die Fallback-Funktion sollte normalerweise gar nicht benutzt werden.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Probleme mit Plugins und Sprache SirValek 1 801 20.01.2017, 12:29
Letzter Beitrag: MrBrechreiz