sofav 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +35 -0
  4. data/Rakefile +34 -0
  5. data/app/builders/admin/form_builder.rb +250 -0
  6. data/app/controllers/application_controller.rb +23 -0
  7. data/app/decorators/base_decorator.rb +172 -0
  8. data/app/helpers/admin/core_helper.rb +237 -0
  9. data/app/helpers/admin/show_view_helper.rb +69 -0
  10. data/app/helpers/admin/tags_helper.rb +104 -0
  11. data/app/services/active_record/search_service.rb +121 -0
  12. data/app/views/admin/application/_breadcrumb_nav.html.erb +10 -0
  13. data/app/views/admin/application/_collection.html.erb +79 -0
  14. data/app/views/admin/application/_save_js.js.erb +20 -0
  15. data/app/views/admin/application/_sidebar.html.erb +62 -0
  16. data/app/views/admin/application/_topbar.html.erb +32 -0
  17. data/app/views/admin/application/actions/charge.html.erb +3 -0
  18. data/app/views/admin/application/actions/destroy.html.erb +5 -0
  19. data/app/views/admin/application/actions/edit.html.erb +1 -0
  20. data/app/views/admin/application/actions/edit_sights.html.erb +1 -0
  21. data/app/views/admin/application/actions/feedback.html.erb +4 -0
  22. data/app/views/admin/application/actions/index_charge.html.erb +1 -0
  23. data/app/views/admin/application/actions/index_destroy.html.erb +1 -0
  24. data/app/views/admin/application/actions/index_edit.html.erb +1 -0
  25. data/app/views/admin/application/actions/index_edit_sights.html.erb +1 -0
  26. data/app/views/admin/application/actions/index_show.html.erb +1 -0
  27. data/app/views/admin/application/actions/new.html.erb +1 -0
  28. data/app/views/admin/application/create.js.erb +1 -0
  29. data/app/views/admin/application/destroy.js.erb +6 -0
  30. data/app/views/admin/application/edit.html.erb +18 -0
  31. data/app/views/admin/application/index.html.erb +23 -0
  32. data/app/views/admin/application/new.html.erb +18 -0
  33. data/app/views/admin/application/partials/_map_pos_picker.html.erb +101 -0
  34. data/app/views/admin/application/partials/_sort_script.html.erb +32 -0
  35. data/app/views/admin/application/show.html.erb +16 -0
  36. data/app/views/admin/application/update.js.erb +1 -0
  37. data/app/views/admin/dashboard/index.html.erb +8 -0
  38. data/app/views/layouts/admin.html.erb +30 -0
  39. data/config/locales/devise.en.yml +64 -0
  40. data/config/locales/devise.zh-CN.yml +120 -0
  41. data/config/locales/doorkeeper.en.yml +124 -0
  42. data/config/locales/doorkeeper.zh-CN.yml +132 -0
  43. data/config/locales/en.yml +23 -0
  44. data/config/locales/enumerize/defaults.zh-CN.yml +7 -0
  45. data/config/locales/kaminari.zh-CN.yml +17 -0
  46. data/config/locales/rails.zh-CN.yml +204 -0
  47. data/config/locales/views/actions.zh-CN.yml +21 -0
  48. data/config/locales/views/attributes.zh-CN.yml +15 -0
  49. data/config/locales/views/breadcrumb.zh-CN.yml +5 -0
  50. data/config/locales/views/common.zh-CN.yml +7 -0
  51. data/config/locales/views/enums.zh-CN.yml +13 -0
  52. data/config/locales/views/profiles.zh-CN.yml +3 -0
  53. data/lib/generators/sofav/USAGE +0 -0
  54. data/lib/generators/sofav/sofav_generator.rb +50 -0
  55. data/lib/generators/sofav/templates/activerecord.zh-CN.yml +4 -0
  56. data/lib/generators/sofav/templates/attribute_types.zh-CN.yml +2 -0
  57. data/lib/sofav.rb +6 -0
  58. data/lib/sofav/decorator.rb +47 -0
  59. data/lib/sofav/local.rb +52 -0
  60. data/lib/sofav/version.rb +3 -0
  61. data/lib/tasks/sofa_tasks.rake +4 -0
  62. data/vendor/assets/javascripts/admin/here.js +0 -0
  63. data/vendor/assets/javascripts/bootbox.js +1020 -0
  64. data/vendor/assets/javascripts/bootstrap.js +2377 -0
  65. data/vendor/assets/javascripts/jquery-ui.js +5169 -0
  66. data/vendor/assets/javascripts/select2.js +5725 -0
  67. data/vendor/assets/stylesheets/bootstrap.css +6800 -0
  68. data/vendor/assets/stylesheets/bootstrap.css.map +1 -0
  69. data/vendor/assets/stylesheets/jquery-ui.css +453 -0
  70. data/vendor/assets/stylesheets/select2.css +484 -0
  71. metadata +211 -0
