tr8n 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -3
- data/.rspec +2 -0
- data/Gemfile +3 -6
- data/Gemfile.lock +21 -6
- data/README.rdoc +61 -33
- data/Rakefile +1 -11
- data/app/assets/images/tr8n/photo_system.gif +0 -0
- data/app/assets/stylesheets/tr8n/application.css +42 -1
- data/{test/dummy/app/assets/stylesheets/components.css.scss → app/assets/stylesheets/tr8n/component.css.scss} +0 -0
- data/{test/dummy/app/assets/stylesheets → app/assets/stylesheets/tr8n}/layout.css.scss +0 -0
- data/app/assets/stylesheets/tr8n/tr8n.css.scss +16 -8
- data/app/controllers/tr8n/admin/base_controller.rb +1 -1
- data/app/controllers/tr8n/admin/clientsdk_controller.rb +1 -1
- data/app/controllers/tr8n/admin/domain_controller.rb +1 -1
- data/app/controllers/tr8n/admin/forum_controller.rb +1 -1
- data/app/controllers/tr8n/admin/glossary_controller.rb +1 -1
- data/app/controllers/tr8n/admin/language_controller.rb +1 -1
- data/app/controllers/tr8n/admin/translation_controller.rb +1 -1
- data/app/controllers/tr8n/admin/translation_key_controller.rb +5 -1
- data/app/controllers/tr8n/admin/translator_controller.rb +1 -1
- data/app/{helpers/tr8n/application_helper.rb → controllers/tr8n/api/v1/sync_controller.rb} +6 -3
- data/app/controllers/tr8n/awards_controller.rb +12 -12
- data/app/controllers/tr8n/base_controller.rb +140 -137
- data/app/controllers/tr8n/dashboard_controller.rb +2 -1
- data/app/controllers/tr8n/forum_controller.rb +1 -1
- data/app/controllers/tr8n/glossary_controller.rb +1 -1
- data/app/controllers/tr8n/help_controller.rb +1 -1
- data/app/controllers/tr8n/language_cases_controller.rb +43 -45
- data/app/controllers/tr8n/language_controller.rb +1 -1
- data/app/controllers/tr8n/phrases_controller.rb +1 -1
- data/app/controllers/tr8n/translations_controller.rb +1 -1
- data/app/controllers/tr8n/translator_controller.rb +1 -1
- data/app/helpers/tr8n/base_helper.rb +0 -4
- data/app/models/tr8n/base_filter.rb +1 -1
- data/app/models/tr8n/daily_language_metric.rb +1 -1
- data/app/models/tr8n/date_rule.rb +1 -1
- data/app/models/tr8n/gender_list_rule.rb +1 -1
- data/app/models/tr8n/gender_rule.rb +1 -1
- data/app/models/tr8n/glossary.rb +1 -1
- data/app/models/tr8n/glossary_filter.rb +1 -1
- data/app/models/tr8n/integration/ru/russian_gender_list_rule.rb +1 -1
- data/app/models/tr8n/integration/ru/russian_numeric_rule.rb +1 -1
- data/app/models/tr8n/ip_location.rb +1 -1
- data/app/models/tr8n/ip_location_filter.rb +1 -1
- data/app/models/tr8n/language.rb +17 -8
- data/app/models/tr8n/language_case.rb +1 -1
- data/app/models/tr8n/language_case_filter.rb +1 -1
- data/app/models/tr8n/language_case_rule.rb +1 -1
- data/app/models/tr8n/language_case_rule_filter.rb +1 -1
- data/app/models/tr8n/language_case_value_map.rb +1 -1
- data/app/models/tr8n/language_case_value_map_filter.rb +1 -1
- data/app/models/tr8n/language_filter.rb +1 -1
- data/app/models/tr8n/language_forum_abuse_report.rb +1 -1
- data/app/models/tr8n/language_forum_abuse_report_filter.rb +1 -1
- data/app/models/tr8n/language_forum_message.rb +2 -2
- data/app/models/tr8n/language_forum_message_filter.rb +1 -1
- data/app/models/tr8n/language_forum_topic.rb +3 -3
- data/app/models/tr8n/language_forum_topic_filter.rb +1 -1
- data/app/models/tr8n/language_metric.rb +2 -2
- data/app/models/tr8n/language_metric_filter.rb +1 -1
- data/app/models/tr8n/language_rule.rb +37 -2
- data/app/models/tr8n/language_rule_filter.rb +1 -1
- data/app/models/tr8n/language_user.rb +3 -3
- data/app/models/tr8n/language_user_filter.rb +1 -1
- data/app/models/tr8n/list_rule.rb +1 -1
- data/app/models/tr8n/monthly_language_metric.rb +2 -2
- data/app/models/tr8n/numeric_rule.rb +1 -1
- data/app/models/tr8n/sync_log.rb +76 -0
- data/app/{controllers/tr8n/application_controller.rb → models/tr8n/sync_log_filter.rb} +4 -3
- data/app/models/tr8n/total_language_metric.rb +5 -4
- data/app/models/tr8n/translation.rb +61 -13
- data/app/models/tr8n/translation_domain.rb +1 -1
- data/app/models/tr8n/translation_domain_filter.rb +1 -1
- data/app/models/tr8n/translation_filter.rb +1 -1
- data/app/models/tr8n/translation_key.rb +33 -5
- data/app/models/tr8n/translation_key_comment.rb +1 -1
- data/app/models/tr8n/translation_key_comment_filter.rb +1 -1
- data/app/models/tr8n/translation_key_filter.rb +1 -1
- data/app/models/tr8n/translation_key_lock.rb +2 -2
- data/app/models/tr8n/translation_key_lock_filter.rb +1 -1
- data/app/models/tr8n/translation_key_source.rb +2 -2
- data/app/models/tr8n/translation_key_source_filter.rb +1 -1
- data/app/models/tr8n/translation_source.rb +2 -2
- data/app/models/tr8n/translation_source_filter.rb +1 -1
- data/app/models/tr8n/translation_vote.rb +3 -4
- data/app/models/tr8n/translation_vote_filter.rb +1 -1
- data/app/models/tr8n/translator.rb +19 -5
- data/app/models/tr8n/translator_filter.rb +1 -1
- data/app/models/tr8n/translator_following.rb +2 -2
- data/app/models/tr8n/translator_following_filter.rb +1 -1
- data/app/models/tr8n/translator_log.rb +1 -1
- data/app/models/tr8n/translator_log_filter.rb +1 -1
- data/app/models/tr8n/translator_metric.rb +15 -21
- data/app/models/tr8n/translator_metric_filter.rb +1 -1
- data/app/models/tr8n/translator_report.rb +2 -2
- data/app/models/tr8n/translator_report_filter.rb +1 -1
- data/app/models/tr8n/value_rule.rb +1 -1
- data/app/views/tr8n/admin/common/_paginator.html.erb +29 -17
- data/app/views/tr8n/admin/translation_key/_tabs.html.erb +3 -1
- data/app/views/tr8n/admin/translation_key/sync_logs.html.erb +5 -0
- data/app/views/tr8n/awards/index.html.erb +0 -2
- data/app/views/tr8n/common/_paginator.html.erb +24 -6
- data/app/views/tr8n/common/_tabs.html.erb +9 -5
- data/app/views/tr8n/forum/_messages.html.erb +1 -1
- data/app/views/tr8n/forum/index.html.erb +1 -1
- data/app/views/tr8n/glossary/index.html.erb +2 -2
- data/app/views/tr8n/{home → help}/credits.html.erb +0 -0
- data/app/views/tr8n/{home → help}/license.html.erb +0 -0
- data/app/views/tr8n/language_cases/index.html.erb +2 -2
- data/app/views/tr8n/phrases/_comments_module.html.erb +1 -1
- data/app/views/tr8n/phrases/index.html.erb +2 -6
- data/app/views/tr8n/translations/_list.html.erb +2 -6
- data/config/routes.rb +2 -2
- data/config/tr8n/config.yml +48 -13
- data/config/tr8n/rules/default_language_cases.yml +272 -0
- data/config/tr8n/tokens/data.yml +3 -1
- data/db/migrate/20111003194443_create_tr8n_sync_tables.rb +22 -0
- data/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb +5 -0
- data/doc/classes.graffle +7049 -5152
- data/doc/classes.pdf +0 -0
- data/lib/generators/tr8n/templates/{create_tr8n_tables.rb → db/create_tr8n_tables.rb} +0 -0
- data/lib/generators/tr8n/templates/layouts/tr8n.html.erb +49 -0
- data/lib/generators/tr8n/templates/layouts/tr8n_admin.html.erb +61 -0
- data/lib/generators/tr8n/tr8n_generator.rb +11 -4
- data/lib/tasks/{tr8n_tasks.rake → tr8n.rake} +4 -0
- data/{app/controllers/tr8n/home_controller.rb → lib/tr8n/cache_adapters/memcached.rb} +12 -15
- data/lib/tr8n/config.rb +96 -53
- data/lib/tr8n/extensions/action_controller_extension.rb +1 -1
- data/lib/tr8n/extensions/action_view_extension.rb +4 -28
- data/lib/tr8n/tokens/data_token.rb +1 -1
- data/lib/tr8n/tokens/method_token.rb +1 -1
- data/lib/tr8n/tokens/transform_token.rb +1 -1
- data/lib/tr8n/version.rb +1 -1
- data/{test/dummy → local/tr8n_server}/Rakefile +1 -1
- data/{test/dummy → local/tr8n_server}/app/assets/javascripts/application.js +0 -0
- data/{test/dummy → local/tr8n_server}/app/assets/stylesheets/admin.css +0 -0
- data/{test/dummy → local/tr8n_server}/app/assets/stylesheets/application.css +0 -0
- data/local/tr8n_server/app/assets/stylesheets/components.css.scss +211 -0
- data/local/tr8n_server/app/assets/stylesheets/layout.css.scss +143 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/admin/admins_controller.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/admin/base_controller.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/admin/users_controller.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/application_controller.rb +5 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/demo_controller.rb +0 -0
- data/local/tr8n_server/app/controllers/home_controller.rb +4 -0
- data/{test/dummy → local/tr8n_server}/app/controllers/login_controller.rb +1 -1
- data/{test/dummy → local/tr8n_server}/app/helpers/application_helper.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/helpers/home_helper.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/mailers/.gitkeep +0 -0
- data/{test/dummy → local/tr8n_server}/app/models/.gitkeep +0 -0
- data/{test/dummy → local/tr8n_server}/app/models/admin.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/models/admin_filter.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/models/user.rb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/admin/admins/index.html.erb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/admin/users/index.html.erb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/demo/index.rhtml +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/demo/tokens.rhtml +0 -0
- data/{app/views/tr8n → local/tr8n_server/app/views}/home/index.html.erb +1 -2
- data/local/tr8n_server/app/views/kaminari/_first_page.html.erb +11 -0
- data/local/tr8n_server/app/views/kaminari/_gap.html.erb +8 -0
- data/local/tr8n_server/app/views/kaminari/_last_page.html.erb +11 -0
- data/local/tr8n_server/app/views/kaminari/_next_page.html.erb +11 -0
- data/local/tr8n_server/app/views/kaminari/_page.html.erb +12 -0
- data/local/tr8n_server/app/views/kaminari/_paginator.html.erb +23 -0
- data/local/tr8n_server/app/views/kaminari/_prev_page.html.erb +11 -0
- data/{test/dummy → local/tr8n_server}/app/views/layouts/_flashes.html.erb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/layouts/_footer.html.erb +3 -3
- data/{test/dummy → local/tr8n_server}/app/views/layouts/_header.html.erb +1 -1
- data/{test/dummy → local/tr8n_server}/app/views/layouts/admin.html.erb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/layouts/application.html.erb +0 -0
- data/local/tr8n_server/app/views/layouts/tr8n.html.erb +51 -0
- data/local/tr8n_server/app/views/layouts/tr8n_admin.html.erb +61 -0
- data/{test/dummy → local/tr8n_server}/app/views/login/index.html.erb +0 -0
- data/{test/dummy → local/tr8n_server}/app/views/login/register.html.erb +8 -13
- data/{test/dummy → local/tr8n_server}/config.ru +1 -1
- data/{test/dummy → local/tr8n_server}/config/application.rb +2 -1
- data/{test/dummy → local/tr8n_server}/config/boot.rb +0 -0
- data/{test/dummy → local/tr8n_server}/config/database.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/environment.rb +1 -1
- data/{test/dummy → local/tr8n_server}/config/environments/development.rb +3 -1
- data/{test/dummy → local/tr8n_server}/config/environments/production.rb +1 -1
- data/{test/dummy → local/tr8n_server}/config/environments/test.rb +1 -1
- data/{test/dummy → local/tr8n_server}/config/initializers/backtrace_silencers.rb +0 -0
- data/{test/dummy → local/tr8n_server}/config/initializers/inflections.rb +0 -0
- data/{test/dummy → local/tr8n_server}/config/initializers/mime_types.rb +0 -0
- data/{test/dummy → local/tr8n_server}/config/initializers/secret_token.rb +1 -1
- data/{test/dummy → local/tr8n_server}/config/initializers/session_store.rb +2 -2
- data/{test/dummy → local/tr8n_server}/config/initializers/wrap_parameters.rb +0 -0
- data/{test/dummy → local/tr8n_server}/config/locales/en.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/routes.rb +2 -2
- data/{test/dummy → local/tr8n_server}/config/tr8n/config.yml +40 -11
- data/{test/dummy → local/tr8n_server}/config/tr8n/data/ip_locations.csv +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_date_rules.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_gender_list_rules.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_gender_rules.yml +0 -0
- data/local/tr8n_server/config/tr8n/rules/default_language_cases.yml +272 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_list_rules.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_numeric_rules.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_value_rules.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/site/default_glossary.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/site/default_languages.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/site/features.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/site/shortcuts.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/site/sitemap.json +0 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/tokens/data.yml +2 -0
- data/{test/dummy → local/tr8n_server}/config/tr8n/tokens/decorations.yml +0 -0
- data/{test/dummy → local/tr8n_server}/config/will_filter/config.yml +0 -0
- data/{test/dummy → local/tr8n_server}/db/migrate/20101207014543_create_users.rb +0 -0
- data/{test/dummy → local/tr8n_server}/db/migrate/20110113223509_create_admins.rb +0 -0
- data/{test/dummy → local/tr8n_server}/db/migrate/20110930041143_create_will_filter_filters.rb +0 -0
- data/{test/dummy → local/tr8n_server}/db/migrate/20110930041150_create_tr8n_tables.rb +0 -0
- data/local/tr8n_server/db/migrate/20111003194443_create_tr8n_sync_tables.rb +22 -0
- data/local/tr8n_server/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb +5 -0
- data/{test/dummy → local/tr8n_server}/db/schema.rb +15 -1
- data/{test/dummy → local/tr8n_server}/lib/assets/.gitkeep +0 -0
- data/{test/dummy → local/tr8n_server}/public/404.html +0 -0
- data/{test/dummy → local/tr8n_server}/public/422.html +0 -0
- data/{test/dummy → local/tr8n_server}/public/500.html +0 -0
- data/{test/dummy → local/tr8n_server}/public/favicon.ico +0 -0
- data/{test/dummy → local/tr8n_server}/script/rails +0 -0
- data/script/rails +1 -1
- data/spec/config/config_spec.rb +10 -0
- data/spec/fake_app.rb +50 -0
- data/spec/lib/data_token_spec.rb +26 -0
- data/spec/lib/transform_token_spec.rb +22 -0
- data/spec/models/translation_key_spec.rb +63 -0
- data/spec/spec_helper.rb +29 -0
- data/tr8n.gemspec +3 -1
- metadata +264 -245
- data/app/assets/images/tr8n/tr8n_logo.png +0 -0
- data/app/assets/images/tr8n/tr8n_logo2.gif +0 -0
- data/app/controllers/tr8n/login_controller.rb +0 -86
- data/app/views/layouts/_footer.html.erb +0 -15
- data/app/views/layouts/_header.html.erb +0 -12
- data/app/views/layouts/_html_head.html.erb +0 -5
- data/app/views/layouts/tr8n.html.erb +0 -21
- data/app/views/layouts/tr8n/application.html.erb +0 -14
- data/app/views/layouts/tr8n_admin.html.erb +0 -33
- data/app/views/tr8n/home/languages.html.erb +0 -7
- data/app/views/tr8n/login/index.html.erb +0 -33
- data/app/views/tr8n/login/register.html.erb +0 -57
- data/config/tr8n/rules/default_cases.yml +0 -141
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/actions.css.scssc +0 -0
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/buttons.css.scssc +0 -0
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/calendar.css.scssc +0 -0
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/exporter.css.scssc +0 -0
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/filter.css.scssc +0 -0
- data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/results.css.scssc +0 -0
- data/test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/components.css.scssc +0 -0
- data/test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/layout.css.scssc +0 -0
- data/test/dummy/.sass-cache/50f723c1dd802042d0091035528d53e6d5bc5b50/tr8n.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/actions.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/buttons.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/calendar.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/exporter.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/filter.css.scssc +0 -0
- data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/results.css.scssc +0 -0
- data/test/dummy/app/assets/stylesheets/keyboard.css +0 -147
- data/test/dummy/config/tr8n/rules/default_cases.yml +0 -141
- data/test/dummy/log/.gitkeep +0 -0
- data/test/dummy/test/functional/home_controller_test.rb +0 -9
- data/test/dummy/test/unit/helpers/home_helper_test.rb +0 -4
- data/test/integration/navigation_test.rb +0 -10
- data/test/test_helper.rb +0 -10
- data/test/tr8n_test.rb +0 -7
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,272 @@
|
|
1
|
+
#############################################################################
|
2
|
+
#
|
3
|
+
# Tr8n Default Language Cases
|
4
|
+
#
|
5
|
+
#############################################################################
|
6
|
+
|
7
|
+
en-US:
|
8
|
+
nom:
|
9
|
+
keyword: "nom"
|
10
|
+
latin_name: "Nominative"
|
11
|
+
native_name: "Nominative"
|
12
|
+
description: "Used for any noun or pronoun that is the subject of a verb"
|
13
|
+
application: "phrase"
|
14
|
+
obj:
|
15
|
+
keyword: "obj"
|
16
|
+
latin_name: "Objective"
|
17
|
+
native_name: "Objective"
|
18
|
+
description: "Used in the direct object, indirect object, object of preposition, object complement, and subject of an infinitive"
|
19
|
+
application: "phrase"
|
20
|
+
pos:
|
21
|
+
keyword: "pos"
|
22
|
+
latin_name: "Possessive"
|
23
|
+
native_name: "Possessive"
|
24
|
+
description: "Used to indicate possession (i.e., ownership). It is usually created by adding 's to the word"
|
25
|
+
application: "phrase"
|
26
|
+
rules:
|
27
|
+
1:
|
28
|
+
multipart: false
|
29
|
+
gender: none
|
30
|
+
part1: ends_in
|
31
|
+
value1: "s"
|
32
|
+
operation: append
|
33
|
+
operation_value: "'"
|
34
|
+
2:
|
35
|
+
multipart: false
|
36
|
+
gender: none
|
37
|
+
part1: does_not_end_in
|
38
|
+
value1: "s"
|
39
|
+
operation: append
|
40
|
+
operation_value: "'s"
|
41
|
+
ord:
|
42
|
+
keyword: "ord"
|
43
|
+
latin_name: "Ordinal"
|
44
|
+
native_name: "Ordinal"
|
45
|
+
description: "The adjective form of the cardinal numbers"
|
46
|
+
application: "phrase"
|
47
|
+
rules:
|
48
|
+
1:
|
49
|
+
multipart: true
|
50
|
+
gender: none
|
51
|
+
part1: ends_in
|
52
|
+
value1: "1"
|
53
|
+
operator: and
|
54
|
+
part2: does_not_end_in
|
55
|
+
value2: "11"
|
56
|
+
operation: append
|
57
|
+
operation_value: "st"
|
58
|
+
2:
|
59
|
+
multipart: true
|
60
|
+
gender: none
|
61
|
+
part1: ends_in
|
62
|
+
value1: "2"
|
63
|
+
operator: and
|
64
|
+
part2: does_not_end_in
|
65
|
+
value2: "12"
|
66
|
+
operation: append
|
67
|
+
operation_value: "nd"
|
68
|
+
3:
|
69
|
+
multipart: true
|
70
|
+
gender: none
|
71
|
+
part1: ends_in
|
72
|
+
value1: "3"
|
73
|
+
operator: and
|
74
|
+
part2: does_not_end_in
|
75
|
+
value2: "13"
|
76
|
+
operation: append
|
77
|
+
operation_value: "rd"
|
78
|
+
4:
|
79
|
+
multipart: false
|
80
|
+
gender: none
|
81
|
+
part1: ends_in
|
82
|
+
value1: "0,4,5,6,7,8,9,11,12,13"
|
83
|
+
operation: append
|
84
|
+
operation_value: "th"
|
85
|
+
times:
|
86
|
+
keyword: "times"
|
87
|
+
latin_name: "Iteration"
|
88
|
+
native_name: "Iteration"
|
89
|
+
description: "The iteration form of the cardinal numbers"
|
90
|
+
application: "phrase"
|
91
|
+
rules:
|
92
|
+
1:
|
93
|
+
multipart: true
|
94
|
+
gender: none
|
95
|
+
part1: is
|
96
|
+
value1: "1"
|
97
|
+
operation: replace
|
98
|
+
operation_value: "once"
|
99
|
+
2:
|
100
|
+
multipart: true
|
101
|
+
gender: none
|
102
|
+
part1: is
|
103
|
+
value1: "2"
|
104
|
+
operation: replace
|
105
|
+
operation_value: "twice"
|
106
|
+
3:
|
107
|
+
multipart: true
|
108
|
+
gender: none
|
109
|
+
part1: is
|
110
|
+
value1: "3"
|
111
|
+
operation: replace
|
112
|
+
operation_value: "thrice"
|
113
|
+
3:
|
114
|
+
multipart: false
|
115
|
+
gender: none
|
116
|
+
part1: is_not
|
117
|
+
value1: "1,2,3"
|
118
|
+
operation: append
|
119
|
+
operation_value: " times"
|
120
|
+
ordinal:
|
121
|
+
keyword: "ordinal"
|
122
|
+
latin_name: "Ordinal"
|
123
|
+
native_name: "Ordinal"
|
124
|
+
description: "The adjective form of the cardinal numbers"
|
125
|
+
application: "phrase"
|
126
|
+
rules:
|
127
|
+
1:
|
128
|
+
multipart: true
|
129
|
+
gender: none
|
130
|
+
part1: is
|
131
|
+
value1: "1"
|
132
|
+
operation: replace
|
133
|
+
operation_value: "first"
|
134
|
+
2:
|
135
|
+
multipart: true
|
136
|
+
gender: none
|
137
|
+
part1: is
|
138
|
+
value1: "2"
|
139
|
+
operation: replace
|
140
|
+
operation_value: "second"
|
141
|
+
3:
|
142
|
+
multipart: true
|
143
|
+
gender: none
|
144
|
+
part1: is
|
145
|
+
value1: "3"
|
146
|
+
operation: replace
|
147
|
+
operation_value: "third"
|
148
|
+
4:
|
149
|
+
multipart: true
|
150
|
+
gender: none
|
151
|
+
part1: ends_in
|
152
|
+
value1: "1"
|
153
|
+
operator: and
|
154
|
+
part2: does_not_end_in
|
155
|
+
value2: "11"
|
156
|
+
operation: append
|
157
|
+
operation_value: "st"
|
158
|
+
5:
|
159
|
+
multipart: true
|
160
|
+
gender: none
|
161
|
+
part1: ends_in
|
162
|
+
value1: "2"
|
163
|
+
operator: and
|
164
|
+
part2: does_not_end_in
|
165
|
+
value2: "12"
|
166
|
+
operation: append
|
167
|
+
operation_value: "nd"
|
168
|
+
6:
|
169
|
+
multipart: true
|
170
|
+
gender: none
|
171
|
+
part1: ends_in
|
172
|
+
value1: "3"
|
173
|
+
operator: and
|
174
|
+
part2: does_not_end_in
|
175
|
+
value2: "13"
|
176
|
+
operation: append
|
177
|
+
operation_value: "rd"
|
178
|
+
7:
|
179
|
+
multipart: false
|
180
|
+
gender: none
|
181
|
+
part1: ends_in
|
182
|
+
value1: "0,4,5,6,7,8,9,11,12,13"
|
183
|
+
operation: append
|
184
|
+
operation_value: "th"
|
185
|
+
|
186
|
+
ru:
|
187
|
+
case1:
|
188
|
+
keyword: "nom"
|
189
|
+
latin_name: "Nominativus"
|
190
|
+
native_name: "Именительный падеж"
|
191
|
+
description: "Есть - Кто? Что?"
|
192
|
+
application: "words"
|
193
|
+
case2:
|
194
|
+
keyword: "gen"
|
195
|
+
latin_name: "Genitivus"
|
196
|
+
native_name: "Родительный падеж"
|
197
|
+
description: "Нет - Кого? Чего?"
|
198
|
+
application: "words"
|
199
|
+
rules:
|
200
|
+
1:
|
201
|
+
multipart: false
|
202
|
+
gender: male
|
203
|
+
part1: ends_in
|
204
|
+
value1: "б, в, г, д, ж, з, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ"
|
205
|
+
operation: append
|
206
|
+
operation_value: "a"
|
207
|
+
2:
|
208
|
+
multipart: false
|
209
|
+
gender: male
|
210
|
+
part1: ends_in
|
211
|
+
value1: "й"
|
212
|
+
operation: replace
|
213
|
+
operation_value: "я"
|
214
|
+
3:
|
215
|
+
multipart: false
|
216
|
+
gender: female
|
217
|
+
part1: ends_in
|
218
|
+
value1: "а"
|
219
|
+
operation: replace
|
220
|
+
operation_value: "ы"
|
221
|
+
4:
|
222
|
+
multipart: false
|
223
|
+
gender: female
|
224
|
+
part1: ends_in
|
225
|
+
value1: "я"
|
226
|
+
operation: replace
|
227
|
+
operation_value: "и"
|
228
|
+
case3:
|
229
|
+
keyword: "dat"
|
230
|
+
latin_name: "Dativus"
|
231
|
+
native_name: "Дательный падеж"
|
232
|
+
description: "Рад - Кому? Чему?"
|
233
|
+
application: "words"
|
234
|
+
case4:
|
235
|
+
keyword: "acc"
|
236
|
+
latin_name: "Accusativus"
|
237
|
+
native_name: "Винительный падеж"
|
238
|
+
description: "Вижу - Кого? Что?"
|
239
|
+
application: "words"
|
240
|
+
case5:
|
241
|
+
keyword: "ins"
|
242
|
+
latin_name: "Instrumentalis"
|
243
|
+
native_name: "Творительный падеж"
|
244
|
+
description: "Доволен - Кем? Чем?"
|
245
|
+
application: "words"
|
246
|
+
case6:
|
247
|
+
keyword: "pre"
|
248
|
+
latin_name: "Prepositivus"
|
249
|
+
native_name: "Предложный падеж"
|
250
|
+
description: "Думаю - О ком? О чём?"
|
251
|
+
application: "words"
|
252
|
+
case7:
|
253
|
+
keyword: "pos"
|
254
|
+
latin_name: "Possessive"
|
255
|
+
native_name: "Притяжательный падеж"
|
256
|
+
description: "Чей?"
|
257
|
+
application: "words"
|
258
|
+
rules:
|
259
|
+
1:
|
260
|
+
multipart: false
|
261
|
+
gender: female
|
262
|
+
part1: ends_in
|
263
|
+
value1: "ва"
|
264
|
+
operation: replace
|
265
|
+
operation_value: "вой"
|
266
|
+
2:
|
267
|
+
multipart: false
|
268
|
+
gender: male
|
269
|
+
part1: ends_in
|
270
|
+
value1: "б, в, г, д, ж, з, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ"
|
271
|
+
operation: append
|
272
|
+
operation_value: "a"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/{test/dummy → local/tr8n_server}/db/migrate/20110930041143_create_will_filter_filters.rb
RENAMED
File without changes
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class CreateTr8nSyncTables < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
create_table :tr8n_sync_logs do |t|
|
4
|
+
t.timestamp :started_at
|
5
|
+
t.timestamp :finished_at
|
6
|
+
t.integer :keys_sent
|
7
|
+
t.integer :translations_sent
|
8
|
+
t.integer :keys_received
|
9
|
+
t.integer :translations_received
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
|
13
|
+
add_column :tr8n_translation_keys, :synced_at, :timestamp
|
14
|
+
add_column :tr8n_translations, :synced_at, :timestamp
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
drop_table :tr8n_sync_logs
|
19
|
+
remove_column :tr8n_translation_keys, :synced_at
|
20
|
+
remove_column :tr8n_translations, :synced_at
|
21
|
+
end
|
22
|
+
end
|
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended to check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(:version =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20111011013640) do
|
15
15
|
|
16
16
|
create_table "admins", :force => true do |t|
|
17
17
|
t.integer "user_id"
|
@@ -188,6 +188,17 @@ ActiveRecord::Schema.define(:version => 20110930041150) do
|
|
188
188
|
|
189
189
|
add_index "tr8n_languages", ["locale"], :name => "index_tr8n_languages_on_locale"
|
190
190
|
|
191
|
+
create_table "tr8n_sync_logs", :force => true do |t|
|
192
|
+
t.datetime "started_at"
|
193
|
+
t.datetime "finished_at"
|
194
|
+
t.integer "keys_sent"
|
195
|
+
t.integer "translations_sent"
|
196
|
+
t.integer "keys_received"
|
197
|
+
t.integer "translations_received"
|
198
|
+
t.datetime "created_at"
|
199
|
+
t.datetime "updated_at"
|
200
|
+
end
|
201
|
+
|
191
202
|
create_table "tr8n_translation_domains", :force => true do |t|
|
192
203
|
t.string "name"
|
193
204
|
t.string "description"
|
@@ -245,6 +256,7 @@ ActiveRecord::Schema.define(:version => 20110930041150) do
|
|
245
256
|
t.integer "level", :default => 0
|
246
257
|
t.datetime "created_at"
|
247
258
|
t.datetime "updated_at"
|
259
|
+
t.datetime "synced_at"
|
248
260
|
end
|
249
261
|
|
250
262
|
add_index "tr8n_translation_keys", ["key"], :name => "index_tr8n_translation_keys_on_key", :unique => true
|
@@ -279,6 +291,7 @@ ActiveRecord::Schema.define(:version => 20110930041150) do
|
|
279
291
|
t.text "rules"
|
280
292
|
t.datetime "created_at"
|
281
293
|
t.datetime "updated_at"
|
294
|
+
t.datetime "synced_at"
|
282
295
|
end
|
283
296
|
|
284
297
|
add_index "tr8n_translations", ["created_at"], :name => "tr8n_trans_created_at"
|
@@ -360,6 +373,7 @@ ActiveRecord::Schema.define(:version => 20110930041150) do
|
|
360
373
|
t.string "country_code"
|
361
374
|
t.datetime "created_at"
|
362
375
|
t.datetime "updated_at"
|
376
|
+
t.integer "remote_id"
|
363
377
|
end
|
364
378
|
|
365
379
|
add_index "tr8n_translators", ["created_at"], :name => "index_tr8n_translators_on_created_at"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/script/rails
CHANGED
@@ -3,4 +3,4 @@
|
|
3
3
|
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
4
4
|
|
5
5
|
ENGINE_PATH = File.expand_path('../..', __FILE__)
|
6
|
-
load File.expand_path('../../
|
6
|
+
load File.expand_path('../../local/tr8n_server/script/rails', __FILE__)
|
data/spec/fake_app.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
require 'action_controller/railtie'
|
3
|
+
require 'action_view/railtie'
|
4
|
+
|
5
|
+
# database
|
6
|
+
ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => ':memory:'}}
|
7
|
+
ActiveRecord::Base.establish_connection('test')
|
8
|
+
|
9
|
+
# config
|
10
|
+
app = Class.new(Rails::Application)
|
11
|
+
app.config.secret_token = "3b7cd727ee24e8444053437c36cc66c4"
|
12
|
+
app.config.session_store :cookie_store, :key => "_myapp_session"
|
13
|
+
app.config.active_support.deprecation = :log
|
14
|
+
app.initialize!
|
15
|
+
|
16
|
+
# routes
|
17
|
+
app.routes.draw do
|
18
|
+
resources :users
|
19
|
+
end
|
20
|
+
|
21
|
+
# models
|
22
|
+
Dir["#{File.dirname(__FILE__)}/../local/tr8n_server/app/models/*.rb"].each do |f|
|
23
|
+
if [:user, :admin].include?(f.split("/").last.gsub('.rb', '').to_sym)
|
24
|
+
require f
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# controllers
|
29
|
+
class ApplicationController < ActionController::Base; end
|
30
|
+
class UsersController < ApplicationController
|
31
|
+
def index
|
32
|
+
@users = User.filter(:params => params)
|
33
|
+
render :inline => <<-ERB
|
34
|
+
<%= will_filter_tag(@users) %>
|
35
|
+
ERB
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# helpers
|
40
|
+
Object.const_set(:ApplicationHelper, Module.new)
|
41
|
+
|
42
|
+
#migrations
|
43
|
+
class CreateAllTables < ActiveRecord::Migration
|
44
|
+
def self.up
|
45
|
+
Dir["#{File.dirname(__FILE__)}/../local/tr8n_server/db/migrate/*.rb"].each do |f|
|
46
|
+
require f
|
47
|
+
f.split("/").last.gsub('.rb', '').split('_')[1..-1].join('_').camelcase.constantize.up
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|