From b14455fb812c8d4fc471f968826dc057cf41a2bb Mon Sep 17 00:00:00 2001 From: Rei Date: Sun, 23 Feb 2014 21:40:20 +0800 Subject: [PATCH] Add website locales --- app/views/markdown/_area.html.slim | 13 +-- app/views/notifications/index.html.slim | 9 +- .../notification/_comment.html.slim | 2 +- .../notification/_mention.html.slim | 2 +- app/views/sessions/new.html.slim | 4 +- .../subscriptions/_subscription.html.slim | 19 ++-- app/views/topics/_form.html.slim | 6 +- app/views/topics/_sidebar_search.html.slim | 2 +- app/views/topics/edit.html.slim | 3 +- app/views/topics/index.html.slim | 13 +-- app/views/topics/new.html.slim | 3 +- app/views/topics/show.html.slim | 25 +++--- app/views/users/_profile.html.slim | 2 +- app/views/users/_sidebar.html.slim | 9 +- app/views/users/comments/index.html.slim | 5 +- app/views/users/likes/index.html.slim | 5 +- app/views/users/new.html.slim | 4 +- app/views/users/topics/index.html.slim | 5 +- config/locales/en.yml | 81 +++++++++++++++++ config/locales/zh-CN.yml | 89 +++++++++++++++++-- lib/tasks/i18n.rake | 4 + 21 files changed, 240 insertions(+), 65 deletions(-) create mode 100644 lib/tasks/i18n.rake diff --git a/app/views/markdown/_area.html.slim b/app/views/markdown/_area.html.slim index 8d88295..3a392e6 100644 --- a/app/views/markdown/_area.html.slim +++ b/app/views/markdown/_area.html.slim @@ -7,18 +7,19 @@ .markdown-area ul.nav.nav-tabs li.active - a href="##{write_pane_id}" data-toggle="tab" Write + a href="##{write_pane_id}" data-toggle="tab" + = t '.write' li - a href="##{preview_pane_id}" data-toggle="tab" data-behaviors="preview" Preview + a href="##{preview_pane_id}" data-toggle="tab" data-behaviors="preview" + = t '.preview' .tab-content .tab-pane.active id=write_pane_id - = form.text_area name, class: 'form-control', placeholder: 'Type here...', data: { behaviors: 'autosize' }, tabIndex: tabIndex + = form.text_area name, class: 'form-control', data: { behaviors: 'autosize' }, tabIndex: tabIndex .file-upload = file_field_tag :file, multiple: true .text.text-muted - | Attach images by + = t '.attach_images_by' ' - a selecting them - | . + a = t '.select_them' .tab-pane id=preview_pane_id article.preview diff --git a/app/views/notifications/index.html.slim b/app/views/notifications/index.html.slim index 8cb62b8..bd01f42 100644 --- a/app/views/notifications/index.html.slim +++ b/app/views/notifications/index.html.slim @@ -3,16 +3,19 @@ .panel .panel-body .btn-group - a.btn.btn-default href=mark_notifications_path data-remote="true" data-method="post" Mark all as read + a.btn.btn-default href=mark_notifications_path data-remote="true" data-method="post" + = t '.mark_all_as_read' a.btn.btn-default.dropdown-toggle data-toggle="dropdown" i.fa.fa-caret-down ul.dropdown-menu li - a href=clear_notifications_path data-remote="true" data-method="delete" data-confirm="Are you sure you want to clear notifications?" Delete all notifications + a href=clear_notifications_path data-remote="true" data-method="delete" data-confirm=t('.are_you_sure_you_want_to_delete_all_notifications') + = t '.delete_all_notification' .col-md-9.col-md-pull-3 .panel.panel-campo .panel-heading - h3.panel-title Notifications + h3.panel-title + = t '.notifications' .panel-body ul.list-group.list-group-campo - @notifications.each do |notification| diff --git a/app/views/notifications/notification/_comment.html.slim b/app/views/notifications/notification/_comment.html.slim index 5b44086..a51e477 100644 --- a/app/views/notifications/notification/_comment.html.slim +++ b/app/views/notifications/notification/_comment.html.slim @@ -11,7 +11,7 @@ li.list-group-item.notification id="notification_#{notification.id}" class=('rea .list-group-item-heading b = comment.user.name ' - | commented on + = t '.commented on' ' b = comment_title(comment) ' diff --git a/app/views/notifications/notification/_mention.html.slim b/app/views/notifications/notification/_mention.html.slim index 84f01a8..789f5e9 100644 --- a/app/views/notifications/notification/_mention.html.slim +++ b/app/views/notifications/notification/_mention.html.slim @@ -11,7 +11,7 @@ li.list-group-item.notification id="notification_#{notification.id}" class=('rea .list-group-item-heading b = comment.user.name ' - | mentioned you on + = t '.mentioned you on' ' b = comment_title(comment) ' diff --git a/app/views/sessions/new.html.slim b/app/views/sessions/new.html.slim index 35c6abb..f17fa7d 100644 --- a/app/views/sessions/new.html.slim +++ b/app/views/sessions/new.html.slim @@ -3,7 +3,7 @@ .panel.panel-campo .panel-heading h3.panel-title - | Sign in + = t '.sign_in' .panel-body = form_tag login_path = render 'share/flash_messages' @@ -13,4 +13,4 @@ .form-group = label_tag :password = password_field_tag :password, nil, placeholder: 'Your password', tabindex: 4, class: 'form-control' - = submit_tag 'Sign in', class: 'btn btn-success', tabindex: 5 + = submit_tag t('.sign_in'), class: 'btn btn-success', tabindex: 5 diff --git a/app/views/subscriptions/_subscription.html.slim b/app/views/subscriptions/_subscription.html.slim index bd0a7db..3050998 100644 --- a/app/views/subscriptions/_subscription.html.slim +++ b/app/views/subscriptions/_subscription.html.slim @@ -4,19 +4,19 @@ - if subscription.nil? i.fa.fa-eye ' - | Watch + = t '.watch' ' i.fa.fa-caret-down - elsif subscription.subscribed? i.fa.fa-eye-slash ' - | Unwatch + = t '.unwatch' ' i.fa.fa-caret-down - elsif subscription.ignored? i.fa.fa-ban ' - | Stop ignoring + = t '.stop_ignoring' ' i.fa.fa-caret-down ul.dropdown-menu.dropdown-menu-subscription @@ -25,20 +25,19 @@ .subscription-status i.fa.fa-check .subscription-description - label Not Watching - p You only receive notifications if you are @mentioned + label = t '.not_watching' + p = t '.you_only_receive_notifications_if_you_are_mentioned' li class=('selected' if subscription && subscription.subscribed?) a href=polymorphic_url([subscribable, :subscription], status: 'subscribed') data-remote="true" data-method="put" .subscription-status i.fa.fa-check .subscription-description - label Watching - p You will receive notifications for all comments. + label = t '.watching' + p = t '.you_will_receive_notifications_for_all_comments' li class=('selected' if subscription && subscription.ignored?) a href=polymorphic_url([subscribable, :subscription], status: 'ignored') data-remote="true" data-method="put" .subscription-status i.fa.fa-check .subscription-description - label Ignoring - p You do not receive any notifications. - + label = t '.ignoring' + p = t '.you_do_not_receive_any_notifications' diff --git a/app/views/topics/_form.html.slim b/app/views/topics/_form.html.slim index cbf34ec..c0d5cd6 100644 --- a/app/views/topics/_form.html.slim +++ b/app/views/topics/_form.html.slim @@ -5,13 +5,13 @@ = f.text_field :title, class: 'form-control', placeholder: 'Title', tabIndex: 1 .col-md-3 .form-group - = f.collection_select :category_id, Category.order(topics_count: :desc), :id, :name, { prompt: 'No category' }, class: 'form-control', tabIndex: 2 + = f.collection_select :category_id, Category.order(topics_count: :desc), :id, :name, { prompt: t('.no_category') }, class: 'form-control', tabIndex: 2 .form-group = markdown_area f, :body, tabIndex: 3 - if topic.new_record? - = f.submit 'Add this topic', class: 'btn btn-success', tabIndex: 4 + = f.submit t('.create_topic'), class: 'btn btn-success', tabIndex: 4 - else - = f.submit 'Save changes', class: 'btn btn-success', tabIndex: 4 + = f.submit t('.save_changes'), class: 'btn btn-success', tabIndex: 4 ' a.btn.btn-default href=topic_path(@topic) tabIndex="5" Cancel diff --git a/app/views/topics/_sidebar_search.html.slim b/app/views/topics/_sidebar_search.html.slim index 564e46f..af6cad4 100644 --- a/app/views/topics/_sidebar_search.html.slim +++ b/app/views/topics/_sidebar_search.html.slim @@ -2,7 +2,7 @@ .panel-body = form_tag search_topics_path, method: 'get', class: 'search-form', data: { behaviors: 'turboform' } do .input-group - = text_field_tag :q, params[:q], class: 'form-control', placeholder: 'Search', tabIndex: 1, autocomplete: 'off', autofocus: params[:q].present? + = text_field_tag :q, params[:q], class: 'form-control', placeholder: t('.search'), tabIndex: 1, autocomplete: 'off', autofocus: params[:q].present? .input-group-btn button.btn.btn-default type='submit' tabIndex="2" i.fa.fa-search diff --git a/app/views/topics/edit.html.slim b/app/views/topics/edit.html.slim index 699ad0c..cbef47f 100644 --- a/app/views/topics/edit.html.slim +++ b/app/views/topics/edit.html.slim @@ -12,6 +12,7 @@ li a href=topic_path(@topic) = @topic.title - li.active Edit + li.active + = t '.edit' .panel-body = render 'form', topic: @topic diff --git a/app/views/topics/index.html.slim b/app/views/topics/index.html.slim index 8361f77..7b037cc 100644 --- a/app/views/topics/index.html.slim +++ b/app/views/topics/index.html.slim @@ -6,22 +6,22 @@ ul.nav.nav-pills li class=('active' if params[:tab] == 'hot') a href=url_for(tab: 'hot') - | Hot + = t '.hot' li class=('active' if params[:tab] == 'newest') a href=url_for(tab: 'newest') - | Newest + = t '.newest' - if @category ol.breadcrumb.panel-title li a href=topics_path Topics li.active = @category.name - else - h3.panel-title Topics + h3.panel-title = t '.topics' .panel-body .list-group.list-group-campo - if @topics.empty? .list-group-item.text-center.text-muted.empty-message - | No topic yet. + = t '.no_topic_yet' - else = render @topics - if @topics.total_pages > 1 @@ -32,7 +32,8 @@ = render 'sidebar_search' .panel.panel-campo .panel-body - a.btn.btn-success.btn-block href=new_topic_path(category_id: @category.try(:slug)) Create Topic + a.btn.btn-success.btn-block href=new_topic_path(category_id: @category.try(:slug)) + = t '.new_topic' .panel.panel-campo .panel-body @@ -40,7 +41,7 @@ li class=('active' unless @category) a href=topics_path span.pull-right = Topic.no_trashed.count - | All topics + = t '.all_topics' - Category.order(topics_count: :desc).each do |category| li class=('active' if @category == category) a href=categoried_topics_path(category_id: category.slug) diff --git a/app/views/topics/new.html.slim b/app/views/topics/new.html.slim index 9bea039..ebda4d2 100644 --- a/app/views/topics/new.html.slim +++ b/app/views/topics/new.html.slim @@ -9,7 +9,8 @@ li a href=categoried_topics_path(category_id: @topic.category.slug) = @topic.category.name - li.active New Topic + li.active + = t '.new' .panel-body = render 'form', topic: @topic diff --git a/app/views/topics/show.html.slim b/app/views/topics/show.html.slim index c1ffc73..630c4e0 100644 --- a/app/views/topics/show.html.slim +++ b/app/views/topics/show.html.slim @@ -4,7 +4,8 @@ .panel-heading ol.breadcrumb.panel-title li - a href=topics_path Topics + a href=topics_path + = t '.topics' - if @topic.category li a href=categoried_topics_path(category_id: @topic.category.slug) @@ -36,17 +37,18 @@ = @topic.likes_count a.btn data-visible-to="creator" href=edit_topic_path(@topic) i.fa.fa-pencil - a.btn data-visible-to="creator" href=trash_topic_path(@topic) data-remote="true" data-method="delete" data-confirm="Are you sure you want to delete this topic?" + a.btn data-visible-to="creator" href=trash_topic_path(@topic) data-remote="true" data-method="delete" data-confirm=t('.are_you_sure_you_want_to_delete_this_topic') i.fa.fa-trash-o .panel.panel-campo#comments .panel-heading - h3.panel-title Comments + h3.panel-title + = t '.comments' .panel-body ul.list-group.list-group-campo id="comments-for-topic-#{@topic.id}" - if @comments.empty? li.list-group-item.text-center.text-muted.empty-message - | No comment yet. + = t '.no_comment_yet' - else = render @comments - if @comments.total_pages > 1 @@ -66,17 +68,17 @@ = form_for @topic.comments.new, url: topic_comments_path(@topic), remote: true do |f| .form-group = markdown_area f, :body - = f.submit 'Add this comment', class: 'btn btn-success', tabIndex: 2 + = f.submit t('.add_this_comment'), class: 'btn btn-success', tabIndex: 2 - else - | Your account is locked. + = t '.your_account_had_been_locked' - else - | Need - ' a href=login_path Login ' - | or + = t '.or' ' a href=signup_path Sign up + ' + = t '.to_comment' .col-md-3 - if login? .panel.panel-campo @@ -85,7 +87,7 @@ .panel.panel-campo .panel-heading h4.panel-title - | Relate topics + = t '.related_topics' .panel-body .list-group.list-group-campo - more_like_this_topics = @topic.more_like_this.limit(5).records @@ -95,8 +97,7 @@ = topic.title - else .list-group-item.text-center.text-muted - | No more topics - + = t '.no_more_topics' - if login? - if @topic.liked_by?(current_user) diff --git a/app/views/users/_profile.html.slim b/app/views/users/_profile.html.slim index be282b4..cacd384 100644 --- a/app/views/users/_profile.html.slim +++ b/app/views/users/_profile.html.slim @@ -11,4 +11,4 @@ .panel-footer.clearfix .pull-right a.btn.btn-default href=settings_profile_path - | Edit profile + = t '.edit_profile' diff --git a/app/views/users/_sidebar.html.slim b/app/views/users/_sidebar.html.slim index de7b19d..47f500f 100644 --- a/app/views/users/_sidebar.html.slim +++ b/app/views/users/_sidebar.html.slim @@ -2,8 +2,11 @@ .panel-body ul.nav.nav-pills.nav-stacked li class=('active' if controller_name == 'topics') - a href=user_topics_path(username: user.username) Topics + a href=user_topics_path(username: user.username) + = t '.topics' li class=('active' if controller_name == 'comments') - a href=user_comments_path(username: user.username) Comments + a href=user_comments_path(username: user.username) + = t '.comments' li class=('active' if controller_name == 'likes') - a href=user_likes_path(username: user.username) Likes + a href=user_likes_path(username: user.username) + = t '.likes' diff --git a/app/views/users/comments/index.html.slim b/app/views/users/comments/index.html.slim index fb8e9ba..2850660 100644 --- a/app/views/users/comments/index.html.slim +++ b/app/views/users/comments/index.html.slim @@ -3,12 +3,13 @@ = render 'users/profile', user: @user #comments.panel.panel-campo .panel-heading - h3.panel-title Comments + h3.panel-title + = t '.comments' .panel-body .list-group.list-group-campo - if @comments.empty? .list-group-item.text-center.text-muted.empty-message - | No comment yet. + = t '.no_comment_yet' - else = render @comments - if @comments.total_pages > 1 diff --git a/app/views/users/likes/index.html.slim b/app/views/users/likes/index.html.slim index a89d89c..06ff116 100644 --- a/app/views/users/likes/index.html.slim +++ b/app/views/users/likes/index.html.slim @@ -3,12 +3,13 @@ = render 'users/profile', user: @user #likes.panel.panel-campo .panel-heading - h3.panel-title Likes + h3.panel-title + = t '.likes' .panel-body ul.list-group.list-group-campo data-creator-id=@user.id - if @likes.empty? li.list-group-item.text-center.text-muted.empty-message - | No like yet. + = t '.no_like_yet' - else - @likes.each do |like| = render "users/likes/like/#{like.likeable_type.downcase}", like: like diff --git a/app/views/users/new.html.slim b/app/views/users/new.html.slim index 648880a..0d05419 100644 --- a/app/views/users/new.html.slim +++ b/app/views/users/new.html.slim @@ -3,7 +3,7 @@ .panel.panel-campo .panel-heading h3.panel-title - | Sign up + = t '.sign_up' .panel-body = form_for @user, html: { id: 'new-user-form' } do |f| = render 'share/form_error_messages', form: f @@ -19,7 +19,7 @@ .form-group = f.label :password, class: 'control-label' = f.password_field :password, placeholder: 'Create a password', tabindex: 4, class: 'form-control' - = f.submit 'Create Account', class: 'btn btn-success', tabindex: 5 + = f.submit t('create_account'), class: 'btn btn-success', tabindex: 5 javascript: $('#new-user-form').validate({ diff --git a/app/views/users/topics/index.html.slim b/app/views/users/topics/index.html.slim index b40a45c..3b82941 100644 --- a/app/views/users/topics/index.html.slim +++ b/app/views/users/topics/index.html.slim @@ -3,12 +3,13 @@ = render 'users/profile', user: @user #topics.panel.panel-campo .panel-heading - h3.panel-title Topics + h3.panel-title + = t '.topics' .panel-body .list-group.list-group-campo - if @topics.empty? .list-group-item.text-center.text-muted.empty-message - | No topic yet. + = t '.no_topic_yet' - else = render partial: 'topics/topic', collection: @topics - if @topics.total_pages > 1 diff --git a/config/locales/en.yml b/config/locales/en.yml index 05afd59..f07421f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,5 +1,6 @@ --- en: + create_account: Create account layouts: application: likes: Likes @@ -8,3 +9,83 @@ en: sign_in: Sign in sign_up: Sign up topics: Topics + markdown: + area: + attach_images_by: Attach images by + preview: Preview + select_them: Select them + write: Write + notifications: + index: + are_you_sure_you_want_to_delete_all_notifications: Are you sure you want to + delete all notifications + delete_all_notification: Delete all notification + mark_all_as_read: Mark all as read + notifications: Notifications + sessions: + new: + sign_in: Sign in + subscriptions: + subscription: + ignoring: Ignoring + not_watching: Not watching + stop_ignoring: Stop ignoring + unwatch: Unwatch + watch: Watch + watching: Watching + you_do_not_receive_any_notifications: You do not receive any notifications + you_only_receive_notifications_if_you_are_mentioned: You only receive notifications + if you are mentioned + you_will_receive_notifications_for_all_comments: You will receive notifications + for all comments + topics: + edit: + edit: Edit + form: + create_topic: Create topic + no_category: No category + save_changes: Save changes + index: + all_topics: All topics + hot: Hot + new_topic: New topic + newest: Newest + no_topic_yet: No topic yet + topics: Topics + new: + new: New + show: + add_this_comment: Add this comment + are_you_sure_you_want_to_delete_this_topic: Are you sure you want to delete + this topic? + comments: Comments + no_comment_yet: No comment yet + no_more_topics: No more topics + or: Or + related_topics: Related topics + to_comment: To comment + topics: Topics + your_account_had_been_locked: Your account had been locked + sidebar_search: + search: Search + users: + comments: + index: + comments: Comments + no_comment_yet: No comment yet + likes: + index: + likes: Likes + no_like_yet: No like yet + new: + sign_up: Sign up + profile: + edit_profile: Edit profile + sidebar: + comments: Comments + likes: Likes + topics: Topics + topics: + index: + no_topic_yet: No topic yet + topics: Topics diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index db56330..74fc56b 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -1,10 +1,87 @@ --- zh-CN: + create_account: "创建帐号" layouts: application: - likes: 收藏 - logout: 退出 - settings: 设置 - sign_in: 登录 - sign_up: 注册 - topics: 话题 + likes: "收藏" + logout: "退出" + settings: "设置" + sign_in: "登录" + sign_up: "注册" + topics: "话题" + markdown: + area: + attach_images_by: "添加图片" + preview: "预览" + select_them: "选择文件" + write: "编辑" + notifications: + index: + are_you_sure_you_want_to_delete_all_notifications: "你确定要删除所有通知吗?" + delete_all_notification: "删除所有通知" + mark_all_as_read: "标记所有为已读" + notifications: "通知" + sessions: + new: + sign_in: "登录" + subscriptions: + subscription: + ignoring: "忽略" + not_watching: "未关注" + stop_ignoring: "停止忽略" + unwatch: "不关注" + watch: "关注" + watching: "关注中" + you_do_not_receive_any_notifications: "你不会收到任何通知" + you_only_receive_notifications_if_you_are_mentioned: "你只会在被提及的时候收到通知" + you_will_receive_notifications_for_all_comments: "每当有新评论时你都会收到通知" + topics: + edit: + edit: "编辑" + form: + create_topic: "创建话题" + no_category: "不分类" + save_changes: "保存修改" + index: + all_topics: "所有话题" + hot: "热门" + new_topic: "新话题" + newest: "最新" + no_topic_yet: "还没有话题" + topics: "话题" + new: + new: "新建" + show: + add_this_comment: "添加评论" + are_you_sure_you_want_to_delete_this_topic: "确认删除这个话题?" + comments: "评论" + no_comment_yet: "还没有评论" + no_more_topics: "没有更多话题" + or: "或" + related_topics: "相关话题" + to_comment: "后发表评论" + topics: "话题" + your_account_had_been_locked: "你的帐号已被锁定" + sidebar_search: + search: '搜索' + users: + comments: + index: + comments: "评论" + no_comment_yet: "还没有评论" + likes: + index: + likes: "收藏" + no_like_yet: "还没有收藏" + new: + sign_up: "注册" + profile: + edit_profile: "编辑个人资料" + sidebar: + comments: "评论" + likes: "收藏" + topics: "话题" + topics: + index: + no_topic_yet: "还没有话题" + topics: "话题" diff --git a/lib/tasks/i18n.rake b/lib/tasks/i18n.rake new file mode 100644 index 0000000..25fe64b --- /dev/null +++ b/lib/tasks/i18n.rake @@ -0,0 +1,4 @@ +namespace :i18n do + desc 'update locales, remove unused' + task :update => ['i18n:add_missing', 'i18n:fill:blanks', 'i18n:remove_unused'] +end