From c56be0222295aa404ddcbd167b7e590eecd1e9d6 Mon Sep 17 00:00:00 2001 From: Alan Shen Date: Thu, 17 Jul 2014 01:16:08 -0600 Subject: [PATCH 01/12] Fixed typo: Chose -> Choose It may be late to describe incoming targets with past tense. --- app/views/play_view.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee index bd7a412e7..c6679a3f4 100644 --- a/app/views/play_view.coffee +++ b/app/views/play_view.coffee @@ -117,7 +117,7 @@ module.exports = class PlayView extends View difficulty: 2 id: 'emphasis-on-aim' image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png' - description: 'Chose your targets carefully.' + description: 'Choose your targets carefully.' } { name: 'Zone of Danger' From 1b6fc95d7721d4d1cc0820c00eb68a6a30b80901 Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Thu, 17 Jul 2014 13:25:25 +0100 Subject: [PATCH 02/12] Update pt-PT.coffee --- app/locale/pt-PT.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index 278fc30f6..709320fc5 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -186,7 +186,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: error_saving: "Erro ao Guardar" saved: "Alterações Guardadas" password_mismatch: "As palavras-passe não coincidem." -# password_repeat: "Please repeat your password." + password_repeat: "Por favor repita a sua palavra-passe." job_profile: "Perfil de Emprego" job_profile_approved: "O seu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão vê-lo até que o defina como inativo ou não o tenha alterado à 4 semanas." job_profile_explanation: "Olá! Preencha isto e entraremos em contacto consigo sobre encontrar um emprego de desenvolvedor de software para si." @@ -327,7 +327,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News." # make_hiring_easier: "Make my hiring easier, please." what: "O que é o CodeCombat?" - what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Nós suportamos JavaScript, Python, Lua, Clojure, CoffeeScript e Io." + what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Os nossos jogadores têm experiência com todos os conceitos tecnológicos principais." cost: "Quanto é que cobramos?" cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na sua companhia." candidate_name: "Nome" From 991ef61d6220da3e8eabbf7c8f872f9d9ed5b6e4 Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Thu, 17 Jul 2014 13:44:14 +0100 Subject: [PATCH 03/12] Update pt-PT.coffee --- app/locale/pt-PT.coffee | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index 709320fc5..155289e42 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -503,13 +503,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: pick_a_terrain: "Escolha Um Terreno" small: "Pequeno" grassy: "Com Relva" -# fork_title: "Fork New Version" -# fork_creating: "Creating Fork..." + fork_title: "Bifurcar Nova Versão" + fork_creating: "A Criar Bifurcação..." # randomize: "Randomize" -# more: "More" -# wiki: "Wiki" -# live_chat: "Live Chat" - level_some_options: "Algumas opções?" + more: "Mais" + wiki: "Wiki" + live_chat: "Chat Ao Vivo" + level_some_options: "Algumas Opções?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" level_tab_settings: "Configurações" @@ -522,19 +522,19 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # delete: "Delete" # duplicate: "Duplicate" level_settings_title: "Configurações" - level_component_tab_title: "Componentes atuais" - level_component_btn_new: "Cria um novo Componente" - level_systems_tab_title: "Sistemas atuais" - level_systems_btn_new: "Cria um novo Sistema" - level_systems_btn_add: "Adiciona um Sistema" + level_component_tab_title: "Componentes Atuais" + level_component_btn_new: "Criar Novo Componente" + level_systems_tab_title: "Sistemas Atuais" + level_systems_btn_new: "Cria Novo Sistema" + level_systems_btn_add: "Adicionar Sistema" level_components_title: "Voltar para Todos os Thangs" level_components_type: "Tipo" level_component_edit_title: "Editar Componente" # level_component_config_schema: "Config Schema" level_component_settings: "Configurações" level_system_edit_title: "Editar Sistema" - create_system_title: "Criar novo Sistema" - new_component_title: "Criar novo Componente" + create_system_title: "Criar Novo Sistema" + new_component_title: "Criar Novo Componente" new_component_field_system: "Sistema" new_article_title: "Criar um Novo Artigo" new_thang_title: "Criar um Novo Tipo de Thang" @@ -559,20 +559,20 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: name: "Nome" body: "Corpo" version: "Versão" - commit_msg: "Mensagem de Commit" -# version_history: "Version History" - version_history_for: "Histórico de versões por: " + commit_msg: "Enviar Mensagem" + version_history: "Histórico de Versões" + version_history_for: "Histórico de Versões para: " result: "Resultado" results: "Resultados" description: "Descrição" or: "ou" -# subject: "Subject" + subject: "Assunto" email: "E-mail" password: "Palavra-passe" message: "Mensagem" code: "Código" ladder: "Classificação" - when: "quando" + when: "Quando" opponent: "Adversário" rank: "Classificação" score: "Resultado" From 17a4a689e4a73340a2453e1174ef05ba58200e2d Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Thu, 17 Jul 2014 14:18:29 +0100 Subject: [PATCH 04/12] Update pt-PT.coffee --- app/locale/pt-PT.coffee | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index 155289e42..ec504f6db 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -768,17 +768,17 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: ambassador_title_description: "(Suporte)" ladder: - please_login: "Por favor, faz log in antes de jogar um jogo para o campeonato." - my_matches: "Os meus jogos" + please_login: "Por favor inicie sessão antes de jogar um jogo do campeonato." + my_matches: "Os Meus Jogos" simulate: "Simular" - simulation_explanation: "Simulando jogos podes fazer com que o teu jogo seja classificado mais rapidamente!" + simulation_explanation: "Ao simular jogos pode ter o seu jogo classificado mais rapidamente!" simulate_games: "Simular Jogos!" # simulate_all: "RESET AND SIMULATE GAMES" -# games_simulated_by: "Games simulated by you:" -# games_simulated_for: "Games simulated for you:" -# games_simulated: "Games simulated" -# games_played: "Games played" -# ratio: "Ratio" + games_simulated_by: "Jogos simulados por si:" + games_simulated_for: "Jogos simulados para si:" + games_simulated: "Jogos simulados" + games_played: "Jogos jogados" + ratio: "Rácio" leaderboard: "Tabela de Classificação" battle_as: "Lutar como " summary_your: "As tuas " @@ -868,29 +868,29 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # server_error: "Server error." # unknown: "Unknown error." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" + resources: + your_sessions: "As Suas Sessões" + level: "Nível" # social_network_apis: "Social Network APIs" # facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" + facebook_friends: "Amigos do Facebook" # facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" + gplus_friends: "Amigos do Google+" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "Leaderboard" + leaderboard: "Tabela de Classificação" # user_schema: "User Schema" # user_profile: "User Profile" # patches: "Patches" # patched_model: "Source Document" # model: "Model" -# system: "System" -# component: "Component" -# components: "Components" -# thang: "Thang" -# thangs: "Thangs" -# level_session: "Your Session" -# opponent_session: "Opponent Session" -# article: "Article" + system: "Sistema" + component: "Componente" + components: "Componentes" + thang: "Thang" + thangs: "Thangs" + level_session: "A Sua Sessão" + opponent_session: "Sessão Do Oponente" + article: "Artigo" # user_names: "User Names" # thang_names: "Thang Names" # files: "Files" @@ -900,7 +900,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # sprite_sheet: "Sprite Sheet" # candidate_sessions: "Candidate Sessions" # user_remark: "User Remark" -# versions: "Versions" + versions: "Versões" # delta: # added: "Added" From 80b420ebbfdcf6587b2949da701c20553ba52e1b Mon Sep 17 00:00:00 2001 From: Darredevil Date: Thu, 17 Jul 2014 19:11:23 +0300 Subject: [PATCH 05/12] fix for no user logged --- app/templates/docs/components.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/templates/docs/components.jade b/app/templates/docs/components.jade index 157bb7f39..43ccbcb92 100644 --- a/app/templates/docs/components.jade +++ b/app/templates/docs/components.jade @@ -26,8 +26,8 @@ block content li(id="#{component.get('name')}#{doc.name}") | #{doc.name} ul.specialList - if doc.description[language.substring(1,language.length-1)] - li!=marked(doc.description[language.substring(1,language.length-1)]) + if doc.description[language] + li!=marked(doc.description[language]) else li!=marked(doc.description) From b6469ff45b296b9c7d69860effa012e69b989f2d Mon Sep 17 00:00:00 2001 From: Darredevil Date: Thu, 17 Jul 2014 19:12:26 +0300 Subject: [PATCH 06/12] fix for no user logged --- app/views/docs/components_view.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/docs/components_view.coffee b/app/views/docs/components_view.coffee index 181eacbbd..0a789000e 100644 --- a/app/views/docs/components_view.coffee +++ b/app/views/docs/components_view.coffee @@ -34,5 +34,5 @@ module.exports = class UnnamedView extends RootView if (me.get('aceConfig')?.language?) is false c.language = 'javascript' else - c.language = JSON.stringify(me.get('aceConfig').language) + c.language = me.get('aceConfig').language c From 079d336881d89b480c8989065cd48c62059e02c2 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 17 Jul 2014 16:36:59 -0700 Subject: [PATCH 07/12] Stopped .nano from overriding Bootstrap's column width for component docs page. --- app/styles/docs/components.sass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/styles/docs/components.sass b/app/styles/docs/components.sass index 73979ded2..9283eda41 100644 --- a/app/styles/docs/components.sass +++ b/app/styles/docs/components.sass @@ -15,8 +15,11 @@ .doc-name color: rgb(139, 69, 19) + .index-column + width: 25% .documentation-column + width: 75% .specialList list-style-type: none From 2d7b6eb1452f30f03b48298f52249baff61eb6ff Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Thu, 17 Jul 2014 20:12:59 -0700 Subject: [PATCH 08/12] Updated code language logos. Added code language blurb i18n tags. --- .../images/common/code_languages/c_icon.png | Bin 0 -> 3108 bytes .../common/code_languages/clojure_icon.png | Bin 0 -> 3094 bytes .../code_languages/clojure_small.png} | Bin .../code_languages/coffeescript_icon.png | Bin 0 -> 3018 bytes .../code_languages/coffeescript_small.png} | Bin .../images/common/code_languages/cpp_icon.png | Bin 0 -> 3093 bytes .../common/code_languages/csharp_icon.png | Bin 0 -> 3077 bytes .../images/common/code_languages/go_icon.png | Bin 0 -> 2983 bytes .../images/common/code_languages/io_icon.png | Bin 0 -> 4113 bytes .../code_languages/io_small.png} | Bin .../common/code_languages/java_icon.png | Bin 0 -> 3105 bytes .../common/code_languages/javascript_icon.png | Bin 0 -> 3976 bytes .../code_languages/javascript_small.png} | Bin .../images/common/code_languages/lua_icon.png | Bin 0 -> 2917 bytes .../code_languages/lua_small.png} | Bin .../images/common/code_languages/php_icon.png | Bin 0 -> 3020 bytes .../common/code_languages/python_icon.png | Bin 0 -> 3008 bytes .../code_languages/python_small.png} | Bin .../common/code_languages/ruby_icon.png | Bin 0 -> 3073 bytes .../common/code_languages/swift_icon.png | Bin 0 -> 2961 bytes app/locale/en.coffee | 6 ++++ app/styles/home.sass | 17 ++++++++--- app/styles/play/ladder/ladder_tab.sass | 5 ++-- app/styles/play/ladder/my_matches_tab.sass | 5 ++-- app/styles/play/ladder/play_modal.sass | 10 +++---- app/styles/play/level/tome/spell_palette.sass | 28 +++++++++++------- app/templates/home.jade | 12 ++++---- app/templates/play/ladder/ladder_tab.jade | 4 +-- app/templates/play/ladder/my_matches_tab.jade | 2 +- app/templates/play/ladder/play_modal.jade | 8 ++--- app/views/home_view.coffee | 2 +- 31 files changed, 59 insertions(+), 40 deletions(-) create mode 100755 app/assets/images/common/code_languages/c_icon.png create mode 100755 app/assets/images/common/code_languages/clojure_icon.png rename app/assets/images/{pages/home/language_logo_clojure.png => common/code_languages/clojure_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/coffeescript_icon.png rename app/assets/images/{pages/home/language_logo_coffeescript.png => common/code_languages/coffeescript_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/cpp_icon.png create mode 100755 app/assets/images/common/code_languages/csharp_icon.png create mode 100755 app/assets/images/common/code_languages/go_icon.png create mode 100644 app/assets/images/common/code_languages/io_icon.png rename app/assets/images/{pages/home/language_logo_io.png => common/code_languages/io_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/java_icon.png create mode 100644 app/assets/images/common/code_languages/javascript_icon.png rename app/assets/images/{pages/home/language_logo_javascript.png => common/code_languages/javascript_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/lua_icon.png rename app/assets/images/{pages/home/language_logo_lua.png => common/code_languages/lua_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/php_icon.png create mode 100755 app/assets/images/common/code_languages/python_icon.png rename app/assets/images/{pages/home/language_logo_python.png => common/code_languages/python_small.png} (100%) create mode 100755 app/assets/images/common/code_languages/ruby_icon.png create mode 100755 app/assets/images/common/code_languages/swift_icon.png diff --git a/app/assets/images/common/code_languages/c_icon.png b/app/assets/images/common/code_languages/c_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..99cd55241df4b94612ea0f61f6984561304c52cf GIT binary patch literal 3108 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 M07*qoM6N<$f)%@!EC2ui literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/home/language_logo_coffeescript.png b/app/assets/images/common/code_languages/coffeescript_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_coffeescript.png rename to app/assets/images/common/code_languages/coffeescript_small.png diff --git a/app/assets/images/common/code_languages/cpp_icon.png b/app/assets/images/common/code_languages/cpp_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..c3067378cca155e9e81de53c6adf38e294f1c2cb GIT binary patch literal 3093 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/common/code_languages/io_icon.png b/app/assets/images/common/code_languages/io_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6c58fe4eafcd179cb0df77a7fe4123a42c8903 GIT binary patch literal 4113 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/common/code_languages/javascript_icon.png b/app/assets/images/common/code_languages/javascript_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4580f350b4b9412f0dbd539340325962c5bbba0e GIT binary patch literal 3976 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 F{{(R7Ih+6h literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/home/language_logo_javascript.png b/app/assets/images/common/code_languages/javascript_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_javascript.png rename to app/assets/images/common/code_languages/javascript_small.png diff --git a/app/assets/images/common/code_languages/lua_icon.png b/app/assets/images/common/code_languages/lua_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..e97873a331f62e51f94b8fa374a596233ebf6510 GIT binary patch literal 2917 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 P00000NkvXXu0mjfDMxEp literal 0 HcmV?d00001 diff --git a/app/assets/images/pages/home/language_logo_lua.png b/app/assets/images/common/code_languages/lua_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_lua.png rename to app/assets/images/common/code_languages/lua_small.png diff --git a/app/assets/images/common/code_languages/php_icon.png b/app/assets/images/common/code_languages/php_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..35757de0b61b2f778df0e3ef459938f74ef5f350 GIT binary patch literal 3020 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 P00000NkvXXu0mjfD=f2y literal 0 HcmV?d00001 diff --git a/app/assets/images/common/code_languages/swift_icon.png b/app/assets/images/common/code_languages/swift_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..e789c15168232d60bb83864e1699406a9b6fbe0c GIT binary patch literal 2961 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