อยากได้เวลาแบบไทยๆ

By Bogie

มีวิธีไหนที่จะเปลี่ยนปีค.ศ.ให้เป็นปีพ.ศ.คะ
และ เดือนให้เป็นภาษาไทย
ในทุกๆที่ที่มีอะไรเกี่ยวข้องกับการแสดงผลวันที่
ขอบคุณค่ะ

36 comments

รูปภาพของ sugree
By sugree
4 years 16 weeks ago

เอ่อ

เอ่อ อันนี้ต้องลงภาษาไทยก่อน แล้วก็ไปแก้ใน date format ตรง locale หลักการตามนั้น ขอไปลองก่อนครับ

By Bogie
4 years 16 weeks ago

ได้เดือนม

ได้เดือนมาค่ะ
แต่ว่าปีไม่เปลี่ยน ยังเป็น 2007 เหมือนเดิม
มีวิธีอื่นอีกไม๊คะ

รูปภาพของ sugree
By sugree
4 years 16 weeks ago

งั้นคงต้อ

งั้นคงต้องแก้ settings.php โดยการเพิ่ม

setlocale('LC_TIME', 'en_TH');

By Bogie
4 years 15 weeks ago

ลงภาษาไทย

ลงภาษาไทยนี่หมายถึงmodule localization ใช่ใหม่คะ
import thai translation (.po) เข้ามาแล้ว
ก็ยังไม่เป็น 2550 ยังคงเป็น 2007 ค่ะ เมนูหรือชื่ออื่นๆเป็นภาษาไทยสดใส ยกเว้นแต่เจ้าปีค.ศ.นี่ล่ะค่ะ
setlocale('LC_TIME', 'en_TH'); ก็ลองแล้วค่ะ ไม่ได้

รูปภาพของ sugree
By sugree
4 years 15 weeks ago

ผมลองแล้ว

ผมลองแล้ว เป็นปัญหาร่วมกันของ drupal กับ php ตัว php จะใช้ setlocale() กับ strftime() เท่านั้น แถมต้องเป็น `%EB` หรือ `%c` ด้วย แต่ใน drupal ใช้ gmdate()

ผมกำลังทำ patch แล้วส่งเข้า drupal.org ครับ

By Bogie
4 years 15 weeks ago

โอ้ว

โอ้ว จะรอค่ะ
ขอบคุณล่วงหน้ามากๆ

By Bogie
4 years 10 weeks ago

มีความคืบ

มีความคืบหน้าบ้างไหมคะ

รูปภาพของ sugree
By sugree
4 years 10 weeks ago

มาสารภาพว

มาสารภาพว่ายังไม่ได้ทำ ตายโหง เดี๋ยวทำเลยคร้าบ

By Bogie
4 years 6 weeks ago

เอ่อ

เอ่อ แล้วทำแล้วคุณsugreeอัพไปไว้ที่ไหนคะ

รูปภาพของ sugree
By sugree
4 years 6 weeks ago

เดี๋ยวโผล

เดี๋ยวโผล่ใน Drupal 6

(สารภาพอีกที ยังไม่ได้ทำ) จะทำแล้วคร้าบ

รูปภาพของ sugree
By sugree
4 years 6 weeks ago

แก้แล้วคร

แก้แล้วครับ

อันนี้ของ 5.x

--- common.inc.orig     2007-12-21 11:30:00.979219418 +0700
+++ common.inc  2007-12-21 11:28:21.795715583 +0700
@@ -1092,7 +1092,14 @@
     if (strpos('AaDFlM', $c) !== FALSE) {
       $date .= t(gmdate($c, $timestamp));
     }
