summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/rbot/plugins/games/azgame.rb102
-rw-r--r--po/ja/rbot.po175
-rw-r--r--po/rbot.pot167
-rw-r--r--po/zh_CN/rbot.po167
4 files changed, 555 insertions, 56 deletions
diff --git a/data/rbot/plugins/games/azgame.rb b/data/rbot/plugins/games/azgame.rb
index 883e4030..04efb810 100644
--- a/data/rbot/plugins/games/azgame.rb
+++ b/data/rbot/plugins/games/azgame.rb
@@ -150,29 +150,29 @@ class AzGamePlugin < Plugin
isit = @games[k].check(word)
case isit.first
when :bingo
- m.reply "#{Bold}BINGO!#{Bold}: the word was #{Underline}#{word}#{Underline}. Congrats, #{Bold}#{m.sourcenick}#{Bold}!"
+ m.reply _("%{bold}BINGO!%{bold} the word was %{underline}%{word}%{underline}. Congrats, %{bold}%{player}%{bold}!") % {:bold => Bold, :underline => Underline, :word => word, :player => m.sourcenick}
@games[k].total_tries += 1
@games[k].tries[m.source] += 1
@games[k].winner = m.source
ar = @games[k].score.inject([]) { |res, kv|
res.push("%s: %d (%s)" % kv.flatten)
}
- m.reply "The game was won after #{@games[k].total_tries} tries. Scores for this game: #{ar.join('; ')}"
+ m.reply _("The game was won after %{tries} tries. Scores for this game: %{scores}") % {:tries => @games[k].total_tries, :scores => ar.join('; ')}
@games.delete(k)
when :out
- m.reply "#{word} is not in the range #{Bold}#{isit.last}#{Bold}" if m.address?
+ m.reply _("%{word} is not in the range %{bold}%{range}%{bold}") % {:word => word, :bold => Bold, :range => isit.last} if m.address?
when :noexist
- m.reply "#{word} doesn't exist or is not acceptable for the game"
+ m.reply _("%{word} doesn't exist or is not acceptable for the game") % {:word => word}
@games[k].total_failed += 1
@games[k].failed[m.source] += 1
when :in
- m.reply "close, but no cigar. New range: #{Bold}#{isit.last}#{Bold}"
+ m.reply _("close, but no cigar. New range: %{bold}%{range}%{bold}") % {:bold => Bold, :range => isit.last}
@games[k].total_tries += 1
@games[k].tries[m.source] += 1
when :ignore
- m.reply "#{word} is already one of the range extrema: #{isit.last}" if m.address?
+ m.reply _("%{word} is already one of the range extrema: %{range}") % {:word => word, :range => isit.last} if m.address?
else
- m.reply "hm, something went wrong while verifying #{word}"
+ m.reply _("hm, something went wrong while verifying %{word}")
end
end
@@ -180,11 +180,11 @@ class AzGamePlugin < Plugin
k = m.channel.downcase.to_s
word = params[:word].downcase
if not @games.key?(k)
- m.reply "no A-Z game running here, can't check if #{word} is valid, can I?"
+ m.reply _("no A-Z game running here, can't check if %{word} is valid, can I?")
return
end
if word !~ /^\S+$/
- m.reply "I only accept single words composed by letters only, sorry"
+ m.reply _("I only accept single words composed by letters only, sorry")
return
end
word_check(m, k, word)
@@ -194,14 +194,14 @@ class AzGamePlugin < Plugin
return if m.channel.nil? # Shouldn't happen, but you never know
k = m.channel.downcase.to_s # to_sym?
if @games.key?(k)
- m.reply "the word in #{Bold}#{@games[k].range}#{Bold} was: #{Bold}#{@games[k].word}"
+ m.reply _("the word in %{bold}%{range}%{bold} was: %{bold}%{word}%{bold}") % {:bold => Bold, :range => @games[k].range, :word => @games[k].word}
ar = @games[k].score.inject([]) { |res, kv|
res.push("%s: %d (%s)" % kv.flatten)
}
- m.reply "The game was cancelled after #{@games[k].total_tries} tries. Scores for this game would have been: #{ar.join('; ')}"
+ m.reply _("The game was cancelled after %{tries} tries. Scores for this game would have been: %{scores}") % {:tries => @games[k].total_tries, :scores => ar.join('; ')}
@games.delete(k)
else
- m.reply "no A-Z game running in this channel ..."
+ m.reply _("no A-Z game running in this channel ...")
end
end
@@ -211,43 +211,40 @@ class AzGamePlugin < Plugin
unless @games.key?(k)
lang = (params[:lang] || @bot.config['core.language']).to_sym
method = 'random_pick_'+lang.to_s
- m.reply "let me think ..."
+ m.reply _("let me think ...")
if @rules.has_key?(lang) and self.respond_to?(method)
word = self.send(method)
if word.empty?
- m.reply "couldn't think of anything ..."
+ m.reply _("couldn't think of anything ...")
return
end
else
- m.reply "I can't play A-Z in #{lang}, sorry"
+ m.reply _("I can't play A-Z in %{lang}, sorry") % {:lang => lang}
return
end
- m.reply "got it!"
+ m.reply _("got it!")
@games[k] = AzGame.new(self, lang, @rules[lang], word)
end
tr = @games[k].total_tries
- case tr
- when 0
- tr_msg = ""
- when 1
- tr_msg = " (after 1 try"
+ # this message building code is rewritten to make translation easier
+ if tr == 0
+ tr_msg = ''
else
- tr_msg = " (after #{tr} tries"
- end
-
- unless tr_msg.empty?
f_tr = @games[k].total_failed
- case f_tr
- when 0
- tr_msg << ")"
- when 1
- tr_msg << " and 1 invalid try)"
+ if f_tr > 0
+ tr_msg = _(" (after %{total_tries} and %{invalid_tries}") %
+ { :total_tries => n_("%{count} try", "%{count} tries", tr) %
+ {:count => tr},
+ :invalid_tries => n_("%{count} invalid try", "%{count} invalid tries", tr) %
+ {:count => f_tr} }
else
- tr_msg << " and #{f_tr} invalid tries)"
+ tr_msg = _(" (after %{total_tries}") %
+ { :total_tries => n_("%{count} try", "%{count} tries", tr) %
+ {:count => tr}}
end
end
- m.reply "A-Z: #{Bold}#{@games[k].range}#{Bold}" + tr_msg
+ m.reply _("A-Z: %{bold}%{range}%{bold}") % {:bold => Bold, :range => @games[k].range} + tr_msg
return
end
@@ -258,10 +255,10 @@ class AzGamePlugin < Plugin
cmd = params[:cmd].to_sym rescue :count
case cmd
when :count
- m.reply "I have #{wc.size > 0 ? wc.size : 'no'} #{lang} words in my cache"
+ m.reply n_("I have %{count} %{lang} word in my cache", "I have %{count} %{lang} words in my cache", wc.size) % {:count => wc.size, :lang => lang}
when :show, :list
if pars.empty?
- m.reply "provide a regexp to match"
+ m.reply _("provide a regexp to match")
return
end
begin
@@ -273,45 +270,48 @@ class AzGamePlugin < Plugin
matches = []
end
if matches.size == 0
- m.reply "no #{lang} word I know match #{pars[0]}"
+ m.reply _("no %{lang} word I know match %{pattern}") % {:lang => lang, :pattern => pars[0]}
elsif matches.size > 25
- m.reply "more than 25 #{lang} words I know match #{pars[0]}, try a stricter matching"
+ m.reply _("more than 25 %{lang} words I know match %{pattern}, try a stricter matching") % {:lang => lang, :pattern => pars[0]}
else
m.reply "#{matches.join(', ')}"
end
when :info
if pars.empty?
- m.reply "provide a word"
+ m.reply _("provide a word")
return
end
word = pars[0].downcase.to_sym
if not wc.key?(word)
- m.reply "I don't know any #{lang} word #{word}"
+ m.reply _("I don't know any %{lang} word %{word}") % {:lang => lang, :word => word}
return
end
- tr = "#{word} learned from #{wc[word][:who]}"
- (tr << " on #{wc[word][:when]}") if wc[word].key?(:when)
+ if wc[word].key?(:when)
+ tr = _("%{word} learned from %{user} on %{date}") % {:word => word, :user => wc[word][:who], :date => wc[word][:when]}
+ else
+ tr = _("%{word} learned from %{user}") % {:word => word, :user => wc[word][:who]}
+ end
m.reply tr
- when :delete
+ when :delete
if pars.empty?
- m.reply "provide a word"
+ m.reply _("provide a word")
return
end
word = pars[0].downcase.to_sym
if not wc.key?(word)
- m.reply "I don't know any #{lang} word #{word}"
+ m.reply _("I don't know any %{lang} word %{word}") % {:lang => lang, :word => word}
return
end
wc.delete(word)
@bot.okay m.replyto
when :add
if pars.empty?
- m.reply "provide a word"
+ m.reply _("provide a word")
return
end
word = pars[0].downcase.to_sym
if wc.key?(word)
- m.reply "I already know the #{lang} word #{word}"
+ m.reply _("I already know the %{lang} word %{word}")
return
end
wc[word] = { :who => m.sourcenick, :when => Time.now }
@@ -527,17 +527,17 @@ class AzGamePlugin < Plugin
def help(plugin, topic="")
case topic
when 'manage'
- return "az [lang] word [count|list|add|delete] => manage the az wordlist for language lang (defaults to current bot language)"
+ return _("az [lang] word [count|list|add|delete] => manage the az wordlist for language lang (defaults to current bot language)")
when 'cancel'
- return "az cancel => abort current game"
+ return _("az cancel => abort current game")
when 'check'
- return 'az check <word> => checks <word> against current game'
+ return _('az check <word> => checks <word> against current game')
when 'rules'
- return "try to guess the word the bot is thinking of; if you guess wrong, the bot will use the new word to restrict the range of allowed words: eventually, the range will be so small around the correct word that you can't miss it"
+ return _("try to guess the word the bot is thinking of; if you guess wrong, the bot will use the new word to restrict the range of allowed words: eventually, the range will be so small around the correct word that you can't miss it")
when 'play'
- return "az => start a game if none is running, show the current word range otherwise; you can say 'az <language>' if you want to play in a language different from the current bot default"
+ return _("az => start a game if none is running, show the current word range otherwise; you can say 'az <language>' if you want to play in a language different from the current bot default")
end
- return "az topics: play, rules, cancel, manage, check"
+ return _("az topics: play, rules, cancel, manage, check")
end
end
diff --git a/po/ja/rbot.po b/po/ja/rbot.po
index a202d781..cbfa7f4e 100644
--- a/po/ja/rbot.po
+++ b/po/ja/rbot.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-07-10 00:57-0400\n"
+"POT-Creation-Date: 2007-07-13 23:31-0400\n"
"PO-Revision-Date: 2007-07-09 01:36-0400\n"
"Last-Translator: Yaohan Chen <yaohan.chen@gmail.com>\n"
"Language-Team: Japanese\n"
@@ -750,7 +750,7 @@ msgstr ""
#: data/rbot/plugins/dictclient.rb:52
msgid "Hostname or hostname:port of the DICT server used to lookup words"
-msgstr "DICT サーバーの hostname か hostname:port です"
+msgstr "DICT サーバーの hostname か hostname:port です"
#: data/rbot/plugins/dictclient.rb:55
msgid ""
@@ -841,7 +841,7 @@ msgstr "しりとりの始めの言葉を言ってください"
msgid ""
"Poor %{current_player} is playing alone! Anyone care to join? %"
"{previous_word} -> %{current_word}"
-msgstr
+msgstr ""
"%{current_player}様は一人で寂しいでしょう。他の人しりとりしませんか?"
"{previous_word} -> %{current_word}"
@@ -925,3 +925,172 @@ msgstr "しりとりのゲームが止まりました"
#: data/rbot/plugins/games/shiritori.rb:436
msgid "No game to stop here, because no game is being played."
msgstr "しりとりのゲームをしていません"
+
+#: data/rbot/plugins/games/azgame.rb:153
+msgid ""
+"%{bold}BINGO!%{bold} the word was %{underline}%{word}%{underline}. Congrats, "
+"%{bold}%{player}%{bold}!"
+msgstr ""
+"%{bold}ビンゴー!%{bold} 秘密の言葉は%{underline}%{word}%{underline}でした。お"
+"めでとうございます。%{bold}%{player}%{bold}!"
+
+#: data/rbot/plugins/games/azgame.rb:160
+msgid ""
+"The game was won after %{tries} tries. Scores for this game: %{scores}"
+msgstr "このゲームが%{tries}のトライの後勝ちました。スコーは: %{scores}"
+
+#: data/rbot/plugins/games/azgame.rb:163
+msgid "%{word} is not in the range %{bold}%{range}%{bold}"
+msgstr "%{word}は%{bold}%{range}%{bold}のレンジの以外です。"
+
+#: data/rbot/plugins/games/azgame.rb:165
+msgid "%{word} doesn't exist or is not acceptable for the game"
+msgstr "%{word}は言葉じゃない。或はこのゲームに受けない。"
+
+#: data/rbot/plugins/games/azgame.rb:169
+msgid "close, but no cigar. New range: %{bold}%{range}%{bold}"
+msgstr ""
+"レンジーを小さくしました。もっと頑張ってくださいね!新しいレーンジは:%{bold}%"
+"{range}%{bold}"
+
+#: data/rbot/plugins/games/azgame.rb:173
+msgid "%{word} is already one of the range extrema: %{range}"
+msgstr "%{word}はいまのレーンジの外れの一つです:%{range}"
+
+#: data/rbot/plugins/games/azgame.rb:175
+msgid "hm, something went wrong while verifying %{word}"
+msgstr "%{word}をチェックしたとき何かエラーが発生しました。"
+
+#: data/rbot/plugins/games/azgame.rb:183
+msgid "no A-Z game running here, can't check if %{word} is valid, can I?"
+msgstr "今A-Zのゲームをしていませんから、%{word}のチェックができません。"
+
+#: data/rbot/plugins/games/azgame.rb:187
+msgid "I only accept single words composed by letters only, sorry"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:197
+msgid "the word in %{bold}%{range}%{bold} was: %{bold}%{word}%{bold}"
+msgstr ""
+"%{bold}%{range}%{bold}の以内の秘密の言葉は %{bold}%{word}%{bold}でした。"
+
+#: data/rbot/plugins/games/azgame.rb:201
+msgid ""
+"The game was cancelled after %{tries} tries. Scores for this game would have "
+"been: %{scores}"
+msgstr ""
+"このゲームは%{tries}のトライの後キャンセルしました。いままでのスコアは %"
+"{scores}でした。"
+
+#: data/rbot/plugins/games/azgame.rb:204
+msgid "no A-Z game running in this channel ..."
+msgstr "このチャンネルにはA-Zのゲームを遊んでありません。"
+
+#: data/rbot/plugins/games/azgame.rb:214
+msgid "let me think ..."
+msgstr "秘密の言葉を考えています・・・"
+
+#: data/rbot/plugins/games/azgame.rb:218
+msgid "couldn't think of anything ..."
+msgstr "考えられませんでした・・・"
+
+#: data/rbot/plugins/games/azgame.rb:222
+msgid "I can't play A-Z in %{lang}, sorry"
+msgstr "申し訳ありませんが、%{lang}の言語でA-Zのゲームができません"
+
+#: data/rbot/plugins/games/azgame.rb:225
+msgid "got it!"
+msgstr "考えました!"
+
+#: data/rbot/plugins/games/azgame.rb:235
+msgid " (after %{total_tries} and %{invalid_tries}"
+msgstr " (%{total_tries}と%{invalid_tries}の後"
+
+#: data/rbot/plugins/games/azgame.rb:236 data/rbot/plugins/games/azgame.rb:242
+msgid "%{count} try"
+msgid_plural "%{count} tries"
+msgstr[0] "%{count}のトライ"
+
+#: data/rbot/plugins/games/azgame.rb:238
+msgid "%{count} invalid try"
+msgid_plural "%{count} invalid tries"
+msgstr[0] "%{count}の失敗したトライ"
+
+#: data/rbot/plugins/games/azgame.rb:241
+msgid " (after %{total_tries}"
+msgstr " (%{total_tries}の後"
+
+#: data/rbot/plugins/games/azgame.rb:247
+msgid "A-Z: %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:258
+msgid "I have %{count} %{lang} word in my cache"
+msgid_plural "I have %{count} %{lang} words in my cache"
+msgstr[0] "キャッシュに%{lang}の言葉は%{count}あります。"
+
+#: data/rbot/plugins/games/azgame.rb:261
+msgid "provide a regexp to match"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:273
+msgid "no %{lang} word I know match %{pattern}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:275
+msgid ""
+"more than 25 %{lang} words I know match %{pattern}, try a stricter matching"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:281 data/rbot/plugins/games/azgame.rb:297
+#: data/rbot/plugins/games/azgame.rb:309
+msgid "provide a word"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:286 data/rbot/plugins/games/azgame.rb:302
+msgid "I don't know any %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:290
+msgid "%{word} learned from %{user} on %{date}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:292
+msgid "%{word} learned from %{user}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:314
+msgid "I already know the %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:530
+msgid ""
+"az [lang] word [count|list|add|delete] => manage the az wordlist for "
+"language lang (defaults to current bot language)"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:532
+msgid "az cancel => abort current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:534
+msgid "az check <word> => checks <word> against current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:536
+msgid ""
+"try to guess the word the bot is thinking of; if you guess wrong, the bot "
+"will use the new word to restrict the range of allowed words: eventually, "
+"the range will be so small around the correct word that you can't miss it"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:538
+msgid ""
+"az => start a game if none is running, show the current word range "
+"otherwise; you can say 'az <language>' if you want to play in a language "
+"different from the current bot default"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:540
+msgid "az topics: play, rules, cancel, manage, check"
+msgstr ""
diff --git a/po/rbot.pot b/po/rbot.pot
index 900ce303..67f9f064 100644
--- a/po/rbot.pot
+++ b/po/rbot.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-07-10 00:57-0400\n"
+"POT-Creation-Date: 2007-07-13 23:31-0400\n"
"PO-Revision-Date: 2007-07-09 01:24-0400\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -924,3 +924,168 @@ msgstr ""
#: data/rbot/plugins/games/shiritori.rb:436
msgid "No game to stop here, because no game is being played."
msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:153
+msgid ""
+"%{bold}BINGO!%{bold} the word was %{underline}%{word}%{underline}. Congrats, "
+"%{bold}%{player}%{bold}!"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:160
+msgid ""
+"The game was won after %{tries} tries. Scores for this game: %{scores}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:163
+msgid "%{word} is not in the range %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:165
+msgid "%{word} doesn't exist or is not acceptable for the game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:169
+msgid "close, but no cigar. New range: %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:173
+msgid "%{word} is already one of the range extrema: %{range}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:175
+msgid "hm, something went wrong while verifying %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:183
+msgid "no A-Z game running here, can't check if %{word} is valid, can I?"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:187
+msgid "I only accept single words composed by letters only, sorry"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:197
+msgid "the word in %{bold}%{range}%{bold} was: %{bold}%{word}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:201
+msgid ""
+"The game was cancelled after %{tries} tries. Scores for this game would have "
+"been: %{scores}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:204
+msgid "no A-Z game running in this channel ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:214
+msgid "let me think ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:218
+msgid "couldn't think of anything ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:222
+msgid "I can't play A-Z in %{lang}, sorry"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:225
+msgid "got it!"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:235
+msgid " (after %{total_tries} and %{invalid_tries}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:236 data/rbot/plugins/games/azgame.rb:242
+msgid "%{count} try"
+msgid_plural "%{count} tries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:238
+msgid "%{count} invalid try"
+msgid_plural "%{count} invalid tries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:241
+msgid " (after %{total_tries}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:247
+msgid "A-Z: %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:258
+msgid "I have %{count} %{lang} word in my cache"
+msgid_plural "I have %{count} %{lang} words in my cache"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:261
+msgid "provide a regexp to match"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:273
+msgid "no %{lang} word I know match %{pattern}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:275
+msgid ""
+"more than 25 %{lang} words I know match %{pattern}, try a stricter matching"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:281 data/rbot/plugins/games/azgame.rb:297
+#: data/rbot/plugins/games/azgame.rb:309
+msgid "provide a word"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:286 data/rbot/plugins/games/azgame.rb:302
+msgid "I don't know any %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:290
+msgid "%{word} learned from %{user} on %{date}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:292
+msgid "%{word} learned from %{user}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:314
+msgid "I already know the %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:530
+msgid ""
+"az [lang] word [count|list|add|delete] => manage the az wordlist for "
+"language lang (defaults to current bot language)"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:532
+msgid "az cancel => abort current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:534
+msgid "az check <word> => checks <word> against current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:536
+msgid ""
+"try to guess the word the bot is thinking of; if you guess wrong, the bot "
+"will use the new word to restrict the range of allowed words: eventually, "
+"the range will be so small around the correct word that you can't miss it"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:538
+msgid ""
+"az => start a game if none is running, show the current word range "
+"otherwise; you can say 'az <language>' if you want to play in a language "
+"different from the current bot default"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:540
+msgid "az topics: play, rules, cancel, manage, check"
+msgstr ""
diff --git a/po/zh_CN/rbot.po b/po/zh_CN/rbot.po
index c9f907b8..265a9720 100644
--- a/po/zh_CN/rbot.po
+++ b/po/zh_CN/rbot.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: rbot\n"
-"POT-Creation-Date: 2007-07-10 00:57-0400\n"
+"POT-Creation-Date: 2007-07-13 23:31-0400\n"
"PO-Revision-Date: 2007-07-09 01:39-0400\n"
"Last-Translator: Yaohan Chen <yaohan.chen@gmail.com>\n"
"Language-Team: Chinese\n"
@@ -923,3 +923,168 @@ msgstr ""
#: data/rbot/plugins/games/shiritori.rb:436
msgid "No game to stop here, because no game is being played."
msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:153
+msgid ""
+"%{bold}BINGO!%{bold} the word was %{underline}%{word}%{underline}. Congrats, "
+"%{bold}%{player}%{bold}!"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:160
+msgid ""
+"The game was won after %{tries} tries. Scores for this game: %{scores}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:163
+msgid "%{word} is not in the range %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:165
+msgid "%{word} doesn't exist or is not acceptable for the game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:169
+msgid "close, but no cigar. New range: %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:173
+msgid "%{word} is already one of the range extrema: %{range}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:175
+msgid "hm, something went wrong while verifying %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:183
+msgid "no A-Z game running here, can't check if %{word} is valid, can I?"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:187
+msgid "I only accept single words composed by letters only, sorry"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:197
+msgid "the word in %{bold}%{range}%{bold} was: %{bold}%{word}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:201
+msgid ""
+"The game was cancelled after %{tries} tries. Scores for this game would have "
+"been: %{scores}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:204
+msgid "no A-Z game running in this channel ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:214
+msgid "let me think ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:218
+msgid "couldn't think of anything ..."
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:222
+msgid "I can't play A-Z in %{lang}, sorry"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:225
+msgid "got it!"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:235
+msgid " (after %{total_tries} and %{invalid_tries}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:236 data/rbot/plugins/games/azgame.rb:242
+msgid "%{count} try"
+msgid_plural "%{count} tries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:238
+msgid "%{count} invalid try"
+msgid_plural "%{count} invalid tries"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:241
+msgid " (after %{total_tries}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:247
+msgid "A-Z: %{bold}%{range}%{bold}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:258
+msgid "I have %{count} %{lang} word in my cache"
+msgid_plural "I have %{count} %{lang} words in my cache"
+msgstr[0] ""
+msgstr[1] ""
+
+#: data/rbot/plugins/games/azgame.rb:261
+msgid "provide a regexp to match"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:273
+msgid "no %{lang} word I know match %{pattern}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:275
+msgid ""
+"more than 25 %{lang} words I know match %{pattern}, try a stricter matching"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:281 data/rbot/plugins/games/azgame.rb:297
+#: data/rbot/plugins/games/azgame.rb:309
+msgid "provide a word"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:286 data/rbot/plugins/games/azgame.rb:302
+msgid "I don't know any %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:290
+msgid "%{word} learned from %{user} on %{date}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:292
+msgid "%{word} learned from %{user}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:314
+msgid "I already know the %{lang} word %{word}"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:530
+msgid ""
+"az [lang] word [count|list|add|delete] => manage the az wordlist for "
+"language lang (defaults to current bot language)"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:532
+msgid "az cancel => abort current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:534
+msgid "az check <word> => checks <word> against current game"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:536
+msgid ""
+"try to guess the word the bot is thinking of; if you guess wrong, the bot "
+"will use the new word to restrict the range of allowed words: eventually, "
+"the range will be so small around the correct word that you can't miss it"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:538
+msgid ""
+"az => start a game if none is running, show the current word range "
+"otherwise; you can say 'az <language>' if you want to play in a language "
+"different from the current bot default"
+msgstr ""
+
+#: data/rbot/plugins/games/azgame.rb:540
+msgid "az topics: play, rules, cancel, manage, check"
+msgstr ""