From 97cdb76b825b7a8a64ad0356d6527aa35bddd6b4 Mon Sep 17 00:00:00 2001 From: nixel2007 Date: Wed, 17 Dec 2014 23:21:54 +0300 Subject: [PATCH 1/3] Fixed i18n-coverage bug Added analysis of the translation of all available properties --- app/models/CocoModel.coffee | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index e0e1be276..baa2dbd37 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -379,8 +379,26 @@ class CocoModel extends Backbone.Model updateI18NCoverage: -> i18nObjects = @findI18NObjects() return unless i18nObjects.length - langCodeArrays = (_.keys(i18n) for i18n in i18nObjects) - @set('i18nCoverage', _.intersection(langCodeArrays...)) + + langCodeArrays = (_.keys(i18n) for i18n in i18nObjects) + langCodeArray = langCodeArrays[0] + temp_i18nCoverage = [] + schemaProps = (schemaProp for schemaProp in this.schema().properties.i18n.props when this.attributes.hasOwnProperty(schemaProp)) + + for lang in langCodeArray + + langProps = i18n[lang] + allProps = true + + for prop in schemaProps + if not langProps.hasOwnProperty(prop) + allProps = false + break + + if allProps + temp_i18nCoverage.push lang + + @set('i18nCoverage', temp_i18nCoverage) findI18NObjects: (data, results) -> data ?= @attributes From 917a61b3105784fb177e425dae8ef2612e2245e5 Mon Sep 17 00:00:00 2001 From: nixel2007 Date: Wed, 24 Dec 2014 22:15:52 +0300 Subject: [PATCH 2/3] Revert "Fixed i18n-coverage bug" This reverts commit 97cdb76b825b7a8a64ad0356d6527aa35bddd6b4. --- app/models/CocoModel.coffee | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index baa2dbd37..e0e1be276 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -379,26 +379,8 @@ class CocoModel extends Backbone.Model updateI18NCoverage: -> i18nObjects = @findI18NObjects() return unless i18nObjects.length - - langCodeArrays = (_.keys(i18n) for i18n in i18nObjects) - langCodeArray = langCodeArrays[0] - temp_i18nCoverage = [] - schemaProps = (schemaProp for schemaProp in this.schema().properties.i18n.props when this.attributes.hasOwnProperty(schemaProp)) - - for lang in langCodeArray - - langProps = i18n[lang] - allProps = true - - for prop in schemaProps - if not langProps.hasOwnProperty(prop) - allProps = false - break - - if allProps - temp_i18nCoverage.push lang - - @set('i18nCoverage', temp_i18nCoverage) + langCodeArrays = (_.keys(i18n) for i18n in i18nObjects) + @set('i18nCoverage', _.intersection(langCodeArrays...)) findI18NObjects: (data, results) -> data ?= @attributes From b3bced93ac28c8f3486b9f5055a04f0c3f9d1c18 Mon Sep 17 00:00:00 2001 From: nixel2007 Date: Wed, 24 Dec 2014 22:57:54 +0300 Subject: [PATCH 3/3] Update ru.coffee --- app/locale/ru.coffee | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index f53b224c6..11ed3a45b 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -313,8 +313,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi save_load_tab: "Сохранить/Загрузить" options_tab: "Настройки" guide_tab: "Руководство" -# guide_video_tutorial: "Video Tutorial" -# guide_tips: "Tips" + guide_video_tutorial: "Видео-учебник" + guide_tips: "Заметки" multiplayer_tab: "Мультиплеер" auth_tab: "Зарегистрироваться" inventory_caption: "Оденьте своего героя" @@ -480,10 +480,10 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi forum_prefix: "Для любых публичных обсуждений, пожалуйста, используйте " forum_page: "наш форум" forum_suffix: "." -# subscribe_prefix: "If you need help figuring out a level, please" -# subscribe: "buy a CodeCombat subscription" -# subscribe_suffix: "and we'll be happy to help you with your code." -# subscriber_support: "Since you're a CodeCombat subscriber, your email will get our priority support." + subscribe_prefix: "Если вам нужна помощь в прохождении уровня, пожалуйста," + subscribe: "купите подписку CodeCombat," + subscribe_suffix: "и мы будем рады помочь вам с вашим кодом." + subscriber_support: "Ваши электронные письма получают нашу приоритетную поддержку, если вы подписчик CodeCombat." where_reply: "Куда мы должны ответить?" send: "Отправить отзыв" contact_candidate: "Связаться с кандидатом" # Deprecated @@ -568,22 +568,22 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi classes: archmage_title: "Архимаг" archmage_title_description: "(программист)" -# archmage_summary: "If you are a developer interested in coding educational games, become an archmage to help us build CodeCombat!" + archmage_summary: "Если вы разработчик, заинтересованный в программировании обучающих игр, становитесь архимагом, чторбы помогать творить CodeCombat!" artisan_title: "Ремесленник" artisan_title_description: "(создатель уровней)" -# artisan_summary: "Build and share levels for you and your friends to play. Become an Artisan to learn the art of teaching others to program." + artisan_summary: "Создавайте и делитесь уровнями, на которых сможете играть вы и ваши друзья. Становитесь ремесленником и овладейте искусством обучения программированию других." adventurer_title: "Искатель приключений" adventurer_title_description: "(тестировщик уровней)" -# adventurer_summary: "Get our new levels (even our subscriber content) for free one week early and help us work out bugs before our public release." + adventurer_summary: "Получайте наши новые уровни (даже контент для подписчиков) бесплатно на неделю раньше и помогите нам с работой над исправлением багов до публичного релиза." scribe_title: "Писарь" scribe_title_description: "(редактор статей)" -# scribe_summary: "Good code needs good documentation. Write, edit, and improve the docs read by millions of players across the globe." + scribe_summary: "Хороший код требует хорошую документацию. Пишите, редактируйте и улучшайте документацию, читаемую миллионами игроков по всему миру." diplomat_title: "Дипломат" diplomat_title_description: "(переводчик)" -# diplomat_summary: "CodeCombat is localized in 45+ languages by our Diplomats. Help us out and contribute translations." + diplomat_summary: "CodeCombat переводится нашими Дипломатами на более чем 45 языков. Помогите нам и посодействуйте в переводах." ambassador_title: "Посол" ambassador_title_description: "(поддержка)" -# ambassador_summary: "Tame our forum users and provide direction for those with questions. Our ambassadors represent CodeCombat to the world." + ambassador_summary: "Приручите наших пользователей форума и давайте рекомендации по их вопросам. Наши Послы представляют CodeCombat миру." editor: main_title: "Редакторы CodeCombat" @@ -660,7 +660,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi contribute: page_title: "Сотрудничество" -# intro_blurb: "CodeCombat is 100% open source! Hundreds of dedicated players have helped us build the game into what it is today. Join us and write the next chapter in CodeCombat's quest to teach the world to code!" + intro_blurb: "CodeCombat на 100% открыт! Сотни преданных игроков помогли нам превратить игру в то, чем она является сегодня. Присоединяйтесь к нам и напишите следующую главу в миссии CodeCombat научить мир программировать!" character_classes_title: "Классы персонажей" introduction_desc_intro: "Мы возлагаем большие надежды на CodeCombat." introduction_desc_pref: "Мы хотим быть местом, где программисты всех мастей приходят учиться и играть вместе, знакомить остальных с удивительным миром программирования, и отражают лучшие части сообщества. Мы не можем и не хотим этого делать в одиночку; то, что делает такие проекты, как GitHub, Stack Overflow и Linux великими - люди, которые их используют и создают на их основе. С этой целью "