-    else if (strpos('BdgGhHiIjLmnsStTUwWYyz', $c) !== FALSE) {
+    else if (strpos('Yy', $c) !== FALSE) {
+      $y = strftime('%Ey', $timestamp);
+      if ($c == 'y') {
+        $y .= substr($y, -2);
+      }
+      $date .= $y;
+    }
+    else if (strpos('BdgGhHiIjLmnsStTUwWz', $c) !== FALSE) {
       $date .= gmdate($c, $timestamp);
     }
     else if ($c == 'r') {

อันนี้ 6.x

--- common.inc.orig     2007-12-21 11:38:31.000000000 +0700
+++ common.inc  2007-12-21 11:38:52.000000000 +0700
@@ -1186,7 +1186,14 @@
       // different abbreviations.
       $date .= trim(t('!long-month-name '. gmdate($c, $timestamp), array('!long-month-name' => ''), $langcode));
     }
-    else if (strpos('BdgGhHiIjLmnsStTUwWYyz', $c) !== FALSE) {
+    else if (strpos('Yy', $c) !== FALSE) {
+      $y = strftime('%Ey', $timestamp);
+      if ($c == 'y') {
+        $y .= substr($y, -2);
+      }
+      $date .= $y;
+    }
+    else if (strpos('BdgGhHiIjLmnsStTUwWz', $c) !== FALSE) {
       $date .= gmdate($c, $timestamp);
     }
     else if ($c == 'r') {

ส่งเข้า drupal ไปแล้ว http://drupal.org/node/202891 ใครว่างฝากเข้าไปกระทุ้งกันด้วยนะครับ ผมทดลองกับที่นี่ไปแล้ว

รูปภาพของ sugree
By sugree
4 years 6 weeks ago

เจอปัญหาน

เจอปัญหานิดนึง http://drupal.org/node/202891#comment-667439 แต่พอจะรับได้

รูปภาพของ sugree
By sugree
4 years 6 weeks ago

แก้เพิ่มไ

แก้เพิ่มไปอีกหน่อย http://drupal.org/node/202891#comment-667470

By Bogie
4 years 6 weeks ago

ลอง patch

ลอง patch แบบไหนก็ไม่work สงสัยจะเพราะserver เป็น windows รึป่าว

รูปภาพของ sugree
By sugree
4 years 6 weeks ago

ผมทำบน Drupal

ผมทำบน Drupal 5.5 กับ Drupal 6 RC 1 ครับ

รูปภาพของ ball.in.th
By ball.in.th
2 years 49 weeks ago

ไปอ่านที่

ไปอ่านที่ http://drupal.org/node/202891 มาแล้ว ตอนนี้สถานะเป็นไงบ้างครับ? เท่าที่เข้าใจ ยังมีปัญหา:

1. เรื่องตัว X กับ x:
อันนี้เปลี่ยนไปใช้ตัวอักษรภาษาไทยได้ป่าวครับ ไม่มีทาง conflict กับ php แน่

2. เรื่อง input field:
strtotime() ใช้ได้กับ English textual datetime เท่านั้น ไม่ทราบ strptime() จะใช้แทนได้หรือป่าว หรือไม่ก็ทำ drupal_strtotime() แบบที่คุณ sugree แนะนำไว้

รูปภาพของ sugree
By sugree
2 years 49 weeks ago

ประเด็นของทางโน้นคือ

ประเด็นของทางโน้นคือ แบบนี้มัน hack ชัดๆ ซึ่งก็ถูกต้อง เถียงไม่ออก

รูปภาพของ ball.in.th
By ball.in.th
2 years 49 weeks ago

ก็มันหาทางอื่นไม่ได้หนิ 555

ก็มันหาทางอื่นไม่ได้หนิ 555 ถ้า drupal.org ไม่รับ patch นี้ก็คงไม่เป็นไร ใช้กันเองก็ได้
แล้วเรื่อง input field นี่มีทางแก้ยังครับ?

รูปภาพของ sugree
By sugree
2 years 49 weeks ago

input field ยังไม่มีหนทางแก้

input field ยังไม่มีหนทางแก้ คงต้องเขียนเองแบบที่ว่า

รูปภาพของ boymaker
By boymaker
2 years 49 weeks ago

พี่มือปืน

พี่มือปืน เก่งโค้ดจิงๆขอคาราวะ

รูปภาพของ ball.in.th
By ball.in.th
2 years 49 weeks ago

พี่ทำหนุ่มเก่งตั้งฉายาจริงๆ

พี่ทำหนุ่มเก่งตั้งฉายาจริงๆ 555

รูปภาพของ boymaker
By boymaker
2 years 45 weeks ago

ลองแก้ละแต่ยังไม่เห็นผลเลย

ลองแก้ละแต่ยังไม่เห็นผลเลย ใครทำสำเร็จช่วยรันสเตปอีกรอบ

รูปภาพของ sugree
By sugree
2 years 45 weeks ago

แก้ theme หรือยัง

แก้ theme หรือยัง

รูปภาพของ boymaker
By boymaker
2 years 45 weeks ago

แก้ ทีม ตรงไหนครับ

แก้ ทีม ตรงไหนครับ

รูปภาพของ sugree
By sugree
2 years 45 weeks ago

ใน node.tpl.php

ใน node.tpl.php ต้องพิมพ์เวลาเองน่ะครับ ใช้ %Ey แทนปี

รูปภาพของ boymaker
By boymaker
2 years 39 weeks ago

มีวิธีเห็นวันเป็นแบบไทยทั้งหม

มีวิธีเห็นวันเป็นแบบไทยทั้งหมดยังครับ

รูปภาพของ sugree
By sugree
2 years 38 weeks ago

แบบดีๆ ยังครับ

แบบดีๆ ยังครับ

รูปภาพของ shinrikyo
By shinrikyo
2 years 38 weeks ago

ยัง งง

ยัง งง งง จับต้นชนปลายไม่ถูก แก้ตรงไหนมั่งครับมึน รบกวนแบบทีละขั้นตอนด้วยนะครับ

รูปภาพของ shinrikyo
By shinrikyo
2 years 38 weeks ago

เข้าไปดูแล้วครับ

เข้าไปดูแล้วครับ แต่ไม่กระจ่างครับ

ไม่รู้จะเอาไปใช้ยังไงครับ

รูปภาพของ sugree
By sugree
2 years 38 weeks ago

ใส่แบบนี้ใน

ใส่แบบนี้ใน template.php

function phptemplate_node_submitted($node) {
  setlocale(LC_TIME, 'th_TH.UTF8');
  return t('Submitted by !username on @datetime',
    array(
      '!username' => theme('username', $node),
      '@datetime' => strftime('%e %B %Ey %H:%M:%S', $node->created),
    ));
}

เถื่อนๆ แต่ก็พอใช้ได้

รูปภาพของ shinrikyo
By shinrikyo
2 years 38 weeks ago

ยังไม่มีการเปลี่ยนแปลงอะไรครั

ยังไม่มีการเปลี่ยนแปลงอะไรครับ

รูปภาพของ kong
By kong
2 years 38 weeks ago

ไปหน้า admin/build/modules

ไปหน้า admin/build/modules หนึ่งรอบ

ไม่งั้นก็ clear cache ดูครับ

รูปภาพของ shinrikyo
By shinrikyo
2 years 38 weeks ago

ผมใช้ page clear cache บน

ผมใช้ page clear cache บน drupal 5 แล้วขึ้นแบบนี้อ่ะครับ

user warning: Table 'cs48031365.cache_content' doesn't exist query: DELETE FROM cache_content in /home/cs48d/48031365/public_html/includes/database.mysql.inc on line 174.

ดูเหมือนจะใช้การไม่ได้ เหอเหอ

รูปภาพของ sugree
By sugree
2 years 37 weeks ago

งั้นลองแก้โค้ดข้างบนใส่ text

งั้นลองแก้โค้ดข้างบนใส่ text นิดๆ หน่อยๆ ว่ามันเข้ามาทำรึเปล่า เป็นไปได้ว่า host ไม่สนับสนุน locale thai