23 September 2006
Dyddiadau Cymraeg...
01:09 | 4 sylw
Mae'r cod wedi'i ddiweddaru - os ydych chi'n defnyddio'r cod yma, copiwch a gludwch y cod isod yn ei le. Mwy o wybodaeth.
Fersiwn 2
Mae hi di bod dros 2 flynedd ers i mi gyhoeddi'r sgript yma, a mae hi wedi bod yn gymharol llwyddiannus, wedi cael ei drosi i Gaeleg yr Alban, ond wedi codi ychydig o broblemau:
- Ges i cwynion am y sgript yn ysgrifennu dyddiadau anghywir am rhai misoedd (nodedig, am reswm, Gorffennaf ac Awst). Ges i ryddhad wrth ffeindio mas mai nid fy nghôdo i oedd yn wrong (wel, ddim yn gyfangwbl) - Mae problem gyda Javascript wrth iddo ddehongli rhifau (parseInt()) - mae rhifau 7 ac 8 yn messo fe lan. Bugger. Wel o leia gyda'r sgript newydd (isod) mae'r angen i ddehongli'r rhifau fel yna wedi mynd (a dwi nawr yn gwybod fel i fynd ogwmpas y broblem :) ).
- Dilysrwydd - odd y fersiwn gynta'n gofyn fod angen rhoi <script>09.2006</script> <noscript>09.2006</noscript> i fewn i'r tudalen (nifer o weithiau ar y tudalen blaen a'r archifau), odd yn achosi i'r blog ffaelu profion y W3C. Mae'r sgript newydd yn gwbl dilys nawr.
- Fformat dyddiadau - yn y fersiwn gynta, roedd rhaid dewis fformat aneglur yn settings blogger... oedd yn anffodus i unrhywun oedd ddim â javascript ar eu porwr. Hefyd, roedd y fformat dyddiad hyll yma'n cael ei ddangos yn y bar teitl ar dop y porwr (ych-a-fi!).
Ta be, dyma fersiwn 2!!!!
Mae fersiwn 2 yn symlach, fwy taclus, ac yn gweithio ar pob prif borwr (o wybod i fi, fersiynau diweddaraf Firefox, Internet Explorer, Opera a Safari; ar Windows, Mac a Linux (a mwy) - diolch i gwefan anhygoel browsershots.) Mae'n haws ei rhoi arno, a dim ond 3 cam sydd:
A. Gludo'r côd yn y patrymlun.
Mae'n rhaid rhoi'r côd canlynol just uwchben neu cyn y 2 tag olaf yn eich patrymlun (a ddylai fod </body></html>):
<script type="text/javascript">
//<![CDATA[
/*
* DYDDIADAU AML-IEITHOG v2.1
* gan Sbwriel (http://sbwriel.blogspot.com) - am help, ewch i http://sbwriel.blogspot.com/2006/09/dyddiadau-cymraeg.html
* (cc) 2006. Trwydded Creative Commons (Attribution-NonCommercial-ShareAlike 2.0 License - http://creativecommons.org/licenses/by-nc-sa/2.0/uk/)
*/
function Dyddiadau(dosbarth) {
if (!document.getElementsByTagName) return;
var cy = ["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn","Dydd Sul"];
var en = ["January","February","March","April","May","June","July","August","September","October","November","December","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
var archifau = false;
if ( (typeof(dosbarth) == "undefined") || (dosbarth == "") || (dosbarth == null) ) {
dosbarth = "date-header";
archifau = true;
}
var x = document.getElementsByTagName("*");
for (var i=0; i<x.length; i++) {
if (x[i].getAttributeNode("class") && (x[i].getAttributeNode("class").value.length > 0) && (x[i].getAttributeNode("class").value == dosbarth) ) {
var s = x[i].firstChild.nodeValue.split(" ");
for (var j=0; j<s.length; j++) {
for (var k=0; k<en.length; k++) {
if (en[k].toLowerCase() == s[j].toLowerCase()) s[j] = cy[k];
}
}
x[i].innerHTML = s.join(" ");
}
}
if (archifau) {
x = document.getElementsByTagName("ul");
for (var i=0; i<x.length; i++) {
if (x[i].getAttributeNode("class") && (x[i].getAttributeNode("class").value.length > 0) && (x[i].getAttributeNode("class").value == "archive-list") ) {
var y = x[i].getElementsByTagName("li");
for (var j=0; j<y.length; j++) {
var z = y[j].getElementsByTagName("a");
var s = z[0].firstChild.nodeValue.split(" ");
for (var k=0; k<s.length; k++) {
for (var m=0; m<en.length; m++) {
if (en[m].toLowerCase() == s[k].toLowerCase()) s[k] = cy[m];
}
}
z[0].innerHTML = s.join(" ");
}
}
}
}
var s = document.title.split(" ");
for (var j=0; j<s.length; j++) {
for (var k=0; k<en.length; k++) {
if (en[k].toLowerCase() == s[j].toLowerCase()) s[j] = cy[k];
}
}
document.title = s.join(" ");
}
Dyddiadau();
//]]>
</script>
B. Adio "dosbarth" i'r dyddiad yn eich patrymlun
Er mwyn i'r sgript wybod ble mae'r dyddiadau, mae'n angenrheidiol rhoi priodoledd (attribute) ar y tag html blaenorol (e.e. <h2 class="date-header"><$BlogDateHeaderDate$></h2>).
Nodwch fod gwerth diofyn (default) wedi'i rhoi ar y sgript yma, sef "date-header" - mi fydd y gwerth yma'n iawn ar gyfer y mwyafrif o blogiau sydd heb newid eu patrymlun neu'n defnyddio rhai Blogger, ond os oes angen ei newid e (fel ar fy mlog i er enghraifft), mi fydd yn rhaid i chi newid y sgript isod - yn hytrach na Dyddiadau(); ar y diwedd, i Dyddiadau("date-header"); (newidiwch "date-header" i beth bynnag sy'n briodol i chi).
C. Newid y dyddiad yn eich Settings
Does dim rhaid i chi newid hyn o gwbl - ni fydd y sgript yn ei effeithio. Yn y bôn, yr unig beth mae'r sgript yma'n gwneud yw cyfieithu enwau misoedd a dyddiau wythnos Saesneg i'r Gymraeg. Os hoffech newid eich dyddiadau (fel dw i wedi gwneud) i rhywbeth mwy dealladwy (h.y. Saesneg, os nad oes javascript ganddynt), gwnewch, ac mae'r sgript yn ei newid.
Reit, dwi'n gwybod fod hwna'n lot o eiriau, a dwi'n gwybod na fyddai'n gwneud llawer o sens i bawb, felly os oes angen help arnoch, gadewch sylw.
4 sylw
Rhys Wynne
Diolch am y sgript
Tydi hyn yn golygu dim i fi ond dois ar draws hwn drwy ddarllen rhestr del.icio.us rhywun;
http://www.globalize-rails.org/wiki/
Wierdo
ym...dwin bod yn wirion? dydi'r dyddiadau a'r archifau ddim yn gweithio yn gymraeg ar fy mlog (dwi'n newid fy mlog, oddon gweithio i fy hen blog ond ddim i'r newydd...dwi methu gweld be dwi di neud yn anghywir!! Help os gwelwch yn dda!
Aled
reit - o be allai weld, dim ond copio a gludo'r sgript i waelod dy batrymlun, ac yna newidia'r dyddiad i ryw ddyddiad saesneg. dyle hwna weithio.
Aled
wps, newydd sylwi beth yn union ot tin gofyn. ma rhywbeth di mynd o'i le - I'll get back to you.
Diolch am hwna - y 'bug' gynta!