Merge pull request #5 from 910JQK/master

Add support for sH5V positioned comment
This commit is contained in:
Star Brilliant 2014-02-03 03:19:25 -08:00
commit a50e421aaa
10 changed files with 207 additions and 152 deletions

View File

@ -59,7 +59,7 @@ optional arguments:
-fs SIZE, --fontsize SIZE -fs SIZE, --fontsize SIZE
Default font size [default: 25] Default font size [default: 25]
-a ALPHA, --alpha ALPHA -a ALPHA, --alpha ALPHA
Text opaque Text opacity
-l SECONDS, --lifetime SECONDS -l SECONDS, --lifetime SECONDS
Duration of comment display [default: 5] Duration of comment display [default: 5]
-p HEIGHT, --protect HEIGHT -p HEIGHT, --protect HEIGHT

View File

@ -219,7 +219,18 @@ def ReadCommentsSH5V(f, fontsize):
c_color = str(comment['color']) c_color = str(comment['color'])
c = str(comment['text']) c = str(comment['text'])
size = fontsize size = fontsize
yield (float(c_at), int(c_date), i, c, {'0': 0, '1': 0, '4': 2, '5': 1}[c_type], int(c_color[1:], 16), size, (c.count('\n')+1)*size, CalculateLength(c)*size) if c_type != '7':
yield (float(c_at), int(c_date), i, c, {'0': 0, '1': 0, '4': 2, '5': 1}[c_type], int(c_color[1:], 16), size, (c.count('\n')+1)*size, CalculateLength(c)*size)
else:
c_x = float(comment['x'])
c_y = float(comment['y'])
size = int(comment['size'])
dur = int(comment['dur'])
data1 = float(comment['data1'])
data2 = float(comment['data2'])
data3 = int(comment['data3'])
data4 = int(comment['data4'])
yield (float(c_at), int(c_date), i, c, 'sH5Vpos', int(c_color[1:], 16), size, 0, 0, c_x, c_y, dur, data1, data2, data3, data4)
except (AssertionError, AttributeError, IndexError, TypeError, ValueError): except (AssertionError, AttributeError, IndexError, TypeError, ValueError):
logging.warning(_('Invalid comment: %r') % comment) logging.warning(_('Invalid comment: %r') % comment)
continue continue
@ -425,6 +436,48 @@ def WriteCommentAcfunPositioned(f, c, width, height, styleid):
except (IndexError, ValueError) as e: except (IndexError, ValueError) as e:
logging.warning(_('Invalid comment: %r') % c[3]) logging.warning(_('Invalid comment: %r') % c[3])
def WriteCommentSH5VPositioned(f, c, width, height, styleid):
def GetTransformStyles(x=None, y=None, fsize=None, rotate_z=None, rotate_y=None, color=None, alpha=None):
styles = []
if x is not None and y is not None:
styles.append('\\pos(%s, %s)' % (x, y))
if fsize is not None:
styles.append('\\fs%s' % fsize)
if rotate_y is not None and rotate_z is not None:
styles.append('\\frz%s' % round(rotate_z))
styles.append('\\fry%s' % round(rotate_y))
if color is not None:
styles.append('\\c&H%02X%02X%02X&' % (color & 0xff, (color >> 8) & 0xff, (color >> 16) & 0xff))
if color == 0x000000:
styles.append('\\3c&HFFFFFF&')
if alpha is not None:
alpha = 255-round(alpha*255)
styles.append('\\alpha&H%02X' % alpha)
return styles
def FlushCommentLine(f, text, styles, start_time, end_time, styleid):
if end_time > start_time:
f.write('Dialogue: -1,%(start)s,%(end)s,%(styleid)s,,0,0,0,,{%(styles)s}%(text)s\n' % {'start': ConvertTimestamp(start_time), 'end': ConvertTimestamp(end_time), 'styles': ''.join(styles), 'text': text, 'styleid': styleid})
try:
text = ASSEscape(str(c[3]))
to_x = round(float(c[9])*width)
to_y = round(float(c[10])*height)
to_rotate_z = -int(c[14])
to_rotate_y = -int(c[15])
to_color = c[5]
to_alpha = float(c[12])
#Note: Alpha transition hasn't been worked out yet.
to_size = round(int(c[6])*math.sqrt(width*height/307200))
#Note: Because sH5V's data is the absolute size of font,temporarily solve by it at present.[*math.sqrt(width/640*height/480)]
#But it seems to be working fine...
from_time = float(c[0])
action_time = float(c[11])/1000
transform_styles = GetTransformStyles(to_x, to_y, to_size, to_rotate_z, to_rotate_y, to_color, to_alpha)
FlushCommentLine(f, text, transform_styles, from_time, from_time+action_time, styleid)
except (IndexError, ValueError) as e:
logging.warning(_('Invalid comment: %r') % c[3])
# Result: (f, dx, dy) # Result: (f, dx, dy)
# To convert: NewX = f*x+dx, NewY = f*y+dy # To convert: NewX = f*x+dx, NewY = f*y+dy
@ -479,6 +532,8 @@ def ProcessComments(comments, f, width, height, bottomReserved, fontface, fontsi
WriteCommentBilibiliPositioned(f, i, width, height, styleid) WriteCommentBilibiliPositioned(f, i, width, height, styleid)
elif i[4] == 'acfunpos': elif i[4] == 'acfunpos':
WriteCommentAcfunPositioned(f, i, width, height, styleid) WriteCommentAcfunPositioned(f, i, width, height, styleid)
elif i[4] == 'sH5Vpos':
WriteCommentSH5VPositioned(f, i, width, height, styleid)
else: else:
logging.warning(_('Invalid comment: %r') % i[3]) logging.warning(_('Invalid comment: %r') % i[3])
if progress_callback: if progress_callback:
@ -680,7 +735,7 @@ def main():
parser.add_argument('-s', '--size', metavar=_('WIDTHxHEIGHT'), required=True, help=_('Stage size in pixels')) parser.add_argument('-s', '--size', metavar=_('WIDTHxHEIGHT'), required=True, help=_('Stage size in pixels'))
parser.add_argument('-fn', '--font', metavar=_('FONT'), help=_('Specify font face [default: %s]') % _('(FONT) sans-serif')[7:], default=_('(FONT) sans-serif')[7:]) parser.add_argument('-fn', '--font', metavar=_('FONT'), help=_('Specify font face [default: %s]') % _('(FONT) sans-serif')[7:], default=_('(FONT) sans-serif')[7:])
parser.add_argument('-fs', '--fontsize', metavar=_('SIZE'), help=(_('Default font size [default: %s]') % 25), type=float, default=25.0) parser.add_argument('-fs', '--fontsize', metavar=_('SIZE'), help=(_('Default font size [default: %s]') % 25), type=float, default=25.0)
parser.add_argument('-a', '--alpha', metavar=_('ALPHA'), help=_('Text opaque'), type=float, default=1.0) parser.add_argument('-a', '--alpha', metavar=_('ALPHA'), help=_('Text opacity'), type=float, default=1.0)
parser.add_argument('-l', '--lifetime', metavar=_('SECONDS'), help=_('Duration of comment display [default: %s]') % 5, type=float, default=5.0) parser.add_argument('-l', '--lifetime', metavar=_('SECONDS'), help=_('Duration of comment display [default: %s]') % 5, type=float, default=5.0)
parser.add_argument('-p', '--protect', metavar=_('HEIGHT'), help=_('Reserve blank on the bottom of the stage'), type=int, default=0) parser.add_argument('-p', '--protect', metavar=_('HEIGHT'), help=_('Reserve blank on the bottom of the stage'), type=int, default=0)
parser.add_argument('-r', '--reduce', action='store_true', help=_('Reduce the amount of comments if stage is full')) parser.add_argument('-r', '--reduce', action='store_true', help=_('Reduce the amount of comments if stage is full'))

Binary file not shown.

View File

@ -2,105 +2,105 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Danmaku2ASS\n" "Project-Id-Version: Danmaku2ASS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-24 15:30+0800\n" "POT-Creation-Date: 2014-02-03 16:50+0800\n"
"Last-Translator: Star Brilliant <m13253@hotmail.com>\n" "Last-Translator: Star Brilliant <m13253@hotmail.com>\n"
"Language: en\n" "Language: en\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: danmaku2ass.py:130 danmaku2ass.py:165 danmaku2ass.py:195 #: danmaku2ass.py:139 danmaku2ass.py:178 danmaku2ass.py:208
#, python-format #, python-format
msgid "Invalid comment: %s" msgid "Invalid comment: %s"
msgstr "Invalid comment: %s" msgstr "Invalid comment: %s"
#: danmaku2ass.py:145 danmaku2ass.py:179 danmaku2ass.py:211 danmaku2ass.py:317 #: danmaku2ass.py:158 danmaku2ass.py:192 danmaku2ass.py:235 danmaku2ass.py:317
#: danmaku2ass.py:319 danmaku2ass.py:348 #: danmaku2ass.py:319 danmaku2ass.py:437 danmaku2ass.py:480 danmaku2ass.py:538
#, python-format #, python-format
msgid "Invalid comment: %r" msgid "Invalid comment: %r"
msgstr "Invalid comment: %r" msgstr "Invalid comment: %r"
#: danmaku2ass.py:496 danmaku2ass.py:539 #: danmaku2ass.py:688 danmaku2ass.py:736
msgid "(FONT) sans-serif" msgid "(FONT) sans-serif"
msgstr "(FONT) Helvetica" msgstr "(FONT) Helvetica"
#: danmaku2ass.py:522 #: danmaku2ass.py:717
#, python-format #, python-format
msgid "Unknown comment file format: %s" msgid "Unknown comment file format: %s"
msgstr "Unknown comment file format: %s" msgstr "Unknown comment file format: %s"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "OUTPUT" msgid "OUTPUT"
msgstr "OUTPUT" msgstr "OUTPUT"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "Output file" msgid "Output file"
msgstr "Output file" msgstr "Output file"
#: danmaku2ass.py:538 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "Stage size in pixels"
#: danmaku2ass.py:538
msgid "WIDTHxHEIGHT" msgid "WIDTHxHEIGHT"
msgstr "WIDTHxHEIGHT" msgstr "WIDTHxHEIGHT"
#: danmaku2ass.py:539 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "Stage size in pixels"
#: danmaku2ass.py:736
msgid "FONT" msgid "FONT"
msgstr "FONT" msgstr "FONT"
#: danmaku2ass.py:539 #: danmaku2ass.py:736
#, python-format #, python-format
msgid "Specify font face [default: %s]" msgid "Specify font face [default: %s]"
msgstr "Specify font face [default: %s]" msgstr "Specify font face [default: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:737
msgid "SIZE"
msgstr "SIZE"
#: danmaku2ass.py:737
#, python-format #, python-format
msgid "Default font size [default: %s]" msgid "Default font size [default: %s]"
msgstr "Default font size [default: %s]" msgstr "Default font size [default: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:738
msgid "SIZE"
msgstr "SIZE"
#: danmaku2ass.py:541
msgid "ALPHA" msgid "ALPHA"
msgstr "ALPHA" msgstr "ALPHA"
#: danmaku2ass.py:541 #: danmaku2ass.py:738
msgid "Text opaque" msgid "Text opacity"
msgstr "Text opaque" msgstr "Text opacity"
#: danmaku2ass.py:542 #: danmaku2ass.py:739
msgid "SECONDS"
msgstr "SECONDS"
#: danmaku2ass.py:739
#, python-format #, python-format
msgid "Duration of comment display [default: %s]" msgid "Duration of comment display [default: %s]"
msgstr "Duration of comment display [default: %s]" msgstr "Duration of comment display [default: %s]"
#: danmaku2ass.py:542 #: danmaku2ass.py:740
msgid "SECONDS"
msgstr "SECONDS"
#: danmaku2ass.py:543
msgid "HEIGHT" msgid "HEIGHT"
msgstr "HEIGHT" msgstr "HEIGHT"
#: danmaku2ass.py:543 #: danmaku2ass.py:740
msgid "Reserve blank on the bottom of the stage" msgid "Reserve blank on the bottom of the stage"
msgstr "Reserve blank on the bottom of the stage" msgstr "Reserve blank on the bottom of the stage"
#: danmaku2ass.py:544 #: danmaku2ass.py:741
msgid "Reduce the amount of comments if stage is full" msgid "Reduce the amount of comments if stage is full"
msgstr "Reduce the amount of comments if stage is full" msgstr "Reduce the amount of comments if stage is full"
#: danmaku2ass.py:545 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "Comment file to be processed"
#: danmaku2ass.py:545
msgid "FILE" msgid "FILE"
msgstr "FILE" msgstr "FILE"
#: danmaku2ass.py:552 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "Comment file to be processed"
#: danmaku2ass.py:749
#, python-format #, python-format
msgid "Invalid stage size: %r" msgid "Invalid stage size: %r"
msgstr "Invalid stage size: %r" msgstr "Invalid stage size: %r"

Binary file not shown.

View File

@ -2,105 +2,105 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Danmaku2ASS\n" "Project-Id-Version: Danmaku2ASS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-24 15:30+0800\n" "POT-Creation-Date: 2014-02-03 16:50+0800\n"
"Last-Translator: Star Brilliant <m13253@hotmail.com>\n" "Last-Translator: Star Brilliant <m13253@hotmail.com>\n"
"Language: ja\n" "Language: ja\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: danmaku2ass.py:130 danmaku2ass.py:165 danmaku2ass.py:195 #: danmaku2ass.py:139 danmaku2ass.py:178 danmaku2ass.py:208
#, python-format #, python-format
msgid "Invalid comment: %s" msgid "Invalid comment: %s"
msgstr "無効なコメント:%s" msgstr "無効なコメント:%s"
#: danmaku2ass.py:145 danmaku2ass.py:179 danmaku2ass.py:211 danmaku2ass.py:317 #: danmaku2ass.py:158 danmaku2ass.py:192 danmaku2ass.py:235 danmaku2ass.py:317
#: danmaku2ass.py:319 danmaku2ass.py:348 #: danmaku2ass.py:319 danmaku2ass.py:437 danmaku2ass.py:480 danmaku2ass.py:538
#, python-format #, python-format
msgid "Invalid comment: %r" msgid "Invalid comment: %r"
msgstr "無効なコメント:%r" msgstr "無効なコメント:%r"
#: danmaku2ass.py:496 danmaku2ass.py:539 #: danmaku2ass.py:688 danmaku2ass.py:736
msgid "(FONT) sans-serif" msgid "(FONT) sans-serif"
msgstr "(FONT) MS PGothic" msgstr "(FONT) MS PGothic"
#: danmaku2ass.py:522 #: danmaku2ass.py:717
#, python-format #, python-format
msgid "Unknown comment file format: %s" msgid "Unknown comment file format: %s"
msgstr "未知のコメントファイル形式:%s" msgstr "未知のコメントファイル形式:%s"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "OUTPUT" msgid "OUTPUT"
msgstr "出力" msgstr "出力"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "Output file" msgid "Output file"
msgstr "出力ファイル" msgstr "出力ファイル"
#: danmaku2ass.py:538 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "ピクセル単位でステージのサイズ"
#: danmaku2ass.py:538
msgid "WIDTHxHEIGHT" msgid "WIDTHxHEIGHT"
msgstr "幅x高" msgstr "幅x高"
#: danmaku2ass.py:539 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "ピクセル単位でステージのサイズ"
#: danmaku2ass.py:736
msgid "FONT" msgid "FONT"
msgstr "フォント" msgstr "フォント"
#: danmaku2ass.py:539 #: danmaku2ass.py:736
#, python-format #, python-format
msgid "Specify font face [default: %s]" msgid "Specify font face [default: %s]"
msgstr "フォントを指定する [デフォルト: %s]" msgstr "フォントを指定する [デフォルト: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:737
msgid "SIZE"
msgstr "サイズ"
#: danmaku2ass.py:737
#, python-format #, python-format
msgid "Default font size [default: %s]" msgid "Default font size [default: %s]"
msgstr "デフォルトのフォントサイズ [デフォルト: %s]" msgstr "デフォルトのフォントサイズ [デフォルト: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:738
msgid "SIZE"
msgstr "サイズ"
#: danmaku2ass.py:541
msgid "ALPHA" msgid "ALPHA"
msgstr "アルファ" msgstr "アルファ"
#: danmaku2ass.py:541 #: danmaku2ass.py:738
msgid "Text opaque" msgid "Text opacity"
msgstr "テキストの不透明度" msgstr "テキストの不透明度"
#: danmaku2ass.py:542 #: danmaku2ass.py:739
msgid "SECONDS"
msgstr "秒数"
#: danmaku2ass.py:739
#, python-format #, python-format
msgid "Duration of comment display [default: %s]" msgid "Duration of comment display [default: %s]"
msgstr "コメント表示の時間 [デフォルト: %s]" msgstr "コメント表示の時間 [デフォルト: %s]"
#: danmaku2ass.py:542 #: danmaku2ass.py:740
msgid "SECONDS"
msgstr "秒数"
#: danmaku2ass.py:543
msgid "HEIGHT" msgid "HEIGHT"
msgstr "高度" msgstr "高度"
#: danmaku2ass.py:543 #: danmaku2ass.py:740
msgid "Reserve blank on the bottom of the stage" msgid "Reserve blank on the bottom of the stage"
msgstr "ステージの下にブランクを予備する" msgstr "ステージの下にブランクを予備する"
#: danmaku2ass.py:544 #: danmaku2ass.py:741
msgid "Reduce the amount of comments if stage is full" msgid "Reduce the amount of comments if stage is full"
msgstr "ステージがいっぱいになったのときにコメントの量を減らす" msgstr "ステージがいっぱいになったのときにコメントの量を減らす"
#: danmaku2ass.py:545 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "ファイルが処理されるコメント"
#: danmaku2ass.py:545
msgid "FILE" msgid "FILE"
msgstr "ファイル" msgstr "ファイル"
#: danmaku2ass.py:552 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "ファイルが処理されるコメント"
#: danmaku2ass.py:749
#, python-format #, python-format
msgid "Invalid stage size: %r" msgid "Invalid stage size: %r"
msgstr "無効なステージサイズ:%r" msgstr "無効なステージサイズ:%r"

View File

@ -2,105 +2,105 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Danmaku2ASS\n" "Project-Id-Version: Danmaku2ASS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-24 15:30+0800\n" "POT-Creation-Date: 2014-02-03 16:50+0800\n"
"Last-Translator: Star Brilliant <m13253@hotmail.com>\n" "Last-Translator: Star Brilliant <m13253@hotmail.com>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: danmaku2ass.py:130 danmaku2ass.py:165 danmaku2ass.py:195 #: danmaku2ass.py:139 danmaku2ass.py:178 danmaku2ass.py:208
#, python-format #, python-format
msgid "Invalid comment: %s" msgid "Invalid comment: %s"
msgstr "无效弹幕:%s" msgstr "无效弹幕:%s"
#: danmaku2ass.py:145 danmaku2ass.py:179 danmaku2ass.py:211 danmaku2ass.py:317 #: danmaku2ass.py:158 danmaku2ass.py:192 danmaku2ass.py:235 danmaku2ass.py:317
#: danmaku2ass.py:319 danmaku2ass.py:348 #: danmaku2ass.py:319 danmaku2ass.py:437 danmaku2ass.py:480 danmaku2ass.py:538
#, python-format #, python-format
msgid "Invalid comment: %r" msgid "Invalid comment: %r"
msgstr "无效弹幕:%r" msgstr "无效弹幕:%r"
#: danmaku2ass.py:496 danmaku2ass.py:539 #: danmaku2ass.py:688 danmaku2ass.py:736
msgid "(FONT) sans-serif" msgid "(FONT) sans-serif"
msgstr "(FONT) SimHei" msgstr "(FONT) SimHei"
#: danmaku2ass.py:522 #: danmaku2ass.py:717
#, python-format #, python-format
msgid "Unknown comment file format: %s" msgid "Unknown comment file format: %s"
msgstr "未知的弹幕文件格式:%s" msgstr "未知的弹幕文件格式:%s"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "OUTPUT" msgid "OUTPUT"
msgstr "输出" msgstr "输出"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "Output file" msgid "Output file"
msgstr "输出文件" msgstr "输出文件"
#: danmaku2ass.py:538 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "舞台尺寸的像素数目"
#: danmaku2ass.py:538
msgid "WIDTHxHEIGHT" msgid "WIDTHxHEIGHT"
msgstr "宽x高" msgstr "宽x高"
#: danmaku2ass.py:539 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "舞台尺寸的像素数目"
#: danmaku2ass.py:736
msgid "FONT" msgid "FONT"
msgstr "字体" msgstr "字体"
#: danmaku2ass.py:539 #: danmaku2ass.py:736
#, python-format #, python-format
msgid "Specify font face [default: %s]" msgid "Specify font face [default: %s]"
msgstr "指定字体名称 [默认: %s]" msgstr "指定字体名称 [默认: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:737
msgid "SIZE"
msgstr "尺寸"
#: danmaku2ass.py:737
#, python-format #, python-format
msgid "Default font size [default: %s]" msgid "Default font size [default: %s]"
msgstr "默认字号 [默认: %s]" msgstr "默认字号 [默认: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:738
msgid "SIZE"
msgstr "尺寸"
#: danmaku2ass.py:541
msgid "ALPHA" msgid "ALPHA"
msgstr "ALPHA" msgstr "ALPHA"
#: danmaku2ass.py:541 #: danmaku2ass.py:738
msgid "Text opaque" msgid "Text opacity"
msgstr "文字不透明度" msgstr "文字不透明度"
#: danmaku2ass.py:542 #: danmaku2ass.py:739
msgid "SECONDS"
msgstr "秒数"
#: danmaku2ass.py:739
#, python-format #, python-format
msgid "Duration of comment display [default: %s]" msgid "Duration of comment display [default: %s]"
msgstr "弹幕显示时长 [默认: %s]" msgstr "弹幕显示时长 [默认: %s]"
#: danmaku2ass.py:542 #: danmaku2ass.py:740
msgid "SECONDS"
msgstr "秒数"
#: danmaku2ass.py:543
msgid "HEIGHT" msgid "HEIGHT"
msgstr "高度" msgstr "高度"
#: danmaku2ass.py:543 #: danmaku2ass.py:740
msgid "Reserve blank on the bottom of the stage" msgid "Reserve blank on the bottom of the stage"
msgstr "在舞台底部预留空位" msgstr "在舞台底部预留空位"
#: danmaku2ass.py:544 #: danmaku2ass.py:741
msgid "Reduce the amount of comments if stage is full" msgid "Reduce the amount of comments if stage is full"
msgstr "在舞台满时减少弹幕数量" msgstr "在舞台满时减少弹幕数量"
#: danmaku2ass.py:545 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "将要处理的弹幕文件"
#: danmaku2ass.py:545
msgid "FILE" msgid "FILE"
msgstr "文件" msgstr "文件"
#: danmaku2ass.py:552 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "将要处理的弹幕文件"
#: danmaku2ass.py:749
#, python-format #, python-format
msgid "Invalid stage size: %r" msgid "Invalid stage size: %r"
msgstr "无效舞台尺寸:%r" msgstr "无效舞台尺寸:%r"

View File

@ -2,105 +2,105 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Danmaku2ASS\n" "Project-Id-Version: Danmaku2ASS\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-11-24 15:30+0800\n" "POT-Creation-Date: 2014-02-03 16:50+0800\n"
"Last-Translator: Star Brilliant <m13253@hotmail.com>\n" "Last-Translator: Star Brilliant <m13253@hotmail.com>\n"
"Language: zh_TW\n" "Language: zh_TW\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: danmaku2ass.py:130 danmaku2ass.py:165 danmaku2ass.py:195 #: danmaku2ass.py:139 danmaku2ass.py:178 danmaku2ass.py:208
#, python-format #, python-format
msgid "Invalid comment: %s" msgid "Invalid comment: %s"
msgstr "無效彈幕:%s" msgstr "無效彈幕:%s"
#: danmaku2ass.py:145 danmaku2ass.py:179 danmaku2ass.py:211 danmaku2ass.py:317 #: danmaku2ass.py:158 danmaku2ass.py:192 danmaku2ass.py:235 danmaku2ass.py:317
#: danmaku2ass.py:319 danmaku2ass.py:348 #: danmaku2ass.py:319 danmaku2ass.py:437 danmaku2ass.py:480 danmaku2ass.py:538
#, python-format #, python-format
msgid "Invalid comment: %r" msgid "Invalid comment: %r"
msgstr "無效彈幕:%r" msgstr "無效彈幕:%r"
#: danmaku2ass.py:496 danmaku2ass.py:539 #: danmaku2ass.py:688 danmaku2ass.py:736
msgid "(FONT) sans-serif" msgid "(FONT) sans-serif"
msgstr "(FONT) Microsoft JhengHei" msgstr "(FONT) Microsoft JhengHei"
#: danmaku2ass.py:522 #: danmaku2ass.py:717
#, python-format #, python-format
msgid "Unknown comment file format: %s" msgid "Unknown comment file format: %s"
msgstr "未知的彈幕檔案格式:%s" msgstr "未知的彈幕檔案格式:%s"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "OUTPUT" msgid "OUTPUT"
msgstr "輸出" msgstr "輸出"
#: danmaku2ass.py:537 #: danmaku2ass.py:734
msgid "Output file" msgid "Output file"
msgstr "輸出檔案" msgstr "輸出檔案"
#: danmaku2ass.py:538 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "舞臺尺寸的畫素數目"
#: danmaku2ass.py:538
msgid "WIDTHxHEIGHT" msgid "WIDTHxHEIGHT"
msgstr "寬x高" msgstr "寬x高"
#: danmaku2ass.py:539 #: danmaku2ass.py:735
msgid "Stage size in pixels"
msgstr "舞臺尺寸的畫素數目"
#: danmaku2ass.py:736
msgid "FONT" msgid "FONT"
msgstr "字型" msgstr "字型"
#: danmaku2ass.py:539 #: danmaku2ass.py:736
#, python-format #, python-format
msgid "Specify font face [default: %s]" msgid "Specify font face [default: %s]"
msgstr "指定字型名稱 [默認: %s]" msgstr "指定字型名稱 [默認: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:737
msgid "SIZE"
msgstr "尺寸"
#: danmaku2ass.py:737
#, python-format #, python-format
msgid "Default font size [default: %s]" msgid "Default font size [default: %s]"
msgstr "默認字型大小 [默認: %s]" msgstr "默認字型大小 [默認: %s]"
#: danmaku2ass.py:540 #: danmaku2ass.py:738
msgid "SIZE"
msgstr "尺寸"
#: danmaku2ass.py:541
msgid "ALPHA" msgid "ALPHA"
msgstr "ALPHA" msgstr "ALPHA"
#: danmaku2ass.py:541 #: danmaku2ass.py:738
msgid "Text opaque" msgid "Text opacity"
msgstr "文字不透明度" msgstr "文字不透明度"
#: danmaku2ass.py:542 #: danmaku2ass.py:739
msgid "SECONDS"
msgstr "秒數"
#: danmaku2ass.py:739
#, python-format #, python-format
msgid "Duration of comment display [default: %s]" msgid "Duration of comment display [default: %s]"
msgstr "彈幕顯示時長 [默認: %s]" msgstr "彈幕顯示時長 [默認: %s]"
#: danmaku2ass.py:542 #: danmaku2ass.py:740
msgid "SECONDS"
msgstr "秒數"
#: danmaku2ass.py:543
msgid "HEIGHT" msgid "HEIGHT"
msgstr "高度" msgstr "高度"
#: danmaku2ass.py:543 #: danmaku2ass.py:740
msgid "Reserve blank on the bottom of the stage" msgid "Reserve blank on the bottom of the stage"
msgstr "在舞臺底部預留空位" msgstr "在舞臺底部預留空位"
#: danmaku2ass.py:544 #: danmaku2ass.py:741
msgid "Reduce the amount of comments if stage is full" msgid "Reduce the amount of comments if stage is full"
msgstr "在舞臺滿時減少彈幕數量" msgstr "在舞臺滿時減少彈幕數量"
#: danmaku2ass.py:545 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "將要處理的彈幕檔案"
#: danmaku2ass.py:545
msgid "FILE" msgid "FILE"
msgstr "檔案" msgstr "檔案"
#: danmaku2ass.py:552 #: danmaku2ass.py:742
msgid "Comment file to be processed"
msgstr "將要處理的彈幕檔案"
#: danmaku2ass.py:749
#, python-format #, python-format
msgid "Invalid stage size: %r" msgid "Invalid stage size: %r"
msgstr "無效舞臺尺寸:%r" msgstr "無效舞臺尺寸:%r"