You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dw...@apache.org on 2009/01/14 19:19:36 UTC

svn commit: r734466 [3/4] - in /geronimo/server/trunk/plugins: activemq/activemq-portlets/src/main/resources/ activemq/activemq-portlets/src/main/webapp/WEB-INF/view/jmswizard/ console/console-base-portlets/src/main/resources/ console/console-base-port...

Modified: geronimo/server/trunk/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties?rev=734466&r1=734465&r2=734466&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties (original)
+++ geronimo/server/trunk/plugins/console/plugin-portlets/src/main/resources/pluginportlets_zh.properties Wed Jan 14 10:19:35 2009
@@ -178,100 +178,140 @@
 consolebase.common.user            = \u7528\u6237
 consolebase.common.userName        = \u7528\u6237\u540D
 
-realmwizard._sql.JDBCDriverClassExp              = JDBC \u9A71\u52A8\u7C7B\u7684\u5B8C\u5168\u9650\u5B9A\u540D\u3002\u8981\u6C42\u9A71\u52A8\u7C7B\u5FC5\u987B\u80FD\u5728\u4E0B\u4E00\u4E2A\u5B57\u6BB5\u6307\u5B9A\u7684JAR\u5305\u4E2D\u627E\u5230\u3002
-realmwizard._sql.JDBCPasswordExp                 = \u8FDE\u63A5\u6570\u636E\u5E93\u7684\u5BC6\u7801
-realmwizard._sql.JDBCUrlExp                      = JDBC URL \u6307\u5B9A\u4E86\u8981\u8FDE\u63A5\u6570\u636E\u5E93\u65F6\u7684\u7EC6\u8282\u3002\u5BF9\u4E8E\u4E0D\u540C\u7684 JDBC \u9A71\u52A8\uFF0C\u683C\u5F0F\u5C06\u6709\u6240\u4E0D\u540C\u3002
-realmwizard._sql.JDBCUsernameExp                 = \u8FDE\u63A5\u6570\u636E\u5E93\u7684\u7528\u6237\u540D
-realmwizard._sql.databasePoolExp                 = \u767B\u5F55\u6A21\u5757\u7528\u6765\u8FDE\u63A5\u6570\u636E\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u3002\u5982\u679C\u6307\u5B9A\u4E86\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u7684\u8BDD\uFF0C\u4E0B\u9762\u7684\u5176\u5B83\u8BBE\u7F6E\u90FD\u4E0D\u662F\u5FC5\u987B\u7684\u3002
-realmwizard._sql.digestAlgorithmExp              = \u5BF9\u4E8E\u6B64\u53E3\u4EE4\u8981\u4F7F\u7528\u7684\u6D88\u606F\u6458\u8981\u7B97\u6CD5 (\u4F8B\u5982 MD5, SHA1 \u7B49).  \u5982\u679C\u4E0D\u4F7F\u7528\u6D88\u606F\u6458\u8981\u7B97\u6CD5\uFF0C\u8BF7\u4F7F\u6B64\u503C\u4E3A\u7A7A\u3002
-realmwizard._sql.digestEncodingExp               = \u5BF9\u6458\u8981\u7684\u7F16\u7801 (\u4F8B\u5982 hex, base64).  \u4EC5\u5F53\u6307\u5B9A\u4E86\u6D88\u606F\u6458\u8981\u7B97\u6CD5\u65F6\u4F7F\u7528\u3002\u5982\u679C\u4E0D\u77E5\u9053\u7F16\u7801\u7B97\u6CD5\uFF0C\u4F1A\u9ED8\u8BA4\u4F7F\u7528hex\u7B97\u6CD5\u3002
-realmwizard._sql.driverJARExp                    = \u5305\u542B\u9009\u5B9A JDBC \u9A71\u52A8\u7684 JAR \u5305\u3002\u5FC5\u987B\u5B89\u88C5\u5230GERONIMO/repository/\u76EE\u5F55\u540E\u624D\u4F1A\u5728\u5217\u8868\u4E2D\u663E\u793A\u3002
-realmwizard._sql.eitherPoolOrJDBC                = SQL \u5B89\u5168\u57DF\u5FC5\u987B\u901A\u8FC7\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6216\u8005 JDBC \u8FDE\u63A5\u6765\u8FDE\u5230\u6570\u636E\u5E93\u3002\u8BF7\u9009\u62E9\u662F\u4F7F\u7528\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\uFF0C\u8FD8\u662F\u4F7F\u7528JDBC\u3002
-realmwizard._sql.groupSelectSQLExp               = \u7528\u6765\u83B7\u5F97\u7528\u6237\u6240\u5C5E\u7EC4\u7684\u4FE1\u606F\u3002\u8FD9\u4E2A\u8BED\u53E5\u5E94\u8BE5\u8FD4\u56DE\u4E24\u5217\u503C\uFF0C\u7B2C\u4E00\u5217\u662F\u7528\u6237\u540D\uFF0C\u7B2C\u4E8C\u5217\u662F\u7EC4\u540D\u3002\u8FD9\u4E2A\u8BED\u53E5\u53EF\u4EE5\u4F7F\u7528 PreparedStatement \u8BED\u6CD5\uFF0C\u7528?\u6765\u8868\u793A\u53C2\u6570\u3002\u4E00\u4E2A\u5178\u578B\u7684\u8BBE\u7F6E\u662F <tt>SELECT username, group_name FROM user_groups WHERE username=?</tt>\u6216\u8005\uFF0C\u4E3A\u4E86\u83B7\u5F97\u66F4\u52A0\u89C4\u8303\u7684\u6A21\u5F0F\uFF0C\u53EF\u7528<tt>SELECT u.username, g.name FROM app_users u, groups g, user_groups ug WHERE ug.user_id=users.id AND ug.group_id=g.id AND u.username=?</tt>\u3002
-realmwizard._sql.selectDatabasePool              = SQL \u5B89\u5168\u57DF\u5FC5\u987B\u901A\u8FC7\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6216\u8005 JDBC \u8FDE\u63A5\u6765\u8FDE\u5230\u6570\u636E\u5E93\u3002\u8BF7\u9009\u62E9\u662F\u4F7F\u7528\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\uFF0C\u8FD8\u662F\u4F7F\u7528JDBC\u3002
-realmwizard._sql.userSelectSQLExp                = \u7528\u6765\u83B7\u5F97\u7528\u6237\u540D/\u5BC6\u7801\u7684 SQL \u8BED\u53E5\u3002\u8FD9\u4E2A\u8BED\u53E5\u5E94\u8BE5\u8FD4\u56DE\u4E24\u5217\u503C\uFF0C\u7B2C\u4E00\u5217\u662F\u7528\u6237\u540D\uFF0C\u7B2C\u4E8C\u5217\u662F\u5BC6\u7801\u3002\u8FD9\u4E2A\u8BED\u53E5\u53EF\u4EE5\u4F7F\u7528 PreparedStatement \u8BED\u6CD5\uFF0C\u7528 ? \u6765\u8868\u793A\u53C2\u6570\u3002\u4E00\u4E2A\u5178\u578B\u7684\u8BBE\u7F6E\u662F<tt>SELECT username, password FROM app_users WHERE username=?</tt>
-realmwizard.advanced.AuditEnabledExp             = \u5982\u679C\u542F\u7528\uFF0C\u6BCF\u6B21\u5C1D\u8BD5\u767B\u5F55\u90FD\u4F1A\u88AB\u8BB0\u5F55\u5230\u7279\u5B9A\u7684\u6587\u4EF6\u3002\u6587\u4EF6\u8DEF\u5F84\u5E94\u76F8\u5BF9\u4E8E Geronimo \u7684\u5BB6\u76EE\u5F55\uFF08\u901A\u5E38\u7684\u53D6\u503C\u53EF\u80FD\u662F<tt>var/log/login-attempts.log</tt>\uFF09\u3002
-realmwizard.advanced.credentialName              = \u8BC1\u4E66\u540D\u79F0
-realmwizard.advanced.credentialNameExp           = \u5982\u679C\u542F\u7528\uFF0C\u5B89\u5168\u57DF\u5C06\u5B58\u50A8\u6BCF\u4E2A\u7528\u6237\u540D\u548C\u5BC6\u7801\u5230\u4E00\u4E2A\u79C1\u6709\u8BC1\u4E66,\u8BE5\u8BC1\u4E66\u4F4D\u4E8E\u7279\u5B9A\u8BC1\u4E66\u540D\u79F0\u4E0B\u7684Subject\u4E2D.
-realmwizard.advanced.failuresWithin              = \u6B21\u767B\u5F55\u5931\u8D25\u540E\uFF0C\u5728
-realmwizard.advanced.failuresWithinSeconds       = \u79D2\u5185
-realmwizard.advanced.keepAccountLockedFor        = \u5E76\u4FDD\u6301\u5E10\u53F7\u9501\u5B9A
-realmwizard.advanced.keepAccountLockedForSeconds = \u79D2
-realmwizard.advanced.lockUserAfter               = \u9501\u5B9A\u7528\u6237\u5728
-realmwizard.advanced.lockoutEnabledExp           = \u5982\u679C\u542F\u7528\uFF0C\u7528\u6237\u5728\u4E00\u5B9A\u65F6\u95F4\u6BB5\u5185\u767B\u5F55\u5931\u8D25\u4E00\u5B9A\u6B21\u6570\u540E\u7528\u6237\u7684\u5E10\u53F7\u5C06\u4F1A\u88AB\u9501\u5B9A\u4E00\u6BB5\u65F6\u95F4\u3002\u8FD9\u53EF\u4EE5\u7528\u6765\u9632\u6B62\u66B4\u529B\u7834\u89E3\u5E10\u53F7\u7684\u653B\u51FB\u3002
-realmwizard.advanced.namedCredential             = Named Credential
-realmwizard.advanced.storePasswordEnabledExp     = \u5982\u679C\u542F\u7528\uFF0C\u6BCF\u4E2A\u7528\u6237\u7684\u5BC6\u7801\u4F1A\u4FDD\u5B58\u5728Subject\u7684\u79C1\u6709credential\u4E2D\u3002\u8FD9\u5C06\u5141\u8BB8\u5728\u767B\u5F55\u5B8C\u6210\u4EE5\u540E\uFF0C\u53EF\u4EE5\u5F97\u5230\u5BC6\u7801\u3002 \u8FD9\u901A\u5E38\u4E0D\u662F\u5FC5\u987B\u7684\u3002
-realmwizard.advanced.title                       = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u6B65\u9AA43:\u9AD8\u7EA7\u914D\u7F6E\u9009\u9879
-realmwizard.common.JDBCDriverClass               = JDBC\u9A71\u52A8\u7C7B
-realmwizard.common.JDBCPassword                  = JDBC\u5BC6\u7801
-realmwizard.common.JDBCUrl                       = JDBC URL
-realmwizard.common.JDBCUsername                  = JDBC\u7528\u6237\u540D
-realmwizard.common.addSecurityRealm              = \u6DFB\u52A0\u65B0\u7684\u5B89\u5168\u57DF
-realmwizard.common.addToEAR                      = \u6DFB\u52A0\u5230EAR\u4E2D
-realmwizard.common.comfirmPwd                    = \u786E\u8BA4\u5BC6\u7801
-realmwizard.common.configurationOptions          = \u914D\u7F6E\u9009\u9879
-realmwizard.common.controlFlag                   = \u63A7\u5236\u6807\u5FD7
-realmwizard.common.databasePool                  = \u6570\u636E\u5E93\u8FDE\u63A5\u6C60
-realmwizard.common.deploy                        = \u90E8\u7F72
-realmwizard.common.deployCommand                 = \u90E8\u7F72\u547D\u4EE4
-realmwizard.common.deployRealm                   = \u90E8\u7F72\u5B89\u5168\u57DF
-realmwizard.common.deploymentPlan                = \u90E8\u7F72\u8BA1\u5212
-realmwizard.common.digestAlgorithm               = \u6458\u8981\u7B97\u6CD5
-realmwizard.common.digestEncoding                = \u6458\u8981\u7F16\u7801
-realmwizard.common.driverJAR                     = \u9A71\u52A8JAR
-realmwizard.common.editRealm                     = \u7F16\u8F91\u5B89\u5168\u57DF
-realmwizard.common.editSettings                  = \u7F16\u8F91\u8BBE\u7F6E
-realmwizard.common.enableAuditing                = \u6253\u5F00\u5BA1\u6838\u529F\u80FD
-realmwizard.common.enableLockout                 = \u6253\u5F00\u9501\u5B9A\u529F\u80FD
-realmwizard.common.groupSelectSQL                = Group SELECT SQL
-realmwizard.common.logFile                       = \u65E5\u5FD7\u6587\u4EF6
-realmwizard.common.loginDomainName               = \u767B\u5F55\u57DF\u540D
-realmwizard.common.loginModule                   = \u767B\u5F55\u6A21\u5757
-realmwizard.common.loginModuleClass              = \u767B\u5F55\u6A21\u5757\u7C7B
-realmwizard.common.nameOfSecurityRealm           = \u5B89\u5168\u57DF\u540D\u79F0
-realmwizard.common.principals                    = \u4E3B\u4F53
-realmwizard.common.realmName                     = \u5B89\u5168\u57DF\u540D\u79F0
-realmwizard.common.realmType                     = \u5B89\u5168\u57DF\u7C7B\u578B
-realmwizard.common.serverSide                    = \u670D\u52A1\u5668\u7AEF
-realmwizard.common.serverWide                    = \u670D\u52A1\u5668\u8303\u56F4
-realmwizard.common.showPlan                      = \u663E\u793A\u90E8\u7F72\u8BA1\u5212
-realmwizard.common.skipTestAndDeploy             = \u8DF3\u8FC7\u6D4B\u8BD5\u5E76\u90E8\u7F72
-realmwizard.common.skipTestAndShowPlan           = \u8DF3\u8FC7\u6D4B\u8BD5\u5E76\u663E\u793A\u90E8\u7F72\u8BA1\u5212
-realmwizard.common.storePassword                 = \u5B58\u50A8\u5BC6\u7801
-realmwizard.common.supportAdvancedMapping        = \u652F\u6301\u9AD8\u7EA7\u6620\u5C04
-realmwizard.common.testAgain                     = \u518D\u6B21\u6D4B\u8BD5
-realmwizard.common.testLogin                     = \u6D4B\u8BD5\u767B\u5F55
-realmwizard.common.userSelectSQL                 = User SELECT SQL
-realmwizard.configure.title                      = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA4 2:\u914D\u7F6E\u767B\u5F55\u6A21\u5757
-realmwizard.edit.configurationOptionsExp         = \u767B\u5F55\u6A21\u5757\u5FC5\u987B\u7684\u4EFB\u4F55\u914D\u7F6E\u9009\u9879\uFF0C\u4EE5\u6807\u51C6\u7684Java\u5C5E\u6027\u6587\u4EF6\u683C\u5F0F\uFF08\u4E00\u884C\u4E00\u4E2A\uFF0C\u5982\uFF1A<tt>name=value</tt>\uFF09
-realmwizard.edit.controlFlagExp                  = \u767B\u5F55\u6A21\u5757\u7684\u63A7\u5236\u6807\u5FD7\uFF0C\u7528\u6765\u63A7\u5236\u5F53\u767B\u5F55\u6A21\u5757\u6210\u529F\u6216\u5931\u8D25\u65F6\uFF0C\u603B\u7684\u767B\u5F55\u8FC7\u7A0B\u4F1A\u600E\u6837\u3002\u66F4\u8BE6\u7EC6\u7684\u4FE1\u606F\uFF0C\u8BF7\u770B
-realmwizard.edit.ifLeaveBlank                    = \u5982\u679C\u4F60\u4E0D\u9700\u8981\u4F7F\u7528\u4E0B\u5217\u6240\u6709\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u53EA\u9700\u8981\u628A\u989D\u5916\u7684\u6A21\u5757\u7559\u7A7A\u5373\u53EF\u3002
-realmwizard.edit.loginDomainExp                  = \u8FD9\u4E2A\u767B\u5F55\u6A21\u5757\u5BF9\u5E94\u7684\u767B\u5F55\u57DF\uFF0C\u6A21\u5757\u540D\u79F0\u5728\u5B89\u5168\u57DF\u7684\u6240\u6709\u6A21\u5757\u4E2D\u5FC5\u987B\u662F\u552F\u4E00\u7684\u3002\u8FD9\u6837\u5C31\u53EF\u4EE5\u901A\u8FC7\u4E3B\u4F53(principal) \u6765\u533A\u5206\u4E24\u4E2A\u76F8\u540C\u7684\u767B\u5F55\u6A21\u5757\u3002\uFF08\u4F8B\u5982\uFF0C\u4ECE\u4E24\u4E2ALDAP\u767B\u5F55\u6A21\u5757\u6307\u5411\u4E24\u4E2A\u4E0D\u540C\u7684LDAP\u670D\u52A1\u5668\uFF09
-realmwizard.edit.loginModuleClassExp             = \u767B\u5F55\u6A21\u5757\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
-realmwizard.edit.loginModuleJAR                  = \u767B\u5F55\u6A21\u5757JAR
-realmwizard.edit.loginModuleJARExp               = \u6B64jar\u6587\u4EF6\u4E2D\u5305\u542B\u767B\u5F55\u6A21\u5757\u7C7B\u548C\u4E3B\u4F53\u7C7B.
-realmwizard.edit.realmNameExp                    = \u53D6\u4E00\u4E2A\u4E0D\u540C\u4E8E\u670D\u52A1\u5668\u4E2D\u4EFB\u4F55\u5176\u4ED6\u5B89\u5168\u57DF\u7684\u540D\u79F0\u3002\u540D\u79F0\u4E2D\u8BF7\u4E0D\u8981\u6709\u7A7A\u683C\u3002\u5176\u4ED6\u7EC4\u4EF6\u5C06\u4F7F\u7528\u8FD9\u4E2A\u540D\u79F0\u6765\u6307\u5411\u6B64\u5B89\u5168\u57DF\u3002
-realmwizard.edit.serverSideExp                   = \u5728\u5E94\u7528\u670D\u52A1\u5668\u4E2D\u6267\u884CServer-side\u7684\u767B\u5F55\u6A21\u5757\uFF08\u8FD9\u901A\u5E38\u662F\u6B63\u786E\u7684\uFF09\u3002\u5728\u5BA2\u6237\u7AEF\u73AF\u5883\u6267\u884C\u7684\u662FClient-side\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u4E3E\u4F8B\u6765\u8BF4\uFF0C\u4E3A\u4E86\u4F7F\u7528\u5BA2\u6237\u64CD\u4F5C\u7CFB\u7EDF\u7CFB\u7EDF\u7684\u5355\u70B9\u767B\u5F55\u7279\u6027\u3002
-realmwizard.edit.summary                         = <p>\u8FD9\u4E2A\u9875\u9762\u7528\u6765\u7F16\u8F91\u65B0\u7684\u6216\u5DF2\u5B58\u5728\u7684\u5B89\u5168\u57DF\u3002</p><p>\u4E00\u4E2A\u5B89\u5168\u57DF\u53EF\u80FD\u5305\u542B\u4E00\u4E2A\u6216\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u3002\u5F88\u591A\u7B80\u5355\u7684\u5B89\u5168\u57DF\u4EC5\u4EC5\u5305\u542B\u4E00\u4E2A\u767B\u5F55\u6A21\u5757\u3002\u53EF\u4EE5\u4F7F\u7528\u989D\u5916\u7684\u767B\u5F55\u6A21\u5757\u6765\u8BBF\u95EE\u66F4\u591A\u7684\u5B89\u5168\u76F8\u5173\u4FE1\u606F\u3002\u6216\u8005\u6DFB\u52A0\u7C7B\u4F3C\u4E8E\u5BA1\u6838\u5B89\u5168\u57DF\u800C\u4E0D\u5F71\u54CD\u5B89\u5168\u57DF\u9A8C\u8BC1\u6D41\u7A0B\u7684\u529F\u80FD\u3002
-realmwizard.edit.supportAdvancedMappingExp       = \u901A\u5E38\uFF0CGeronimo\u4E0D\u80FD\u533A\u522B\u6709\u540C\u6837\u540D\u79F0\u7684\u4E24\u4E2A\u4E0D\u540C\u7684\u4E3B\u4F53\uFF0C\u4EE5\u53CA\u4E24\u4E2A\u4E0D\u540C\u767B\u5F55\u6A21\u5757\u4EA7\u751F\u7684\u540C\u6837\u7684\u4E3B\u4F53\u7C7B\u3002\u5982\u679C\u542F\u7528\u5219\u8FD9\u4E2A\u9009\u9879\uFF0CGeronimo \u4F1A\u5305\u88C5\u4E3B\u4F53\u5E76\u8DDF\u8E2A\u6BCF\u4E2A\u4E3B\u4F53\u6765\u81EA\u54EA\u4E2A\u5B89\u5168\u57DF\u548C\u767B\u5F55\u6A21\u5757\u3002\u8FD9\u8BA9\u4F60\u53EF\u4EE5\u5728Geronimo \u90E8\u7F72\u8BA1\u5212\u7684\u5B89\u5168\u6620\u5C04\u4E2D\u4F7F\u7528 realm-principal \u548C login-domain-principal \u5143\u7D20\u3002
-realmwizard.list.noSecurityRealms                = \u4E0D\u5B58\u5728\u9884\u5B9A\u4E49\u7684\u5B89\u5168\u57DF
-realmwizard.list.seeExamples                     = \u5BF9\u4E8E\u5217\u51FA\u7684\u6BCF\u4E00\u4E2A\u57DF\uFF0C\u53EF\u4EE5\u70B9\u51FB<b>\u7528\u6CD5</b>\u6765\u67E5\u770B\u5982\u4F55\u5728\u4F60\u7684\u5E94\u7528\u4E2D\u4F7F\u7528\u8BE5\u57DF\u7684\u4F8B\u5B50\u3002
-realmwizard.list.title                           = \u8FD9\u4E2A\u9875\u9762\u663E\u793A\u4E86\u6240\u6709\u53EF\u7528\u7684\u5B89\u5168\u57DF\u3002\u53EF\u4EE5\u7F16\u8F91\u670D\u52A1\u5668\u7EA7\u522B\u7684\u5B89\u5168\u57DF\uFF0C\u4F5C\u4E3A\u5355\u4E2A\u5E94\u7528\u4E00\u90E8\u5206\u88AB\u90E8\u7F72\u7684\u5B89\u5168\u57DF\u5219\u4E0D\u80FD\u88AB\u7F16\u8F91\uFF08\u800C\u5E94\u4FEE\u6539\u5E94\u7528\u90E8\u7F72\u8BA1\u5212\uFF09\u3002
-realmwizard.selectType.nameOfSecurityRealmExp    = \u7ED9\u5B89\u5168\u57DF\u9009\u53D6\u4E00\u4E2A\u4E0D\u540C\u4E8E\u670D\u52A1\u5668\u4E2D\u5176\u5B83\u5B89\u5168\u57DF\u7684\u540D\u79F0\uFF0C\u540D\u79F0\u4E2D\u8BF7\u4E0D\u8981\u6709\u7A7A\u683C\u3002\u5176\u5B83\u7EC4\u4EF6\u5C06\u4F7F\u7528\u8FD9\u4E2A\u540D\u79F0\u6765\u6307\u5411\u8BE5\u5B89\u5168\u57DF\u3002
-realmwizard.selectType.realmTypeExp              = \u767B\u5F55\u6A21\u5757\u7684\u7C7B\u578B\u51B3\u5B9A\u4E86\u5B89\u5168\u57DF\u7C7B\u578B\u3002\u9009\u62E9"Other"\uFF0C\u53EF\u4EE5\u624B\u52A8\u914D\u7F6E\u4E00\u4E9B\u9009\u9879\uFF0C\u5305\u62EC\uFF1A\u81EA\u5B9A\u4E49\u767B\u5F55\u6A21\u5757\u3001\u4F7F\u7528\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u6765\u586B\u5145\u7528\u6237\u8EAB\u4E3B\u4F53\u7684\u5B89\u5168\u57DF\u3002
-realmwizard.selectType.title                     = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA41: \u9009\u62E9\u540D\u79F0\u548C\u7C7B\u578B
-realmwizard.showPlan.addToEARExp                 = \u4F60\u53EF\u4EE5\u5C06\u5B89\u5168\u57DF\u90E8\u7F72\u4E3AEAR\u7684\u4E00\u90E8\u5206\uFF0C\u800C\u4E0D\u662F\u90E8\u7F72\u4E3A\u9876\u5C42\u7684\u5B89\u5168\u57DF\u3002\u8981\u4F7F\u7528\u8FD9\u4E2A\u90E8\u7F72\u8BA1\u5212\u5C06\u5B89\u5168\u57DF\u6DFB\u52A0\u5230EAR\u4E2D\uFF0C\u5728\u4F60\u7684EAR\u4E2D\u521B\u5EFA<tt>META-INF/geronimo-application.xml</tt>\u6587\u4EF6\uFF0C\u5176\u4E2D\u5305\u542B\u4E0A\u9762\u90E8\u7F72\u8BA1\u5212\u4E2D\u7684<tt>dependency</tt>\u5143\u7D20\u548C<tt>gbean</tt>\u5143\u7D20\u3002\u5B83\u5E94\u8BE5\u8C61\u4E0B\u9762\u8FD9\u6837\uFF1A
-realmwizard.showPlan.deployCommandExp            = \u5982\u679C\u5728\u547D\u4EE4\u884C\u4E2D\u4F7F\u7528\u8FD9\u4E2A\u90E8\u7F72\u8BA1\u5212\u6765\u90E8\u7F72\u5B89\u5168\u57DF\uFF0C\u5C06\u5B83\u62F7\u8D1D\u7C98\u5E16\u5230\u4E00\u4E2A\u6587\u4EF6\uFF08\u5982<tt>security-realm.xml</tt>\uFF09\u4E2D\u5E76\u4FDD\u5B58\u3002\u7136\u540E\u8FD0\u884C\u4E0B\u9762\u7684\u547D\u4EE4\uFF1A
-realmwizard.showPlan.title                       = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u663E\u793A\u90E8\u7F72\u8BA1\u5212
-realmwizard.testLogin.passwordExp                = \u7528\u6765\u767B\u5F55\u5230\u5B89\u5168\u57DF\u7684\u5BC6\u7801\u3002
-realmwizard.testLogin.summary                    = \u5728\u8FD9\u91CC\u4F60\u53EF\u4EE5\u4E3A\u5B89\u5168\u57DF\u7684\u4E3B\u767B\u5F55\u6A21\u5757\u8F93\u5165\u7528\u6237\u540D\u548C\u5BC6\u7801\uFF0C\u68C0\u67E5\u767B\u5F55\u662F\u5426\u6210\u529F\uFF0C\u67E5\u770B\u4E3A\u7528\u6237\u751F\u6210\u4E86\u54EA\u4E9B\u4E3B\u4F53\u3002\u8FD9\u53EF\u4EE5\u6307\u793A\u4E3B\u767B\u5F55\u6A21\u5757\u7684\u8BBE\u7F6E\u662F\u5426\u6B63\u786E\u3002\u5B83\u4E0D\u4F1A\u8C03\u7528\u8C61\u5BA1\u6838\uFF0C\u9501\u5B9A\u5E10\u53F7\u7B49\u9AD8\u7EA7\u529F\u80FD\u3002
-realmwizard.testLogin.title                      = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA44\uFF1A\u6D4B\u8BD5\u767B\u5F55
-realmwizard.testLogin.usernameExp                = \u7528\u6765\u767B\u5F55\u5230\u5B89\u5168\u57DF\u7684\u7528\u6237\u540D\u3002
-realmwizard.testResults.testResults              = \u6D4B\u8BD5\u7ED3\u679C
-realmwizard.testResults.title                    = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u6B65\u9AA45: \u767B\u5F55\u7ED3\u679C
-realmwizard.usage.applicationCode                = \u5E94\u7528\u7A0B\u5E8F\u4EE3\u7801
-realmwizard.usage.applicationCodeExp             = <p>\u4F7F\u7528\u5B89\u5168\u89D2\u8272\uFF0C\u5E76\u4E0D\u9700\u8981\u7279\u6B8A\u7684\u5E94\u7528\u7A0B\u5E8F\u4EE3\u7801\u3002</p><p>\u5982\u679C\u5E94\u7528\u7A0B\u5E8F\u4E2D\u8C03\u7528<tt>HttpServletRequest.getUserPrincipal()</tt>\uFF0CGeronimo\u4F1A\u8FD4\u56DE\u4E00\u4E2A\u5B9E\u73B0<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\u7684principal\u7C7B\u7684\u5B9E\u4F8B\u3002--\u901A\u5E38\u662F\u7528\u6237\u540D\uFF08\u56E0\u4E3A<tt>GeronimoUserPrincipal</tt>\u5B9E\u73B0\u4E86<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\uFF09\u3002\u5982\u679C\u4F60\u6B63\u5728\u4F7F\u7528\u81EA\u5B9A\u4E49\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u800C\u8C03\u7528<tt>getUserPrincipal</tt>\u65F6\u5F97\u5230\u4E86\u9519\u8BEF\u7684\u7ED3\u679C\u3002\u5C1D\u8BD5\u5C06\u4F60\u7684user principal\u7C7B\u5B9E\u73B0<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\u3002</p> <p>\u5982\u679C\u5E94\u7528\u8C03\u7528<tt>HttpServletRequest.isUserInRole(role)<
 /tt>\uFF0CGeronimo\u5C06\u4F1A\u6839\u636E\u5B89\u5168\u57DF\u767B\u5F55\u6A21\u5757\u5206\u914D\u7ED9\u8BE5\u7528\u6237\u7684principal\u662F\u5426\u5217\u51FA\u5728\u4E0A\u9762\u7684\u89D2\u8272\u6620\u5C04\u4E2D\u6765\u51B3\u5B9A\u8FD4\u56DEtrue\u8FD8\u662Ffalse\u3002</p>
