diff --git a/app/jobs/rails_i18n_manager/translations_import_job.rb b/app/jobs/rails_i18n_manager/translations_import_job.rb index fc97657..6e77fd9 100644 --- a/app/jobs/rails_i18n_manager/translations_import_job.rb +++ b/app/jobs/rails_i18n_manager/translations_import_job.rb @@ -9,7 +9,7 @@ def perform(translation_app_id:, import_file:, overwrite_existing: false, mark_i if import_file.end_with?(".json") translations_hash = JSON.parse(File.read(import_file)) else - translations_hash = YAML.safe_load(File.read(import_file)) + translations_hash = YAML.safe_load(File.read(import_file), [Symbol]) end new_locales = translations_hash.keys - app_record.all_locales diff --git a/app/lib/rails_i18n_manager/forms/translation_file_form.rb b/app/lib/rails_i18n_manager/forms/translation_file_form.rb index 1b00968..b2f61f7 100644 --- a/app/lib/rails_i18n_manager/forms/translation_file_form.rb +++ b/app/lib/rails_i18n_manager/forms/translation_file_form.rb @@ -35,7 +35,7 @@ def validate_file case File.extname(file) when ".yml" - if !YAML.safe_load(File.read(file)).is_a?(Hash) + if !YAML.safe_load(File.read(file), [Symbol]).is_a?(Hash) errors.add(:file, "Invalid yml file.") return end diff --git a/app/models/rails_i18n_manager/translation_key.rb b/app/models/rails_i18n_manager/translation_key.rb index 6334b26..963298b 100644 --- a/app/models/rails_i18n_manager/translation_key.rb +++ b/app/models/rails_i18n_manager/translation_key.rb @@ -41,6 +41,10 @@ def default_translation @default_translation = self.translation_values.detect{|x| x.locale == translation_app.default_locale.to_s }&.translation end + def translation(language_code) + self.translation_values.detect{|x| x.locale == language_code }&.translation + end + def any_missing_translations? self.translation_app.all_locales.any? do |locale| val_record = translation_values.detect{|x| x.locale == locale.to_s} diff --git a/app/views/layouts/rails_i18n_manager/application.html.slim b/app/views/layouts/rails_i18n_manager/application.html.slim index 7c0eb23..533b3a6 100644 --- a/app/views/layouts/rails_i18n_manager/application.html.slim +++ b/app/views/layouts/rails_i18n_manager/application.html.slim @@ -1,4 +1,4 @@ -- @title = "Translations Manager" +- @title = "Translations Manager NB" doctype html html diff --git a/app/views/rails_i18n_manager/translations/import.html.slim b/app/views/rails_i18n_manager/translations/import.html.slim index 82d5e9a..e5fbcc9 100644 --- a/app/views/rails_i18n_manager/translations/import.html.slim +++ b/app/views/rails_i18n_manager/translations/import.html.slim @@ -4,7 +4,7 @@ h2.page-sub-title Import Translations from Source File .row .col-6 - = custom_form_for @form, as: :import_form, url: import_translations_path, method: :post, multipart: true, html: {class: "form-horizontal"} do |f| + = custom_form_for @form, as: :import_form, url: import_translations_path, method: :post, multipart: true, html: {enctype: "multipart/form-data", class: "form-horizontal"} do |f| = f.error_notification = f.field :translation_app_id, label: "App Name", type: :select, collection: RailsI18nManager::TranslationApp.order(name: :asc).pluck(:name, :id) diff --git a/app/views/rails_i18n_manager/translations/index.html.slim b/app/views/rails_i18n_manager/translations/index.html.slim index d696f62..fa0a432 100644 --- a/app/views/rails_i18n_manager/translations/index.html.slim +++ b/app/views/rails_i18n_manager/translations/index.html.slim @@ -27,6 +27,7 @@ table.table.table-striped.table-hover.space-above3.list-table th Default Translation - if params[:status] == "Inactive" th Status + th Translation SV th = sort_link(:updated_at) th Actions tbody @@ -37,6 +38,7 @@ table.table.table-striped.table-hover.space-above3.list-table td = x.default_translation - if params[:status] == "Inactive" td Inactive + td = x.translation("sv") td = x.updated_at&.strftime("%Y-%m-%d %l:%M %p") td span = link_to "View", {action: :show, id: x.id} diff --git a/db/migrate/20221001001344_add_rails_i18n_manager_tables.rb b/db/migrate/20221001001344_add_rails_i18n_manager_tables.rb index f3c12de..ea26655 100644 --- a/db/migrate/20221001001344_add_rails_i18n_manager_tables.rb +++ b/db/migrate/20221001001344_add_rails_i18n_manager_tables.rb @@ -18,7 +18,7 @@ def change create_table :rails_i18n_manager_translation_values do |t| t.references :translation_key, index: { name: 'index_translation_values_on_translation_key_id' } t.string :locale, limit: 5 - t.string :translation + t.string :translation, limit: 500 t.datetime :updated_at end