Update ja.coffee (#5344)

Update ja.coffee (#5344)

* Update ja.coffee

Unification of punctuation, correction and addition

* Update ja.coffee

--- app/locale/ja.coffee
+++ app/locale/ja.coffee
@@ -1,8 +1,8 @@
 module.exports = nativeDescription: "日本語", englishDescription: "Japanese", translation:

   new_home:
-#    title: "CodeCombat - Coding games to learn Python and JavaScript"
-#    meta_description: "Learn typed code through a programming game. Learn Python, JavaScript, and HTML as you solve puzzles and learn to make your own coding games and websites."
+    title: "CodeCombat - PythonとJavaScriptを学ぶコーディングゲーム"
+    meta_description: "プログラミングゲームを通してコードを学ぼう。Python、JavaScript、HTMLをパズルを解くように学んで、あなた自身のゲームやウェブサイト作りを学びましょう。"
 #    built_for_teachers_title: "A Coding Game Built with Teachers in Mind"
 #    built_for_teachers_blurb: "Teaching kids to code can often feel overwhelming. CodeCombat helps all educators teach students how to code in either JavaScript or Python, two of the most popular programming languages. With a comprehensive curriculum that includes six computer science units and reinforces learning through project-based game development and web development units, kids will progress on a journey from basic syntax to recursion!"
 #    built_for_teachers_subtitle1: "Computer Science"
@@ -36,21 +36,21 @@
 #    creativity_rigor_blurb2: "Every CodeCombat level is scaffolded based on millions of data points and optimized to adapt to each learner. Practice levels and hints help students when they get stuck, and challenge levels assess students' learning throughout the game."
 #    creativity_rigor_subtitle3: "Built for all teachers, regardless of experience"
 #    creativity_rigor_blurb3: "CodeCombat’s self-paced, standards-aligned curriculum makes teaching computer science possible for everyone. CodeCombat equips teachers with the training, instructional resources, and dedicated support to feel confident and successful in the classroom."
-#    featured_partners_title1: "Featured In"
-#    featured_partners_title2: "Awards & Partners"
-#    featured_partners_blurb1: "CollegeBoard Endorsed Provider"
-#    featured_partners_blurb2: "Best Creativity Tool for Students"
-#    featured_partners_blurb3: "Top Pick for Learning"
-#    featured_partners_blurb4: "Code.org Official Partner"
-#    featured_partners_blurb5: "CSforAll Official Member"
+    featured_partners_title1: "注目"
+    featured_partners_title2: "賞とパートナー"
+    featured_partners_blurb1: "CollegeBoardが承認したプロバイダ"
+    featured_partners_blurb2: "学生のためのベスト・クリエイティビティツール"
+    featured_partners_blurb3: "学習用に厳選"
+    featured_partners_blurb4: "Code.org オフィシャルパートナー"
+    featured_partners_blurb5: "CSforAll オフィシャルメンバー"
 #    featured_partners_blurb6: "Hour of Code Activity Partner"
-#    for_leaders_title: "For School Leaders"
-#    for_leaders_blurb: "A Comprehensive, Standards-Aligned Computer Science Program"
-#    for_leaders_subtitle1: "Easy Implementation"
-#    for_leaders_subblurb1: "A web-based program that requires no IT support. Get started in under 5 minutes using Google or Clever Single Sign-On (SSO)."
-#    for_leaders_subtitle2: "Full Coding Curriculum"
-#    for_leaders_subblurb2: "A standards-aligned curriculum with instructional resources and professional development to enable any teacher to teach computer science."
-#    for_leaders_subtitle3: "Flexible Use Cases"
+    for_leaders_title: "学校指導者の方へ"
+    for_leaders_blurb: "包括的で標準化されたコンピュータサイエンスプログラム"
+    for_leaders_subtitle1: "簡単な実装"
+    for_leaders_subblurb1: "ITサポートを必要としないWebベースのプログラム。 GoogleまたはClever Single Sign-On(SSO)を使用して５分以内に始めましょう。"
+    for_leaders_subtitle2: "フルコーディングカリキュラム"
+    for_leaders_subblurb2: "教師がコンピュータサイエンスを教えることができるようにするための教育リソースと専門能力開発を備えた、標準に沿ったカリキュラム。"
+    for_leaders_subtitle3: "柔軟なユースケース"
 #    for_leaders_subblurb3: "Whether you want to build a Middle School coding elective, a CTE pathway, or an AP Computer Science Principles class, CodeCombat is tailored to suit your needs."
 #    for_leaders_subtitle4: "Real-World Skills"
 #    for_leaders_subblurb4: "Students build grit and develop a growth mindset through coding challenges that prepare them for the 500K+ open computing jobs."
@@ -65,44 +65,44 @@
 #    for_teachers_subtitle4: "Automatic Differentiation"
 #    for_teachers_subblurb4: "Engage all learners in a diverse classroom with practice levels that adapt to each student's learning needs."
 #    game_based_blurb: "CodeCombat is a game-based computer science program where students type real code and see their characters react in real time."
-#    get_started: "Get started"
-#    global_title: "Join Our Global Community of Learners and Educators"
-#    global_subtitle1: "Learners"
-#    global_subtitle2: "Lines of Code"
-#    global_subtitle3: "Teachers"
-#    global_subtitle4: "Countries"
-#    go_to_my_classes: "Go to my classes"
-#    go_to_my_courses: "Go to my courses"
+    get_started: "はじめに"
+    global_title: "学習者か教育者のグローバルコミュニティに参加する"
+    global_subtitle1: "学習者"
+    global_subtitle2: "コード行"
+    global_subtitle3: "先生"
+    global_subtitle4: "国"
+    go_to_my_classes: "自分のクラスに行く"
+    go_to_my_courses: "自分のコースに行く"
 #    quotes_quote1: "Name any program online, I’ve tried it. None of them match up to CodeCombat. Any teacher who wants their students to learn how to code... start here!"
 #    quotes_quote2: " I was surprised about how easy and intuitive CodeCombat makes learning computer science. The scores on the AP exam were much higher than I expected and I believe CodeCombat is the reason why this was the case."
 #    quotes_quote3: "CodeCombat has been the most beneficial for teaching my students real-life coding capabilities. My husband is a software engineer and he has tested out all of my programs. He put this as his top choice."
 #    quotes_quote4: "The feedback … has been so positive that we are structuring a computer science class around CodeCombat. The program really engages the students with a gaming style platform that is entertaining and instructional at the same time. Keep up the good work, CodeCombat!"
-#    see_example: "See example"
+    see_example: "例を見る"
     slogan: "一番ステキなプログラミング学習ゲーム" # {change}
-#    teach_cs1_free: "Teach CS1 Free"
+    teach_cs1_free: "CS1を無料で教える"
 #    teachers_love_codecombat_title: "Teachers Love CodeCombat"
 #    teachers_love_codecombat_blurb1: "Report that their students enjoy using CodeCombat to learn how to code"
 #    teachers_love_codecombat_blurb2: "Would recommend CodeCombat to other computer science teachers"
 #    teachers_love_codecombat_blurb3: "Say that CodeCombat helps them support students’ problem solving abilities"
 #    teachers_love_codecombat_subblurb: "In partnership with McREL International, a leader in research-based guidance and evaluations of educational technology."
-#    try_the_game: "Try the game"
+    try_the_game: "ゲームをやってみよう"
     classroom_edition: "教室版:"
     learn_to_code: "コードを学ぼう:"
     play_now: "今すぐプレイ"
-#    im_an_educator: "I'm an Educator"
+    im_an_educator: "私は教育者です"
     im_a_teacher: "私は先生です"
     im_a_student: "私は学生です"
     learn_more: "もっと知りたい"
     classroom_in_a_box: "コンピュータサイエンスが学べる箱の中の教室"
     codecombat_is: "CodeCombatは生徒のための実際にゲームを遊びながらコンピュータサイエンスを学べるプラットフォームです"
-    our_courses: "私たちのコースはそれまでプログラミング経験がなかった先生でも教室ですばらしいプレイテストをされています。"
-    watch_how: "どうやってCodeCombatはCSの学び方を教えてるか見てみる。"
-    top_screenshots_hint: "生徒がコードを書くとリアルタイムでその変更による変化を見れます"
+    our_courses: "これまでのプログラミング経験がほとんどまたはまったくない教師の場合でも、我々のコースは教室で優秀になるために特別にテストされています。"
+    watch_how: "CodeCombatが、人々がコンピュータサイエンスを学ぶ方法をどのように変えているかをご覧ください。"
+    top_screenshots_hint: "学生がコードを書くと、リアルタイムで更新されます"
     designed_with: "先生のための設計"
-    real_code: "実際に,コードをタイピング"
-    from_the_first_level: "それもはじめから"
-    getting_students: "生徒にできるだけ早くコードを書かせることがプログラミングの文法や正しい構造を学ぶのに重要です。"
-    educator_resources: "教育資源"
+    real_code: "実際にコードをタイピング"
+    from_the_first_level: "最初のレベルから"
+    getting_students: "プログラミングの文法や正しい構造を学ぶため、生徒にできるだけ早くコードを書かせることが重要です。"
+    educator_resources: "教育者向けリソース"
     course_guides: "とコースガイド"
     teaching_computer_science: "コンピュータサイエンスを教えるのに高い学位はいりません、私たちがすべての背景を持つ教育者にサポートするツールを提供します。"
     accessible_to: "みんなが"
@@ -111,7 +111,7 @@
 #    forgot_learning: "I think they actually forgot that they were learning something."
 #    wanted_to_do: " Coding is something I've always wanted to do, and I never thought I would be able to learn it in school."
 #    builds_concepts_up: "I like how CodeCombat builds the concepts up. It's really easy to understand and fun to figure it out."
-    why_games: "なぜゲームを遊びながら楽しむのは大事か？?"
+    why_games: "ゲームを通して学ぶことがなぜ重要なのでしょうか？"
 #    games_reward: "Games reward the productive struggle."
 #    encourage: "Gaming is a medium that encourages interaction, discovery, and trial-and-error. A good game challenges the player to master skills over time, which is the same critical process students go through as they learn."
 #    excel: "Games excel at rewarding"
@@ -135,27 +135,27 @@
     request_demo: "デモを使ってみる"
 #    request_quote: "Request a Quote"
     setup_a_class: "クラスを作る？"
-    have_an_account: "アカウントありますか?"
+    have_an_account: "アカウントを持っていますか？"
     logged_in_as: "今はこのユーザーにログインしています"
-#    computer_science: "Our self-paced courses cover basic syntax to advanced concepts"
-#    ffa: "Free for all students"
-#    coming_soon: "More coming soon!"
-#    courses_available_in: "Courses are available in JavaScript and Python. Web Development courses utilize HTML, CSS, and jQuery."
-#    boast: "Boasts riddles that are complex enough to fascinate gamers and coders alike."
-#    winning: "A winning combination of RPG gameplay and programming homework that pulls off making kid-friendly education legitimately enjoyable."
-    run_class: "すべてCSクラスに必要なものを今日教えませんか？CSの知識は無くても大丈夫です。"
+    computer_science: "私たちのコースは、基本的な文法から高度な概念までを網羅しています。"
+    ffa: "すべての学生が無料"
+    coming_soon: "もうすぐ登場！"
+    courses_available_in: "コースはJavaScriptとPythonで利用可能です。 Web開発コースでは、HTML、CSS、jQueryを利用しています。"
+    boast: "ゲーマーやコーダーも魅了する、十分に複雑ななぞなぞ"
+    winning: "RPGゲームとプログラミングの魅力的な組み合わせで、子どもに優しい教育を合法的に楽しくします。"
+    run_class: "コンピュータサイエンスクラスを実行するために必要なすべてのもの、CSのバックグラウンドは不要です。"
     goto_classes: "クラスを見る"
-    view_profile: "プロファイルを見る"
+    view_profile: "プロフィールを見る"
     view_progress: "プログレスを見る"
     go_to_courses: "コースを見る"
-    want_coco: "学校でCodeCombat使って見ませんか？"
-#    educator: "Educator"
-#    student: "Student"
+    want_coco: "学校でCodeCombat使ってみませんか？"
+    educator: "教育者"
+    student: "学生"

   nav:
-#    educators: "Educators"
-#    follow_us: "Follow Us"
-#    general: "General"
+    educators: "教育者"
+    follow_us: "フォローする"
+    general: "全般"
     map: "マップ"
     play: "ゲームマップへ" # The top nav bar entry where players choose which levels to play
     community: "コミュニティー"
@@ -180,20 +180,20 @@
     twitter: "Twitter"
     create_a_class: "クラスを作る"
     other: "その他"
-    learn_to_code: "コードを学ぶ!"
-    toggle_nav: "ナビゲーションを下す"
+    learn_to_code: "コードを学ぶ！"
+    toggle_nav: "ナビゲーションを切り替える"
     schools: "学校"
     get_involved: "参加しましょう"
     open_source: "オープンソース(GitHub)"
     support: "サポート"
     faqs: "FAQ"
     copyright_prefix: "コピーライト"
-#    copyright_suffix: "All Rights Reserved."
-    help_pref: "ヘルプが必要ですか? Email"
-    help_suff: "をくれれば協力します！"
+    copyright_suffix: "全著作権所有。"
+    help_pref: "ヘルプが必要？ Email"
+    help_suff: "そして連絡を取り合います！"
     resource_hub: "Resource Hub"
-#    apcsp: "AP CS Principles"
-#    parent: "Parents"
+    apcsp: "AP CS Principles"
+    parent: "親"

   modal:
     close: "閉じる"
@@ -203,31 +203,31 @@
     page_not_found: "ページが見つかりません"

   diplomat_suggestion:
-    title: "CodeCombatを翻訳しましょう！" # This shows up when a player switches to a non-English language using the language selector.
+    title: "CodeCombatの翻訳にご協力ください！" # This shows up when a player switches to a non-English language using the language selector.
     sub_heading: "あなたの言語力が必要です。"
-    pitch_body: "CodeCombatは英語で開発されています。日本語でプレイしたい方がたくさんいますが、ゲームの多くはまだ英語のままです。もし、あなたが英語が得意であれば、外交官（翻訳者）として登録し、CodeCombatのレベルやサイトの翻訳にご協力ください。"
+    pitch_body: "CodeCombatは英語で開発されています。日本語でプレイしたい方がたくさんいますが、ゲームの多くはまだ英語のままです。なのでもし両方話せるなら、外交官（翻訳者）として登録し、CodeCombatのwebサイト等を日本語に翻訳するのを手伝ってください！"
     missing_translations: "翻訳が完了していない部分は、英語で表示されます。"
     learn_more: "外交官について情報"
     subscribe_as_diplomat: "外交官登録"

   play:
-#    title: "Play CodeCombat Levels - Learn Python, JavaScript, and HTML"
-#    meta_description: "Learn programming with a coding game for beginners. Learn Python or JavaScript as you solve mazes, make your own games, and level up. Challenge your friends in multiplayer arena levels!"
-#    level_title: "__level__ - Learn to Code in Python, JavaScript, HTML"
-#    video_title: "__video__ | Video Level"
-#    game_development_title: "__level__ | Game Development"
-#    web_development_title: "__level__ | Web Development"
-#    anon_signup_title_1: "CodeCombat has a"
-#    anon_signup_title_2: "Classroom Version!"
-#    anon_signup_enter_code: "Enter Class Code:"
-#    anon_signup_ask_teacher: "Don't have one? Ask your teacher!"
-#    anon_signup_create_class: "Want to create a class?"
-#    anon_signup_setup_class: "Set up a class, add your students, and monitor progress!"
-#    anon_signup_create_teacher: "Create free teacher account"
+    title: "CodeCombatであそぶ - Python、JavaScript、HTMLを学ぼう"
+    meta_description: "初心者のためのコーディングゲームでプログラミングを学びましょう。迷路を解き、自分のゲームを作り、レベルアップしながら、PythonまたはJavaScriptを学びましょう。マルチアリーナレベルで友達に挑戦しよう！"
+    level_title: "__レベル__ - Python、JavaScript、HTMLでコードを学ぶ"
+    video_title: "__ビデオ__ | ビデオレベル"
+    game_development_title: "__レベル__ | ゲーム開発"
+    web_development_title: "__レベル__ | ウェブ開発"
+    anon_signup_title_1: "CodeCombatには"
+    anon_signup_title_2: "教室版！"
+    anon_signup_enter_code: "クラスコードを入力:"
+    anon_signup_ask_teacher: "持っていない？先生に聞こう！"
+    anon_signup_create_class: "クラスを作りたい？"
+    anon_signup_setup_class: "クラスを設定し生徒を追加して、進歩を見ましょう！"
+    anon_signup_create_teacher: "無料の教師アカウントを作成"
     play_as: "プレイモード" # Ladder page
-    get_course_for_class: "ゲームデベロプメントや様々なことをクラスに教えよう！"
-    request_licenses: "詳しくはスペシアリストへ"
-    compete: "コンプリート!" # Course details page
+    get_course_for_class: "あなたのクラスにゲーム開発などを割り当てましょう！"
+    request_licenses: "詳しくは学校のスペシャリストにお問い合わせください。"
+    compete: "コンプリート！" # Course details page
     spectate: "観戦" # Ladder page
     players: "プレイヤー" # Hover over a level on /play
     hours_played: "プレイ時間" # Hover over a level on /play
@@ -246,10 +246,10 @@
     change_hero: "ヒーローの選択" # Go back from choose inventory to choose hero
     change_hero_or_language: "ヒーローやプラグラミング言語を変える"
     buy_gems: "ジェムを購入"
-    subscribers_only: "サブスクリプション限定!"
-    subscribe_unlock: "サブスクリプションで解放!"
-    subscriber_heroes: "いまサブスクライブして、Amara, Hushbaum, と Hattori Hanzōをアンロックしよう！"
-    subscriber_gems: "いまサブスクライブしてジェムを使ってこのヒーローをアンロックしよう！"
+    subscribers_only: "サブスクリプション限定！"
+    subscribe_unlock: "サブスクリプションで解放！"
+    subscriber_heroes: "今すぐ登録して、Amara、Hushbaum、Hattoriをアンロックしよう！"
+    subscriber_gems: "今すぐ登録して、ジェムでこのヒーローをアンロックしよう！"
     anonymous: "名無しのプレイヤー"
     level_difficulty: "難易度: "
     awaiting_levels_adventurer_prefix: "私たちは毎週新しいレベルをリリースします"
@@ -259,7 +259,7 @@
     campaign_multiplayer: "マルチプレイ・アリーナ"
     campaign_multiplayer_description: "コーディングで他のプレイヤーに対して格闘しましょう"
     brain_pop_done: "勝利！コードでオーガを倒した！"
-    brain_pop_challenge: "違うプログラミング言語での再挑戦で自分自身にチャレンジ!"
+    brain_pop_challenge: "違うプログラミング言語での再挑戦で自分自身にチャレンジ！"
     replay: "リプレイ"
     back_to_classroom: "クラスルームに戻る"
     teacher_button: "先生へ"
@@ -316,7 +316,7 @@
     None: "空"

   share_progress_modal:
-    blurb: "あなたは進歩している！ CodeCombatでどんなに学んだかについて、誰かに伝えてください。"
+    blurb: "あなたは大きな進歩を遂げています！ CodeCombatでどれだけ学んだか親に伝えよう。"
     email_invalid: "メールアドレスが無効です"
     form_blurb: "下にメールアドレスを入力してください"
     form_label: "メールアドレス"
@@ -342,35 +342,35 @@
     create_individual_header: "個人用アカウントを作成"
     email_announcements: "新しいCodeCombatのレベルと機能についてのお知らせをメールで受け取る"
     sign_in_to_continue: "サインインまたはアカウントを作成して続ける"
-#    teacher_email_announcements: "Keep me updated on new teacher resources, curriculum, and courses!"
+    teacher_email_announcements: "新しい教員用リソース、カリキュラム、コースの最新情報を入手しよう！"
     creating: "アカウントを作成しています..."
     sign_up: "アカウント登録"
     log_in: "パスワードでログイン"
-#    login: "Login"
+    login: "ログイン"
     required: "ログインする必要があります"
     login_switch: "すでにアカウントをお持ちですか？"
     optional: "オプション"
     connected_gplus_header: "Google+との連携に成功しました!"
     connected_gplus_p: "Google+での登録が完了しました。"
-    connected_facebook_header: "Facebookとの連携に成功しました!"
-    connected_facebook_p: "Facebookでの登録が完了しました。."
+    connected_facebook_header: "Facebookとの連携に成功しました！"
+    connected_facebook_p: "Facebookでの登録が完了しました。"
     hey_students: "クラスコードを入力して下さい"
     birthday: "生年月日"
-#    parent_email_blurb: "We know you can't wait to learn programming — we're excited too! Your parents will receive an email with further instructions on how to create an account for you. Email {{email_link}} if you have any questions."
-#    classroom_not_found: "No classes exist with this Class Code. Check your spelling or ask your teacher for help."
+    parent_email_blurb: "私たちはあなたがプログラミングを学ぶのを待つことができないのを知っています＆mdash;私たちもワクワクしています！あなたの両親は、アカウントを作成する方法についての詳細な説明が記載されたeメールを受け取ります。質問がある場合は、{{email_link}}にメールを送ってください。"
+    classroom_not_found: "このクラスコードにはクラスがありません。綴りを確認するか、先生に助けを求めてください。"
     checking: "確認しています..."
-    account_exists: "このe-mailはとられています"
-    sign_in: "Sign inする"
-    email_good: "このe-mailは使えます!"
-    name_taken: "このユーザーネームはとられています!{{suggestedName}}　を使って見ませんか？"
-    name_available: "このユーザーネームは使えます!"
+    account_exists: "このe-mailは既に使われています"
+    sign_in: "サインイン"
+    email_good: "このe-mailは使えます！"
+    name_taken: "このユーザーネームは既に使われています！ {{suggestedName}}を使ってみませんか？"
+    name_available: "このユーザーネームは使えます！"
     name_is_email: "e-mailはユーザーネームに使えません"
     choose_type: "アカウントのタイプを選んで下さい:"
     teacher_type_1: "CodeCombatを使ってプログラミングを教えよう！"
     teacher_type_2: "クラスをセットアップして下さい"
     teacher_type_3: "コースガイドをアクセスする"
     teacher_type_4: "生徒たちの進捗を見る"
-#    signup_as_teacher: "Sign up as a Teacher"
+    signup_as_teacher: "先生として登録"
 #    student_type_1: "Learn to program while playing an engaging game!"
 #    student_type_2: "Play with your class"
 #    student_type_3: "Compete in arenas"
@@ -434,7 +434,7 @@
 #    default_title: "CodeCombat - Coding games to learn Python and JavaScript"
 #    default_meta_description: "Learn typed code through a programming game. Learn Python, JavaScript, and HTML as you solve puzzles and learn to make your own coding games and websites."
     back: "戻る" # When used as an action verb, like "Navigate backward"
-    coming_soon: "近日公開!"
+    coming_soon: "近日公開！"
     continue: "続ける" # When used as an action verb, like "Continue forward"
     next: "次へ"
     default_code: "元のコード"
@@ -484,7 +484,7 @@
     commit_msg: "コミットメッセージ"
     version_history: "バージョン履歴"
     version_history_for: "バージョン履歴："
-    select_changes: "違いを見るには以下の二つの変更を選んで下さい"
+    select_changes: "違いを確認するには、以下の2つの変更を選択してください。"
     undo_prefix: "取り消す"
     undo_shortcut: "(Ctrl+Z)"
     redo_prefix: "やり直す"
@@ -507,7 +507,7 @@
     score: "スコア"
     win: "勝ち"
     loss: "負け"
-    tie: "引分"
+    tie: "ひきわけ"
     easy: "イージー"
     medium: "ミディアム"
     hard: "ハード"
@@ -518,7 +518,7 @@
     wizard: "ウィザード"
     first_name: "First Name(名)"
     last_name: "Last Name(姓)"
-    last_initial: "イニシヤル"
+    last_initial: "イニシャル"
     username: "ユーザー名"
     contact_us: "私たちにコンタクトをとる"
     close_window: "ウィンドウを閉じる"
@@ -551,7 +551,7 @@
     keep_learning: "学習を続ける"
     explore_codecombat: "CodeCombatを探検"
     finished_hoc: "コードの時間は終了"
-    get_certificate: "証明書をゲットしよう!"
+    get_certificate: "証明書をゲットしよう！"
     level_complete: "レベルコンプリート"
     completed_level: "コンプリートレベル:"
     course: "コース:"
@@ -587,13 +587,13 @@
 #    combo_challenge_goals: "Challenge Level Goals"
 #    concept_challenge_goal: "Concept Challenge Goal"
 #    combo_challenge_goal: "Challenge Level Goal"
-    running: "コンパイル中..."
+    running: "読み込み中..."
     success: "成功！"
-    incomplete: "不完全"
+    incomplete: "未完成"
     timed_out: "時間切れ"
-    failing: "失敗中"
-    reload: "リロード"
-    reload_title: "コードを再読み込ますか？"
+    failing: "失敗"
+    reload: "再読み込み"
+    reload_title: "すべてのコードを再読み込みしますか？"
     reload_really: "レベルをリセットします。よろしいですか？"
     reload_confirm: "リセットする"
     test_level: "テストレベル"
@@ -601,22 +601,22 @@
     victory_title_prefix: ""
     victory_title_suffix: "クリア"
     victory_sign_up: "進行状況をセーブするにはアカウント登録をしてください"
-    victory_sign_up_poke: "あなたのコードをセーブしてみませんか? 無料アカウント登録!"
-    victory_rate_the_level: "このレベルは楽しめましたか?"
+    victory_sign_up_poke: "コードをセーブしたい？ 無料アカウントを作ろう！"
+    victory_rate_the_level: "このレベルは楽しめましたか？"
     victory_return_to_ladder: "ラダーに戻る"
     victory_saving_progress: "セーブ中"
     victory_go_home: "ホームに戻る"
     victory_review: "フィードバック"
-    victory_review_placeholder: "どのレベルでしたか?"
-    victory_hour_of_code_done: "完了してよろしいですか?"
+    victory_review_placeholder: "どのレベルでしたか？"
+    victory_hour_of_code_done: "完了してよろしいですか？"
     victory_hour_of_code_done_yes: "はい、構いません"
     victory_experience_gained: "XP獲得"
     victory_gems_gained: "ジェム獲得"
     victory_new_item: "ニューアイテム"
     victory_new_hero: "ニューヒーロー"
-    victory_viking_code_school: "あなたはハードレベルのホーリー・スモークを打ち破りました! もしあなたが既にソフトウェア開発者でないなら, ぜひやってみましょう. あなたはちょうどViking Code Scoolで受け入れられるための出世街道にいます,そこでは次のレベルへのスキルを取得でき、14週間でプロのWeb開発者になれます。"
+    victory_viking_code_school: "あなたはハードレベルのホーリー・スモークを打ち破りました！もしあなたが既にソフトウェア開発者でないなら、ぜひやってみましょう。あなたはちょうどViking Code Scoolで受け入れられるための出世街道にいます。そこでは次のレベルへのスキルを取得でき、14週間でプロのWeb開発者になれます。"
     victory_become_a_viking: "バイキングになる"
-    victory_no_progress_for_teachers: "教師用の進捗は保存されません。しかし自分の教室に学生アカウントを加えることができます."
+    victory_no_progress_for_teachers: "教師用の進捗は保存されません。しかし自分の教室に学生アカウントを追加できます。"
     tome_cast_button_run: "実行"
     tome_cast_button_running: "実行中"
     tome_cast_button_ran: "実行済み"
@@ -625,18 +625,18 @@
     tome_available_spells: "利用できる呪文"
     tome_your_skills: "あなたのスキル"
     hints: "ヒント"
-#    videos: "Videos"
+    videos: "ビデオ"
     hints_title: "ヒント {{number}}"
     code_saved: "コードがセーブされました"
     skip_tutorial: "スキップ (esc)"
     keyboard_shortcuts: "キーショートカット"
     loading_start: "レベルスタート"
-#    loading_start_combo: "Start Combo Challenge"
-#    loading_start_concept: "Start Concept Challenge"
-    problem_alert_title: "コードを修正して下さい"
-    time_current: "今："
-    time_total: "最大："
-    time_goto: "行く："
+    loading_start_combo: "コンボチャレンジを開始"
+    loading_start_concept: "コンセプトチャレンジを開始"
+    problem_alert_title: "コードを修正"
+    time_current: "今:"
+    time_total: "最大:"
+    time_goto: "行く:"
     non_user_code_problem_title: "レベルをロードできません"
     infinite_loop_title: "無限ループが見つかりました"
     infinite_loop_description: "最初のワールドを作るコードが終わりません。単に遅いか、無限ループになっているかでしょう。バグがあるのかもしれません。再試行してみたり、リセットしてデフォルトに戻すこともできます。もし直せないなら私たちに報告してください。"
@@ -645,11 +645,11 @@
     infinite_loop_try_again: "再試行する"
     infinite_loop_reset_level: "レベルをリセット"
     infinite_loop_comment_out: "マイコードをコメントアウト"
-    tip_toggle_play: "Ctrl+Pで、プレイ／ポーズをトグルする"
-    tip_scrub_shortcut: "Ctrl+[ と Ctrl+] で早戻し、早送りする"
+    tip_toggle_play: "Ctrl+Pで、プレイ／ポーズを切り替える"
+    tip_scrub_shortcut: "Ctrl+[ で早戻し / Ctrl+] で早送り"
     tip_guide_exists: "ゲームメニュー内のガイド（ページの上部）をクリックし、便利な情報 を見よう。"
     tip_open_source: "CodeCombatは、100％オープンソースです！" # {change}
-    tip_tell_friends: "コードコンバットを楽しんでますか？このことを友達にも伝えましょう！"
+    tip_tell_friends: "CodeCombatを楽しんでますか？友達にもおすすめしよう！"
     tip_beta_launch: "CodeCombatは、2013年10月にベータ版を開始しました。"
     tip_think_solution: "問題より、解決策を考えろ。"
     tip_theory_practice: "理論的には、理論と実践の間には違いはない。でも実際には、ある。- ヨギ・ベラ"
@@ -701,8 +701,8 @@
     tip_mistakes_proof_of_trying: "コードのミスはあなたがやろうとしていることの証明しているだけだ。"
     tip_adding_orgres: "オーガを狩れ。"
     tip_sharpening_swords: "剣を研ぎ澄ませ。"
-    tip_ratatouille: "どこで生まれ育とうが他人に限界を決めさせてはいけない あきらめなければなんでもできるのです。- グストー, レミーのおいしいレストラン"
-    tip_nemo: "人生にがっくりきたとき、何をすべきか知りたくない? 泳ぎましょ、 泳ぎましょ。 - ドリー、 ファインディング・ニモ"
+    tip_ratatouille: "どこで生まれ育とうが他人に限界を決めさせてはいけない あきらめなければなんでもできるのです。- グストー、レミーのおいしいレストラン"
+    tip_nemo: "人生にがっくりきたとき、何をすべきか知りたくない？ 泳ぎましょ、 泳ぎましょ。 - ドリー、 ファインディング・ニモ"
     tip_internet_weather: "インターネットに引っ越したけど、ここはすごい。中に住んでると天気がやばい。 - ジョン・グリーン"
     tip_nerds: "オタクにはモノを愛することが許されています。こんな風に 上・下・上・下・椅子の・下で・愛・制御・不能。 - ジョン・グリーン"
     tip_self_taught: "私は私自身に学んだことの90%を教えました。それが当然です！ - ハンク・グリーン"
@@ -761,14 +761,14 @@
     restart: "レベルをリセット"
     play: "プレイレベル"
     play_more_codecombat: "もっとCodeCombatで遊ぶ"
-    default_student_instructions: "ヒーローをクリックしてゲームに勝ちましょう!"
-    goal_survive: "生き残る."
-    goal_survive_time: "__seconds__ 秒生き残る."
-    goal_defeat: "敵を全て倒す."
-    goal_defeat_amount: "敵を __amount__ 体を倒す."
-    goal_move: "全ての赤いX印に移動."
-    goal_collect: "全てのアイテムを集める."
-    goal_collect_amount: "__amount__ 個のアイテムを集める."
+    default_student_instructions: "ヒーローをクリックしてゲームに勝とう！"
+    goal_survive: "生き残る"
+    goal_survive_time: "__seconds__ 秒生き残る"
+    goal_defeat: "敵を全て倒す"
+    goal_defeat_amount: "敵を __amount__ 体を倒す"
+    goal_move: "全ての赤いX印に移動"
+    goal_collect: "全てのアイテムを集める"
+    goal_collect_amount: "__amount__ 個のアイテムを集める"

   game_menu:
     inventory_tab: "インベントリー"
@@ -825,7 +825,7 @@
     chest_gems: "宝箱を購入"
     purchasing: "購入中..."
     declined: "カードが拒否されました。"
-    retrying: "サーバーエラー、再試行中。"
+    retrying: "サーバーエラー、再試行中..."
     prompt_title: "ジェムが不足"
     prompt_body: "もっと購入しますか？"
     prompt_button: "ショップに入る"
@@ -845,15 +845,15 @@

   subscribe:
     best_deal: "最高の取引!"
-    confirmation: "おめでとうございます! Code Combatのプレミアムサブスクリプションを手に入れました!"
-    premium_already_subscribed: "すでにプレミアムサブスクリプションを持っています!"
+    confirmation: "おめでとうございます! Code Combatのプレミアムサブスクリプションを手に入れました！"
+    premium_already_subscribed: "すでにプレミアムサブスクリプションを持っています！"
     subscribe_modal_title: "CodeCombatプレミアム"
     comparison_blurb: "CodeCombatへ課金してスキルを磨きましょう！" # {change}
-    must_be_logged: "まずログインしてください。 アカウントを作るかメニューの上からログインをお願いします。"
+    must_be_logged: "まずログインしてください。 アカウントを作るかメニューの上からログイン"
     subscribe_title: "課金" # Actually used in subscribe buttons, too
     unsubscribe: "無課金"
     confirm_unsubscribe: "課金の解約確認"
-    never_mind: "気にしないでください, それでもあなたが好きです"
+    never_mind: "気にしないでください、それでもあなたが好きです"
     thank_you_months_prefix: "私達を "
     thank_you_months_suffix: "ヶ月サポートしてくださりありがとうございます。"
     thank_you: "CodeCombatをサポートして下さりありがとうございます。"
@@ -964,7 +964,7 @@
     javascript_blurb: "ウェブの言語。(Java と同じではありません)"
     coffeescript_blurb: "より良い JavaScript の構文が使えます。"
     lua_blurb: "ゲーム専用のスクリプト言語。"
-    java_blurb: "(サブスクリプション限定) Androidや企業."
+    java_blurb: "(サブスクリプション限定) Androidや企業"
     status: "ステータス"
     weapons: "武器"
     weapons_warrior: "剣 - 攻撃範囲:短い- 魔法使用不可"
@@ -1048,15 +1048,15 @@
     team_link: "チーム"
     story_link: "ストーリー"
     press_link: "記事"
-    mission_title: "私たちのミッション: プログラミングを地球上の学生にとどけること."
+    mission_title: "私たちのミッション: プログラミングを地球上の学生にとどけること。"
 #    mission_description_1: "Programming is magic. It's the ability to create things from pure imagination. We started CodeCombat to give learners the feeling of wizardly power at their fingertips by using typed code."
 #    mission_description_2: "As it turns out, that enables them to learn faster too. WAY faster. It's like having a conversation instead of reading a manual. We want to bring that conversation to every school and to every student, because everyone should have the chance to learn the magic of programming."
 #    team_title: "Meet the CodeCombat team"
 #    team_values: "We value open and respectful dialog, where the best idea wins. Our decisions are grounded in customer research and our process is focused on delivering tangible results for them. Everyone is hands-on, from our CEO to our GitHub contributors, because we value growth and learning in our team."
-    nick_title: "創設者, CEO"
-    matt_title: "創設者, CTO"
+    nick_title: "創設者、CEO"
+    matt_title: "創設者、CTO"
     cat_title: "ゲームデザイナー"
-    scott_title: "創設者, ソフトウェアエンジニア"
+    scott_title: "創設者、ソフトウェアエンジニア"
     maka_title: "顧客主義"
     robin_title: "デザイン＆研究" # {change}
     nolan_title: "地区担当マネージャー" # {change}
@@ -2007,7 +2007,7 @@
   classes:
     archmage_title: "アークメイジ"
     archmage_title_description: "(プログラマ)"
-    archmage_summary: "もしあなたが教育的なゲームに興味のあるデベロッパーであれば、CodeCombat を作るアーキメイジになれます！"
+    archmage_summary: "もしあなたが教育的なゲームに興味のあるデベロッパーであれば、CodeCombatを作るアーキメイジになれます！"
     artisan_title: "アーチザン"
     artisan_title_description: "(レベルデザイナー)"
     artisan_summary: "レベルを作成し、友達にプレイしてもらおう。アーチザンになって他の人にプログラムを教える術を学ぼう！"
@@ -2121,7 +2121,7 @@
   contribute:
     page_title: "コントリビュート"
     intro_blurb: "CodeCombat は100%オープンソースです！何百もの熱心なプレイヤーが私たちがゲームを作るのを手伝っています。私たちと一緒に CodeCombat の次のチャプターを作って世界中のプレイヤーにプログラミングを教えましょう！" # {change}
-    alert_account_message_intro: "やあ、こんにちは!"
+    alert_account_message_intro: "やあ、こんにちは！"
     alert_account_message: "クラスのメールを購読するには,まずログインが必要です。"
     archmage_introduction: "ゲームを作る上で一番重要なのは、たくさんの要素を合成することです。グラフィック、サウンド、リアルタイムネットワーキング、ソーシャルネットワーキング、一般的なプログラミング、ローレベルのデータベースマネジメント、管理画面のデザインやインターフェイスなど多岐に渡ります。やらなくてはいけないことはたくさんあります。もしあなたが経験豊富なプログラマであればアーキメイジになって CodeCombat のコアにコミットしましょう。ぜひとも私たちの最高のプログラミングゲームを手伝ってください。"
     class_attributes: "クラスの属性"
@@ -2138,9 +2138,9 @@
     archmage_subscribe_desc: "コーディングの機会やアナウンスをメールで受け取る"
     artisan_introduction_pref: "私たちは、追加のレベルを建設しなければなりません！皆さんはもっとコンテンツを、と叫んでいますが、私達がつくれるのは自分たちの分だけです。今、あなたのワークステーションはレベル１です。私達のレベルエディタをつかえばそんなクリエイターでもギリギリ使えます、そう警戒しないで。あなたがfor-loopにまたがるキャンペーンのビジョンを"
     artisan_introduction_suf: "にもっているなら、このクラスはあなたにピッタリです。"
-    artisan_attribute_1: "Blizzardのレベルエディタなどの構築経験は歓迎しますが、必須ではありません!"
+    artisan_attribute_1: "Blizzardのレベルエディタなどの構築経験は歓迎しますが、必須ではありません！"
     artisan_attribute_2: "全体のテストを何度もすることを願ってます。 よいレベルを作るには 他の人のを真似て見てプレイしてみることが必要です。そしてそこから修正のための多くのものを見つけて準備しましょう。"
-    artisan_attribute_3: "時間がかかることで, 冒険者と並ぶくらい我慢しなければなりません。 私達のレベルエディターは予備動作が長く使っているとイライラするかもしれません。気をつけてくださいね!"
+    artisan_attribute_3: "時間がかかることで, 冒険者と並ぶくらい我慢しなければなりません。 私達のレベルエディターは予備動作が長く使っているとイライラするかもしれません。気をつけてくださいね！"
     artisan_join_desc: "レベルエディタを使うために以下のステップを利用してください。"
     artisan_join_step1: "ドキュメントを読む"
     artisan_join_step2: "新しいレベルを作成し、すでにあるレベルか探す"
@@ -2192,9 +2192,9 @@
 #    arena_title: "__arena__ | Multiplayer Arenas"
     my_matches: "勝負"
     simulate: "シミュレート"
-    simulation_explanation: "試合のシミュレートはより早くランク付けすることができます!"
+    simulation_explanation: "試合のシミュレートはより早くランク付けすることができます！"
     simulation_explanation_leagues: "同盟を組んだクランやコースのプレイヤーの試合のシミュレーションを助ける。"
-    simulate_games: "試合をシミュレート!"
+    simulate_games: "試合をシミュレート！"
     games_simulated_by: "あなたからシミュレートした試合:"
     games_simulated_for: "あなたへシミュレートされた試合:"
     games_in_queue: "試合は現在列待ちです:"
@@ -2208,13 +2208,13 @@
     summary_wins: " 勝利数, "
     summary_losses: " 敗北数"
     rank_no_code: "新しいコードがランクにありません"
-    rank_my_game: "試合をランキングに送信!"
+    rank_my_game: "試合をランキングに送信！"
     rank_submitting: "送信中..."
     rank_submitted: "ランキングに送信されました。"
     rank_failed: "ランキングに送信できませんでした。"
     rank_being_ranked: "ランキングにのっています"
     rank_last_submitted: "送信"
-    help_simulate: "試合のシミュレートのヘルプ?"
+    help_simulate: "試合のシミュレートのヘルプ？"
 #    code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
 #    no_ranked_matches_pre: "No ranked matches for the "
 #    no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
@@ -2848,7 +2848,7 @@
 #    activity_label_3: "Advanced: Build an Arcade Game!"
 #    activity_button_1: "View Lesson"
     about: "Codecombatについて:" # {change}
-    about_copy: "CodeCombat はゲーム見たいなCSを教えてくれるプログラムです。CodeCombatはPythonとJavaScriptを教えてくれます。CodeCombatはちゃんとプログラミングコンセプトを教えながらみんながたのしめるようにできています。1.2千万人以上CodeCombatを使っています。" # {change}
+    about_copy: "CodeCombatはゲームのようにCSを教えてくれるプログラムです。PythonとJavaScriptに対応しています。CodeCombatは、正しくプログラミングを学びながらみんなが楽しめるようにできています。1.2千万人以上がCodeCombatを使っています。" # {change}
     point1: "✓ ベースが分かりやすい"
     point2: "✓ 生徒に合うように調整する"
     point3: "✓ コンセプトのテストもある" # {change}


do not update selection if not focused on editor

--- src/selection.coffee
+++ src/selection.coffee
@@ -80,9 +80,9 @@
     @range = null
     @mouseIsDown = @keyIsDown = false
     ScribeDOM.addEventListener(@editor.root, 'keydown',   => _.defer( => @keyIsDown = true ))
-    ScribeDOM.addEventListener(@editor.root, 'keyup',     => _.defer( =>@keyIsDown = false ))
-    ScribeDOM.addEventListener(@editor.root, 'mousedown', => _.defer( =>@mouseIsDown = true ))
-    ScribeDOM.addEventListener(@editor.root, 'mouseup',   => _.defer( =>@mouseIsDown = false ))
+    ScribeDOM.addEventListener(@editor.root, 'keyup',     => _.defer( => @keyIsDown = false ))
+    ScribeDOM.addEventListener(@editor.root, 'mousedown', => _.defer( => @mouseIsDown = true ))
+    ScribeDOM.addEventListener(@editor.root, 'mouseup',   => _.defer( => @mouseIsDown = false ))
     @editor.renderer.runWhenLoaded( =>
       rangy.init()
       @nativeSelection = rangy.getIframeSelection(@editor.renderer.iframe) if @editor.renderer.iframe.parentNode?
@@ -139,6 +139,7 @@
   update: (silent = false) ->
     return if (@mouseIsDown or @keyIsDown) and !silent
     nativeRange = this.getNativeRange(false)
+    return if nativeRange? and !(rangy.dom.isAncestorOf(@editor.root, nativeRange.startContainer) and rangy.dom.isAncestorOf(@editor.root, nativeRange.endContainer))
     unless nativeRange == @range or (nativeRange? and @range and nativeRange.equals(@range))
       nativeRange = normalizeNativeRange(nativeRange)
       this.setRange(_nativeRangeToRange.call(this, nativeRange), silent)