-realmwizard.usage.geronimoWebXmlLater            = <p>\u8FD9\u4E2A\u4F8B\u5B50\u8868\u660E\uFF0C{0} \u5C06\u88AB\u7528\u6765\u5904\u7406 Web \u5E94\u7528\u7684\u6240\u6709\u767B\u5F55\u3002 \u63A5\u7740\u5B83\u4F7F\u7528\u4E3B\u4F53\u7C7B\u548C\u4E3B\u4F53\u540D\u79F0\u7684\u8054\u5408\u6765\u628A <tt>admin</tt>  \u89D2\u8272\u6620\u5C04\u5230\u7528\u6237 <tt>root</tt> \uFF0C\u548C\u7EC4 <tt>administrators</tt> \u3002\u6CE8\u610F\u5982\u679C{0} \u4F7F\u7528\u81EA\u5B9A\u4E49\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u4E3B\u4F53\u7C7B\u53EF\u80FD\u4F1A\u6709\u6240\u4E0D\u540C\u3002 \u4F46\u662F\u4E0A\u9762\u5217\u51FA\u7684\u662F\u88AB\u6240\u6709\u7684\u6807\u51C6\u7684Geronimo\u767B\u5F55\u6A21\u5757\u4F7F\u7528\u7684\u7528\u6237\u548C\u7EC4\u3002</p> <p>\u4E5F\u53EF\u4EE5\u914D\u7F6E\u5355\u72EC\u7684\u767B\u5F55\u6A21\u5757\u548C\u5355\u72EC\u7684\u767B\u5F55\u57DF\u540D\u79F0\uFF0C\u7136\u540E\u5728\u89D2\u8272\u6620\u5C04\u4E2D\u4F7F\u7528\u767B\u5F55\u57DF\u540D\u79F0\uFF08\
 u8FD9\u6837\uFF0C\u5728\u767B\u5F55\u57DF Foo\u4E2D\u7684 root \u7528\u6237\uFF0C\u548C\u5728\u767B\u5F55\u57DFBar \u4E2D\u7684root \u7528\u6237\u662F\u4E0D\u4E00\u6837\u7684\uFF09\uFF0C\u4F46\u8FD9\u4EC5\u4EC5\u5728\u4F60\u6709\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u6765\u7ED9\u7528\u6237\u5206\u914D\u4E3B\u4F53\u65F6\u624D\u91CD\u8981\u3002</p> <p>\u6700\u540E\uFF0C\u5982\u679C<tt>security</tt>\u5757\u662F\u5728 EAR \u7684<tt>application.xml</tt> \u90E8\u7F72\u63CF\u8FF0\u7B26\u4E2D\u58F0\u660E\u7684\uFF0C\u90A3\u4E48\u5C31\u6CA1\u6709\u5FC5\u8981\u5728EAR \u4E2D\u7684\u4EFB\u4F55\u6A21\u5757\u4E2D\u91CD\u590D\u5B83\u3002-- \u5B83\u4EEC\u4F1A\u5171\u4EAB\u76F8\u540C\u7684\u89D2\u8272\u6620\u5C04\u4FE1\u606F\u3002</p>
