Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Jak zrobić plik językowy stylu ze zmiennymi dostępnymi w szablonie?

Założony przez  Swordancer.

wersja skryptu MyBB: 1.6.12
adres forum: nie dotyczy
na czym polega problem (screen, opis, komunikaty, nazwa stylu/theme/szablonu):

Witam

Przerabiam domyślny styl mybb i chciałem stworzyć plik językowy do stylu w którym umieszczę odpowiednie zmienne. Normalnie w folderze "polish" stylu znajdują się grafiki, ale ja używam tekstu do niektórych buttonów, zamiast grafik chcę dać tam plik języka. Czy możliwe jest aby w szablonie headerinclude dodać odpowiedni plik, a później wczytać zmienne w nim zawarte do pozostałych szablonów? W części przycisków już od razu wykorzystałem zmienne językowe, które są w mybb, ale niektórych nie ma i te brakujące właśnie chcę dodać do pliku lang, w folderze językowym stylu. Na php się zbytnio nie znam i nie wiem, czy to co kombinuję w ogóle jest możliwe. Wiecie czy da się tak zrobić, a jeśli tak, to jak? Proszę o konkretny przykład.
Forum: https://odjechani.com.pl Konto testowe - Login:Mybboard.pl Hasło:mybboard Posiadam link do Mybboard.pl w stopce. 
Da się.

1. Tworzysz plik o nazwie (przykładowa) plik.lang.php o treści wzorowanej na:
<?php
/**
 * MyBB 1.6.12 Polish Language Pack
 * Copyright © 2008-2011 MyBBoard.pl Team
 * See readme.html for copyright information. | Zapoznaj sie z plikiem czytaj_to.html.
 * Autorzy: bryn, DamYan, gigi, matc, szulcu | Testerzy: hippie
 */

$l['jakistekst'] = "Tutaj podaj tekst, ten co ma się wyświetlić.";
$l['jakistekstinny'] = "Tutaj podaj tekst, ten co ma się wyświetlić. Inny";
?>
2. Wrzucasz go do folderu english / polish.
3. Otwierasz plik, w którym ma być wykorzystany lang (jeśli chodzi o posty to showthread.php) chociaż ja polecam global.php (wtedy będzie wszędzie, gdzie użyjesz.
4. Szukasz:
$lang->load("global"); 
pod tym dodajesz:
$lang->load("plik"); 
5. Przechodzisz do szablonu, w którym chcesz użyć zmiennej z lang, i dodajesz (wzorowane na przykładowym pliku który stworzyliśmy) {$lang->jakistekst}
Ten jakistekst został wzięty z tego: $l['jakistekst'].
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
Można się też obyć bez modyfikacji oryginalnych plików - ta praktyka eliminuje problemy przy aktualizacji. Osiągniemy to przez stworzenie pluginu (styl.php w inc/plugins/) który załaduje plik językowy:
<?php

$plugins
->add_hook('global_start''styl_lang');

function 
styl_info ()
{
    return array(
        
'name'           => 'Styl - zmienne językowe',
        
'description'    => '',
        
'website'        => '',
        
'author'         => '-',
        
'authorsite'     => '',
        
'version'        => '1.0',
        
'guid'           => '',
        
'compatibility'  => '',
    );
}

function 
styl_activate () {
}

function 
styl_deactivate () {
}

function 
styl_lang () {
    global 
$lang;
    
$lang->load('styl'); // nazwa pliku językowego
}

?>
Hmm... To jest jednak inwazyjna metoda, tzn. muszę coś wstawić do pliku global.php, a ja nie chcę kompletnie ingerować w samo mybb. Inaczej po prostu w szablonie wstawiłbym polskie tłumaczenie, bez żadnych wczytywanych zmiennych i tyle. Nie da się tłumaczenia wczytać inaczej do szablonu?

Koniecznie muszę specjalny plugin pod styl pisać?
Forum: https://odjechani.com.pl Konto testowe - Login:Mybboard.pl Hasło:mybboard Posiadam link do Mybboard.pl w stopce. 
(23.02.2014, 00:30)Swordancer napisał(a): Koniecznie muszę specjalny plugin pod styl pisać?

Teoretycznie to nie musisz go pisać, bo Devilshakerz już to zrobił. Podajesz tam nazwę pliku lang.

Jak napisał, jest to najlepszy sposób.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
I rozumiem jedyny? Szkoda, bo styl do którego specjalnie trzeba instalować jakiś mikro plugin tylko po to, aby wyświetlał poprawny dla języka tekst w przyciskach raczej nie wchodzi w grę. Chyba będę musiał zrobić jednak graficzne i po prostu wstawić w "polish" obrazki. Rozumiem, że aby dodać niestandardowy użyteczny szablon, to też muszę jakiś plugin pisać, lub w plikach grzebać?
Forum: https://odjechani.com.pl Konto testowe - Login:Mybboard.pl Hasło:mybboard Posiadam link do Mybboard.pl w stopce. 
(23.02.2014, 00:46)Swordancer napisał(a): I rozumiem jedyny? Szkoda, bo styl do którego specjalnie trzeba instalować jakiś mikro plugin tylko po to, aby wyświetlał poprawny dla języka tekst w przyciskach raczej nie wchodzi w grę.
Bez modyfikacji plików się nie obejdzie. Taki plugin ma znikomy wpływ na wydajność, więc moim zdaniem to lepsze rozwiązanie od dodawania czegoś do oryginalnych plików.

Możesz też dodać własne zmienne do istniejąctch już plików językowych (choć to też oryginalne pliki).

Cytat:Rozumiem, że aby dodać niestandardowy użyteczny szablon, to też muszę jakiś plugin pisać, lub w plikach grzebać?
Tak; w szablonach można dołączać tylko zmienne - te muszą być najpierw ustawione w plikach .php które te szablony wykorzystują.



Użytkownicy przeglądający ten wątek:

1 gości