Page 2 of 2

Re: Zweisprachigkeit: Navigationsleisten-Links

Posted: Thu May 12, 2011 3:19 pm
by goethe
Hi,
Zu Fragen ist: Hast du die CONSTANTS auch in die templates/bulletproof/lang_en.inc.php eingetragen? (Ich könnte mir vorstellen, dass eine en Datei im UTF-8 Ordner nichts bringt)
Es gibt auf dieser Ebene (templates/bulletproof/) keine lang_en.inc.php oder lang_de.inc.php!? Das scheint aber nicht der Grund zu sein, da diese Dateien auch in unserem Testblog ([url]origin-http://blog.goethe.de/testblog[/url]) nicht existieren, der Sprachwechsel aber trotzdem funktioniert (siehe Start vs. Home).
Liegt der eingefügte modifier |@serendipity_constant auch wirklich innerhalb von {if $template_option.sitenavpos == 'below'} ??
Ja, liegt er. Ich habe unten den Code eingefügt:

Code: Select all

{if $template_option.sitenavpos == 'below'}
            <!-- #sitenav: this holds a list of navigational links which can be customized   -->
            <!--           in the theme configurator                                         -->
            <div id="sitenav" class="snbelow">
                <ul>
                    {foreach from=$navlinks item="navlink" name="navbar"}
                        <li class="{if $currpage==$navlink.href or $currpage2==$navlink.href}currentpage{/if}{if $smarty.foreach.navbar.first} navlink_first{/if}{if $smarty.foreach.navbar.last} navlink_last{/if}"><a href="{$navlink.href}" title="{$navlink.title|@serendipity_constant}">{$navlink.title|@serendipity_constant}</a></li>
                    {/foreach}
                </ul>
Beachte, dass deine Beispiel-Konstante MENU_1 im <de> nicht alteriert.

Okay, das habe ich geändert. Lautet jetzt auch:

Code: Select all

<?php
@define('MENU_1', 'Start');
@define('MENU_2', 'Kultur');
@define('MENU_3', 'Tagebuch');
Da die Function is defined abfragt, muss der eingefügte Code unterhalb von
CODE: SELECT ALL
include dirname(__FILE__) . '/lang_en.inc.php';

function serendipity_constant($zeichenkette) { ....

liegen
Tut er, siehe:

Code: Select all

<?php
if (IN_serendipity !== true) {
  die ("Don't hack!");
}

$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';

if (file_exists($probelang)) {
    include $probelang;
}

include dirname(__FILE__) . '/lang_en.inc.php';

$serendipity['smarty']->assign(array('currpage'=> "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']));
$serendipity['smarty']->assign(array('currpage2'=> $_SERVER['REQUEST_URI']));

function serendipity_constant($zeichenkette) {
  if (defined($zeichenkette)) {
    return constant($zeichenkette);
  } else {
    return $zeichenkette;
  }
}
$serendipity['smarty']->register_modifier('serendipity_constant', 'serendipity_constant');
Sehr mysteriös. Aber danke auf jeden Fall schon mal für Deine Hilfe!

Katrin

Re: Zweisprachigkeit: Navigationsleisten-Links

Posted: Thu May 12, 2011 4:04 pm
by Timbalu
goethe wrote:
Zu Fragen ist: Hast du die CONSTANTS auch in die templates/bulletproof/lang_en.inc.php eingetragen? (Ich könnte mir vorstellen, dass eine en Datei im UTF-8 Ordner nichts bringt)
Es gibt auf dieser Ebene (templates/bulletproof/) keine lang_en.inc.php oder lang_de.inc.php!? Das scheint aber nicht der Grund zu sein, da diese Dateien auch in unserem Testblog ([url]origin-http://blog.goethe.de/testblog[/url]) nicht existieren, der Sprachwechsel aber trotzdem funktioniert (siehe Start vs. Home).
Natürlich "bulletproof" als Synonym für deinen Templatenamen...
Das kann nicht sein. Etwas was nicht definiert ist, kann auch nicht umgesetzt sein/werden (siehe function)!

Die lang files sollten aber Bestandteil von Bulletproof sein, jeweils im root des templates und ebenfalls unter /utf-8/.
Kopiere sie einfach vom Original in templates/neue_vorlage herüber und füge deine Constants ein.

Bei mir gehts ohne Probleme.

Re: Zweisprachigkeit: Navigationsleisten-Links

Posted: Thu May 12, 2011 5:26 pm
by goethe
Natürlich "bulletproof" als Synonym für deinen Templatenamen...
Das kann nicht sein. Etwas was nicht definiert ist, kann auch nicht umgesetzt sein/werden (siehe function)!
Klar, soweit hab ich mitgedacht ;)

Hab die lang-Files neu runtergeladen und ins Template-Root gesteckt, die Constants dort eingefügt, hat aber auch nichts geholfen.

Hm, echt mysteriös.

Grüße,
Katrin

Re: Zweisprachigkeit: Navigationsleisten-Links

Posted: Thu May 12, 2011 5:37 pm
by Timbalu
hmm geh doch mal Schritt für Schritt durch, was den "testblog" (wo es funktioniert) vom "neue_vorlage" diesbezüglich unterscheidet.... Oder benenne ihn mal in "neuevorlage" um, ohne Unterstrich. ;-)

Re: Zweisprachigkeit: Navigationsleisten-Links

Posted: Thu May 12, 2011 6:06 pm
by garvinhicking
Hi!

Mir scheint als würde dann die Sprachdatei garnicht gelesen werden.

Die PHP-Zeile:

Code: Select all

$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';

if (file_exists($probelang)) {
    include $probelang;
}
kannst du ja mal testweise ändern in:

Code: Select all

$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';

if (file_exists($probelang)) {
    include $probelang;
    die($probelang . ' wurde gefunden!');
} else {
    die($probelang . ' wurde nicht gefunden!');
}
dann siehst du auch welche Sprachdatei ganz exakt eingebunden wird...evtl stimmen Leserechte ovn der Datei nicht oder so...

Grüße,
Garvin