@@ -0,0 +1,16 @@
1
+ <div class="card">
2
+ <div class="title">
3
+ <span>
4
+ <%= decorate.try(:show_page_title) || "查看" %>
5
+ </span>
6
+ <div class="pull-right btn-groups">
7
+ <%= yield(:permitted_methods).presence || render_class_actions(decorator) %>
8
+ </div>
9
+ </div>
10
+ <div class="body">
11
+ <%= yield(:breadcrumb_nav).presence || render('breadcrumb_nav') %>
12
+ <div class="show-box">
13
+ <%= build_view_for(:show_page_attributes) %>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1 @@
1
+ <%= render 'save_js' %>
@@ -0,0 +1,8 @@
1
+ <div class="card">
2
+ <div class="title">
3
+ <span>Dashboard</span>
4
+ </div>
5
+ <div class="body" style="text-align:center;">
6
+ <h2>欢迎来到Sofa系统</h2>
7
+ </div>
8
+ </div>
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= yield(:title).presence %></title>
5
+ <meta charset="utf-8">
6
+ <%= csrf_meta_tags %>
7
+
8
+ <%= favicon_link_tag asset_url("favicon.png"), type: 'image/png'%>
9
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
10
+ <meta name="viewport" content="width=800">
11
+ <meta name="renderer" content="webkit">
12
+ <%= stylesheet_link_tag 'admin/application', media: 'all', 'data-turbolinks-track': 'reload' %>
13
+ <%= javascript_include_tag 'admin/application', 'data-turbolinks-track': 'reload' %>
14
+ <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
15
+ </head>
16
+
17
+ <body>
18
+ <div class="admin">
19
+ <%= render 'topbar' %>
20
+
21
+ <div class="main">
22
+ <%= render 'sidebar' %>
23
+ <div class="content">
24
+ <%= yield %>
25
+ </div>
26
+ </div>
27
+ </div>
28
+
29
+ </body>
30
+ </html>
@@ -0,0 +1,64 @@
1
+ # Additional translations at https://github.com/plataformatec/devise/wiki/I18n
2
+
3
+ en:
4
+ devise:
5
+ confirmations:
6
+ confirmed: "Your email address has been successfully confirmed."
7
+ send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
8
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
9
+ failure:
10
+ already_authenticated: "You are already signed in."
11
+ inactive: "Your account is not activated yet."
12
+ invalid: "Invalid %{authentication_keys} or password."
13
+ locked: "Your account is locked."
14
+ last_attempt: "You have one more attempt before your account is locked."
15
+ not_found_in_database: "Invalid %{authentication_keys} or password."
16
+ timeout: "Your session expired. Please sign in again to continue."
17
+ unauthenticated: "You need to sign in or sign up before continuing."
18
+ unconfirmed: "You have to confirm your email address before continuing."
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: "Confirmation instructions"
22
+ reset_password_instructions:
23
+ subject: "Reset password instructions"
24
+ unlock_instructions:
25
+ subject: "Unlock instructions"
26
+ email_changed:
27
+ subject: "Email Changed"
28
+ password_change:
29
+ subject: "Password Changed"
30
+ omniauth_callbacks:
31
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
32
+ success: "Successfully authenticated from %{kind} account."
33
+ passwords:
34
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
35
+ send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
36
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
37
+ updated: "Your password has been changed successfully. You are now signed in."
38
+ updated_not_active: "Your password has been changed successfully."
39
+ registrations:
40
+ destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
41
+ signed_up: "Welcome! You have signed up successfully."
42
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
43
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
44
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
45
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
46
+ updated: "Your account has been updated successfully."
47
+ sessions:
48
+ signed_in: "Signed in successfully."
49
+ signed_out: "Signed out successfully."
50
+ already_signed_out: "Signed out successfully."
51
+ unlocks:
52
+ send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
53
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
54
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue."
55
+ errors:
56
+ messages:
57
+ already_confirmed: "was already confirmed, please try signing in"
58
+ confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
59
+ expired: "has expired, please request a new one"
60
+ not_found: "not found"
61
+ not_locked: "was not locked"
62
+ not_saved:
63
+ one: "1 error prohibited this %{resource} from being saved:"
64
+ other: "%{count} errors prohibited this %{resource} from being saved:"
@@ -0,0 +1,120 @@
1
+ zh-CN:
2
+ activerecord:
3
+ attributes:
4
+ user:
5
+ current_password: "密码"
6
+ email: "电子邮箱"
7
+ password: "密码"
8
+ password_confirmation: "密码确认"
9
+ remember_me: "记住登录信息"
10
+ reset_password_token:
11
+ unlock_token:
12
+ models:
13
+ user: "用户"
14
+ devise:
15
+ confirmations:
16
+ confirmed: "恭喜您,注册成功,现在可以登录了"
17
+ new:
18
+ resend_confirmation_instructions: "重新发送确认邮件"
19
+ send_instructions: "几分钟后,您将收到确认帐号的电子邮件."
20
+ send_paranoid_instructions: "您将收到一封确认账号的邮件.,请注意查收"
21
+ failure:
22
+ already_authenticated: "登录成功"
23
+ inactive: "您的账号还未激活"
24
+ invalid: "*手机号或密码错误"
25
+ last_attempt: "你还有一次尝试正确的密码,过后你的帐户会被锁住"
26
+ locked: "该手机号已被注册占用"
27
+ not_found_in_database: "*手机号或密码错误"
28
+ timeout: "登录超时,请重新登录."
29
+ unauthenticated: ""
30
+ unconfirmed: "继续操作前请先确认您的帐号."
31
+ mailer:
32
+ confirmation_instructions:
33
+ action: "确认我的帐户"
34
+ greeting: "欢迎 %{recipient}!"
35
+ instruction: "您可以通过下面的链接确认您的帐户的电子邮件:"
36
+ subject: "确认信息"
37
+ password_change:
38
+ greeting:
39
+ message:
40
+ subject:
41
+ reset_password_instructions:
42
+ action: "更改我的密码"
43
+ greeting: "你好 %{recipient}!"
44
+ instruction: "有人要求更改密码的链接,您可以通过下面的链接更改密码:"
45
+ instruction_2: "如果您没有要求请求更改密码,请忽略此电子邮件。"
46
+ instruction_3: "如果你没有访问上面的链接并更改密码,你的密码就不会被改变。"
47
+ subject: "重置密码信息"
48
+ unlock_instructions:
49
+ action: "帐户解锁"
50
+ greeting: "你好 %{recipient}!"
51
+ instruction: "点击下面的链接到您的帐户解锁:"
52
+ message: "由于多次的不成功的登入尝试,您的帐户已被锁定。"
53
+ subject: "解锁信息"
54
+ omniauth_callbacks:
55
+ failure: "因为%{reason},所以您无法从%{kind}获得授权."
56
+ success: "成功地从%{kind}获得授权."
57
+ passwords:
58
+ edit:
59
+ change_my_password: "更改我的密码"
60
+ change_your_password: "更改您的密码"
61
+ confirm_new_password: "确认新密码"
62
+ new_password: "新密码"
63
+ new:
64
+ forgot_your_password: "找回密码"
65
+ send_me_reset_password_instructions: "请给我发送重设密码的邮件"
66
+ no_token: "您暂时不能访问此页面。您需要通过密码重置邮件中的重置链接来访问此页面,如果您正是通过重置链接访问,请确定链接的正确性。"
67
+ send_instructions: "几分钟后,您将收到重置密码的手机短信."
68
+ send_paranoid_instructions: "如果您的邮箱存在于我们的数据库中,您将收到一封找回密码的邮件."
69
+ updated: "您的密码已修改成功,您现在已登录."
70
+ updated_not_active: "密码修改成功."
71
+ registrations:
72
+ destroyed: "再见!您的帐户已成功注销。我们希望很快可以再见到您."
73
+ edit:
74
+ are_you_sure: "你确定吗?"
75
+ cancel_my_account: "取消我的帐户"
76
+ currently_waiting_confirmation_for_email: "等待 %{email} 的确认"
77
+ leave_blank_if_you_don_t_want_to_change_it: "你不想去改变它,不需要填写"
78
+ title: "修改 %{resource}"
79
+ unhappy: "不喜欢"
80
+ update: "更新"
81
+ we_need_your_current_password_to_confirm_your_changes: "我们需要您的当前密码以确认您的更改"
82
+ new:
83
+ sign_up: "注册"
84
+ signed_up: "欢迎您!您已注册成功."
85
+ signed_up_but_inactive: "谢谢您!然而您的账号还未被激活,在这之前无法登陆。"
86
+ signed_up_but_locked: "谢谢您!然而您的账号已被锁定,无法登陆。"
87
+ signed_up_but_unconfirmed: "谢谢您!一封确认邮件已经发至您的邮箱,请点击其中的链接激活您的账号。"
88
+ update_needs_confirmation: "新的账号信息已成功提交,一封确认邮件已经发至您的邮箱,请点击其中的链接以使您的新E-mail地址生效。"
89
+ updated: "帐号资料更新成功."
90
+ sessions:
91
+ already_signed_out: "成功的登出"
92
+ new:
93
+ sign_in: "登录"
94
+ signed_in: "登录成功."
95
+ signed_out: "退出成功."
96
+ shared:
97
+ links:
98
+ back: "返回"
99
+ didn_t_receive_confirmation_instructions: "没有收到确认邮件?"
100
+ didn_t_receive_unlock_instructions: "没有收到解锁邮件?"
101
+ forgot_your_password: "忘记密码?"
102
+ sign_in: "登录"
103
+ sign_in_with_provider: "用 %{provider} 登录"
104
+ sign_up: "注册"
105
+ unlocks:
106
+ new:
107
+ resend_unlock_instructions: "重发解锁邮件"
108
+ send_instructions: "几分钟后,您将收到一封解锁帐号的邮件."
109
+ send_paranoid_instructions: "如果您的邮箱存在于我们的数据库中,您将收到一封解锁账号的邮件."
110
+ unlocked: "您的帐号已成功解锁,您现在已登录."
111
+ errors:
112
+ messages:
113
+ already_confirmed: "已经确认,请重新登录."
114
+ confirmation_period_expired: "必须在 %{period} 以内确认,请重新申请"
115
+ expired: "您已过期,请重新申请"
116
+ not_found: "手机未注册"
117
+ not_locked: "未锁定"
118
+ not_saved:
119
+ one: "因为1个错误导致此%{resource}保存失败:"
120
+ other: "因为%{count}个错误导致此%{resource}保存失败:"
@@ -0,0 +1,124 @@
1
+ en:
2
+ activerecord:
3
+ attributes:
4
+ doorkeeper/application:
5
+ name: 'Name'
6
+ redirect_uri: 'Redirect URI'
7
+ errors:
8
+ models:
9
+ doorkeeper/application:
10
+ attributes:
11
+ redirect_uri:
12
+ fragment_present: 'cannot contain a fragment.'
13
+ invalid_uri: 'must be a valid URI.'
14
+ relative_uri: 'must be an absolute URI.'
15
+ secured_uri: 'must be an HTTPS/SSL URI.'
16
+
17
+ doorkeeper:
18
+ applications:
19
+ confirmations:
20
+ destroy: 'Are you sure?'
21
+ buttons:
22
+ edit: 'Edit'
23
+ destroy: 'Destroy'
24
+ submit: 'Submit'
25
+ cancel: 'Cancel'
26
+ authorize: 'Authorize'
27
+ form:
28
+ error: 'Whoops! Check your form for possible errors'
29
+ help:
30
+ redirect_uri: 'Use one line per URI'
31
+ native_redirect_uri: 'Use %{native_redirect_uri} for local tests'
32
+ scopes: 'Separate scopes with spaces. Leave blank to use the default scopes.'
33
+ edit:
34
+ title: 'Edit application'
35
+ index:
36
+ title: 'Your applications'
37
+ new: 'New Application'
38
+ name: 'Name'
39
+ callback_url: 'Callback URL'
40
+ new:
41
+ title: 'New Application'
42
+ show:
43
+ title: 'Application: %{name}'
44
+ application_id: 'Application Id'
45
+ secret: 'Secret'
46
+ scopes: 'Scopes'
47
+ callback_urls: 'Callback urls'
48
+ actions: 'Actions'
49
+
50
+ authorizations:
51
+ buttons:
52
+ authorize: 'Authorize'
53
+ deny: 'Deny'
54
+ error:
55
+ title: 'An error has occurred'
56
+ new:
57
+ title: 'Authorization required'
58
+ prompt: 'Authorize %{client_name} to use your account?'
59
+ able_to: 'This application will be able to'
60
+ show:
61
+ title: 'Authorization code'
62
+
63
+ authorized_applications:
64
+ confirmations:
65
+ revoke: 'Are you sure?'
66
+ buttons:
67
+ revoke: 'Revoke'
68
+ index:
69
+ title: 'Your authorized applications'
70
+ application: 'Application'
71
+ created_at: 'Created At'
72
+ date_format: '%Y-%m-%d %H:%M:%S'
73
+
74
+ errors:
75
+ messages:
76
+ # Common error messages
77
+ invalid_request: 'The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.'
78
+ invalid_redirect_uri: 'The redirect uri included is not valid.'
79
+ unauthorized_client: 'The client is not authorized to perform this request using this method.'
80
+ access_denied: 'The resource owner or authorization server denied the request.'
81
+ invalid_scope: 'The requested scope is invalid, unknown, or malformed.'
82
+ server_error: 'The authorization server encountered an unexpected condition which prevented it from fulfilling the request.'
83
+ temporarily_unavailable: 'The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server.'
84
+
85
+ # Configuration error messages
86
+ credential_flow_not_configured: 'Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.'
87
+ resource_owner_authenticator_not_configured: 'Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfigured.'
88
+
89
+ # Access grant errors
90
+ unsupported_response_type: 'The authorization server does not support this response type.'
91
+
92
+ # Access token errors
93
+ invalid_client: 'Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method.'
94
+ invalid_grant: 'The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.'
95
+ unsupported_grant_type: 'The authorization grant type is not supported by the authorization server.'
96
+
97
+ # Password Access token errors
98
+ invalid_resource_owner: 'The provided resource owner credentials are not valid, or resource owner cannot be found'
99
+
100
+ invalid_token:
101
+ revoked: "The access token was revoked"
102
+ expired: "The access token expired"
103
+ unknown: "The access token is invalid"
104
+
105
+ flash:
106
+ applications:
107
+ create:
108
+ notice: 'Application created.'
109
+ destroy:
110
+ notice: 'Application deleted.'
111
+ update:
112
+ notice: 'Application updated.'
113
+ authorized_applications:
114
+ destroy:
115
+ notice: 'Application revoked.'
116
+
117
+ layouts:
118
+ admin:
119
+ nav:
120
+ oauth2_provider: 'OAuth2 Provider'
121
+ applications: 'Applications'
122
+ home: 'Home'
123
+ application:
124
+ title: 'OAuth authorization required'
@@ -0,0 +1,132 @@
1
+ zh-CN:
2
+ activerecord:
3
+ attributes:
4
+ doorkeeper/application:
5
+ name: '名称'
6
+ redirect_uri: '登录回调地址'
7
+ scopes: 'Scopes'
8
+ errors:
9
+ models:
10
+ doorkeeper/application:
11
+ attributes:
12
+ redirect_uri:
13
+ fragment_present: '不能包含片段(#)'
14
+ invalid_uri: '必须是有效的 URL 格式'
15
+ relative_uri: '必须是绝对的 URL 地址'
16
+ secured_uri: '必须是 HTTPS/SSL 的 URL 地址'
17
+
18
+ doorkeeper:
19
+ applications:
20
+ confirmations:
21
+ destroy: '确定要删除应用吗?'
22
+ buttons:
23
+ edit: '编辑'
24
+ destroy: '删除'
25
+ submit: '提交'
26
+ cancel: '取消'
27
+ authorize: '授权'
28
+ form:
29
+ error: '抱歉! 提交信息的时候遇到了下面的错误'
30
+ help:
31
+ redirect_uri: '每行只能有一个 URL'
32
+ native_redirect_uri: '使用 %{native_redirect_uri} 作为本地测试'
33
+ scopes: '用空格隔开scope,留空则使用默认设置'
34
+ edit:
35
+ title: '修改应用'
36
+ index:
37
+ title: '你的应用'
38
+ new: '创建新应用'
39
+ name: '名称'
40
+ callback_url: '登录回调地址'
41
+ new:
42
+ title: '创建新应用'
43
+ show:
44
+ title: '应用: %{name}'
45
+ application_id: '应用 ID'
46
+ secret: '私钥'
47
+ scopes: 'Scopes'
48
+ callback_urls: '登录回调地址'
49
+ actions: '操作'
50
+
51
+ authorizations:
52
+ buttons:
53
+ authorize: '授权'
54
+ deny: '拒绝'
55
+ error:
56
+ title: '存在错误'
57
+ new:
58
+ title: '需要你授权'
59
+ prompt: '授权 %{client_name} 使用你的帐号?'
60
+ able_to: '此应用将会'
61
+ show:
62
+ title: '授权码'
63
+
64
+ authorized_applications:
65
+ confirmations:
66
+ revoke: '确定要注销此应用的认证信息吗?'
67
+ buttons:
68
+ revoke: '注销'
69
+ index:
70
+ title: '你授权的应用列表'
71
+ application: '应用'
72
+ created_at: '授权时间'
73
+ date_format: '%Y-%m-%d %H:%M:%S'
74
+
75
+ errors:
76
+ messages:
77
+ # Common error messages
78
+ vacant_mobile: "手机号码不能为空"
79
+ vacant_password: "密码不能为空"
80
+ invalid_mobile: "请输入正确有效的手机号码"
81
+ invalid_password: '请输入至少六位以上的密码'
82
+ invalid_account: '该帐号不存在'
83
+ invalid_request: '这个请求缺少必要的参数,或者参数值、格式不正确'
84
+ invalid_redirect_uri: '无效的登录回调地址'
85
+ unauthorized_client: '未授权的应用,请求无法执行'
86
+ access_denied: '用户或服务器拒绝了请求'
87
+ invalid_scope: '请求范围无效、未知或格式不正确'
88
+ server_error: '服务器异常,无法处理请求'
89
+ temporarily_unavailable: '服务器维护中,无法处理请求'
90
+ locked_account: '该帐号已被冻结'
91
+ account_deleted: '该账号已被管理员删除'
92
+
93
+ #configuration error messages
94
+ credential_flow_not_configured: 'Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured.'
95
+ resource_owner_authenticator_not_configured: 'Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged.'
96
+
97
+ # Access grant errors
98
+ unsupported_response_type: '服务器不支持这种 response type'
99
+
100
+ # Access token errors
101
+ invalid_client: '由于未知、不支持或没有客户端,认证失败'
102
+ invalid_grant: '请输入正确的手机号码和密码'
103
+ unsupported_grant_type: '服务器不支持此类型的授权方式'
104
+
105
+ # Password Access token errors
106
+ invalid_resource_owner: '资源所有者认证无效或没有所有者'
107
+
108
+ invalid_token:
109
+ revoked: "您的帐号已在其他设备登录,请重新登录"
110
+ expired: "帐号授权已过期,请重新登录"
111
+ unknown: "Access Token 无效"
112
+
113
+ flash:
114
+ applications:
115
+ create:
116
+ notice: '应用创建成功'
117
+ destroy:
118
+ notice: '应用删除成功'
119
+ update:
120
+ notice: '应用修改成功'
121
+ authorized_applications:
122
+ destroy:
123
+ notice: '已成功注销了应用的认证信息'
124
+
125
+ layouts:
126
+ admin:
127
+ nav:
128
+ oauth2_provider: 'OAuth2 Provider'
129
+ applications: '应用'
130
+ home: '首页'
131
+ application:
132
+ title: 'OAuth 认证'