-realmwizard.usage.geronimoWebXmlPreface          = <p>\u4E3A\u4E86\u914D\u7F6E\u5B89\u5168\u57DF\u548C\u6BCF\u4E2A\u89D2\u8272\u7684\u6210\u5458\uFF0CWeb\u5E94\u7528\u9700\u8981\u6709\u4E00\u4E2A<tt>geronimo-web.xml</tt>\u90E8\u7F72\u8BA1\u5212\u3002\u5B83\u53EF\u4EE5\u6253\u5305\u5728WAR\u5305\u7684<tt>WEB-INF</tt>\u76EE\u5F55\u4E2D\uFF0C\u6216\u8005\u5B83\u4E5F\u53EF\u4EE5\u5728\u90E8\u7F72\u5DE5\u5177\u7684\u547D\u4EE4\u884C\u4E2D\u5355\u72EC\u5730\u63D0\u4F9B\u3002</p><p><tt>geronimo-web.xml</tt>\u90E8\u7F72\u8BA1\u5212\u5E94\u8BE5\u6709\u4E00\u4E2A<tt>security-realm-name</tt>\u5143\u7D20\uFF0C\u7528\u6765\u6807\u660E\u5728Web\u5E94\u7528\u4E2D\u7528\u4EC0\u4E48\u5B89\u5168\u57DF\u6765\u9A8C\u8BC1\u767B\u5F55\u3002\u5B83\u540C\u6837\u6709\u4E00\u4E2A <tt>security</tt>\u5143\u7D20\uFF0C\u7528\u6765\u5217\u51FA\u7528\u6237\u548C\u7EC4\uFF0C\u8FD9\u4E9B\u7528\u6237\u548C\u7EC4\u5E94\u8BE5\u662F <tt>web.xml</tt>\u4E2D\u7684<tt>security-role</tt>\u6807\u660E\u7684\u89D2\u8272
 \u7684\u6210\u5458\u3002
