2005년 3월 12일 토요일

워드프레스 한글화와 RSS 문제

조금전 하늘이님이 올블로그에 피딩이 되지 않는다는 워드프레스사용자 분의 문제점을 알려주셨다. 하늘이님의 답변처럼 pubDate부분에 있는 +0000을 +0900으로 써주면 해결되는데 WP의 설정 메뉴에서 지정한 시간대에 따라 자동으로 수정되는것이 아니라 수동으로 고쳐주어야 한다. 소스를 변경하지 않은 상태라면 wp디렉토리에 있는 wp-rss2.php파일을 열어 27번째줄과 36번째 줄에서 고쳐주면 된다. RSS 0.92를 위한 wp-rss.php파일에서도 마찬가지로 lastBuildDate 부분을 고쳐주면 되지 않을까 싶은데 확인해보진 않았다. 이 문제때문에 RSS를 만들어 주는 파일과 RSS출력파일을 이리저리 살펴보다보니 이상한걸 발견했다. +0900으로 고쳤으니 나도 잘 되겠지....라고 생각하고 테스트를 해보았는데 sage에서 내 블로그의 RSS파일을 읽어왔는데 글 작성 시각이 나오지 않는 것이었다. 이상하다 싶어서 또다른 RSS리더기인 SharpReader에서도 불러와봤는데 글 작성시간은 나오지 않고 글을 긁어온 현재 시간으로 모두 출력되었다. 보니까 다른 분들은 비록 +0000으로 나와서 메타사이트에서 수집하는데 오류가 생겼지만 RSS리더기에서 "수집된 현재시간"으로 나오지는 않았다. 즉 9시간의 시간차가 생겼을지언정 각 글마다의 글 작성시간에 따라 모두 다르게 시간이 찍혔는데 나는 모두 글수집한 시간으로 표시되었다는 것이다. 즉 글 작성시간을 전혀 리더기가 인식하지 못했다는 말이다. 왜그랬을까. RSS 2.0 규격을 보면 <pubDate>Sun, 19 May 2002 15:21:36 GMT</pubDate>와 같이 표시하도록 되어있다. 그런데 나의 RSS피드는 <pubDate>일, 19 5월 2002 15:21:36 GMT</pubDate>처럼 한글이 섞여서 나왔다. 한글이 섞여 나올 이유는 어제 설치했던 곰님의 한글화 언어파일 때문이었다. 처음처럼 언어설정부분을 해제하고 랭귀지파일도 지우고 테스트해보니 pubDate에 영어로 제대로 나온다. 리더기에서도 작성시간을 제대로 표시해준다. 아래 그림과 같다. WP, 한글화와 RSS문제 현지화한 언어파일을 사용함으로써 생기는 이러한 문제는 독일어와 프랑스어의 언어파일을 사용했을 때도 일어났다. 다음 버젼에서는 수정되길 바라며 임시로 한글 언어파일에서 Sun,Mon...항목은 그대로 Sun,Mon으로 복사해서 다시 사용하고, Jan_January_abbreviation부터 Dec_December_abbreviation 까지를 Jan부터 Dec까지 영어표기로 바꿈으로써 해결하였다. (곰님의 번역파일에서 이 변경을 적용하고 쪽->페이지, 갈래->카테고리로 수정한 한글 언어파일) 가능한 소스수정은 하지 않고 사용하려고 하다보니, 가장 무난한 방법.