2012-02-01 9 views
6

Próbuję rozpaczliwie stworzyć katalog (.In) dla mojej nowej aplikacji w php. 1) stworzyłem plik „trans.php” gdzie umieścić wszystkie wartości, które mają być tłumaczoneUtwórz plik POT z Poeditem

Na przykład, tutaj jest mój plik:

<?php 

echo _e('SORTIR LA NUIT'); 

?> 

2) otworzyć Poedit, w "Ścieżki" Oto co wprowadziłem (patrz zdjęcie) Następnie zapisuję to samo położenie pliku "php".

paths configuration in Poedit

3) Po kliknięciu "Update", mam następujące błędy:

12:25:43: No files found in: /Users/aweaoftheworld/Desktop/test 
12:25:43: Poedit did not find any files in scanned directories. 
12:25:43: Entries in the catalog are probably incorrect. 
12:25:43: Updating the catalog failed. Click on 'More>>' for details. 

Czy możesz mi pomóc?

poważaniem

+0

'_()' jest aliasem dla 'gettext()' http://php.net/manual/function.gettext.php – powtac

Odpowiedz

9

należy użyć _ zamiast _e, na przykład

<?php echo _("hi there i am gettext library") ?> 

przy okazji, _e funkcja jest z silnika Wordpress, to robi to samo, ale to nie jest Wstępnie zdefiniowana funkcja PHP.

+0

ok, dziękuję bardzo –

17

Upewnij się, że ścieżki zdefiniowane w dokumencie POEdit (Catalog > Settings > Paths) wskazują folder zawierający pliki PHP. To powinno rozwiązać problem POEdit nie znajdowania plików.

Po rozwiązaniu did not find any files in scanned directories, POEdit prawdopodobnie nadal znajdzie 0 wiadomości. Dzieje się tak, ponieważ domyślnie POEdit nie obsługuje _e jako słowa kluczowego. Aby rozwiązać ten problem, po prostu dodaj "_e" do listy słów kluczowych (w Catalog > Settings > Keywords).

+0

Użyłem _() i ścieżki zostały poprawne, ale POEdit 1.4.6 nie mógł parsować niczego (ten sam błąd), podczas gdy ręczne używanie xgettext działało poprawnie. W moim przypadku aktualizacja do wersji 1.5.4 rozwiązała problem (system operacyjny: Ubuntu 12.04.4). –

1

Tylko w przypadku korzystania _() zamiast _E() lub zamiast __() - poedit można znaleźć moje sznurki - ale w wordpress ja dostać ten błąd:

Ostrzeżenie: _() oczekuje dokładnie 1 parametr, 2 podany w C: \ xampp \ htdocs \ xxx.php na linii xxx

to było po tym, jak próbowałem dodać to: __() i to: _e() do "słów kluczowych", ale to nie rozwiązało problem ... więc dla mnie rozwiązaniem jest zmiana go na _() dla edycji po i po tym, jak wszystkie słowa z kodu (motyw wp lub plugin) zmieniam wszystko na __().

+0

To po prostu głupie. Zobacz odpowiedź tuż nad Twoją za to, co robisz źle - musisz dodać to * inne niż domyślne * słowo kluczowe. –

+0

w linii 4 napisałem: to było po tym, jak próbowałem dodać to: __() i to: _e() do "słów kluczowych", ale to nie rozwiązało problemu ... –

+0

Wtedy albo używasz _e() niepoprawnie w twoim kodzie lub w rzeczywistości nie dodałeś go do słów kluczowych przez jakiś przypadek (być może literówki) lub nie odświeżyłeś katalogu. Ale faktem jest, że nie-domyślne słowo kluczowe _e jest rozpoznawane perfekcyjnie przez Poedit i xgettext i niezależnie od tego, jaki masz problem, nie jest to spowodowane niezdolnością Poedit do zobaczenia _e(). –