A PHP hogy kezeli a fájlnevekben a "-" és a "_" jeleket valamint a Kis és nagy kezdőbetűket?
Ha például van egy program amiben a fájlnevek rapszodikusan hol kötőjellel, hol alul vonást hol meg semmit nem használnak a fájlnévben az mennyire van rendben?
Nekem kissé összetákoltnak tűnik. Az, hogy az egyik mappában így vannak a fájlnevek pl.
akarmi_fajl_egy.php
A másik mappában így: masik-fajl-ketto.php
vagy egy harmadik helyen így: HarmadikFajlHarom.php
esetleg keverve így: Negyedik-fajl_negy.php
És ez mellé van mondjuk egy nyelvi fájl ahol meg össze van keverve az egész. Egy példa: hivatkozik a HarmadikFajlHarom.php 2154. sorárára így:
#: mappa/harmadik_fajl_harom.php 2154
msgid "Angol szöveg"
msgstr "Forditott szöveg"
Na most erre még rá jön az, hogy hol lefordítja az eredeti szöveget, hol nem.
Úgy tűnik mintha nem érdekelné, hogy van-e alul vonás vagy nincs simán megjelenik a fordítás.
Egy másik mappa másik fájlnál tökéletesen egyezik a fájlnév és a nyelvi fájlban a hivatkozás rá, és ott meg nem fordítja le, hiába van megadva a fordítás.
Most akkor a teljes programot át kellene nézni beállítani egységesre, ráadásul gondolom függőségek is lehetnek. Szóval mi lehet ilyenkor a megoldás.
Elnézést ha kissé hosszú voltam, de szerettem volna mindent leírni amiről úgy gondoltam fontos lehet.





Hali!
Mindhárom verzió működőképes, bár keverve szerintem kókány hatást kelt.
A kérdés az hogy ahol nem fordítja le a szöveget ott a forrásban sincs lefordítva?
Szia,
Ez elvileg egy fizetős WordPress plugin, aminek nincs magyar fordítása. Van viszon .pot fájl amit akár a POEdit akár a belső Loco plugin megtud nyitni és tud belőle po és .mo fájlokat készíteni. Melyekkel ugye jó esetben lefordíthatnám a különöző Angol szövegeket.
Azonban hiába készül el a teljes fordítás, a megjelenítés után nem mindent hajlandó lefordítani.
Ezért bátorkodtam bele nézni a plugin mappáiba a fájlokba és akkor láttam amit fentebb leírtam.
Ami a kérdést illeti két verziót találtam hirtelen a nyelvi fájlban.
Az első és ezt éppen lefordítja:
Létező fájl: mappa/HarmadikFajlHarom.php
A nyelvi fájlban így hivatkozza a fájl 2154. sorát:
#: mappa/harmadik_fajl_harom.php 2154
msgid "Angol szöveg"
msgstr "Forditott szöveg"
Egy másik szöveg esetében pedig így és ezt éppen nem fordítja le.
Létező fájl: mappa/akarmi_fajl_egy.php
A fordítás fájlban pedig ez van:
#: mappa/akarmi_fajl_egy.php 54
msgid "Angol szöveg"
msgstr "Forditott szöveg"
A két példában nézd az eredeti fájlneveket és a hivatkozást a fájlnév valamely sorára.
A forrásban a megjeleölt sorokban nem is találtam még csak hasonló szöveget sem, szóval ott biztos nincs lefordítva. Mivel nem értek hozzá, gondolom az angol szöveget is be húzza valahonnan.
Talán még annyit fűznék hozzá, hogy Firefoxban ha a helyi menüben az "Elem vizsgálata" sorra kattintok és azon belül a "Konzolt" választom iszonyatosan sok sárga felkiáltójeles háromszög jelenik meg mindenféle hiba üzenettel.
Csak néhány az elejéről:
Hiba a(z) „content” értékének értelmezése közben. A deklaráció el lett dobva. my-account:180:16
A szabálykészlet figyelmen kívül hagyva rossz szelektor miatt. style.css:1:19411
A szabálykészlet figyelmen kívül hagyva rossz szelektor miatt. style.css:1:20601
A várt médiafunkciónév helyett „-ms-high-contrast” található. style.css:1:35591
A várt médiafunkciónév helyett „-ms-high-contrast” található. style.css:1:35627
A szabálykészlet figyelmen kívül hagyva rossz szelektor miatt. style.css:1:62361
Ismeretlen pszeudoosztály vagy pszeudoelem „-moz-focus-outer”. A szabálykészlet figyelmen kívül hagyva rossz szelektor miatt. style.css:1:62754
Ismeretlen pszeudoosztály vagy pszeudoelem „-ms-thumb”. A szabálykészlet figyelmen kívül hagyva rossz szelektor miatt.





Így néz ki Wordpressben, amikor valami több nyelven tud megjelenni:
__( 'Blog Options', 'my-plugin' );
_e( 'Blog Options', 'my-plugin' );
A Blog Options rész maga a fordítandó szöveg, a my-plugin pedig az, hogy melyik nyelvi fájlból kell kiolvasnia. Ha itt is összevissza vannak irkálva a dolgok, akkor azért rossz.





Szia, erre gondolsz?
Egy példa valahonan az egyik fájlból:
<div class="stats">
<h4><?php echo $data['stats']['top_rank'];?></h4>
<?php _e('Top Rank', 'uap');?>
</div>
És a Languages mappában a nyelvi fájl ok így néznek ki:
uap.pot
uap-hu_HU.po
uap-hu_HU.mo





Azt javaslom, hogy a nem működő fordításokra mappában kereséssel keress rá Notepad++, vagy Visual Studio Code programmal, mert azok át tudnak nézni minden fájlt egy mappában.
<div class="stats">
<h4><?php echo $data['stats']['top_rank'];?></h4> - Ez valószínűleg adatbázisból jön, vagy fene tudja
<?php _e('Top Rank', 'uap');?> - Ha az uap texdomain helyes és a plugin betölti a nyelvi fájt, akkor ez lefordítódik
</div>
Lehetséges hiba: elírt textdomain
<div class="stats">
<h4><?php echo $data['stats']['top_rank'];?></h4>
<?php _e('Top Rank', 'ups');?>
</div>
Lehetséges hiba: fix angol szöveg
<div class="stats">
<h4><?php echo $data['stats']['top_rank'];?></h4>
Top Rank
</div>
Úgy tűnik ez a része is rendben van.
Annyi, hogy itt is keverve használja ezeket,
Hol így:
<?php _e('Top Rank',
Hol meg így:
<?php __('Top Rank',





A __ verzió csak lekéri az értéket, az _e az meg ki is írja.
Keress egy olyan fordítást ami működik, meg keress egy olyat ami nem. Akkor látni fogod, hogy mi van elrontva.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!