所以俄文化這部份只有兩條路: 1. 自救, 2. 放棄.
不過因為我要做的並非整個平台的俄文化, 只是要發佈出來的檔案標題部份是俄文, 這部份自救的可能性比較大, 而如今也幾乎是算完成, 惟獨日期的部份.
這部份斷斷續續的在網路上找, 中文的資料, 沒人會去研究俄文化的問題, 從英文的資料找, 卻不知道該如何定關鍵字, 從俄文的資料去翻, 似乎 blog 文化在俄國社會中還未蓬勃發展, 且其實這幾年許多的空間供應商也都會推出免費 blog 的申請, 只要幾個步驟, 傻瓜安裝法即可完成用戶端這方的介面, 且 MT 3.x 版提供免費的單人版本, 除非是遇到我家的狀況, 對大多數人來說這版本以及 MT 所提供的服務都足以滿足需求, 也就更少人在 MT 2.x 板上投注精神了.
簡單來說, 目前俄文化最大的問題在於 "日期", 所幸今天在俄文的網站上看到一線曙光, 在 "Русификация MovableType" 文章中就清楚的指到這部分.
Русификация MovableType состоит из таких шагов
MT 俄文化需要以下步驟:
- Русификация дат (日期的俄文化)
- Русификация имен файлов для dirify (檔案命名的俄文化)
- Перевод темплейтов и системных сообщений (樣板的翻譯與系統的溝通)
Первые два пункта требуют правок кода, каковые правки и были сделаны. Все действия производились над MovableType 3.33
前面兩點需要程式碼的修正. 以上所有的步驟都是在 MT 3.33 版本上被執行.
文章中提到幾個要點:
- UTF-8 и только он
UTF-8 的環境包括 Apache 上的設定以及 MT 上所有相關的設定.
修改 mt-config.cgi,MailEncoding utf-8
這個步驟若沒有設定, 會影響所有的來信 (關於迴響, 以及來自於 trackbacks 的通知), 將會以 ISO-8859-1 的編碼遞送, 收到的信件會以問號符號代替俄文字母.
Раз MT предлагает нам UTF-8, значит нужно пользоваться. Единственное изменение, которое нужно внести в настройки по-умолчанию в этом месте, это добавить в mt-config.cgi строчку
MailEncoding utf-8
Без этой настройки вся приходящая почта (о комментариях, от trackbacks) будет как-бы в ISO-8859-1, со знаками вопроса вместо русских букв.
- Неделя начинается в понедельник
週由星期一開始在俄國 (比方說法國也是) 一週的第一天是星期一. 可是 MT 的計算日曆是寫死在 code 當中而無法更改. 幸運地, 要修改這部份很容易, 只要從 Util.pm 以及 MTUtil.php 上修改一行程式. 修正 calendar.tmpl 的標準 (重新挪動行列, 不是翻譯.)
* 不過台灣週的開始也是由星期日開始 (? 這部分我很懷疑, 我總覺得台灣是聯合國, 高興從哪開始, 好像都有人這麼幹. 所以在不影響我家老公 blog 運作情況下, 跳過此步驟.)
- Русские названия месяцев
月份名稱的俄文化, 包括日期格式在網誌組態, 偏好設定中, 顯示日期用的語言 Date Language, 增加 Russian (俄羅斯) 的選項.
這個部份總共要修改幾個檔案, 包括:
- Util.pm - 位在 Lib/MT/ 之下, 將 "патчем для Util.pm и MTUtil.php" 提供的 patch 檔案內容, 增加到此檔中.
文章中的內容是以修改義大利文版本的 Util.pm 做為範例, 不過以我家的電腦中, 已經有近十種語言的情況下 (雖然會用的就那幾樣), 選單的內容不以 "修改" 來增加, 而是直接在 "義大利文" 之下增加 "俄文 Russian" 的選項為主.
'ru' => [ (
[ ('Воскресенье', 'Понедельник', 'Вторник', 'Среда',
'Четверг', 'Пятница', 'Суббота')],
[ ('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль',
'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь')],
[ ('AM','PM'),
"%d.%m.%y %H:%M",
"%d.%m.%y",]另外, 因為 MT 有 L10N 支援, 我家的 MT 用的就是 Jedi 的 zh_TW.pm 中文化檔案, 所以也要在這個檔案中將相關的訊息指給系統知道.
- zh_TW.pm - 位在 Lib/MT/l10n/ 之下, 一樣以 Italian (it) 當指標, 將 'Russian' => '俄語' 這行加進去.
到此, 俄文的日期設定算是完成, 至於日期格式的部分, 俄國的習慣 (我從網站上看的) 是 "星期, DD.MM.YYYY"
написано 12 Декабрь 2006
По совету Влада Головача выбираем в качестве Date Language (меню Settings) итальянский язык. Это даст нам даты записей в формате DD.MM.YYYY и итальянские названия месяцев в архиве и над календарем. Я небольшой любитель цифровых дат, но они - куда меньшее зло чем "написано 12 Декабрь 2006", а склонять имена месяцев MT не умеет.
Следующим шагом нужно перевести названия месяцев (и, до кучи, дней недели) для итальянского языка на русский. Это опять делается патчем для Util.pm и MTUtil.phpВ результате выбора итальянского языка для "Date Format", он появится еще и в теге <language> в RSS-экспорте. Потому что это вовсе не Date Format, а вообще язык блога. Ну да из темплейта index.xml можно и руками удалить (патч не прилагается)
- Имена файлов для dirify
dirify 檔案的命名(此步驟跳過, 俄文與中文一樣都有這個困擾, 所以無解))
http://blog.lexa.ru/2007/01/01/rusifikacija_movabletype.html
rusifikacija_movabletype 就是 dirify 在做的事, 如果是英語系國家, 這部份沒任何困擾, 直接可以抓文章 archive 標題當作網頁的檔名, 可是中文涉及到編碼的問題, 我們的辦法是以資料庫的文章號碼當作檔名, 來略過這個困擾, 所以同樣的俄文也是如此.
- Русские сообщения в темплейтахх
樣板 template 的俄文化宣告這部份包括所有的索引 (index), 彙整 (archives) 檔案都必須將相關字換成俄文, 這包括:
- 尋找站內 = Поиск в блоге
- 分類 = теги
- 靜態連結 = (постоянная) ссылка
- 迴響 = (последние) комментарии
- Trackback
- 作者 = авторы
- 匯整 = архивы
- 最新文章 = последнее (статья) / последние записи
- 留下迴響 добавить комментарий
- 名字 = имя
- url
- 記住我的資訊 = запомнить меня
- подписаться на ответы 送出迴響
- 迴響 (允許使用 HTML 標籤) = комментарий: (можно использовать HTML теги)/ (HTML-теги разрешены)
- 不允許 = нельзя использовать HTML теги (?)
- Все патчи вместе
相關 patch- Русские названия дат : http://blog.lexa.ru/files/patch-rudate.gz
- Понедельник - первый день недели : http://blog.lexa.ru/files/patch-monday.gz
- Русификатор dirify : http://blog.lexa.ru/files/patch-dirify.gz
到此, 這篇文章算是翻譯完了, 重新開啟 MT, 應該如期望中能夠見到日期語言的部分增加俄文選項, 如果有人也按照我的步驟做了, 肯定如我一樣失望了, 問題在於完成了所有的 pm 檔案的設定, 卻沒有做最關鍵的一個部份, 就是產生 "偏好" 頁面很重要的 tmpl 當中的下拉式選單並沒有增加俄文這個選項.
這個問題, 在這篇原始文章的迴響中, 有人提到也解決了.
А затем в tmpl/cms/cfg_prefs.tmpl в нужном месте добавил строчку:
<option value="ru"<TMPL_IF NAME=LANGUAGE_RU> selected="selected"</TMPL_IF>><MT_TRANS phrase="Russian"<>/option<
После в настройках выбрал нужный язык.修改 tmpl/cms/cfg_prefs.tmpl, 找到 Date Language 選項下的下拉式選單, 同樣以 Italian 做為指標, 將
<option value="ru"<TMPL_IF NAME=LANGUAGE_RU> selected="selected"</TMPL_IF<<>MT_TRANS phrase="Russian"<>/option>
這行加入, 重新載入 MT, 進入偏好設定中, 選定日期語言為 Russian.
開啟模板, 修改 index.php (這是我家的, 一般來說應該是: index.html), 在 <$MTEntryDate format="%A, %e.%B.%Y"$> 將日期格式改成引號中格式, 重建索引, 開啟 blog.
%A = 星期全稱;
%e = 一個月的第幾天;
%B = 月的全稱; 以四月為例: Апрель 是全稱, 若 %b 則是 Ар.
%Y = 四碼的西元
恭喜自己, 我終於達成我最想要的畫面了!
【參考資料】
Русификация MovableType
http://blog.lexa.ru/2007/01/01/rusifikacija_movabletype.html
沒有留言:
張貼留言
* 所有回應必經本人檢閱後發佈 *