PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   jQuery DatePicker - lokalizacija (hr)? (https://forum.pcekspert.com/showthread.php?t=272800)

flajpan 17.09.2015. 17:55

jQuery DatePicker - lokalizacija (hr)?
 
Treba mi datepicker na hrvatskom - a ne znam kako točno "ubaciti" prijevod.
Ovo su upute:




Datepicker provides support for localizing its content to cater for different languages and date formats. Each localization is contained within its own file with the language code appended to the name, e.g., jquery.ui.datepicker-fr.js for French. The desired localization file should be included after the main datepicker code. Each localization file adds its options to the set of available localizations and automatically applies them as defaults for all instances. Localization files can be found at https://github.com/jquery/jquery-ui/tree/master/ui/i18n.

The $.datepicker.regional attribute holds an array of localizations, indexed by language code, with "" referring to the default (English). Each entry is an object with the following attributes: closeText, prevText, nextText, currentText, monthNames, monthNamesShort, dayNames, dayNamesShort, dayNamesMin, weekHeader, dateFormat, firstDay, isRTL, showMonthAfterYear, and yearSuffix.

You can restore the default localizations with:
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );

And can then override an individual datepicker for a specific locale:
$( selector ).datepicker( $.datepicker.regional[ "fr" ] );




A ovdje i prijevod:
https://github.com/jquery/jquery-ui/tree/master/ui/i18n

Jedan WP plugin koristi datepicker koji ima dane i format datuma engleske.

Ako mi netko može pojasniti gdje trebam dodati taj prijevod i inicijalizirati ga, bio bih zahvalan :chears:

sinisa1989 17.09.2015. 18:23

Kopiraj sve iza znaka jednakosti datepicker.regional.hr (pazi da kopiraš obje zagrade) i zalijepi unutar .datepicker() zagrada.
Na mobu sam, pa mi je možda nešto promaklo, ali mislim da je to to.

rodney 17.09.2015. 18:38

možda sa
Code:

$( selector ).datepicker( $.datepicker.regional[ "hr" ] );
ili
Code:

$.datepicker.setDefaults( $.datepicker.regional[ "hr" ] );
ako želiš hr kao default.

flajpan 17.09.2015. 19:33

@rodney

E to me zanima, ali gdje to upisujem?

Ovaj hrvatski prijevod spremim u js folder plugina - odvojeno? Ako napravim ovo sto je rekao sinisa1989, vjerojatno bi radilo, ali htio bih da ostane opcija da mogu birati ili dodavati kasnije i druge prijevode.

sinisa1989 17.09.2015. 20:11

Tako je, spremi to u drugi fajl i pozovi datepicker na ovaj način kako ti jer rodney pokazao. Ako imaš višejezičnu stranicu, oznaku jezika moraš dinamički proslijediti.

DJMarusha 20.09.2015. 15:28

Citiraj:

Autor sinisa1989 (Post 2828750)
Tako je, spremi to u drugi fajl i pozovi datepicker na ovaj način kako ti jer rodney pokazao. Ako imaš višejezičnu stranicu, oznaku jezika moraš dinamički proslijediti.

Siniša,
može malo detaljnija uputa kako ovo napraviti?
Imam isti slučaj kao i Flajpan, ali ne znam kako to točno napraviti...:hitthewal:
Pomoć...:care:

sinisa1989 20.09.2015. 18:20

Evo primjer:
HTML:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Default functionality</title>
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script src="https://raw.githubusercontent.com/jquery/jquery-ui/master/ui/i18n/datepicker-hr.js"></script>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script>
  $(function() {
    $("#datepicker").datepicker($.datepicker.regional["hr"]);
  });
  </script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>


DJMarusha 21.09.2015. 22:11

Citiraj:

Autor sinisa1989 (Post 2829760)
Evo primjer:
HTML:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Default functionality</title>
  <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
  <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script src="https://raw.githubusercontent.com/jquery/jquery-ui/master/ui/i18n/datepicker-hr.js"></script>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script>
  $(function() {
    $("#datepicker").datepicker($.datepicker.regional["hr"]);
  });
  </script>
