kete_translatable_content 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +23 -0
- data/LICENSE +295 -0
- data/README.rdoc +80 -0
- data/README.rdoc.orig +72 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/app/views/active_scaffold_overrides/_show.html.erb +8 -0
- data/app/views/active_scaffold_overrides/_update_form.html.erb +8 -0
- data/app/views/active_scaffold_overrides/list.html.erb +5 -0
- data/app/views/baskets/_additional_footer_content_fields.html.erb +33 -0
- data/app/views/baskets/_rss_feed.html.erb +42 -0
- data/app/views/baskets/_side_bar_html.html.erb +19 -0
- data/app/views/configure/section.rhtml +36 -0
- data/app/views/layouts/translations.html.erb +1 -0
- data/app/views/topics/_content_wrapper_start.rhtml +26 -0
- data/app/views/translations/_form.html.erb +54 -0
- data/app/views/translations/_translatable_value.html.erb +36 -0
- data/app/views/translations/_translation_field_input.html.erb +61 -0
- data/app/views/translations/show.html.erb +12 -0
- data/app/views/translations/versioned_edit.html.erb +9 -0
- data/config/locales/en.yml +51 -0
- data/config/routes.rb +11 -0
- data/config/translatables.yml +65 -0
- data/generators/kete_translatable_content_migration/USAGE +2 -0
- data/generators/kete_translatable_content_migration/kete_translatable_content_migration_generator.rb +7 -0
- data/generators/kete_translatable_content_migration/templates/migration.rb +82 -0
- data/generators/kete_translatable_content_tests/USAGE +2 -0
- data/generators/kete_translatable_content_tests/kete_translatable_content_tests_generator.rb +38 -0
- data/generators/kete_translatable_content_tests/templates/configure_kete_content_translation_controller_and_routes_test.rb +48 -0
- data/generators/kete_translatable_content_tests/templates/configure_kete_content_translation_test.rb +47 -0
- data/generators/kete_translatable_content_tests/templates/kete_translatable_content_helper_test.rb +19 -0
- data/generators/kete_translatable_content_tests/templates/kete_translatable_content_migration_test.rb +45 -0
- data/generators/kete_translatable_content_tests/templates/kete_translatable_content_oai_dc_helpers_test.rb +66 -0
- data/generators/kete_translatable_content_tests/templates/kete_translatable_content_translations_test.rb +23 -0
- data/generators/kete_translatable_content_tests/templates/kete_translations_test.rb +57 -0
- data/generators/kete_translatable_content_tests/templates/mongo_factories.rb +6 -0
- data/generators/kete_translatable_content_tests/templates/mongo_test_helper.rb +37 -0
- data/generators/kete_translatable_content_tests/templates/mongo_translatable_test.rb +262 -0
- data/lib/kete_translatable_content.rb +54 -0
- data/lib/kete_translatable_content/extensions/controllers/application_controller.rb +202 -0
- data/lib/kete_translatable_content/extensions/controllers/audio_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/controllers/baskets_controller.rb +3 -0
- data/lib/kete_translatable_content/extensions/controllers/documents_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/controllers/images_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/controllers/topics_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/controllers/translations_controller.rb +209 -0
- data/lib/kete_translatable_content/extensions/controllers/video_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/controllers/web_links_controller.rb +7 -0
- data/lib/kete_translatable_content/extensions/extended_content_translation.rb +54 -0
- data/lib/kete_translatable_content/extensions/helpers/application_helper.rb +156 -0
- data/lib/kete_translatable_content/extensions/helpers/extended_fields_helper.rb +17 -0
- data/lib/kete_translatable_content/extensions/helpers/search_helper.rb +5 -0
- data/lib/kete_translatable_content/extensions/helpers/translations_helper.rb +72 -0
- data/lib/kete_translatable_content/extensions/models/audio_recording.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/basket.rb +34 -0
- data/lib/kete_translatable_content/extensions/models/comment.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/document.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/still_image.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/system_setting.rb +13 -0
- data/lib/kete_translatable_content/extensions/models/tag.rb +37 -0
- data/lib/kete_translatable_content/extensions/models/topic.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/user.rb +36 -0
- data/lib/kete_translatable_content/extensions/models/video.rb +12 -0
- data/lib/kete_translatable_content/extensions/models/web_link.rb +12 -0
- data/lib/kete_translatable_content/extensions/oai_dc_helpers_overrides.rb +99 -0
- data/lib/kete_translatable_content/extensions/tagging_controller_overrides.rb +21 -0
- data/lib/kete_translatable_content/extensions/tagging_overrides.rb +27 -0
- data/lib/kete_translatable_content/extensions/tinymce_controller_valid_action_override.rb +16 -0
- data/lib/kete_translatable_content/extensions/translation_from_version.rb +105 -0
- data/lib/kete_translatable_content/kete.rb +25 -0
- data/lib/kete_translatable_content/overwrites/oai_dc_helpers_test.rb +6 -0
- data/rails/init.rb +110 -0
- metadata +156 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Redefines public_tags and private_tags to translate the returned tag objects
|
|
2
|
+
# Make sure these are only done when the class they are being included into already responds
|
|
3
|
+
# to public_tags, otherwise it'll end up trying to alias a method that doesn't exist
|
|
4
|
+
|
|
5
|
+
module TaggingOverrides
|
|
6
|
+
unless included_modules.include? TaggingOverrides
|
|
7
|
+
def self.included(klass)
|
|
8
|
+
klass.class_eval do
|
|
9
|
+
|
|
10
|
+
if self.new.respond_to?(:public_tags)
|
|
11
|
+
alias_method(:public_tags_orig, :public_tags) unless self.new.respond_to?(:public_tags_orig)
|
|
12
|
+
def public_tags
|
|
13
|
+
Tag.swap_in_translation_for_multiple(public_tags_orig)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
if self.new.respond_to?(:private_tags)
|
|
18
|
+
alias_method(:private_tags_orig, :private_tags) unless self.new.respond_to?(:private_tags_orig)
|
|
19
|
+
def private_tags
|
|
20
|
+
Tag.swap_in_translation_for_multiple(private_tags_orig)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# this is necessary for translate ajax lighbox to be able to use tinymce
|
|
2
|
+
# for description attribute
|
|
3
|
+
# for ITEM_CLASSES
|
|
4
|
+
module TinymceControllerValidActionOverride
|
|
5
|
+
unless included_modules.include? TinymceControllerValidActionOverride
|
|
6
|
+
def self.included(klass)
|
|
7
|
+
def add_show_as_uses_tiny_mce
|
|
8
|
+
instance_variable_set(:@uses_tiny_mce, true)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
private :add_show_as_uses_tiny_mce
|
|
12
|
+
|
|
13
|
+
klass.send :before_filter, :add_show_as_uses_tiny_mce, :only => [:show]
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# For classes where their ::Version subclass
|
|
2
|
+
# is what has mongo_translatable declaration is on
|
|
3
|
+
module TranslationFromVersion
|
|
4
|
+
unless included_modules.include? TranslationFromVersion
|
|
5
|
+
def locales_of_versions
|
|
6
|
+
@locales_of_versions ||= versions.find(:all,
|
|
7
|
+
:select => 'distinct locale').collect(&:locale)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# because of versioning, we may have an old version that is the same locale
|
|
11
|
+
# as original, modified to handle this case
|
|
12
|
+
def available_in_these_locales
|
|
13
|
+
locales = translations_locales.collect(&:locale) +
|
|
14
|
+
locales_of_versions
|
|
15
|
+
|
|
16
|
+
# we only need one mention of the locale
|
|
17
|
+
locales.uniq!
|
|
18
|
+
|
|
19
|
+
# get rid of any extra original_locale mentions
|
|
20
|
+
locales.delete(original_locale)
|
|
21
|
+
|
|
22
|
+
[original_locale] + locales
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# sometimes all you need is only the locales of translations
|
|
26
|
+
# because of versioning we need to split out duplicates
|
|
27
|
+
def translations_locales
|
|
28
|
+
translations = self.class::Translation.all(self.class.as_foreign_key_sym => id,
|
|
29
|
+
:select => 'locale')
|
|
30
|
+
uniq_translations = []
|
|
31
|
+
translations.each do |trans|
|
|
32
|
+
uniq_translations << trans unless uniq_translations.collect(&:locale).include?(trans.locale)
|
|
33
|
+
end
|
|
34
|
+
uniq_translations
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Get the current translation or the latest
|
|
38
|
+
def translation_for(locale)
|
|
39
|
+
translation = self.class::Translation.first(self.class.as_foreign_key_sym => id,
|
|
40
|
+
:locale => locale,
|
|
41
|
+
:version => self.version.to_s)
|
|
42
|
+
|
|
43
|
+
# none available for the specified version, get latest
|
|
44
|
+
translation ||= self.class::Translation.first(self.class.as_foreign_key_sym => id,
|
|
45
|
+
:locale => locale)
|
|
46
|
+
|
|
47
|
+
# none available for locale at all
|
|
48
|
+
# see if there is an earlier version of the item
|
|
49
|
+
# in the locale specified
|
|
50
|
+
# find version with original_locale that matches
|
|
51
|
+
# revert_to version and return that
|
|
52
|
+
unless translation
|
|
53
|
+
version = versions.find_by_locale(locale)
|
|
54
|
+
if version.present?
|
|
55
|
+
# if attribute is an extended field
|
|
56
|
+
# doing a direct call on the version won't work
|
|
57
|
+
# so instantiating a tempory dummy item
|
|
58
|
+
dummy_attributes = version.attributes
|
|
59
|
+
dummy_attributes.delete(self.class.as_foreign_key_sym.to_s)
|
|
60
|
+
dummy_attributes.delete('id')
|
|
61
|
+
dummy = self.class.new(dummy_attributes)
|
|
62
|
+
|
|
63
|
+
translatable_attributes_from_version = Hash.new
|
|
64
|
+
translatable_attributes.each do |attr|
|
|
65
|
+
translatable_attributes_from_version[attr] = dummy.send(attr)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
dummy = nil
|
|
69
|
+
|
|
70
|
+
translatable_attributes_from_version[:locale] = locale
|
|
71
|
+
|
|
72
|
+
translation = self.class::Translation.new(translatable_attributes_from_version)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
translation
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def translate(options = {})
|
|
80
|
+
translation_locale = options[:locale] || I18n.locale
|
|
81
|
+
|
|
82
|
+
@translation = self.class::Translation.new({
|
|
83
|
+
:locale => translation_locale,
|
|
84
|
+
:translatable_locale => self.locale, # save original locale
|
|
85
|
+
self.class.as_foreign_key_sym => id,
|
|
86
|
+
:version => self.version
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
if translation_locale.to_s == original_locale.to_s
|
|
90
|
+
# prevent a translation to be added for original_locale
|
|
91
|
+
@translation.errors.replace(:locale,
|
|
92
|
+
"Cannot add translation the same as the original locale.")
|
|
93
|
+
else
|
|
94
|
+
# work through self and replace attributes
|
|
95
|
+
# with the passed in translations for defined translatable_attributes
|
|
96
|
+
translatable_attributes.each do |translated_attribute|
|
|
97
|
+
translated_value = options[translated_attribute]
|
|
98
|
+
@translation.send("#{translated_attribute.to_sym}=", translated_value) if translated_value.present?
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
@translation
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# overriding the system setting methods so we can pull translated versions out
|
|
2
|
+
# for translatable ones
|
|
3
|
+
class Kete
|
|
4
|
+
class << self
|
|
5
|
+
def localized_value_from(setting_id)
|
|
6
|
+
return nil unless I18n.default_locale != I18n.locale
|
|
7
|
+
|
|
8
|
+
SystemSetting.find(setting_id).constant_value
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def reader_proc_for(setting)
|
|
12
|
+
method_name = setting.constant_name.downcase
|
|
13
|
+
|
|
14
|
+
Proc.new {
|
|
15
|
+
if setting.respond_to?(:takes_translations?) && setting.takes_translations?
|
|
16
|
+
localized_value = localized_value_from(setting.id)
|
|
17
|
+
return localized_value if localized_value
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
method_name = method_name.sub('?', '') if method_name.include?('?')
|
|
21
|
+
class_variable_get('@@' + method_name)
|
|
22
|
+
}
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# overwrites for test/unit/oai_dc_helpers_test.rb
|
|
2
|
+
HasValue.oai_dc_helpers_title_xml = "\"\#\{if zoom_class == 'Comment' then '<dc:title>Item</dc:title>' else '<dc:title xml:lang=\"' + I18n.default_locale.to_s + '\"' + '>Item</dc:title>' end\}\""
|
|
3
|
+
HasValue.oai_dc_helpers_description_xml_when_only_xml = "\"\#\{if zoom_class == 'Comment' then '<dc:description><![CDATA[Description]]></dc:description>' else '<dc:description xml:lang=\"' + I18n.default_locale.to_s + '\"' + '><![CDATA[Description]]></dc:description>' end\}\""
|
|
4
|
+
HasValue.oai_dc_helpers_short_summary_xml_when_only_xml = "\"<dc:description xml:lang=\"\#\{I18n.default_locale\}\"><![CDATA[Short Summary]]></dc:description>\""
|
|
5
|
+
HasValue.oai_dc_helpers_tags_xml = "\"<dc:subject xml:lang=\"\#\{I18n.default_locale\}\"><![CDATA[tag]]></dc:subject>\""
|
|
6
|
+
|
data/rails/init.rb
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
require 'mongo_translatable'
|
|
2
|
+
require 'kete_translatable_content'
|
|
3
|
+
require 'kete_translatable_content/extensions/extended_content_translation'
|
|
4
|
+
require 'kete_translatable_content/extensions/translation_from_version'
|
|
5
|
+
require "#{Rails.root}/test/has_value.rb"
|
|
6
|
+
|
|
7
|
+
config.to_prepare do
|
|
8
|
+
|
|
9
|
+
# In development/production, we want to only setup stuff if IS_CONFIGURED is true
|
|
10
|
+
# In test mode however, we always want to have it, since IS_CONFIGURED won't be true
|
|
11
|
+
# at this stage, but it will be changed to true after Rails initializes.
|
|
12
|
+
if (IS_CONFIGURED || Rails.env.test?) && kete_translatable_content_ready?
|
|
13
|
+
|
|
14
|
+
Kete.translatables.each do |name, options|
|
|
15
|
+
args = [:mongo_translate, *options['translatable_attributes']]
|
|
16
|
+
args << { :redefine_find => options['redefine_find'],
|
|
17
|
+
:through_version => options["through_version"]}
|
|
18
|
+
|
|
19
|
+
class_name = name.camelize
|
|
20
|
+
klass = class_name.constantize
|
|
21
|
+
klass.send(*args)
|
|
22
|
+
|
|
23
|
+
trans_class_name = class_name + "::Translation"
|
|
24
|
+
trans_klass = trans_class_name.constantize
|
|
25
|
+
|
|
26
|
+
if options["through_version"]
|
|
27
|
+
klass.send :include, TranslationFromVersion
|
|
28
|
+
trans_klass.send :update_keys_if_necessary_with, [:version]
|
|
29
|
+
|
|
30
|
+
trans_klass.ensure_index([[trans_klass.translatable_class.as_foreign_key_sym,
|
|
31
|
+
Mongo::ASCENDING],
|
|
32
|
+
[:version, Mongo::ASCENDING],
|
|
33
|
+
[:locale, Mongo::ASCENDING]],
|
|
34
|
+
:background => true,
|
|
35
|
+
:unique => true)
|
|
36
|
+
else
|
|
37
|
+
|
|
38
|
+
trans_klass.ensure_index([[trans_klass.translatable_class.as_foreign_key_sym,
|
|
39
|
+
Mongo::ASCENDING],
|
|
40
|
+
[:locale, Mongo::ASCENDING]],
|
|
41
|
+
:background => true,
|
|
42
|
+
:unique => true)
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# precedence over a plugin or gem's (i.e. an engine's) app/views
|
|
48
|
+
# this is the way to go in most cases,
|
|
49
|
+
# but in our case we want to override the app's view.
|
|
50
|
+
# so we pop off our gem's app/views directory and put it at the front
|
|
51
|
+
kete_translatable_content_views_dir = File.join(directory, 'app/views')
|
|
52
|
+
# drop it from it's existing location if it exists
|
|
53
|
+
ActionController::Base.view_paths.delete kete_translatable_content_views_dir
|
|
54
|
+
# add it to the front of array
|
|
55
|
+
ActionController::Base.view_paths.unshift kete_translatable_content_views_dir
|
|
56
|
+
|
|
57
|
+
# load our locales
|
|
58
|
+
I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '../config/locales/*.{rb,yml}') ]
|
|
59
|
+
|
|
60
|
+
# override some controllers and helpers to be kete translatable aware
|
|
61
|
+
exts = File.join(File.dirname(__FILE__), '../lib/kete_translatable_content/extensions/{controllers,helpers}/*')
|
|
62
|
+
# use Kernel.load here so that changes to the extensions are reloaded on each request in development
|
|
63
|
+
Dir[exts].each { |ext_path| Kernel.load(ext_path) }
|
|
64
|
+
|
|
65
|
+
# models we extend
|
|
66
|
+
Kete.extensions[:blocks] ||= Hash.new
|
|
67
|
+
Dir[ File.join(File.dirname(__FILE__), '../lib/kete_translatable_content/extensions/models/*') ].each do |ext_path|
|
|
68
|
+
key = File.basename(ext_path, '.rb').to_sym
|
|
69
|
+
Kete.extensions[:blocks][key] ||= Array.new
|
|
70
|
+
Kete.extensions[:blocks][key] << Proc.new { Kernel.load(ext_path) }
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
if Rails.env.test?
|
|
74
|
+
# tests we update with values that reflect this add-on's features
|
|
75
|
+
HasValue.overwrites[:blocks] ||= Hash.new
|
|
76
|
+
Dir[ File.join(File.dirname(__FILE__), '../lib/kete_translatable_content/overwrites/*') ].each do |ext_path|
|
|
77
|
+
key = File.basename(ext_path, '.rb').to_sym
|
|
78
|
+
HasValue.overwrites[:blocks][key] ||= Array.new
|
|
79
|
+
HasValue.overwrites[:blocks][key] << Proc.new { Kernel.load(ext_path) }
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# extend the Generic Muted Worker to have the expire_locale method
|
|
84
|
+
MethodsForGenericMutedWorker.module_eval do
|
|
85
|
+
def clear_locale_cache(options = {})
|
|
86
|
+
locale_to_clear = options[:locale_to_clear]
|
|
87
|
+
raise unless locale_to_clear
|
|
88
|
+
|
|
89
|
+
# WARNING: this relies on the fact that Kete's current caching scheme is file system based
|
|
90
|
+
# if an option for Memcache or other caching mechanism is used in the future
|
|
91
|
+
# this will need to be updated with logic to figure out correct clearing mechanism
|
|
92
|
+
file_path = "#{Rails.root}/tmp/cache/views/#{Kete.site_name}/#{locale_to_clear}"
|
|
93
|
+
FileUtils.rm_r(file_path, :force => true) if File.exist?(file_path) && File.directory?(file_path)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def rebuild_zoom_record_for(options = {})
|
|
97
|
+
item = options[:item]
|
|
98
|
+
raise unless item
|
|
99
|
+
|
|
100
|
+
item.prepare_and_save_to_zoom
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
if (IS_CONFIGURED || Rails.env.test?) && kete_translatable_content_ready?
|
|
105
|
+
Kete.translatables.each do |name, options|
|
|
106
|
+
class_name = name.camelize
|
|
107
|
+
class_name.constantize.send :include, ExtendedContentTranslation
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: kete_translatable_content
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 27
|
|
5
|
+
prerelease: false
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 1
|
|
9
|
+
- 0
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
platform: ruby
|
|
12
|
+
authors:
|
|
13
|
+
- Walter McGinnis
|
|
14
|
+
- Kieran Pilkington
|
|
15
|
+
- Breccan McLeod-Lundy
|
|
16
|
+
autorequire:
|
|
17
|
+
bindir: bin
|
|
18
|
+
cert_chain: []
|
|
19
|
+
|
|
20
|
+
date: 2011-03-11 00:00:00 +13:00
|
|
21
|
+
default_executable:
|
|
22
|
+
dependencies:
|
|
23
|
+
- !ruby/object:Gem::Dependency
|
|
24
|
+
name: mongo_translatable
|
|
25
|
+
prerelease: false
|
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
27
|
+
none: false
|
|
28
|
+
requirements:
|
|
29
|
+
- - ">="
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
hash: 3
|
|
32
|
+
segments:
|
|
33
|
+
- 0
|
|
34
|
+
version: "0"
|
|
35
|
+
type: :development
|
|
36
|
+
version_requirements: *id001
|
|
37
|
+
description: Kete Translatable Content is a gem that is an add-on for Kete web applications that takes advantage of the mongo_translatable gem functionality. As you would expect, you use it to add the ability to translate content in your Kete web site.
|
|
38
|
+
email: walter@katipo.co.nz
|
|
39
|
+
executables: []
|
|
40
|
+
|
|
41
|
+
extensions: []
|
|
42
|
+
|
|
43
|
+
extra_rdoc_files:
|
|
44
|
+
- LICENSE
|
|
45
|
+
- README.rdoc
|
|
46
|
+
- README.rdoc.orig
|
|
47
|
+
files:
|
|
48
|
+
- .document
|
|
49
|
+
- .gitignore
|
|
50
|
+
- LICENSE
|
|
51
|
+
- README.rdoc
|
|
52
|
+
- Rakefile
|
|
53
|
+
- VERSION
|
|
54
|
+
- app/views/active_scaffold_overrides/_show.html.erb
|
|
55
|
+
- app/views/active_scaffold_overrides/_update_form.html.erb
|
|
56
|
+
- app/views/active_scaffold_overrides/list.html.erb
|
|
57
|
+
- app/views/baskets/_additional_footer_content_fields.html.erb
|
|
58
|
+
- app/views/baskets/_rss_feed.html.erb
|
|
59
|
+
- app/views/baskets/_side_bar_html.html.erb
|
|
60
|
+
- app/views/configure/section.rhtml
|
|
61
|
+
- app/views/layouts/translations.html.erb
|
|
62
|
+
- app/views/topics/_content_wrapper_start.rhtml
|
|
63
|
+
- app/views/translations/_form.html.erb
|
|
64
|
+
- app/views/translations/_translatable_value.html.erb
|
|
65
|
+
- app/views/translations/_translation_field_input.html.erb
|
|
66
|
+
- app/views/translations/show.html.erb
|
|
67
|
+
- app/views/translations/versioned_edit.html.erb
|
|
68
|
+
- config/locales/en.yml
|
|
69
|
+
- config/routes.rb
|
|
70
|
+
- config/translatables.yml
|
|
71
|
+
- generators/kete_translatable_content_migration/USAGE
|
|
72
|
+
- generators/kete_translatable_content_migration/kete_translatable_content_migration_generator.rb
|
|
73
|
+
- generators/kete_translatable_content_migration/templates/migration.rb
|
|
74
|
+
- generators/kete_translatable_content_tests/USAGE
|
|
75
|
+
- generators/kete_translatable_content_tests/kete_translatable_content_tests_generator.rb
|
|
76
|
+
- generators/kete_translatable_content_tests/templates/configure_kete_content_translation_controller_and_routes_test.rb
|
|
77
|
+
- generators/kete_translatable_content_tests/templates/configure_kete_content_translation_test.rb
|
|
78
|
+
- generators/kete_translatable_content_tests/templates/kete_translatable_content_helper_test.rb
|
|
79
|
+
- generators/kete_translatable_content_tests/templates/kete_translatable_content_migration_test.rb
|
|
80
|
+
- generators/kete_translatable_content_tests/templates/kete_translatable_content_oai_dc_helpers_test.rb
|
|
81
|
+
- generators/kete_translatable_content_tests/templates/kete_translatable_content_translations_test.rb
|
|
82
|
+
- generators/kete_translatable_content_tests/templates/kete_translations_test.rb
|
|
83
|
+
- generators/kete_translatable_content_tests/templates/mongo_factories.rb
|
|
84
|
+
- generators/kete_translatable_content_tests/templates/mongo_test_helper.rb
|
|
85
|
+
- generators/kete_translatable_content_tests/templates/mongo_translatable_test.rb
|
|
86
|
+
- lib/kete_translatable_content.rb
|
|
87
|
+
- lib/kete_translatable_content/extensions/controllers/application_controller.rb
|
|
88
|
+
- lib/kete_translatable_content/extensions/controllers/audio_controller.rb
|
|
89
|
+
- lib/kete_translatable_content/extensions/controllers/baskets_controller.rb
|
|
90
|
+
- lib/kete_translatable_content/extensions/controllers/documents_controller.rb
|
|
91
|
+
- lib/kete_translatable_content/extensions/controllers/images_controller.rb
|
|
92
|
+
- lib/kete_translatable_content/extensions/controllers/topics_controller.rb
|
|
93
|
+
- lib/kete_translatable_content/extensions/controllers/translations_controller.rb
|
|
94
|
+
- lib/kete_translatable_content/extensions/controllers/video_controller.rb
|
|
95
|
+
- lib/kete_translatable_content/extensions/controllers/web_links_controller.rb
|
|
96
|
+
- lib/kete_translatable_content/extensions/extended_content_translation.rb
|
|
97
|
+
- lib/kete_translatable_content/extensions/helpers/application_helper.rb
|
|
98
|
+
- lib/kete_translatable_content/extensions/helpers/extended_fields_helper.rb
|
|
99
|
+
- lib/kete_translatable_content/extensions/helpers/search_helper.rb
|
|
100
|
+
- lib/kete_translatable_content/extensions/helpers/translations_helper.rb
|
|
101
|
+
- lib/kete_translatable_content/extensions/models/audio_recording.rb
|
|
102
|
+
- lib/kete_translatable_content/extensions/models/basket.rb
|
|
103
|
+
- lib/kete_translatable_content/extensions/models/comment.rb
|
|
104
|
+
- lib/kete_translatable_content/extensions/models/document.rb
|
|
105
|
+
- lib/kete_translatable_content/extensions/models/still_image.rb
|
|
106
|
+
- lib/kete_translatable_content/extensions/models/system_setting.rb
|
|
107
|
+
- lib/kete_translatable_content/extensions/models/tag.rb
|
|
108
|
+
- lib/kete_translatable_content/extensions/models/topic.rb
|
|
109
|
+
- lib/kete_translatable_content/extensions/models/user.rb
|
|
110
|
+
- lib/kete_translatable_content/extensions/models/video.rb
|
|
111
|
+
- lib/kete_translatable_content/extensions/models/web_link.rb
|
|
112
|
+
- lib/kete_translatable_content/extensions/oai_dc_helpers_overrides.rb
|
|
113
|
+
- lib/kete_translatable_content/extensions/tagging_controller_overrides.rb
|
|
114
|
+
- lib/kete_translatable_content/extensions/tagging_overrides.rb
|
|
115
|
+
- lib/kete_translatable_content/extensions/tinymce_controller_valid_action_override.rb
|
|
116
|
+
- lib/kete_translatable_content/extensions/translation_from_version.rb
|
|
117
|
+
- lib/kete_translatable_content/kete.rb
|
|
118
|
+
- lib/kete_translatable_content/overwrites/oai_dc_helpers_test.rb
|
|
119
|
+
- rails/init.rb
|
|
120
|
+
- README.rdoc.orig
|
|
121
|
+
has_rdoc: true
|
|
122
|
+
homepage: http://github.com/kete/kete_translatable_content
|
|
123
|
+
licenses: []
|
|
124
|
+
|
|
125
|
+
post_install_message:
|
|
126
|
+
rdoc_options:
|
|
127
|
+
- --charset=UTF-8
|
|
128
|
+
require_paths:
|
|
129
|
+
- lib
|
|
130
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
|
+
none: false
|
|
132
|
+
requirements:
|
|
133
|
+
- - ">="
|
|
134
|
+
- !ruby/object:Gem::Version
|
|
135
|
+
hash: 3
|
|
136
|
+
segments:
|
|
137
|
+
- 0
|
|
138
|
+
version: "0"
|
|
139
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
|
+
none: false
|
|
141
|
+
requirements:
|
|
142
|
+
- - ">="
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
hash: 3
|
|
145
|
+
segments:
|
|
146
|
+
- 0
|
|
147
|
+
version: "0"
|
|
148
|
+
requirements: []
|
|
149
|
+
|
|
150
|
+
rubyforge_project:
|
|
151
|
+
rubygems_version: 1.3.7
|
|
152
|
+
signing_key:
|
|
153
|
+
specification_version: 3
|
|
154
|
+
summary: An add-on to the Kete application to provide content translations.
|
|
155
|
+
test_files: []
|
|
156
|
+
|