/*
	Copyright (c) 2004-2006, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml
*/

dojo.provide("nls.dojo_zh-tw");dojo.provide("dojo.i18n.calendar.nls.gregorian");dojo.i18n.calendar.nls.gregorian._built=true;dojo.provide("dojo.i18n.calendar.nls.gregorian.zh_tw");dojo.i18n.calendar.nls.gregorian.zh_tw={"dateFormat-medium":"yyyy'年'M'月'd'日'","field-second":"秒","field-week":"週","timeFormat-full":"ahh'時'mm'分'ss'秒' z","eras":["西元前","西元"],"field-year":"年","field-minute":"分鐘","timeFormat-medium":"ahh:mm:ss","field-hour":"小時","dateFormat-long":"yyyy'年'M'月'd'日'","field-day":"整日","field-dayperiod":"日間","field-month":"月","dateFormat-short":"yy'年'M'月'd'日'","field-era":"年代","timeFormat-short":"ah:mm","months-format-abbr":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"timeFormat-long":"ahh'時'mm'分'ss'秒'","field-weekday":"週天","dateFormat-full":"yyyy'年'M'月'd'日'EEEE","field-zone":"區域","days-standAlone-narrow":["日","一","二","三","四","五","六"],"am":"上午","days-format-abbr":["周日","周一","周二","周三","周四","周五","周六"],"pm":"下午","months-format-wide":["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],"months-standAlone-narrow":["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"days-format-wide":["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]};dojo.provide("dojo.i18n.calendar.nls.gregorianExtras");dojo.i18n.calendar.nls.gregorianExtras._built=true;dojo.provide("dojo.i18n.calendar.nls.gregorianExtras.zh_tw");dojo.i18n.calendar.nls.gregorianExtras.zh_tw={"dateFormat-yearOnly":"yyyy'年'"};dojo.provide("dojo.widget.nls.TimePicker");dojo.widget.nls.TimePicker._built=true;dojo.provide("dojo.widget.nls.TimePicker.zh_tw");dojo.widget.nls.TimePicker.zh_tw={"any":"any"};dojo.provide("dojo.widget.nls.DropdownDatePicker");dojo.widget.nls.DropdownDatePicker._built=true;dojo.provide("dojo.widget.nls.DropdownDatePicker.zh_tw");dojo.widget.nls.DropdownDatePicker.zh_tw={"selectDate":"Select a date"};dojo.provide("dojo.widget.nls.DropdownTimePicker");dojo.widget.nls.DropdownTimePicker._built=true;dojo.provide("dojo.widget.nls.DropdownTimePicker.zh_tw");dojo.widget.nls.DropdownTimePicker.zh_tw={"selectTime":"Select time"};