-realmwizard.usage.title                          = \u8FD9\u4E2A\u9875\u9762\u4ECB\u7ECD\u600E\u6837\u5728 J2EE \u5E94\u7528\u4E2D\u4F7F\u7528\u5B89\u5168\u57DF{0} \u3002\u8FD9\u91CC\u662F\u4EE5 Web \u5E94\u7528\u4E3A\u4F8B\uFF0C\u5BF9\u4E8E\u5176\u4ED6\u7A0B\u5E8F\u6A21\u5757\uFF0C\u4E5F\u53EF\u4F7F\u7528\u7C7B\u4F3C\u7684\u65B9\u6CD5\u3002
-realmwizard.usage.webXmlShouldHave               = <p>\u5728  <tt>web.xml</tt> \u4E2D\u5E94\u8BE5\u542B\u6709</p><ul>  <li>\u4E00\u4E2A\u6216\u591A\u4E2A <tt>security-constraint</tt> \u5757\uFF0C\u7528\u6765\u6307\u660E\u53D7\u4FDD\u62A4\u7684\u9875\u9762\u548C URL </li>  <li>\u4E00\u4E2A<tt>login-config</tt> \u5757\uFF0C\u7528\u6765\u914D\u7F6E\u5E94\u7528\u7684\u767B\u5F55\u4FE1\u606F</li>  <li>\u4E00\u4E2A\u6216\u591A\u4E2A<tt>security-role</tt> \u5757\uFF0C\u7528\u6765\u5217\u51FA\u5E94\u7528\u4E2D\u4F7F\u7528\u5230\u7684\u5B89\u5168\u89D2\u8272</li></ul>
+realmwizard._sql.JDBCDriverClassExp                          = JDBC \u9A71\u52A8\u7C7B\u7684\u5B8C\u5168\u9650\u5B9A\u540D\u3002\u8981\u6C42\u9A71\u52A8\u7C7B\u5FC5\u987B\u80FD\u5728\u4E0B\u4E00\u4E2A\u5B57\u6BB5\u6307\u5B9A\u7684JAR\u5305\u4E2D\u627E\u5230\u3002
+realmwizard._sql.JDBCPasswordExp                             = \u8FDE\u63A5\u6570\u636E\u5E93\u7684\u5BC6\u7801
+realmwizard._sql.JDBCUrlExp                                  = JDBC URL \u6307\u5B9A\u4E86\u8981\u8FDE\u63A5\u6570\u636E\u5E93\u65F6\u7684\u7EC6\u8282\u3002\u5BF9\u4E8E\u4E0D\u540C\u7684 JDBC \u9A71\u52A8\uFF0C\u683C\u5F0F\u5C06\u6709\u6240\u4E0D\u540C\u3002
+realmwizard._sql.JDBCUsernameExp                             = \u8FDE\u63A5\u6570\u636E\u5E93\u7684\u7528\u6237\u540D
+realmwizard._sql.databasePoolExp                             = \u767B\u5F55\u6A21\u5757\u7528\u6765\u8FDE\u63A5\u6570\u636E\u5E93\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u3002\u5982\u679C\u6307\u5B9A\u4E86\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u7684\u8BDD\uFF0C\u4E0B\u9762\u7684\u5176\u5B83\u8BBE\u7F6E\u90FD\u4E0D\u662F\u5FC5\u987B\u7684\u3002
+realmwizard._sql.digestAlgorithmExp                          = \u5BF9\u4E8E\u6B64\u53E3\u4EE4\u8981\u4F7F\u7528\u7684\u6D88\u606F\u6458\u8981\u7B97\u6CD5 (\u4F8B\u5982 MD5, SHA1 \u7B49).  \u5982\u679C\u4E0D\u4F7F\u7528\u6D88\u606F\u6458\u8981\u7B97\u6CD5\uFF0C\u8BF7\u4F7F\u6B64\u503C\u4E3A\u7A7A\u3002
+realmwizard._sql.digestEncodingExp                           = \u5BF9\u6458\u8981\u7684\u7F16\u7801 (\u4F8B\u5982 hex, base64).  \u4EC5\u5F53\u6307\u5B9A\u4E86\u6D88\u606F\u6458\u8981\u7B97\u6CD5\u65F6\u4F7F\u7528\u3002\u5982\u679C\u4E0D\u77E5\u9053\u7F16\u7801\u7B97\u6CD5\uFF0C\u4F1A\u9ED8\u8BA4\u4F7F\u7528hex\u7B97\u6CD5\u3002
+realmwizard._sql.driverJARExp                                = \u5305\u542B\u9009\u5B9A JDBC \u9A71\u52A8\u7684 JAR \u5305\u3002\u5FC5\u987B\u5B89\u88C5\u5230GERONIMO/repository/\u76EE\u5F55\u540E\u624D\u4F1A\u5728\u5217\u8868\u4E2D\u663E\u793A\u3002
+realmwizard._sql.eitherPoolOrJDBC                            = SQL \u5B89\u5168\u57DF\u5FC5\u987B\u901A\u8FC7\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6216\u8005 JDBC \u8FDE\u63A5\u6765\u8FDE\u5230\u6570\u636E\u5E93\u3002\u8BF7\u9009\u62E9\u662F\u4F7F\u7528\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\uFF0C\u8FD8\u662F\u4F7F\u7528JDBC\u3002
+realmwizard._sql.groupSelectSQLExp                           = \u7528\u6765\u83B7\u5F97\u7528\u6237\u6240\u5C5E\u7EC4\u7684\u4FE1\u606F\u3002\u8FD9\u4E2A\u8BED\u53E5\u5E94\u8BE5\u8FD4\u56DE\u4E24\u5217\u503C\uFF0C\u7B2C\u4E00\u5217\u662F\u7528\u6237\u540D\uFF0C\u7B2C\u4E8C\u5217\u662F\u7EC4\u540D\u3002\u8FD9\u4E2A\u8BED\u53E5\u53EF\u4EE5\u4F7F\u7528 PreparedStatement \u8BED\u6CD5\uFF0C\u7528?\u6765\u8868\u793A\u53C2\u6570\u3002\u4E00\u4E2A\u5178\u578B\u7684\u8BBE\u7F6E\u662F <tt>SELECT username, group_name FROM user_groups WHERE username=?</tt>\u6216\u8005\uFF0C\u4E3A\u4E86\u83B7\u5F97\u66F4\u52A0\u89C4\u8303\u7684\u6A21\u5F0F\uFF0C\u53EF\u7528<tt>SELECT u.username, g.name FROM app_users u, groups g, user_groups ug WHERE ug.user_id=users.id AND ug.group_id=g.id AND u.username=?</tt>\u3002
+realmwizard._sql.selectDatabasePool                          = SQL \u5B89\u5168\u57DF\u5FC5\u987B\u901A\u8FC7\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\u6216\u8005 JDBC \u8FDE\u63A5\u6765\u8FDE\u5230\u6570\u636E\u5E93\u3002\u8BF7\u9009\u62E9\u662F\u4F7F\u7528\u6570\u636E\u5E93\u8FDE\u63A5\u6C60\uFF0C\u8FD8\u662F\u4F7F\u7528JDBC\u3002
+realmwizard._sql.userSelectSQLExp                            = \u7528\u6765\u83B7\u5F97\u7528\u6237\u540D/\u5BC6\u7801\u7684 SQL \u8BED\u53E5\u3002\u8FD9\u4E2A\u8BED\u53E5\u5E94\u8BE5\u8FD4\u56DE\u4E24\u5217\u503C\uFF0C\u7B2C\u4E00\u5217\u662F\u7528\u6237\u540D\uFF0C\u7B2C\u4E8C\u5217\u662F\u5BC6\u7801\u3002\u8FD9\u4E2A\u8BED\u53E5\u53EF\u4EE5\u4F7F\u7528 PreparedStatement \u8BED\u6CD5\uFF0C\u7528 ? \u6765\u8868\u793A\u53C2\u6570\u3002\u4E00\u4E2A\u5178\u578B\u7684\u8BBE\u7F6E\u662F<tt>SELECT username, password FROM app_users WHERE username=?</tt>
+realmwizard.advanced.AuditEnabledExp                         = \u5982\u679C\u542F\u7528\uFF0C\u6BCF\u6B21\u5C1D\u8BD5\u767B\u5F55\u90FD\u4F1A\u88AB\u8BB0\u5F55\u5230\u7279\u5B9A\u7684\u6587\u4EF6\u3002\u6587\u4EF6\u8DEF\u5F84\u5E94\u76F8\u5BF9\u4E8E Geronimo \u7684\u5BB6\u76EE\u5F55\uFF08\u901A\u5E38\u7684\u53D6\u503C\u53EF\u80FD\u662F<tt>var/log/login-attempts.log</tt>\uFF09\u3002
+realmwizard.advanced.credentialName                          = \u8BC1\u4E66\u540D\u79F0
+realmwizard.advanced.credentialNameExp                       = \u5982\u679C\u542F\u7528\uFF0C\u5B89\u5168\u57DF\u5C06\u5B58\u50A8\u6BCF\u4E2A\u7528\u6237\u540D\u548C\u5BC6\u7801\u5230\u4E00\u4E2A\u79C1\u6709\u8BC1\u4E66,\u8BE5\u8BC1\u4E66\u4F4D\u4E8E\u7279\u5B9A\u8BC1\u4E66\u540D\u79F0\u4E0B\u7684Subject\u4E2D.
+realmwizard.advanced.failuresWithin                          = \u6B21\u767B\u5F55\u5931\u8D25\u540E\uFF0C\u5728
+realmwizard.advanced.failuresWithinSeconds                   = \u79D2\u5185
+realmwizard.advanced.keepAccountLockedFor                    = \u5E76\u4FDD\u6301\u5E10\u53F7\u9501\u5B9A
+realmwizard.advanced.keepAccountLockedForSeconds             = \u79D2
+realmwizard.advanced.lockUserAfter                           = \u9501\u5B9A\u7528\u6237\u5728
+realmwizard.advanced.lockoutEnabledExp                       = \u5982\u679C\u542F\u7528\uFF0C\u7528\u6237\u5728\u4E00\u5B9A\u65F6\u95F4\u6BB5\u5185\u767B\u5F55\u5931\u8D25\u4E00\u5B9A\u6B21\u6570\u540E\u7528\u6237\u7684\u5E10\u53F7\u5C06\u4F1A\u88AB\u9501\u5B9A\u4E00\u6BB5\u65F6\u95F4\u3002\u8FD9\u53EF\u4EE5\u7528\u6765\u9632\u6B62\u66B4\u529B\u7834\u89E3\u5E10\u53F7\u7684\u653B\u51FB\u3002
+realmwizard.advanced.namedCredential                         = Named Credential
+realmwizard.advanced.storePasswordEnabledExp                 = \u5982\u679C\u542F\u7528\uFF0C\u6BCF\u4E2A\u7528\u6237\u7684\u5BC6\u7801\u4F1A\u4FDD\u5B58\u5728Subject\u7684\u79C1\u6709credential\u4E2D\u3002\u8FD9\u5C06\u5141\u8BB8\u5728\u767B\u5F55\u5B8C\u6210\u4EE5\u540E\uFF0C\u53EF\u4EE5\u5F97\u5230\u5BC6\u7801\u3002 \u8FD9\u901A\u5E38\u4E0D\u662F\u5FC5\u987B\u7684\u3002
+realmwizard.advanced.title                                   = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u6B65\u9AA43:\u9AD8\u7EA7\u914D\u7F6E\u9009\u9879
+realmwizard.common.JDBCDriverClass                           = JDBC\u9A71\u52A8\u7C7B
+realmwizard.common.JDBCPassword                              = JDBC\u5BC6\u7801
+realmwizard.common.JDBCUrl                                   = JDBC URL
+realmwizard.common.JDBCUsername                              = JDBC\u7528\u6237\u540D
+realmwizard.common.addSecurityRealm                          = \u6DFB\u52A0\u65B0\u7684\u5B89\u5168\u57DF
+realmwizard.common.addToEAR                                  = \u6DFB\u52A0\u5230EAR\u4E2D
+realmwizard.common.comfirmPwd                                = \u786E\u8BA4\u5BC6\u7801
+realmwizard.common.configurationOptions                      = \u914D\u7F6E\u9009\u9879
+realmwizard.common.controlFlag                               = \u63A7\u5236\u6807\u5FD7
+realmwizard.common.databasePool                              = \u6570\u636E\u5E93\u8FDE\u63A5\u6C60
+realmwizard.common.deploy                                    = \u90E8\u7F72
+realmwizard.common.deployCommand                             = \u90E8\u7F72\u547D\u4EE4
+realmwizard.common.deployRealm                               = \u90E8\u7F72\u5B89\u5168\u57DF
+realmwizard.common.deploymentPlan                            = \u90E8\u7F72\u8BA1\u5212
+realmwizard.common.digestAlgorithm                           = \u6458\u8981\u7B97\u6CD5
+realmwizard.common.digestEncoding                            = \u6458\u8981\u7F16\u7801
+realmwizard.common.driverJAR                                 = \u9A71\u52A8JAR
+realmwizard.common.editRealm                                 = \u7F16\u8F91\u5B89\u5168\u57DF
+realmwizard.common.editSettings                              = \u7F16\u8F91\u8BBE\u7F6E
+realmwizard.common.enableAuditing                            = \u6253\u5F00\u5BA1\u6838\u529F\u80FD
+realmwizard.common.enableLockout                             = \u6253\u5F00\u9501\u5B9A\u529F\u80FD
+realmwizard.common.groupSelectSQL                            = Group SELECT SQL
+realmwizard.common.logFile                                   = \u65E5\u5FD7\u6587\u4EF6
+realmwizard.common.loginDomainName                           = \u767B\u5F55\u57DF\u540D
+realmwizard.common.loginModule                               = \u767B\u5F55\u6A21\u5757
+realmwizard.common.loginModuleClass                          = \u767B\u5F55\u6A21\u5757\u7C7B
+realmwizard.common.nameOfSecurityRealm                       = \u5B89\u5168\u57DF\u540D\u79F0
+realmwizard.common.principals                                = \u4E3B\u4F53
+realmwizard.common.realmName                                 = \u5B89\u5168\u57DF\u540D\u79F0
+realmwizard.common.realmType                                 = \u5B89\u5168\u57DF\u7C7B\u578B
+realmwizard.common.serverSide                                = \u670D\u52A1\u5668\u7AEF
+realmwizard.common.serverWide                                = \u670D\u52A1\u5668\u8303\u56F4
+realmwizard.common.showPlan                                  = \u663E\u793A\u90E8\u7F72\u8BA1\u5212
+realmwizard.common.skipTestAndDeploy                         = \u8DF3\u8FC7\u6D4B\u8BD5\u5E76\u90E8\u7F72
+realmwizard.common.skipTestAndShowPlan                       = \u8DF3\u8FC7\u6D4B\u8BD5\u5E76\u663E\u793A\u90E8\u7F72\u8BA1\u5212
+realmwizard.common.storePassword                             = \u5B58\u50A8\u5BC6\u7801
+realmwizard.common.supportAdvancedMapping                    = \u652F\u6301\u9AD8\u7EA7\u6620\u5C04
+realmwizard.common.testAgain                                 = \u518D\u6B21\u6D4B\u8BD5
+realmwizard.common.testLogin                                 = \u6D4B\u8BD5\u767B\u5F55
+realmwizard.common.userSelectSQL                             = User SELECT SQL
+realmwizard.configure.certprops.groupsURI.description        = \u5305\u542B\u7EC4\u4FE1\u606F\u7684\u5C5E\u6027\u6587\u4EF6\u7684\u4F4D\u7F6E(\u76F8\u5BF9\u4E8EGeronimo\u5BB6\u76EE\u5F55)\u3002\u6BCF\u4E00\u884C\u7684\u683C\u5F0F\u5E94\u8BE5\u662F <tt>group=user,user,...</tt>\u3002
+realmwizard.configure.certprops.groupsURI.name               = \u7EC4\u6587\u4EF6URI
+realmwizard.configure.certprops.usersURI.description         = \u5305\u542B\u8BC1\u4E66\u5230\u7528\u6237\u7684\u6620\u5C04\u4FE1\u606F\u7684\u5C5E\u6027\u6587\u4EF6\u7684\u4F4D\u7F6E(\u76F8\u5BF9\u4E8EGeronimo\u5BB6\u76EE\u5F55)\u3002\u6BCF\u4E00\u884C\u7684\u683C\u5F0F\u5E94\u8BE5\u662F<tt>username=certificatename</tt>\uFF0C\u5176\u4E2D\u8BC1\u4E66\u540D\u4E3A<tt>X509Certificate.getSubjectX500Principal().getName()</tt>\u3002
+realmwizard.configure.certprops.usersURI.name                = \u7528\u6237\u6587\u4EF6URI
+realmwizard.configure.ldap.authentication.description        = \u4F7F\u7528\u7684\u5B89\u5168\u7EA7\u522B\uFF0C\u53EF\u4EE5\u662F<tt>none</tt>, <tt>simple</tt>, \u6216\u8005<tt>strong</tt>(\u901A\u5E38\u7684\u503C\u662F<tt>simple</tt>\u3002\u5982\u679C\u4E0D\u6307\u5B9A\u8FD9\u4E2A\u5C5E\u6027\uFF0C\u884C\u4E3A\u7531\u670D\u52A1\u4F9B\u5E94\u5546\u51B3\u5B9A\u3002
+realmwizard.configure.ldap.authentication.name               = \u9A8C\u8BC1
+realmwizard.configure.ldap.connectionPassword.description    = \u7528\u4E8E\u8FDE\u63A5LDAP\u670D\u52A1\u5668\u7684\u5BC6\u7801\u3002
+realmwizard.configure.ldap.connectionPassword.name           = \u8FDE\u63A5\u5BC6\u7801
+realmwizard.configure.ldap.connectionProtocol.description    = \u7528\u4E8E\u4E0ELDAP\u670D\u52A1\u5668\u8FDB\u884C\u901A\u4FE1\u7684\u8FDE\u63A5\u534F\u8BAE\u3002\u901A\u5E38\u7559\u7A7A\uFF0C\u5C3D\u7BA1\u5982\u679C\u670D\u52A1\u5668\u652F\u6301\u7684\u8BDD\u53EF\u4EE5\u5C06\u5B83\u8BBE\u4E3A<tt>ssl</tt>\u3002
+realmwizard.configure.ldap.connectionProtocol.name           = \u8FDE\u63A5\u534F\u8BAE
+realmwizard.configure.ldap.connectionURL.description         = \u63CF\u8FF0\u5982\u4F55\u8FDE\u63A5\u5230LDAP\u670D\u52A1\u5668\u7684URL\u3002\u901A\u5E38\u8FD9\u4F1A\u662F<tt>ldap://ldap-server-hostname:389</tt>(\u6216\u8005\u5BF9\u4E8E\u5305\u542B\u5728Geronimo\u4E2D\u7684Apache\u76EE\u5F55\u670D\u52A1\u5668\uFF0C\u5219\u662F<tt>ldap://localhost:1389</tt>)\u3002
+realmwizard.configure.ldap.connectionURL.name                = \u8FDE\u63A5URL
+realmwizard.configure.ldap.connectionUsername.description    = \u7528\u4E8E\u8FDE\u63A5\u5230LDAP\u670D\u52A1\u5668\u7684\u7528\u6237\u540D\u3002\u8FD9\u5E94\u8BE5\u662F\u4E00\u4E2A\u7BA1\u7406\u5458\u6216\u8005\u76EE\u5F55\u7BA1\u7406\u8005\uFF0C\u4ED6\u6709\u6743\u68C0\u67E5\u5176\u4ED6\u7528\u6237\u7684\u5BC6\u7801\u3002
+realmwizard.configure.ldap.connectionUsername.name           = \u8FDE\u63A5\u7528\u6237\u540D
+realmwizard.configure.ldap.initialContextFactory.description = \u521D\u59CB\u4E0A\u4E0B\u6587\u5DE5\u5382\u7684\u5B8C\u6574\u9650\u5B9A\u7C7B\u540D\u3002\u5982\u679C\u4F60\u4E0D\u77E5\u9053\u8FD9\u91CC\u8BE5\u7528\u4EC0\u4E48\uFF0C\u8BF7\u4F7F\u7528<tt>com.sun.jndi.ldap.LdapCtxFactory</tt>\u3002
+realmwizard.configure.ldap.initialContextFactory.name        = \u521D\u59CB\u4E0A\u4E0B\u6587\u5DE5\u5382
+realmwizard.configure.ldap.roleBase.description              = \u641C\u7D22\u89D2\u8272\u7684\u57FA\u7840LDAP\u4E0A\u4E0B\u6587(\u4F4D\u7F6E)\u3002\u641C\u7D22\u53EF\u80FD\u53EA\u67E5\u627E\u8BE5\u4F4D\u7F6E\uFF0C\u6216\u8005\u8FD8\u5305\u6269\u5B57\u4E0A\u4E0B\u6587\uFF0C\u8FD9\u5C06\u53D6\u51B3\u4E8E\u4E0B\u9762\u7684"\u89D2\u8272\u641C\u7D22\u5B50\u6811"\u8BBE\u5B9A\u3002
+realmwizard.configure.ldap.roleBase.name                     = \u89D2\u8272\u57FA\u7840
+realmwizard.configure.ldap.roleName.description              = \u5BF9\u5E94\u89D2\u8272\u540D\u79F0\u7684LDAP\u5C5E\u6027\u7C7B\u578B\u3002\u5E38\u5E38\u8BBE\u4E3A<tt>cn</tt>\u3002
+realmwizard.configure.ldap.roleName.name                     = \u89D2\u8272\u540D\u79F0
+realmwizard.configure.ldap.roleSearchMatching.description    = \u89D2\u8272\u7528\u4E8E\u67E5\u627E\u5C5E\u4E8E\u8BE5\u89D2\u8272\u7684\u7528\u6237\u7684LDAP\u5C5E\u6027\u641C\u7D22\u5B57\u7B26\u4E32\u3002\u5F53\u89D2\u8272\u6709\u5F88\u591A\u76F8\u540C\u540D\u79F0\u4F46\u53D6\u503C\u4E0D\u540C\u7684\u5C5E\u6027\u65F6(\u6BCF\u4E2A\u7528\u6237\u4E00\u4E2A)\u4F7F\u7528\u5B83\u3002\u901A\u5E38\u4F7F\u7528\u53C2\u6570<tt>{0}</tt>\u6765\u6807\u8BC6\u7528\u6237\u540D\u3002\u5178\u578B\u503C\u53EF\u80FD\u4E3A<tt>(member={0})</tt>\u6216\u8005<tt>(memberUID={0})</tt>\u3002
+realmwizard.configure.ldap.roleSearchMatching.name           = \u89D2\u8272\u7528\u6237\u641C\u7D22\u5B57\u7B26\u4E32
+realmwizard.configure.ldap.roleSearchSubtree.description     = \u5982\u679C\u8BBE\u4E3A<tt>true</tt>\uFF0C\u5219"\u89D2\u8272\u57FA\u7840"\u4E0B\u9762\u7684\u5B50\u6811\u4E5F\u5C06\u88AB\u641C\u7D22\u4EE5\u67E5\u627E\u89D2\u8272\u3002\u5982\u679C\u8BBE\u4E3A<tt>false</tt>\uFF0C\u5219\u53EA\u6709"\u89D2\u8272\u57FA\u7840"\u4F4D\u7F6E\u672C\u8EAB\u4F1A\u88AB\u641C\u7D22\u3002
+realmwizard.configure.ldap.roleSearchSubtree.name            = \u89D2\u8272\u641C\u7D22\u5B50\u6811
+realmwizard.configure.ldap.userBase.description              = \u641C\u7D22\u7528\u6237\u7684\u57FA\u7840LDAP\u4E0A\u4E0B\u6587(\u4F4D\u7F6E)\u3002\u641C\u7D22\u53EF\u80FD\u53EA\u67E5\u627E\u8BE5\u4F4D\u7F6E\uFF0C\u6216\u8005\u8FD8\u5305\u6269\u5B57\u4E0A\u4E0B\u6587\uFF0C\u8FD9\u5C06\u53D6\u51B3\u4E8E\u4E0B\u9762\u7684"\u7528\u6237\u641C\u7D22\u5B50\u6811"\u8BBE\u5B9A\u3002
+realmwizard.configure.ldap.userBase.name                     = \u7528\u6237\u57FA\u7840
+realmwizard.configure.ldap.userRoleName.description          = \u5982\u679C\u89D2\u8272\u6761\u76EE\u6CA1\u6709\u9488\u5BF9\u7528\u6237\u7684\u5C5E\u6027\uFF0C\u800C\u7528\u6237\u6761\u76EE\u6709\u4E00\u4E2A\u9488\u5BF9\u89D2\u8272\u7684\u5C5E\u6027\uFF0C\u5219\u5E94\u8BE5\u4F7F\u7528\u5B83\u800C\u4E0D\u662F"\u89D2\u8272\u7528\u6237\u641C\u7D22\u5B57\u7B26\u4E32"\u3002\u5B83\u547D\u540D\u4E86\u7528\u6237\u4E0A\u7684\u5C5E\u6027\uFF0C\u8BE5\u5C5E\u6027\u5217\u51FA\u4E86\u4E00\u4E2A\u89D2\u8272\uFF0C\u8FD9\u4E2A\u89D2\u8272\u5305\u542B\u4E86\u8BE5\u7528\u6237\u3002\u5178\u578B\u503C\u53EF\u80FD\u662F<tt>(memberOf={0})</tt>\u3002
+realmwizard.configure.ldap.userRoleName.name                 = \u7528\u6237\u89D2\u8272\u641C\u7D22\u5B57\u7B26\u4E32
+realmwizard.configure.ldap.userSearchMatching.description    = \u662F\u7528\u4E8E\u67E5\u627E\u7528\u6237\u7684LDAP\u5C5E\u6027\u641C\u7D22\u5B57\u7B26\u4E32\u3002\u5141\u8BB8RFC 2254\u8FC7\u6EE4\u5668\uFF0C\u4E14\u901A\u5E38\u4F7F\u7528\u53C2\u6570<tt>{0}</tt>\u6765\u6807\u8BC6\u7528\u6237\u540D\u3002\u5178\u578B\u503C\u53EF\u80FD\u4E3A<tt>(uid={0})</tt>\u6216\u8005<tt>(cn={0})</tt>\u3002
+realmwizard.configure.ldap.userSearchMatching.name           = \u7528\u6237\u641C\u7D22\u5339\u914D
+realmwizard.configure.ldap.userSearchSubtree.description     = \u5982\u679C\u8BBE\u4E3A<tt>true</tt>\uFF0C\u5219"\u7528\u6237\u57FA\u7840"\u4E0B\u9762\u7684\u5B50\u6811\u4E5F\u5C06\u88AB\u641C\u7D22\u4EE5\u67E5\u627E\u7528\u6237\u3002\u5982\u679C\u8BBE\u4E3A<tt>false</tt>\uFF0C\u5219\u53EA\u6709"\u7528\u6237\u57FA\u7840"\u4F4D\u7F6E\u672C\u8EAB\u4F1A\u88AB\u641C\u7D22\u3002
+realmwizard.configure.ldap.userSearchSubtree.name            = \u7528\u6237\u641C\u7D22\u5B50\u6811
+realmwizard.configure.props.digest.description               = \u7528\u5728\u5BC6\u7801\u4E0A\u7684\u6D88\u606F\u6458\u8981\u7B97\u6CD5(\u4F8B\u5982\uFF0CMD5, SHA1\u7B49\u7B49)\u3002\u5982\u679C\u4E0D\u4F7F\u7528\u6458\u8981\u7B97\u6CD5\u5219\u5C06\u8BE5\u5B57\u6BB5\u7559\u7A7A\u3002
+realmwizard.configure.props.digest.name                      = \u6458\u8981\u7B97\u6CD5
+realmwizard.configure.props.encoding.description             = \u6458\u8981\u4F7F\u7528\u7684\u7F16\u7801(\u4F8B\u5982\uFF0Chex, base64)\u3002\u53EA\u6709\u6307\u5B9A\u4E86\u6D88\u606F\u6458\u8981\u7B97\u6CD5\u624D\u4F7F\u7528\u5B83\u3002\u5982\u679C\u6CA1\u6709\u6307\u5B9A\u7F16\u7801\uFF0C\u5219\u4F7F\u7528hex\u3002
+realmwizard.configure.props.encoding.name                    = \u6458\u8981\u7F16\u7801
+realmwizard.configure.props.groupsURI.description            = \u5305\u542B\u7EC4\u4FE1\u606F\u7684\u5C5E\u6027\u6587\u4EF6\u7684\u4F4D\u7F6E(\u76F8\u5BF9\u4E8EGeronimo\u5BB6\u76EE\u5F55)\u3002\u6BCF\u4E00\u884C\u7684\u683C\u5F0F\u5E94\u8BE5\u662F <tt>group=user,user,...</tt>\u3002
+realmwizard.configure.props.groupsURI.name                   = \u7EC4\u6587\u4EF6URI
+realmwizard.configure.props.usersURI.description             = \u5305\u542B\u7528\u6237/\u5BC6\u7801\u4FE1\u606F\u7684\u5C5E\u6027\u6587\u4EF6\u7684\u4F4D\u7F6E(\u76F8\u5BF9\u4E8EGeronimo\u5BB6\u76EE\u5F55)\u3002\u6BCF\u4E00\u884C\u7684\u683C\u5F0F\u5E94\u8BE5\u662F<tt>username=password</tt>\u3002
+realmwizard.configure.props.usersURI.name                    = \u7528\u6237\u6587\u4EF6URI
+realmwizard.configure.title                                  = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA4 2:\u914D\u7F6E\u767B\u5F55\u6A21\u5757
+realmwizard.edit.configurationOptionsExp                     = \u767B\u5F55\u6A21\u5757\u5FC5\u987B\u7684\u4EFB\u4F55\u914D\u7F6E\u9009\u9879\uFF0C\u4EE5\u6807\u51C6\u7684Java\u5C5E\u6027\u6587\u4EF6\u683C\u5F0F\uFF08\u4E00\u884C\u4E00\u4E2A\uFF0C\u5982\uFF1A<tt>name=value</tt>\uFF09
+realmwizard.edit.controlFlagExp                              = \u767B\u5F55\u6A21\u5757\u7684\u63A7\u5236\u6807\u5FD7\uFF0C\u7528\u6765\u63A7\u5236\u5F53\u767B\u5F55\u6A21\u5757\u6210\u529F\u6216\u5931\u8D25\u65F6\uFF0C\u603B\u7684\u767B\u5F55\u8FC7\u7A0B\u4F1A\u600E\u6837\u3002\u66F4\u8BE6\u7EC6\u7684\u4FE1\u606F\uFF0C\u8BF7\u770B
+realmwizard.edit.ifLeaveBlank                                = \u5982\u679C\u4F60\u4E0D\u9700\u8981\u4F7F\u7528\u4E0B\u5217\u6240\u6709\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u53EA\u9700\u8981\u628A\u989D\u5916\u7684\u6A21\u5757\u7559\u7A7A\u5373\u53EF\u3002
+realmwizard.edit.loginDomainExp                              = \u8FD9\u4E2A\u767B\u5F55\u6A21\u5757\u5BF9\u5E94\u7684\u767B\u5F55\u57DF\uFF0C\u6A21\u5757\u540D\u79F0\u5728\u5B89\u5168\u57DF\u7684\u6240\u6709\u6A21\u5757\u4E2D\u5FC5\u987B\u662F\u552F\u4E00\u7684\u3002\u8FD9\u6837\u5C31\u53EF\u4EE5\u901A\u8FC7\u4E3B\u4F53(principal) \u6765\u533A\u5206\u4E24\u4E2A\u76F8\u540C\u7684\u767B\u5F55\u6A21\u5757\u3002\uFF08\u4F8B\u5982\uFF0C\u4ECE\u4E24\u4E2ALDAP\u767B\u5F55\u6A21\u5757\u6307\u5411\u4E24\u4E2A\u4E0D\u540C\u7684LDAP\u670D\u52A1\u5668\uFF09
+realmwizard.edit.loginModuleClassExp                         = \u767B\u5F55\u6A21\u5757\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
+realmwizard.edit.loginModuleJAR                              = \u767B\u5F55\u6A21\u5757JAR
+realmwizard.edit.loginModuleJARExp                           = \u6B64jar\u6587\u4EF6\u4E2D\u5305\u542B\u767B\u5F55\u6A21\u5757\u7C7B\u548C\u4E3B\u4F53\u7C7B.
+realmwizard.edit.realmNameExp                                = \u53D6\u4E00\u4E2A\u4E0D\u540C\u4E8E\u670D\u52A1\u5668\u4E2D\u4EFB\u4F55\u5176\u4ED6\u5B89\u5168\u57DF\u7684\u540D\u79F0\u3002\u540D\u79F0\u4E2D\u8BF7\u4E0D\u8981\u6709\u7A7A\u683C\u3002\u5176\u4ED6\u7EC4\u4EF6\u5C06\u4F7F\u7528\u8FD9\u4E2A\u540D\u79F0\u6765\u6307\u5411\u6B64\u5B89\u5168\u57DF\u3002
+realmwizard.edit.serverSideExp                               = \u5728\u5E94\u7528\u670D\u52A1\u5668\u4E2D\u6267\u884CServer-side\u7684\u767B\u5F55\u6A21\u5757\uFF08\u8FD9\u901A\u5E38\u662F\u6B63\u786E\u7684\uFF09\u3002\u5728\u5BA2\u6237\u7AEF\u73AF\u5883\u6267\u884C\u7684\u662FClient-side\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u4E3E\u4F8B\u6765\u8BF4\uFF0C\u4E3A\u4E86\u4F7F\u7528\u5BA2\u6237\u64CD\u4F5C\u7CFB\u7EDF\u7CFB\u7EDF\u7684\u5355\u70B9\u767B\u5F55\u7279\u6027\u3002
+realmwizard.edit.summary                                     = <p>\u8FD9\u4E2A\u9875\u9762\u7528\u6765\u7F16\u8F91\u65B0\u7684\u6216\u5DF2\u5B58\u5728\u7684\u5B89\u5168\u57DF\u3002</p><p>\u4E00\u4E2A\u5B89\u5168\u57DF\u53EF\u80FD\u5305\u542B\u4E00\u4E2A\u6216\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u3002\u5F88\u591A\u7B80\u5355\u7684\u5B89\u5168\u57DF\u4EC5\u4EC5\u5305\u542B\u4E00\u4E2A\u767B\u5F55\u6A21\u5757\u3002\u53EF\u4EE5\u4F7F\u7528\u989D\u5916\u7684\u767B\u5F55\u6A21\u5757\u6765\u8BBF\u95EE\u66F4\u591A\u7684\u5B89\u5168\u76F8\u5173\u4FE1\u606F\u3002\u6216\u8005\u6DFB\u52A0\u7C7B\u4F3C\u4E8E\u5BA1\u6838\u5B89\u5168\u57DF\u800C\u4E0D\u5F71\u54CD\u5B89\u5168\u57DF\u9A8C\u8BC1\u6D41\u7A0B\u7684\u529F\u80FD\u3002
+realmwizard.edit.supportAdvancedMappingExp                   = \u901A\u5E38\uFF0CGeronimo\u4E0D\u80FD\u533A\u522B\u6709\u540C\u6837\u540D\u79F0\u7684\u4E24\u4E2A\u4E0D\u540C\u7684\u4E3B\u4F53\uFF0C\u4EE5\u53CA\u4E24\u4E2A\u4E0D\u540C\u767B\u5F55\u6A21\u5757\u4EA7\u751F\u7684\u540C\u6837\u7684\u4E3B\u4F53\u7C7B\u3002\u5982\u679C\u542F\u7528\u5219\u8FD9\u4E2A\u9009\u9879\uFF0CGeronimo \u4F1A\u5305\u88C5\u4E3B\u4F53\u5E76\u8DDF\u8E2A\u6BCF\u4E2A\u4E3B\u4F53\u6765\u81EA\u54EA\u4E2A\u5B89\u5168\u57DF\u548C\u767B\u5F55\u6A21\u5757\u3002\u8FD9\u8BA9\u4F60\u53EF\u4EE5\u5728Geronimo \u90E8\u7F72\u8BA1\u5212\u7684\u5B89\u5168\u6620\u5C04\u4E2D\u4F7F\u7528 realm-principal \u548C login-domain-principal \u5143\u7D20\u3002
+realmwizard.list.noSecurityRealms                            = \u4E0D\u5B58\u5728\u9884\u5B9A\u4E49\u7684\u5B89\u5168\u57DF
+realmwizard.list.seeExamples                                 = \u5BF9\u4E8E\u5217\u51FA\u7684\u6BCF\u4E00\u4E2A\u57DF\uFF0C\u53EF\u4EE5\u70B9\u51FB<b>\u7528\u6CD5</b>\u6765\u67E5\u770B\u5982\u4F55\u5728\u4F60\u7684\u5E94\u7528\u4E2D\u4F7F\u7528\u8BE5\u57DF\u7684\u4F8B\u5B50\u3002
+realmwizard.list.title                                       = \u8FD9\u4E2A\u9875\u9762\u663E\u793A\u4E86\u6240\u6709\u53EF\u7528\u7684\u5B89\u5168\u57DF\u3002\u53EF\u4EE5\u7F16\u8F91\u670D\u52A1\u5668\u7EA7\u522B\u7684\u5B89\u5168\u57DF\uFF0C\u4F5C\u4E3A\u5355\u4E2A\u5E94\u7528\u4E00\u90E8\u5206\u88AB\u90E8\u7F72\u7684\u5B89\u5168\u57DF\u5219\u4E0D\u80FD\u88AB\u7F16\u8F91\uFF08\u800C\u5E94\u4FEE\u6539\u5E94\u7528\u90E8\u7F72\u8BA1\u5212\uFF09\u3002
+realmwizard.selectType.nameOfSecurityRealmExp                = \u7ED9\u5B89\u5168\u57DF\u9009\u53D6\u4E00\u4E2A\u4E0D\u540C\u4E8E\u670D\u52A1\u5668\u4E2D\u5176\u5B83\u5B89\u5168\u57DF\u7684\u540D\u79F0\uFF0C\u540D\u79F0\u4E2D\u8BF7\u4E0D\u8981\u6709\u7A7A\u683C\u3002\u5176\u5B83\u7EC4\u4EF6\u5C06\u4F7F\u7528\u8FD9\u4E2A\u540D\u79F0\u6765\u6307\u5411\u8BE5\u5B89\u5168\u57DF\u3002
+realmwizard.selectType.realmTypeExp                          = \u767B\u5F55\u6A21\u5757\u7684\u7C7B\u578B\u51B3\u5B9A\u4E86\u5B89\u5168\u57DF\u7C7B\u578B\u3002\u9009\u62E9"Other"\uFF0C\u53EF\u4EE5\u624B\u52A8\u914D\u7F6E\u4E00\u4E9B\u9009\u9879\uFF0C\u5305\u62EC\uFF1A\u81EA\u5B9A\u4E49\u767B\u5F55\u6A21\u5757\u3001\u4F7F\u7528\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u6765\u586B\u5145\u7528\u6237\u8EAB\u4E3B\u4F53\u7684\u5B89\u5168\u57DF\u3002
+realmwizard.selectType.title                                 = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA41: \u9009\u62E9\u540D\u79F0\u548C\u7C7B\u578B
+realmwizard.showPlan.addToEARExp                             = \u4F60\u53EF\u4EE5\u5C06\u5B89\u5168\u57DF\u90E8\u7F72\u4E3AEAR\u7684\u4E00\u90E8\u5206\uFF0C\u800C\u4E0D\u662F\u90E8\u7F72\u4E3A\u9876\u5C42\u7684\u5B89\u5168\u57DF\u3002\u8981\u4F7F\u7528\u8FD9\u4E2A\u90E8\u7F72\u8BA1\u5212\u5C06\u5B89\u5168\u57DF\u6DFB\u52A0\u5230EAR\u4E2D\uFF0C\u5728\u4F60\u7684EAR\u4E2D\u521B\u5EFA<tt>META-INF/geronimo-application.xml</tt>\u6587\u4EF6\uFF0C\u5176\u4E2D\u5305\u542B\u4E0A\u9762\u90E8\u7F72\u8BA1\u5212\u4E2D\u7684<tt>dependency</tt>\u5143\u7D20\u548C<tt>gbean</tt>\u5143\u7D20\u3002\u5B83\u5E94\u8BE5\u8C61\u4E0B\u9762\u8FD9\u6837\uFF1A
+realmwizard.showPlan.deployCommandExp                        = \u5982\u679C\u5728\u547D\u4EE4\u884C\u4E2D\u4F7F\u7528\u8FD9\u4E2A\u90E8\u7F72\u8BA1\u5212\u6765\u90E8\u7F72\u5B89\u5168\u57DF\uFF0C\u5C06\u5B83\u62F7\u8D1D\u7C98\u5E16\u5230\u4E00\u4E2A\u6587\u4EF6\uFF08\u5982<tt>security-realm.xml</tt>\uFF09\u4E2D\u5E76\u4FDD\u5B58\u3002\u7136\u540E\u8FD0\u884C\u4E0B\u9762\u7684\u547D\u4EE4\uFF1A
+realmwizard.showPlan.title                                   = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u663E\u793A\u90E8\u7F72\u8BA1\u5212
+realmwizard.testLogin.passwordExp                            = \u7528\u6765\u767B\u5F55\u5230\u5B89\u5168\u57DF\u7684\u5BC6\u7801\u3002
+realmwizard.testLogin.summary                                = \u5728\u8FD9\u91CC\u4F60\u53EF\u4EE5\u4E3A\u5B89\u5168\u57DF\u7684\u4E3B\u767B\u5F55\u6A21\u5757\u8F93\u5165\u7528\u6237\u540D\u548C\u5BC6\u7801\uFF0C\u68C0\u67E5\u767B\u5F55\u662F\u5426\u6210\u529F\uFF0C\u67E5\u770B\u4E3A\u7528\u6237\u751F\u6210\u4E86\u54EA\u4E9B\u4E3B\u4F53\u3002\u8FD9\u53EF\u4EE5\u6307\u793A\u4E3B\u767B\u5F55\u6A21\u5757\u7684\u8BBE\u7F6E\u662F\u5426\u6B63\u786E\u3002\u5B83\u4E0D\u4F1A\u8C03\u7528\u8C61\u5BA1\u6838\uFF0C\u9501\u5B9A\u5E10\u53F7\u7B49\u9AD8\u7EA7\u529F\u80FD\u3002
+realmwizard.testLogin.title                                  = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> --\u6B65\u9AA44\uFF1A\u6D4B\u8BD5\u767B\u5F55
+realmwizard.testLogin.usernameExp                            = \u7528\u6765\u767B\u5F55\u5230\u5B89\u5168\u57DF\u7684\u7528\u6237\u540D\u3002
+realmwizard.testResults.testResults                          = \u6D4B\u8BD5\u7ED3\u679C
+realmwizard.testResults.title                                = <b>\u521B\u5EFA\u5B89\u5168\u57DF</b> -- \u6B65\u9AA45: \u767B\u5F55\u7ED3\u679C
+realmwizard.usage.applicationCode                            = \u5E94\u7528\u7A0B\u5E8F\u4EE3\u7801
+realmwizard.usage.applicationCodeExp                         = <p>\u4F7F\u7528\u5B89\u5168\u89D2\u8272\uFF0C\u5E76\u4E0D\u9700\u8981\u7279\u6B8A\u7684\u5E94\u7528\u7A0B\u5E8F\u4EE3\u7801\u3002</p><p>\u5982\u679C\u5E94\u7528\u7A0B\u5E8F\u4E2D\u8C03\u7528<tt>HttpServletRequest.getUserPrincipal()</tt>\uFF0CGeronimo\u4F1A\u8FD4\u56DE\u4E00\u4E2A\u5B9E\u73B0<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\u7684principal\u7C7B\u7684\u5B9E\u4F8B\u3002--\u901A\u5E38\u662F\u7528\u6237\u540D\uFF08\u56E0\u4E3A<tt>GeronimoUserPrincipal</tt>\u5B9E\u73B0\u4E86<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\uFF09\u3002\u5982\u679C\u4F60\u6B63\u5728\u4F7F\u7528\u81EA\u5B9A\u4E49\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u800C\u8C03\u7528<tt>getUserPrincipal</tt>\u65F6\u5F97\u5230\u4E86\u9519\u8BEF\u7684\u7ED3\u679C\u3002\u5C1D\u8BD5\u5C06\u4F60\u7684user principal\u7C7B\u5B9E\u73B0<tt>GeronimoCallerPrincipal</tt>\u63A5\u53E3\u3002</p> <p>\u5982\u679C\u5E94\u7528\u8C03\u7528<tt>HttpServletRequest.isUserI
 nRole(role)</tt>\uFF0CGeronimo\u5C06\u4F1A\u6839\u636E\u5B89\u5168\u57DF\u767B\u5F55\u6A21\u5757\u5206\u914D\u7ED9\u8BE5\u7528\u6237\u7684principal\u662F\u5426\u5217\u51FA\u5728\u4E0A\u9762\u7684\u89D2\u8272\u6620\u5C04\u4E2D\u6765\u51B3\u5B9A\u8FD4\u56DEtrue\u8FD8\u662Ffalse\u3002</p>
+realmwizard.usage.geronimoWebXmlLater                        = <p>\u8FD9\u4E2A\u4F8B\u5B50\u8868\u660E\uFF0C{0} \u5C06\u88AB\u7528\u6765\u5904\u7406 Web \u5E94\u7528\u7684\u6240\u6709\u767B\u5F55\u3002 \u63A5\u7740\u5B83\u4F7F\u7528\u4E3B\u4F53\u7C7B\u548C\u4E3B\u4F53\u540D\u79F0\u7684\u8054\u5408\u6765\u628A <tt>admin</tt>  \u89D2\u8272\u6620\u5C04\u5230\u7528\u6237 <tt>root</tt> \uFF0C\u548C\u7EC4 <tt>administrators</tt> \u3002\u6CE8\u610F\u5982\u679C{0} \u4F7F\u7528\u81EA\u5B9A\u4E49\u7684\u767B\u5F55\u6A21\u5757\uFF0C\u4E3B\u4F53\u7C7B\u53EF\u80FD\u4F1A\u6709\u6240\u4E0D\u540C\u3002 \u4F46\u662F\u4E0A\u9762\u5217\u51FA\u7684\u662F\u88AB\u6240\u6709\u7684\u6807\u51C6\u7684Geronimo\u767B\u5F55\u6A21\u5757\u4F7F\u7528\u7684\u7528\u6237\u548C\u7EC4\u3002</p> <p>\u4E5F\u53EF\u4EE5\u914D\u7F6E\u5355\u72EC\u7684\u767B\u5F55\u6A21\u5757\u548C\u5355\u72EC\u7684\u767B\u5F55\u57DF\u540D\u79F0\uFF0C\u7136\u540E\u5728\u89D2\u8272\u6620\u5C04\u4E2D\u4F7F\u7528\u767B\u5F55\u57DF\u540D\
 u79F0\uFF08\u8FD9\u6837\uFF0C\u5728\u767B\u5F55\u57DF Foo\u4E2D\u7684 root \u7528\u6237\uFF0C\u548C\u5728\u767B\u5F55\u57DFBar \u4E2D\u7684root \u7528\u6237\u662F\u4E0D\u4E00\u6837\u7684\uFF09\uFF0C\u4F46\u8FD9\u4EC5\u4EC5\u5728\u4F60\u6709\u591A\u4E2A\u767B\u5F55\u6A21\u5757\u6765\u7ED9\u7528\u6237\u5206\u914D\u4E3B\u4F53\u65F6\u624D\u91CD\u8981\u3002</p> <p>\u6700\u540E\uFF0C\u5982\u679C<tt>security</tt>\u5757\u662F\u5728 EAR \u7684<tt>application.xml</tt> \u90E8\u7F72\u63CF\u8FF0\u7B26\u4E2D\u58F0\u660E\u7684\uFF0C\u90A3\u4E48\u5C31\u6CA1\u6709\u5FC5\u8981\u5728EAR \u4E2D\u7684\u4EFB\u4F55\u6A21\u5757\u4E2D\u91CD\u590D\u5B83\u3002-- \u5B83\u4EEC\u4F1A\u5171\u4EAB\u76F8\u540C\u7684\u89D2\u8272\u6620\u5C04\u4FE1\u606F\u3002</p>
+realmwizard.usage.geronimoWebXmlPreface                      = <p>\u4E3A\u4E86\u914D\u7F6E\u5B89\u5168\u57DF\u548C\u6BCF\u4E2A\u89D2\u8272\u7684\u6210\u5458\uFF0CWeb\u5E94\u7528\u9700\u8981\u6709\u4E00\u4E2A<tt>geronimo-web.xml</tt>\u90E8\u7F72\u8BA1\u5212\u3002\u5B83\u53EF\u4EE5\u6253\u5305\u5728WAR\u5305\u7684<tt>WEB-INF</tt>\u76EE\u5F55\u4E2D\uFF0C\u6216\u8005\u5B83\u4E5F\u53EF\u4EE5\u5728\u90E8\u7F72\u5DE5\u5177\u7684\u547D\u4EE4\u884C\u4E2D\u5355\u72EC\u5730\u63D0\u4F9B\u3002</p><p><tt>geronimo-web.xml</tt>\u90E8\u7F72\u8BA1\u5212\u5E94\u8BE5\u6709\u4E00\u4E2A<tt>security-realm-name</tt>\u5143\u7D20\uFF0C\u7528\u6765\u6807\u660E\u5728Web\u5E94\u7528\u4E2D\u7528\u4EC0\u4E48\u5B89\u5168\u57DF\u6765\u9A8C\u8BC1\u767B\u5F55\u3002\u5B83\u540C\u6837\u6709\u4E00\u4E2A <tt>security</tt>\u5143\u7D20\uFF0C\u7528\u6765\u5217\u51FA\u7528\u6237\u548C\u7EC4\uFF0C\u8FD9\u4E9B\u7528\u6237\u548C\u7EC4\u5E94\u8BE5\u662F <tt>web.xml</tt>\u4E2D\u7684<tt>security-role</tt>\u6807\u660E\u7684
 \u89D2\u8272\u7684\u6210\u5458\u3002
+realmwizard.usage.title                                      = \u8FD9\u4E2A\u9875\u9762\u4ECB\u7ECD\u600E\u6837\u5728 J2EE \u5E94\u7528\u4E2D\u4F7F\u7528\u5B89\u5168\u57DF{0} \u3002\u8FD9\u91CC\u662F\u4EE5 Web \u5E94\u7528\u4E3A\u4F8B\uFF0C\u5BF9\u4E8E\u5176\u4ED6\u7A0B\u5E8F\u6A21\u5757\uFF0C\u4E5F\u53EF\u4F7F\u7528\u7C7B\u4F3C\u7684\u65B9\u6CD5\u3002
+realmwizard.usage.webXmlShouldHave                           = <p>\u5728  <tt>web.xml</tt> \u4E2D\u5E94\u8BE5\u542B\u6709</p><ul>  <li>\u4E00\u4E2A\u6216\u591A\u4E2A <tt>security-constraint</tt> \u5757\uFF0C\u7528\u6765\u6307\u660E\u53D7\u4FDD\u62A4\u7684\u9875\u9762\u548C URL </li>  <li>\u4E00\u4E2A<tt>login-config</tt> \u5757\uFF0C\u7528\u6765\u914D\u7F6E\u5E94\u7528\u7684\u767B\u5F55\u4FE1\u606F</li>  <li>\u4E00\u4E2A\u6216\u591A\u4E2A<tt>security-role</tt> \u5757\uFF0C\u7528\u6765\u5217\u51FA\u5E94\u7528\u4E2D\u4F7F\u7528\u5230\u7684\u5B89\u5168\u89D2\u8272</li></ul>

Modified: geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/classes/login-modules.properties
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/classes/login-modules.properties?rev=734466&r1=734465&r2=734466&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/classes/login-modules.properties (original)
+++ geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/classes/login-modules.properties Wed Jan 14 10:19:35 2009
@@ -24,96 +24,96 @@
 module.props.name=Properties File Realm
 module.props.class=org.apache.geronimo.security.realm.providers.PropertiesFileLoginModule
 module.props.field.usersURI.displayOrder=1
-module.props.field.usersURI.displayName=Users File URI
-module.props.field.usersURI.description=The location of a properties file (relative to the Geronimo home dir) holding user/password information.  The format of each line should be <tt>username=password</tt>.
+module.props.field.usersURI.displayName=realmwizard.configure.props.usersURI.name
+module.props.field.usersURI.description=realmwizard.configure.props.usersURI.description
 module.props.field.usersURI.length=50
 module.props.field.groupsURI.displayOrder=2
-module.props.field.groupsURI.displayName=Groups File URI
-module.props.field.groupsURI.description=The location of a properties file (relative to the Geronimo home dir) holding group information.  The format of each line should be <tt>group=user,user,...</tt>.
+module.props.field.groupsURI.displayName=realmwizard.configure.props.groupsURI.name
+module.props.field.groupsURI.description=realmwizard.configure.props.groupsURI.description
 module.props.field.groupsURI.length=50
 module.props.field.digest.displayOrder=3
-module.props.field.digest.displayName=Digest Algorithm
-module.props.field.digest.description=Message Digest algorithm (e.g. MD5, SHA1, etc.) used on the passwords.  Leave this field empty if no digest algorithm is used.
+module.props.field.digest.displayName=realmwizard.configure.props.digest.name
+module.props.field.digest.description=realmwizard.configure.props.digest.description
 module.props.field.digest.length=10
 module.props.field.digest.blankAllowed=true
 module.props.field.encoding.displayOrder=4
-module.props.field.encoding.displayName=Digest Encoding
-module.props.field.encoding.description=Encoding to use for digests (e.g. hex, base64).  This is used only if a Message Digest algorithm is specified.  If no encoding is specified, hex will be used.
+module.props.field.encoding.displayName=realmwizard.configure.props.encoding.name
+module.props.field.encoding.description=realmwizard.configure.props.encoding.description
 module.props.field.encoding.length=10
 module.props.field.encoding.blankAllowed=true
 # LDAP
 module.ldap.name=LDAP Realm
 module.ldap.class=org.apache.geronimo.security.realm.providers.LDAPLoginModule
 module.ldap.field.initialContextFactory.displayOrder=1
-module.ldap.field.initialContextFactory.displayName=Initial Context Factory
-module.ldap.field.initialContextFactory.description=The fully-qualified class name of the initial context factory.  If you don't know what to use here, you should use <tt>com.sun.jndi.ldap.LdapCtxFactory</tt>.
+module.ldap.field.initialContextFactory.displayName=realmwizard.configure.ldap.initialContextFactory.name
+module.ldap.field.initialContextFactory.description=realmwizard.configure.ldap.initialContextFactory.description
 module.ldap.field.initialContextFactory.length=60
 module.ldap.field.connectionURL.displayOrder=2
-module.ldap.field.connectionURL.displayName=Connection URL
-module.ldap.field.connectionURL.description=A URL the describes how to connect to the LDAP server.  Normally this would be <tt>ldap://ldap-server-hostname:389</tt> (or for the Apache directory server included with Geronimo, <tt>ldap://localhost:1389</tt>).
+module.ldap.field.connectionURL.displayName=realmwizard.configure.ldap.connectionURL.name
+module.ldap.field.connectionURL.description=realmwizard.configure.ldap.connectionURL.description
 module.ldap.field.connectionURL.length=50
 module.ldap.field.connectionUsername.displayOrder=3
-module.ldap.field.connectionUsername.displayName=Connect Username
-module.ldap.field.connectionUsername.description=The user name used to connect to the LDAP server.  Should be an administrator or Directory manager that has access to examine other users' passwords.
+module.ldap.field.connectionUsername.displayName=realmwizard.configure.ldap.connectionUsername.name
+module.ldap.field.connectionUsername.description=realmwizard.configure.ldap.connectionUsername.description
 module.ldap.field.connectionUsername.length=20
 module.ldap.field.connectionPassword.displayOrder=4
-module.ldap.field.connectionPassword.displayName=Connect Password
+module.ldap.field.connectionPassword.displayName=realmwizard.configure.ldap.connectionPassword.name
 module.ldap.field.connectionPassword.password=true
-module.ldap.field.connectionPassword.description=The password used to connect to the LDAP server.
+module.ldap.field.connectionPassword.description=realmwizard.configure.ldap.connectionPassword.description
 module.ldap.field.connectionPassword.length=20
 module.ldap.field.connectionProtocol.displayOrder=5
-module.ldap.field.connectionProtocol.displayName=Connect Protocol
-module.ldap.field.connectionProtocol.description=The connection protocol used to communicate with the LDAP server.  Normally left blank, though it can be set to <tt>ssl</tt> if the server supports it.
+module.ldap.field.connectionProtocol.displayName=realmwizard.configure.ldap.connectionProtocol.name
+module.ldap.field.connectionProtocol.description=realmwizard.configure.ldap.connectionProtocol.description
 module.ldap.field.connectionProtocol.length=10
 module.ldap.field.connectionProtocol.blankAllowed=true
 module.ldap.field.authentication.displayOrder=6
-module.ldap.field.authentication.displayName=Authentication
-module.ldap.field.authentication.description=The security level to use, which can be <tt>none</tt>, <tt>simple</tt>, or <tt>strong</tt> (the usual value is <tt>simple</tt>.  If this property is unspecified, the behavior is determined by the service provider.
+module.ldap.field.authentication.displayName=realmwizard.configure.ldap.authentication.name
+module.ldap.field.authentication.description=realmwizard.configure.ldap.authentication.description
 module.ldap.field.authentication.length=10
 module.ldap.field.authentication.blankAllowed=true
 module.ldap.field.userBase.displayOrder=7
-module.ldap.field.userBase.displayName=User Base
-module.ldap.field.userBase.description=The base LDAP context (location) to search for users.  The search may look in this location only, or there and all subcontexts, depending on the settings for "User Search Subtree" below.
+module.ldap.field.userBase.displayName=realmwizard.configure.ldap.userBase.name
+module.ldap.field.userBase.description=realmwizard.configure.ldap.userBase.description
 module.ldap.field.userBase.length=40
 module.ldap.field.userSearchMatching.displayOrder=8
-module.ldap.field.userSearchMatching.displayName=User Search Matching
-module.ldap.field.userSearchMatching.description=The LDAP attribute search string used to find the user.  RFC 2254 filters are allowed, and normally the parameter <tt>{0}</tt> is used to identify the username.  A typical value would be <tt>(uid={0})</tt> or <tt>(cn={0})</tt>.
+module.ldap.field.userSearchMatching.displayName=realmwizard.configure.ldap.userSearchMatching.name
+module.ldap.field.userSearchMatching.description=realmwizard.configure.ldap.userSearchMatching.description
 module.ldap.field.userSearchMatching.length=20
 module.ldap.field.userSearchSubtree.displayOrder=9
-module.ldap.field.userSearchSubtree.displayName=User Search Subtree
-module.ldap.field.userSearchSubtree.description=If set to <tt>true</tt>, then subtrees under the "User Base" will be searched for users too.  If set to <tt>false</tt>, then only the "User Base" location itself will be searched.
+module.ldap.field.userSearchSubtree.displayName=realmwizard.configure.ldap.userSearchSubtree.name
+module.ldap.field.userSearchSubtree.description=realmwizard.configure.ldap.userSearchSubtree.description
 module.ldap.field.userSearchSubtree.length=10
 module.ldap.field.roleBase.displayOrder=10
-module.ldap.field.roleBase.displayName=Role Base
-module.ldap.field.roleBase.description=The base LDAP context (location) to search for roles.  The search may look in this location only, or there and all subcontexts, depending on the settings for "Role Search Subtree" below.
+module.ldap.field.roleBase.displayName=realmwizard.configure.ldap.roleBase.name
+module.ldap.field.roleBase.description=realmwizard.configure.ldap.roleBase.description
 module.ldap.field.roleBase.length=40
 module.ldap.field.roleName.displayOrder=11
-module.ldap.field.roleName.displayName=Role Name
-module.ldap.field.roleName.description=The LDAP attribute type that corresponds to the the role name.  Often set to <tt>cn</tt>.
+module.ldap.field.roleName.displayName=realmwizard.configure.ldap.roleName.name
+module.ldap.field.roleName.description=realmwizard.configure.ldap.roleName.description
 module.ldap.field.roleName.length=20
 module.ldap.field.roleSearchMatching.displayOrder=12
-module.ldap.field.roleSearchMatching.displayName=Role User Search String
-module.ldap.field.roleSearchMatching.description=The LDAP attribute search string used on a role to find the users who are members of the role.  This is used when the role has many attributes with the same name, but with different values (one per user).  Normally the parameter <tt>{0}</tt> is used to identify the username.  A typical value would be <tt>(member={0})</tt> or <tt>(memberUID={0})</tt>.
+module.ldap.field.roleSearchMatching.displayName=realmwizard.configure.ldap.roleSearchMatching.name
+module.ldap.field.roleSearchMatching.description=realmwizard.configure.ldap.roleSearchMatching.description
 module.ldap.field.roleSearchMatching.length=20
 module.ldap.field.roleSearchSubtree.displayOrder=13
-module.ldap.field.roleSearchSubtree.displayName=Role Search Subtree
-module.ldap.field.roleSearchSubtree.description=If set to <tt>true</tt>, then subtrees under the "Role Base" will be searched for roles too.  If set to <tt>false</tt>, then only the "Role Base" location itself will be searched.
+module.ldap.field.roleSearchSubtree.displayName=realmwizard.configure.ldap.roleSearchSubtree.name
+module.ldap.field.roleSearchSubtree.description=realmwizard.configure.ldap.roleSearchSubtree.description
 module.ldap.field.roleSearchSubtree.length=10
 module.ldap.field.userRoleName.displayOrder=14
-module.ldap.field.userRoleName.displayName=User Role Search String
-module.ldap.field.userRoleName.description=If the role entry does not have an attribute for users, but instead the user entry has an attribute for roles, this should be used instead of the "Role User Search String".  It names the attribute on a user that lists a role that user is in.  A typical value would be <tt>(memberOf={0})</tt>.
+module.ldap.field.userRoleName.displayName=realmwizard.configure.ldap.userRoleName.name
+module.ldap.field.userRoleName.description=realmwizard.configure.ldap.userRoleName.description
 module.ldap.field.userRoleName.length=20
 module.ldap.field.userRoleName.blankAllowed=true
 # Certificate Properties File
 module.certprops.name=Certificate Properties File Realm
 module.certprops.class=org.apache.geronimo.security.realm.providers.CertificatePropertiesFileLoginModule
 module.certprops.field.usersURI.displayOrder=1
-module.certprops.field.usersURI.displayName=Users File URI
-module.certprops.field.usersURI.description=The location of a properties file (relative to the Geronimo home dir) holding certificate to user mapping information.  The format of each line should be <tt>username=certificatename</tt> where certificate name is <tt>X509Certificate.getSubjectX500Principal().getName()</tt>
+module.certprops.field.usersURI.displayName=realmwizard.configure.certprops.usersURI.name
+module.certprops.field.usersURI.description=realmwizard.configure.certprops.usersURI.description
 module.certprops.field.usersURI.length=50
 module.certprops.field.groupsURI.displayOrder=2
-module.certprops.field.groupsURI.displayName=Groups File URI
-module.certprops.field.groupsURI.description=The location of a properties file (relative to the Geronimo home dir) holding group information.  The format of each line should be <tt>group=user,user,...</tt>.
+module.certprops.field.groupsURI.displayName=realmwizard.configure.certprops.groupsURI.name
+module.certprops.field.groupsURI.description=realmwizard.configure.certprops.groupsURI.description
 module.certprops.field.groupsURI.length=50
 # TODO: Sun Kerberos Login Module & Properties
 # Other realm has special edit logic; don't bother with much at all

Modified: geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/configure.jsp
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/configure.jsp?rev=734466&r1=734465&r2=734466&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/configure.jsp (original)
+++ geronimo/server/trunk/plugins/console/plugin-portlets/src/main/webapp/WEB-INF/view/realmwizard/configure.jsp Wed Jan 14 10:19:35 2009
@@ -96,14 +96,14 @@
     </script>
     <c:forEach var="option" items="${realm.optionNames}">
       <tr>
-        <th style="min-width: 140px"><div align="right"><label for="<portlet:namespace/>option-${option}">${optionMap[option].displayName}</label>:</div></th>
+        <th style="min-width: 140px"><div align="right"><label for="<portlet:namespace/>option-${option}"><fmt:message key="${optionMap[option].displayName}"/></label>:</div></th>
         <td><input name="option-${option}" id="<portlet:namespace/>option-${option}"
                    type="<c:choose><c:when test="${optionMap[option].password}">password</c:when><c:otherwise>text</c:otherwise></c:choose>"
                    size="${optionMap[option].length}" value="${realm.options[option]}"></td>
       </tr>
       <tr>
         <td></td>
-        <td>${optionMap[option].description}</td>
+        <td><fmt:message key="${optionMap[option].description}"/></td>
       </tr>
     <c:if test="${optionMap[option].password}">
       <tr>