From 52e5e10232790a88a70e19cf442e49afb1970cf3 Mon Sep 17 00:00:00 2001 From: Godwin Date: Sun, 4 May 2014 14:56:18 -0600 Subject: [PATCH] Translations --- Gemfile | 8 +- Gemfile.lock | 17 +- Thumbs.db | Bin 13312 -> 13312 bytes app/assets/javascripts/application.js.coffee | 61 +++++- app/assets/stylesheets/application.css.scss | 1 + app/assets/stylesheets/sass/_base.scss | 88 ++++++++ app/assets/stylesheets/sass/_layout.scss | 10 + app/controllers/pages_controller.rb | 50 ++++- app/helpers/application_helper.rb | 202 +++++++++--------- app/views/pages/translation_list.html.haml | 22 ++ app/views/pages/translations.html.haml | 41 ++++ app/views/user_sessions/_form.html.haml | 2 +- config/application.rb | 3 +- config/initializers/i18n.rb | 90 +++++++- config/routes.rb | 23 +- spec/features/pages/login_spec.rb | 4 +- .../pages/organization_registration_spec.rb | 2 +- spec/features/pages/translations_spec.rb | 22 ++ spec/spec_helper.rb | 1 + 19 files changed, 486 insertions(+), 161 deletions(-) create mode 100644 app/assets/stylesheets/sass/_base.scss create mode 100644 app/views/pages/translation_list.html.haml create mode 100644 app/views/pages/translations.html.haml create mode 100644 spec/features/pages/translations_spec.rb diff --git a/Gemfile b/Gemfile index b7dd7ba..a9d2d17 100644 --- a/Gemfile +++ b/Gemfile @@ -21,7 +21,7 @@ gem 'pg' # Security # gem 'secure_headers' -gem 'dotenv-rails', :groups => [:development, :test] +#gem 'dotenv-rails', :groups => [:development, :test] # Miscellanea # gem 'google-analytics-rails' @@ -43,7 +43,7 @@ gem 'jquery-turbolinks' gem 'sass-rails', '~> 4.0.0' gem "compass-rails", "~> 1.1.3" gem 'foundation-rails' -gem 'turbolinks' +#gem 'turbolinks' # This would be great to have working, right now lets focus on gettting it working without it. gem 'uglifier', '>= 1.3.0' gem 'sorcery', '>= 0.8.1' gem 'oauth2', '~> 0.8.0' @@ -52,7 +52,9 @@ gem 'redis' gem 'carrierwave' gem 'carrierwave-imageoptimizer' gem 'mini_magick' -#gem 'carmen', :path => '../carmen /' +if File.directory?('../carmen/') + gem 'carmen', :path => '../carmen/', require: false +end gem 'carmen-rails' gem 'nested_form' gem 'acts_as_list' diff --git a/Gemfile.lock b/Gemfile.lock index 9b54ba3..4e200b7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,6 +12,11 @@ GIT i18n-active_record (0.0.2) i18n (>= 0.5.0) +PATH + remote: ../carmen/ + specs: + carmen (1.0.1) + GEM remote: http://rubygems.org/ specs: @@ -66,8 +71,6 @@ GEM rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) - carmen (1.0.1) - unicode_utils (~> 1.4.0) carmen-rails (1.0.1) carmen (~> 1.0.0) rails @@ -124,11 +127,6 @@ GEM chronic diff-lcs (1.2.5) docile (1.1.3) - dotenv (0.11.1) - dotenv-deployment (~> 0.0.2) - dotenv-deployment (0.0.2) - dotenv-rails (0.11.1) - dotenv (= 0.11.1) email_spec (1.5.0) launchy (~> 2.1) mail (~> 2.2) @@ -340,14 +338,12 @@ GEM uglifier (2.5.0) execjs (>= 0.3.0) json (>= 1.8.0) - unicode_utils (1.4.0) uniform_notifier (1.4.0) wdm (0.1.0) webmock (1.17.4) addressable (>= 2.2.7) crack (>= 0.3.2) websocket (1.0.7) - win32console (1.3.2) win32console (1.3.2-x86-mingw32) xpath (2.0.0) nokogiri (~> 1.3) @@ -363,6 +359,7 @@ DEPENDENCIES binding_of_caller bullet capybara + carmen! carmen-rails carrierwave carrierwave-imageoptimizer @@ -372,7 +369,6 @@ DEPENDENCIES database_cleaner debugger delorean - dotenv-rails email_spec eventmachine factory_girl_rails @@ -407,7 +403,6 @@ DEPENDENCIES selenium-webdriver simplecov sorcery (>= 0.8.1) - turbolinks uglifier (>= 1.3.0) wdm (>= 0.1.0) webmock diff --git a/Thumbs.db b/Thumbs.db index abcbf6052ffb8be507d37f2c07ff7653e1f7796f..ef7f828eee66c900dd329e85aab6f4f9892db4f8 100644 GIT binary patch delta 19 acmZq3Xvo-*!@~BVruy&ew9Q2 updateFormFieldList() return +saveTranslation = ($td, $move_to, auto_translate) -> + val = '' + do_auto_translate = true + if typeof auto_translate == "undefined" || !auto_translate + val = $td.find('textarea').val() + do_auto_translate = false + key = $td.parent().data().key + params = {translationkey: key, translationvalue: val, translationlang: window.location.href.replace(/^.*\/(\w+)\/$/, '$1')} + if do_auto_translate + params['auto_translate'] = true + $.post '/translate/', params, + (json) -> + #console.log json + $td.html(json.translation) + if $td.parent().hasClass('not-exists') + $td.parent().removeClass('not-exists') + $td.parent().addClass('exists') + $('.translation-form').remove() + if typeof $move_to != "undefined" && $move_to + startTranslating $move_to + return + return + +stopTranslating = () -> $('.translation-form').remove() + +startTranslating = ($td) -> + stopTranslating() + value = if $td.parent().hasClass('not-exists') then '' else $td.html().trim() + $tr = $td.parent() + key = $tr.data().key + $td.append('