Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 17.09.2015., 17:55   #1
flajpan
.....
Moj komp
 
flajpan's Avatar
 
Datum registracije: Mar 2004
Lokacija: Zagreb, Centar
Postovi: 1,787
jQuery DatePicker - lokalizacija (hr)?





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
-->
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
flajpan je offline   Reply With Quote
Staro 17.09.2015., 18:23   #2
sinisa1989
Bazinga
Moj komp
 
sinisa1989's Avatar
 
Datum registracije: Nov 2007
Lokacija: Križevci
Postovi: 3,873
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.
__________________
The best place to hide a dead body
is page 2 of Google search results.
sinisa1989 je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 17.09.2015., 18:38   #3
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
možda sa
Code:
$( selector ).datepicker( $.datepicker.regional[ "hr" ] );
ili
Code:
$.datepicker.setDefaults( $.datepicker.regional[ "hr" ] );
ako želiš hr kao default.
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Staro 17.09.2015., 19:33   #4
flajpan
.....
Moj komp
 
flajpan's Avatar
 
Datum registracije: Mar 2004
Lokacija: Zagreb, Centar
Postovi: 1,787
@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.
flajpan je offline   Reply With Quote
Staro 17.09.2015., 20:11   #5
sinisa1989
Bazinga
Moj komp
 
sinisa1989's Avatar
 
Datum registracije: Nov 2007
Lokacija: Križevci
Postovi: 3,873
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.
__________________
The best place to hide a dead body
is page 2 of Google search results.
sinisa1989 je offline   Reply With Quote
Staro 20.09.2015., 15:28   #6
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
Citiraj:
Autor sinisa1989 Pregled postova
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...
Pomoć...
DJMarusha je offline   Reply With Quote
Staro 20.09.2015., 18:20   #7
sinisa1989
Bazinga
Moj komp
 
sinisa1989's Avatar
 
Datum registracije: Nov 2007
Lokacija: Križevci
Postovi: 3,873
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>
__________________
The best place to hide a dead body
is page 2 of Google search results.
sinisa1989 je offline   Reply With Quote
Staro 21.09.2015., 22:11   #8
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
Citiraj:
Autor sinisa1989 Pregled postova
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....
DJMarusha je offline   Reply With Quote
Staro 21.09.2015., 23:15   #9
sinisa1989
Bazinga
Moj komp
 
sinisa1989's Avatar
 
Datum registracije: Nov 2007
Lokacija: Križevci
Postovi: 3,873
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.-->
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.
__________________
The best place to hide a dead body
is page 2 of Google search results.
sinisa1989 je offline   Reply With Quote
Staro 21.09.2015., 23:25   #10
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
Citiraj:
Autor DJMarusha Pregled postova
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.
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 22.09.2015., 08:36   #11
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
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 </head> 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:
<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>


<script type="text/javascript">
$j(document).ready(function(){
var language = $j('html').attr('lang');
switch(language)
{
case 'hr': //croatian language
$j( "#e_deliverydate" ).datepicker( "option", $j.datepicker.regional[ 'hr' ] );
break;
default: //default english language
$j( "#e_deliverydate" ).datepicker( "option", $j.datepicker.regional[ '' ] );
}
});
</script>


Varijanta 2:
<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() {
$("#e_deliverydate").datepicker($.datepicker.regional["hr"]);
});
</script>


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):

<script type='text/javascript' src='//www.xxxxx.hr/proba/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=2.4.6'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-content/plugins/order-delivery-date-for-woocommerce/js/initialize-datepicker.js?ver=4.3.1'></script>

Izgleda da smještanje skripte u header.php prije </head> 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...
-->
Citiraj:
Autor sinisa1989 Pregled postova
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 </head> 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:
<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>


<script type="text/javascript">
$j(document).ready(function(){
var language = $j('html').attr('lang');
switch(language)
{
case 'hr': //croatian language
$j( "#e_deliverydate" ).datepicker( "option", $j.datepicker.regional[ 'hr' ] );
break;
default: //default english language
$j( "#e_deliverydate" ).datepicker( "option", $j.datepicker.regional[ '' ] );
}
});
</script>


Varijanta 2:
<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() {
$("#e_deliverydate").datepicker($.datepicker.regional["hr"]);
});
</script>


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):

<script type='text/javascript' src='//www.xxxxx.hr/proba/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=2.4.6'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='http://www.xxxxx.hr/proba/wp-content/plugins/order-delivery-date-for-woocommerce/js/initialize-datepicker.js?ver=4.3.1'></script>

Izgleda da smještanje skripte u header.php prije </head> 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 je offline   Reply With Quote
Staro 22.09.2015., 21:55   #12
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
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 </head> taga.
Radi sve, bez greške. Hvala na pomoći Siniša i Rodney!

Code:
<script>
jQuery(function($){
	$.datepicker.regional['hr'] = {
		closeText: 'Zatvori',
		prevText: 'Prethodni mjesec',
		nextText: 'Slijedeći mjesec',
		currentText: 'Danas',
		monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj',
		'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
		monthNamesShort: ['Sij.','Velj.','Ožu.','Tra.','Svi.','Lip.',
		'Srp.','Kol.','Ruj.','Lis.','Stu.','Pro.'],
		dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
		dayNamesShort: ['Ned.','Pon.','Uto.','Sri.','Čet.','Pet.','Sub.'],
		dayNamesMin: ['N','P','U','S','Č','P','S'],
		weekHeader: 'Tjedan',
		dateFormat: 'dd.mm.yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['hr']);
});
</script>
DJMarusha je offline   Reply With Quote
Staro 22.09.2015., 22:04   #13
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
Haj neka, baš mi je drago, ako ništa drugo, zbog Marushe!!
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Staro 23.09.2015., 12:48   #14
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
Citiraj:
Autor rodney Pregled postova
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 je offline   Reply With Quote
Staro 23.09.2015., 12:54   #15
DJMarusha
Registered User
 
Datum registracije: Sep 2015
Lokacija: Split
Postovi: 6
Metijo u footer.php i radi izračun cijena opet, a u redu je i hrvatski prijevod kalendara...
DJMarusha je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na