</head>
<body>
<p>Date: <input type="text" id="datepicker"></p>
</body>
</html>


Siniša hvala puno na pomoći!
Probao sam ovaj html da vidim rezultat, no međutim i ovdje dobivam isti kalendar kao i na svojoj stranici, s engleskim imenima mjeseci i dana, jedino je format datuma drukčiji.

Moram priznat da sam plavuša što se tiče JavaScripta.
Radim site u Wordpressu i Woocommercu i do sada sam uspješno rješavao sve prijevode, ali na ovome sam zapeo i tučem glavom od zid.

Kužim princip, ali nikako ga ne mogu primjeniti na rješavanje problema hrvatskog prijevoda JQuery datepicker kalendara u Wordpressu.
Naime, koristim plugin inserta polja za rok isporuke na stranici Woocommerca za plaćanje, a plugin koristi Jquery datepicker koji instaliran s Wordpressom.

Kada odaberem neki datum, npr. 25.09.15 dobijem u polju ovo: September 25, 2015.

Skužio sam da se imena mjeseca, dana, format i sl. povlače iz JavaScript datoteke datepicker.min.js koja se nalazi u folderu /wp-includes/js/jquery/ui
Kužim da bi u php stranici s plaćanjem u Woocommercu trebao pozvati Javascript datoteku s hrvatskim prijevodom.
Na webu upućuju neki da se poziv stavi u datoteku functions.php ( http://www.remicorson.com/localizing...picker-fields/), ali kada paste-am kod sa gornjeg linka u functions.php, site se ruši....

Negdje sam našao da bi poziv trebao staviti u datoteku footer.php, uglavnom kužim da bi trebao pozvati prvo glavnu datoteku s Jquery datepickerom (to je već obavljeno po defaultu), a zatim bi trebao učitati prijevod (valjda zato preporučuju footer.php da se to obavi na kraju). E sad, koji točno kod i gdje ga ubaciti da dobijem kalendar na hrvatskom, ne znam, truba sam...

Pitao sam u PM i Flajpana koji je pokrenuo temu da li je uspio šta, ali ni on ne zna kako točno ovo napraviti.
Kako nas je već dvoje s istim problemom, pliz pomozite...

Kad gledaš Wordpress cijeli preveden, a onda imena dana i mjeseci na kalendaru budu na engleskom i izmjena toga nije za baš za prosječnog Wordpress korisnika. Vidim da se i na forumima vani muče s lokalizacijom na svoje jezike....

sinisa1989 21.09.2015. 23:15

Meni ovaj kôd koji sam stavio gore radi.

S obzirom da radiš u Wordpress-u, da li si probao prevesti plugin uz pomoć WPML string translatora (zanemari ovo ako se radi o jednojezičnom webu)?
Ako stringovi nisu registrirani, ovo neće raditi kao i bilo koji drugi plugin koji radi prijevodima (Loco Translate).

Citiraj:

Na webu upućuju neki da se poziv stavi u datoteku functions.php ( http://www.remicorson.com/localizing...picker-fields/), ali kada paste-am kod sa gornjeg linka u functions.php, site se ruši....
Site se ruši vrlo vjerojatno jer si "slomio" php kôd. Za početak pazi gdje si ga zalijepio (možda je završio unutar neke funkcije ili ti fali koja zagrada. Za takve stvari ti je error_log od pomoći. Ili jednostavnije uključi debug, pa ćeš vidjeti gdje je točno greška.

Ako ništa drugo ne prođe, probaj ovo:
PHP kod:

wp_register_script('custom-script'get_template_directory_uri().'/js/custom-script.js', array('jquery')); 

Kreiraj taj fajl (lokalizacijski) i postavi dependency prema ovom. Nakon što si sve uključio što ti treba, ponovno pozovi datepicker na način kako je iznad objašnjeno. I to mora raditi.

rodney 21.09.2015. 23:25

Citiraj:

Autor DJMarusha (Post 2830191)
Siniša hvala puno na pomoći!
Probao sam ovaj html da vidim rezultat, no međutim i ovdje dobivam isti kalendar kao i na svojoj stranici, s engleskim imenima mjeseci i dana, jedino je format datuma drukčiji.

Pokušaj postaviti i format datuma i jezik, ne samo jezik.

DJMarusha 22.09.2015. 08:36

Citiraj:

Autor sinisa1989 (Post 2830223)
Meni ovaj kôd koji sam stavio gore radi.

S obzirom da radiš u Wordpress-u, da li si probao prevesti plugin uz pomoć WPML string translatora (zanemari ovo ako se radi o jednojezičnom webu)?
Ako stringovi nisu registrirani, ovo neće raditi kao i bilo koji drugi plugin koji radi prijevodima (Loco Translate).

Site se ruši vrlo vjerojatno jer si "slomio" php kôd. Za početak pazi gdje si ga zalijepio (možda je završio unutar neke funkcije ili ti fali koja zagrada. Za takve stvari ti je error_log od pomoći. Ili jednostavnije uključi debug, pa ćeš vidjeti gdje je točno greška.

Ako ništa drugo ne prođe, probaj ovo:
PHP kod:

wp_register_script('custom-script'get_template_directory_uri().'/js/custom-script.js', array('jquery')); 

Kreiraj taj fajl (lokalizacijski) i postavi dependency prema ovom. Nakon što si sve uključio što ti treba, ponovno pozovi datepicker na način kako je iznad objašnjeno. I to mora raditi.

Prevodio sam source s Poeditom, ali sadržaj kalendara je u JQueryiju, pa to neće prevoditi...

Dečki, evo probao sam dvije varijante:
Donje kodove ubacio sam u header.php prije taga
Lang stranice je hr.
Naziv polja gdje bi se trebao pojaviti hrvatski kalendar je "e_deliverydate".
I dalje mi kalendar stoji na engleskom...

Varijanta 1:








Varijanta 2:







Sada sam pogledao source stranice i pri kraju se pojavljuju pozivi na skripte koji izgleda i dalje vuku kalendar na engleski (poziva se skripta datepicker.min.js s podacima za kalendar i inicijalizira se kalendar s obzirom na trenutni datum sa initialize-datepicker.js):






Izgleda da smještanje skripte u header.php prije taga neće ići kako su neki na webu savjetovali, jer se skripte za kalendar i inicijalizaciju pozivaju kasnije, dakle trebalo bi to sve ipak ići u footer.php. Moram pronaći koja php datoteka poziva skripte kalendara, dali od plugina ili od woocomerca...

DJMarusha 22.09.2015. 21:55

Flajpan i dečki,
riješio sam problem!
U stvari, riješio sam problem 99%, fali mi još samo format. Kad odaberem datum, daje mi datum u formatu mm dd yy umjesto dd.mm.yy kako je navedeno u donjem kodu. Mislim da ću i to riješiti. Kod sam ubacio u header.php prije taga.
Radi sve, bez greške. Hvala na pomoći Siniša i Rodney!

Code:



rodney 22.09.2015. 22:04

Haj neka, baš mi je drago, ako ništa drugo, zbog Marushe!!

DJMarusha 23.09.2015. 12:48

Citiraj:

Autor rodney (Post 2830705)
Haj neka, baš mi je drago, ako ništa drugo, zbog Marushe!!

Prerano sam se radovao....
Nestala mi je funkcija izračuna cijena u Woocmercu prilikom odabira varijanti proizvoda.

Testirao sam, kada maknem gornji kod prijevoda Jquery kalendara na hrvatski iz headera.php, sve funkcionira normalno.

Ubacit ću gornji kod u footer.php pa ću vidjeti da li će raditi...

DJMarusha 23.09.2015. 12:54

Metijo u footer.php i radi izračun cijena opet, a u redu je i hrvatski prijevod kalendara...


Sva vremena su GMT +2. Sada je 17:53.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger