Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Podstawianie stringów
phpamator
post
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Wymyśliłem sobie, zrobić dwujęzyczna stronę (na potrzeby edukacyjne oczywiście) i trochę utknłem bo mi array_search owszem wyszukuje ale ... często źle, źle bo np w tablicy mam kilkakrotnie występujce ciagi znaków no i zamiast jeden raz powiela mi te stringi.
W sumie samo podstawianie to prosta funkcja, jak jednak zmusić, żeby array_search wyszukiwał mi tylko stringi które pasuja 1:1, poniższy kod działa całkiem dobrze:

  1. function transIt($data,$loc) {
  2. echo '<pre>';
  3. echo $data;
  4. $translation = array('Żadany: ' => 'Requested: ','Nowa licencja: ' => 'New licence: ','Oto twój nowy klucz licencyjny: ' => 'Here is your new license key: ','Keypoints - licencja' => 'Keypoints - license',', skopiuj i wklej w okienku `Klucz licencyjny w module` ' => ', copy and paste it into `License key in module` ',' i wciśnij `Zapisz`.' => ' and click `Save`.');
  5. if ($loc == 'pl-PL'){
  6. $key = array_search($data, $translacja);
  7. }else{
  8. $key = array_search($data, $translation);
  9. }
  10. echo $key;
  11. return $key;
  12. }

wyczytałem, że można też użyć preg_grep albo preg_match.
Podpowiedzcie, jaka metoda będzie najszybsza, najlepsza, najodpowiedniejsza?


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpamator
post
Post #2





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Dzięki viking'u.
Nie chciałem zewnętrznego pliku do tego zatrudniać bo to ma być tylko do podmiany dosłownie kilku zdań.
Dlatego zrobiłem w ten sposób.
Może nie jest to zły pomysł użyć get_text()
szukam, jak powinien wygldać sformatowany tekst do tego.
bo jakoś nie widzę nigdzie.

To ma być .po?

  1. msgid ""
  2. msgstr ""
  3. "Project-Id-Version: Lingohub 1.0.1\n"
  4. "Report-Msgid-Bugs-To: support@lingohub.com \n"
  5. "Last-Translator: Marko Bošković <marko@lingohub.com>\n"
  6. "Language: de\n"
  7. "MIME-Version: 1.0\n"
  8. "Content-Type: text/plain; charset=UTF-8\n"
  9. "Content-Transfer-Encoding: 8bit\n"
  10. "Plural-Forms: nplurals=2; plural=(n != 1);\n"
  11.  
  12. msgid "Let’s make the web multilingual."
  13. msgstr "Machen wir das Internet mehrsprachig."
  14.  
  15. msgid "We connect developers and translators around the globe "
  16. "on Lingohub for a fantastic localization experience."
  17. msgstr "Wir verbinden Entwickler mit Übersetzern weltweit "
  18. "auf Lingohub für ein fantastisches Lokalisierungs-Erlebnis."
  19.  
  20. msgid "Welcome back, %1$s! Your last visit was on %2$s"
  21. msgstr "Willkommen zurück, %1$s! Dein letzter Besuch war am %2$s"
  22.  
  23. msgid "%d page read."
  24. msgid_plural "%d pages read."
  25. msgstr[0] "Eine Seite gelesen wurde."
  26. msgstr[1] "%d Seiten gelesen wurden."


Ten post edytował phpamator 26.06.2018, 17:20:19
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 09:55