kaori пре 3 година
родитељ
комит
131f6fe2a3
29 измењених фајлова са 88 додато и 76 уклоњено
  1. 14 0
      packages/app/public/static/locales/en_US/admin.json
  2. 12 14
      packages/app/public/static/locales/en_US/translation.json
  3. 2 2
      packages/app/src/components/Admin/App/AppSetting.jsx
  4. 2 2
      packages/app/src/components/Admin/App/AppSettingsPageContents.tsx
  5. 1 1
      packages/app/src/components/Admin/AuditLog/AuditLogDisableMode.tsx
  6. 1 1
      packages/app/src/components/Admin/AuditLogManagement.tsx
  7. 11 11
      packages/app/src/components/Admin/Common/AdminNavigation.jsx
  8. 1 1
      packages/app/src/components/Admin/Notification/GlobalNotification.jsx
  9. 2 2
      packages/app/src/components/Admin/Notification/NotificationSetting.jsx
  10. 1 1
      packages/app/src/components/Admin/Security/GitHubSecuritySettingContents.jsx
  11. 1 1
      packages/app/src/components/Admin/Security/GoogleSecuritySettingContents.jsx
  12. 2 2
      packages/app/src/components/Admin/Security/OidcSecuritySettingContents.jsx
  13. 1 1
      packages/app/src/components/Admin/Security/SamlSecuritySettingContents.jsx
  14. 1 1
      packages/app/src/components/Admin/Security/TwitterSecuritySettingContents.jsx
  15. 1 1
      packages/app/src/components/Admin/UserManagement.jsx
  16. 11 11
      packages/app/src/pages/admin/[[...path]].page.tsx
  17. 2 2
      packages/app/src/server/views/admin/app.html
  18. 2 2
      packages/app/src/server/views/admin/audit-log.html
  19. 1 1
      packages/app/src/server/views/admin/external-accounts.html
  20. 2 2
      packages/app/src/server/views/admin/global-notification-detail.html
  21. 2 2
      packages/app/src/server/views/admin/markdown.html
  22. 2 2
      packages/app/src/server/views/admin/notification.html
  23. 2 2
      packages/app/src/server/views/admin/search.html
  24. 2 2
      packages/app/src/server/views/admin/slack-integration-legacy.html
  25. 2 2
      packages/app/src/server/views/admin/slack-integration.html
  26. 2 2
      packages/app/src/server/views/admin/user-group-detail.html
  27. 2 2
      packages/app/src/server/views/admin/user-groups.html
  28. 2 2
      packages/app/src/server/views/admin/users.html
  29. 1 1
      packages/app/src/server/views/widget/alert_siteurl_undefined.html

+ 14 - 0
packages/app/public/static/locales/en_US/admin.json

@@ -1,4 +1,11 @@
 {
 {
+  "wiki_management_home_page": "Wiki Management Home Page",
+  "app_settings": "App Settings",
+  "security_settings": "Security Settings",
+  "markdown_settings": "Markdown Settings",
+  "notification_settings": "Notification Settings",
+  "Customize": "Customize",
+  "full_text_search_management": "Full Text Search Management",
   "mailer_setup_required":"<a href='/admin/app'>Email settings</a> are required to send.",
   "mailer_setup_required":"<a href='/admin/app'>Email settings</a> are required to send.",
   "admin_top": {
   "admin_top": {
     "management_wiki": "Management Wiki",
     "management_wiki": "Management Wiki",
@@ -305,12 +312,14 @@
     "delete": "Delete"
     "delete": "Delete"
   },
   },
   "external_notification": {
   "external_notification": {
+    "external_notification": "External Notification",
     "enabled": "Enabled",
     "enabled": "Enabled",
     "disabled": "Disabled",
     "disabled": "Disabled",
     "header_status": "Slack Integration Status",
     "header_status": "Slack Integration Status",
     "caution_enabled": "CAUTION: Currently, notifications that are configured in this page will send only to the Slack Workspace set as primary."
     "caution_enabled": "CAUTION: Currently, notifications that are configured in this page will send only to the Slack Workspace set as primary."
   },
   },
   "slack_integration": {
   "slack_integration": {
+    "slack_integration": "Slack Integration",
     "selecting_bot_types": {
     "selecting_bot_types": {
       "slack_bot": "Slack bot",
       "slack_bot": "Slack bot",
       "detailed_explanation": "Detailed explanation",
       "detailed_explanation": "Detailed explanation",
@@ -422,10 +431,12 @@
     }
     }
   },
   },
   "slack_integration_legacy": {
   "slack_integration_legacy": {
+    "slack_integration_legacy": "Legacy Slack Integration",
     "alert_Pd": "This 'Legacy Slack Integration' is currently disabled because <a href='/admin/slack-integration'>the new settings</a> is enabled.",
     "alert_Pd": "This 'Legacy Slack Integration' is currently disabled because <a href='/admin/slack-integration'>the new settings</a> is enabled.",
     "alert_deplicated": "This 'Legacy Slack Integration' is outdated and will be discontinued in the future. Use <a href='/admin/slack-integration'>the new settings</a> instead. "
     "alert_deplicated": "This 'Legacy Slack Integration' is outdated and will be discontinued in the future. Use <a href='/admin/slack-integration'>the new settings</a> instead. "
   },
   },
   "user_management": {
   "user_management": {
+    "user_management": "User Management",
     "invite_users": "Temporarily issue a new user",
     "invite_users": "Temporarily issue a new user",
     "click_twice_same_checkbox": "You should check at least one checkbox.",
     "click_twice_same_checkbox": "You should check at least one checkbox.",
     "invite_modal": {
     "invite_modal": {
@@ -483,6 +494,7 @@
     "current_users": "Current users:"
     "current_users": "Current users:"
   },
   },
   "user_group_management": {
   "user_group_management": {
+    "user_group_management": "User Group Management",
     "create_group": "Create new group",
     "create_group": "Create new group",
     "add_child_group": "Add child group",
     "add_child_group": "Add child group",
     "remove_child_group": "Remove",
     "remove_child_group": "Remove",
@@ -529,6 +541,8 @@
     }
     }
   },
   },
   "audit_log_management": {
   "audit_log_management": {
+    "audit_log": "Audit Log",
+    "audit_log_settings": "Audit Log Settings",
     "user": "User",
     "user": "User",
     "username": "Username",
     "username": "Username",
     "date": "Date",
     "date": "Date",

+ 12 - 14
packages/app/public/static/locales/en_US/translation.json

@@ -114,26 +114,25 @@
   "Input page name (optional)": "Input page name (optional)",
   "Input page name (optional)": "Input page name (optional)",
   "New Page": "New page",
   "New Page": "New page",
   "Create under": "Create page under below:",
   "Create under": "Create page under below:",
-  "Wiki Management Home Page": "Wiki Management Home Page",
-  "App Settings": "App Settings",
+  // "App Settings": "App Settings",
   "V5 Page Migration": "Convert To V5 Compatibility",
   "V5 Page Migration": "Convert To V5 Compatibility",
   "GROWI.5.0_new_schema": "GROWI.5.0 new schema",
   "GROWI.5.0_new_schema": "GROWI.5.0 new schema",
   "See_more_detail_on_new_schema": "See more detail on <a href='#'>{{url}}</a> <i class='icon-share-alt'></i> ",
   "See_more_detail_on_new_schema": "See more detail on <a href='#'>{{url}}</a> <i class='icon-share-alt'></i> ",
   "Site URL settings": "Site URL settings",
   "Site URL settings": "Site URL settings",
-  "Markdown Settings": "Markdown Settings",
-  "Customize": "Customize",
-  "Notification Settings": "Notification Settings",
-  "slack_integration": "Slack Integration",
-  "External_Notification": "External Notification",
-  "Legacy_Slack_Integration": "Legacy Slack Integration",
-  "User_Management": "User Management",
+  // "Markdown Settings": "Markdown Settings",
+  // "Customize": "Customize",
+  // "Notification Settings": "Notification Settings",
+  // "slack_integration": "Slack Integration",
+  // "External_Notification": "External Notification",
+  // "Legacy_Slack_Integration": "Legacy Slack Integration",
+  // "User_Management": "User Management",
   "external_account_management": "External Account Management",
   "external_account_management": "External Account Management",
   "UserGroup": "UserGroup",
   "UserGroup": "UserGroup",
   "ChildUserGroup": "ChildUserGroup",
   "ChildUserGroup": "ChildUserGroup",
-  "UserGroup Management": "UserGroup Management",
-  "AuditLog": "Audit Log",
-  "AuditLog Settings": "Audit Log Settings",
-  "Full Text Search Management": "Full Text Search Management",
+  // "UserGroup Management": "UserGroup Management",
+  // "AuditLog": "Audit Log",
+  // "AuditLog Settings": "Audit Log Settings",
+  // "Full Text Search Management": "Full Text Search Management",
   "Import Data": "Import Data",
   "Import Data": "Import Data",
   "Export Archive Data": "Export Archive Data",
   "Export Archive Data": "Export Archive Data",
   "Basic Settings": "Basic Settings",
   "Basic Settings": "Basic Settings",
@@ -256,7 +255,6 @@
     "new_password_confirm": "Re-enter new password",
     "new_password_confirm": "Re-enter new password",
     "password_is_not_set": "Password is not set"
     "password_is_not_set": "Password is not set"
   },
   },
-  "security_settings": "Security settings",
   "share_links": {
   "share_links": {
     "Shere this page link to public": "Shere this page link to public",
     "Shere this page link to public": "Shere this page link to public",
     "share_link_list": "Share link list",
     "share_link_list": "Share link list",

+ 2 - 2
packages/app/src/components/Admin/App/AppSetting.jsx

@@ -18,12 +18,12 @@ const logger = loggerFactory('growi:appSettings');
 
 
 const AppSetting = (props) => {
 const AppSetting = (props) => {
   const { adminAppContainer } = props;
   const { adminAppContainer } = props;
-  const { t } = useTranslation();
+  const { t } = useTranslation('admin');
 
 
   const submitHandler = useCallback(async() => {
   const submitHandler = useCallback(async() => {
     try {
     try {
       await adminAppContainer.updateAppSettingHandler();
       await adminAppContainer.updateAppSettingHandler();
-      toastSuccess(t('toaster.update_successed', { target: t('App Settings') }));
+      toastSuccess(t('toaster.update_successed', { target: t('app_settings') }));
     }
     }
     catch (err) {
     catch (err) {
       toastError(err);
       toastError(err);

+ 2 - 2
packages/app/src/components/Admin/App/AppSettingsPageContents.tsx

@@ -25,7 +25,7 @@ type Props = {
 }
 }
 
 
 const AppSettingsPageContents = (props: Props) => {
 const AppSettingsPageContents = (props: Props) => {
-  const { t } = useTranslation();
+  const { t } = useTranslation('admin');
   const { adminAppContainer } = props;
   const { adminAppContainer } = props;
   const { isV5Compatible } = adminAppContainer.state;
   const { isV5Compatible } = adminAppContainer.state;
 
 
@@ -78,7 +78,7 @@ const AppSettingsPageContents = (props: Props) => {
 
 
       <div className="row">
       <div className="row">
         <div className="col-lg-12">
         <div className="col-lg-12">
-          <h2 className="admin-setting-header">{t('App Settings')}</h2>
+          <h2 className="admin-setting-header">{t('app_settings')}</h2>
           <AppSetting />
           <AppSetting />
         </div>
         </div>
       </div>
       </div>

+ 1 - 1
packages/app/src/components/Admin/AuditLog/AuditLogDisableMode.tsx

@@ -12,7 +12,7 @@ export const AuditLogDisableMode: FC = () => {
           <div className="col-md-6 mt-5">
           <div className="col-md-6 mt-5">
             <div className="text-center">
             <div className="text-center">
               <h1><i className="icon-exclamation large"></i></h1>
               <h1><i className="icon-exclamation large"></i></h1>
-              <h1 className="text-center">{t('AuditLog')}</h1>
+              <h1 className="text-center">{t('audit_log_management.audit_log')}</h1>
               <h3
               <h3
                 // eslint-disable-next-line react/no-danger
                 // eslint-disable-next-line react/no-danger
                 dangerouslySetInnerHTML={{ __html: t('admin:audit_log_management.disable_mode_explain') }}
                 dangerouslySetInnerHTML={{ __html: t('admin:audit_log_management.disable_mode_explain') }}

+ 1 - 1
packages/app/src/components/Admin/AuditLogManagement.tsx

@@ -159,7 +159,7 @@ export const AuditLogManagement: FC = () => {
 
 
       <h2 className="admin-setting-header mb-3">
       <h2 className="admin-setting-header mb-3">
         <span>
         <span>
-          {isSettingPage ? t('AuditLog Settings') : t('AuditLog')}
+          {isSettingPage ? t('audit_log_management.audit_log_settings') : t('audit_log_management.audit_log')}
         </span>
         </span>
         { !isSettingPage && (
         { !isSettingPage && (
           <button type="button" className="btn btn-sm ml-auto grw-btn-reload" onClick={reloadButtonPushedHandler}>
           <button type="button" className="btn btn-sm ml-auto grw-btn-reload" onClick={reloadButtonPushedHandler}>

+ 11 - 11
packages/app/src/components/Admin/Common/AdminNavigation.jsx

@@ -15,7 +15,7 @@ import urljoin from 'url-join';
 // import { withUnstatedContainers } from '../../UnstatedUtils';
 // import { withUnstatedContainers } from '../../UnstatedUtils';
 
 
 const AdminNavigation = (props) => {
 const AdminNavigation = (props) => {
-  const { t } = useTranslation();
+  const { t } = useTranslation('admin');
   // const { appContainer } = props;
   // const { appContainer } = props;
   const pathname = window.location.pathname;
   const pathname = window.location.pathname;
 
 
@@ -25,22 +25,22 @@ const AdminNavigation = (props) => {
   // eslint-disable-next-line react/prop-types
   // eslint-disable-next-line react/prop-types
   const MenuLabel = ({ menu }) => {
   const MenuLabel = ({ menu }) => {
     switch (menu) {
     switch (menu) {
-      case 'app':                      return <><i className="icon-fw icon-settings"></i>        { t('App Settings') }</>;
+      case 'app':                      return <><i className="icon-fw icon-settings"></i>        { t('app_settings') }</>;
       case 'security':                 return <><i className="icon-fw icon-shield"></i>          { t('security_settings') }</>;
       case 'security':                 return <><i className="icon-fw icon-shield"></i>          { t('security_settings') }</>;
-      case 'markdown':                 return <><i className="icon-fw icon-note"></i>            { t('Markdown Settings') }</>;
+      case 'markdown':                 return <><i className="icon-fw icon-note"></i>            { t('markdown_settings') }</>;
       case 'customize':                return <><i className="icon-fw icon-wrench"></i>          { t('Customize') }</>;
       case 'customize':                return <><i className="icon-fw icon-wrench"></i>          { t('Customize') }</>;
       case 'importer':                 return <><i className="icon-fw icon-cloud-upload"></i>    { t('Import Data') }</>;
       case 'importer':                 return <><i className="icon-fw icon-cloud-upload"></i>    { t('Import Data') }</>;
       case 'export':                   return <><i className="icon-fw icon-cloud-download"></i>  { t('Export Archive Data') }</>;
       case 'export':                   return <><i className="icon-fw icon-cloud-download"></i>  { t('Export Archive Data') }</>;
-      case 'notification':             return <><i className="icon-fw icon-bell"></i>            { t('External_Notification')}</>;
-      case 'slack-integration':        return <><i className="icon-fw icon-shuffle"></i>         { t('slack_integration') }</>;
-      case 'slack-integration-legacy': return <><i className="icon-fw icon-shuffle"></i>         { t('Legacy_Slack_Integration')}</>;
-      case 'users':                    return <><i className="icon-fw icon-user"></i>            { t('User_Management') }</>;
-      case 'user-groups':              return <><i className="icon-fw icon-people"></i>          { t('UserGroup Management') }</>;
-      case 'search':                   return <><i className="icon-fw icon-magnifier"></i>       { t('Full Text Search Management') }</>;
+      case 'notification':             return <><i className="icon-fw icon-bell"></i>            { t('external_notification.external_notification')}</>;
+      case 'slack-integration':        return <><i className="icon-fw icon-shuffle"></i>         { t('slack_integration.slack_integration') }</>;
+      case 'slack-integration-legacy': return <><i className="icon-fw icon-shuffle"></i>         { t('slack_integration_legacy.slack_integration_legacy')}</>;
+      case 'users':                    return <><i className="icon-fw icon-user"></i>            { t('user_management.user_management') }</>;
+      case 'user-groups':              return <><i className="icon-fw icon-people"></i>          { t('user_group_management.user_group_management') }</>;
+      case 'search':                   return <><i className="icon-fw icon-magnifier"></i>       { t('full_text_search_management') }</>;
       // TODO: Consider where to place the "AuditLog"
       // TODO: Consider where to place the "AuditLog"
-      case 'audit-log':                return <><i className="icon-fw icon-feed"></i>            { t('AuditLog')}</>;
+      case 'audit-log':                return <><i className="icon-fw icon-feed"></i>            { t('audit_log_management.audit_log')}</>;
       case 'cloud':                    return <><i className="icon-fw icon-share-alt"></i>       { t('to_cloud_settings')} </>;
       case 'cloud':                    return <><i className="icon-fw icon-share-alt"></i>       { t('to_cloud_settings')} </>;
-      default:                         return <><i className="icon-fw icon-home"></i>            { t('Wiki Management Home Page') }</>;
+      default:                         return <><i className="icon-fw icon-home"></i>            { t('wiki_management_home_page') }</>;
     }
     }
   };
   };
 
 

+ 1 - 1
packages/app/src/components/Admin/Notification/GlobalNotification.jsx

@@ -26,7 +26,7 @@ class GlobalNotification extends React.Component {
 
 
     try {
     try {
       await adminNotificationContainer.updateGlobalNotificationForPages();
       await adminNotificationContainer.updateGlobalNotificationForPages();
-      toastSuccess(t('toaster.update_successed', { target: t('External_Notification') }));
+      toastSuccess(t('toaster.update_successed', { target: t('external_notification.external_notification') }));
     }
     }
     catch (err) {
     catch (err) {
       toastError(err);
       toastError(err);

+ 2 - 2
packages/app/src/components/Admin/Notification/NotificationSetting.jsx

@@ -54,7 +54,7 @@ const SlackIntegrationListItem = ({ isEnabled, currentBotType }) => {
     <li data-testid="slack-integration-list-item" className="list-group-item">
     <li data-testid="slack-integration-list-item" className="list-group-item">
       <h4>
       <h4>
         <Badge isEnabled={isEnabled} />
         <Badge isEnabled={isEnabled} />
-        <a href="/admin/slack-integration" className="ml-2">{t('slack_integration')}</a>
+        <a href="/admin/slack-integration" className="ml-2">{t('slack_integration.slack_integration')}</a>
       </h4>
       </h4>
       { isCautionVisible && (
       { isCautionVisible && (
         <ul className="mt-2 pl-4">
         <ul className="mt-2 pl-4">
@@ -155,7 +155,7 @@ function NotificationSetting(props) {
       </ul>
       </ul>
 
 
 
 
-      <h2 className="admin-setting-header mt-5">{t('Notification Settings')}</h2>
+      <h2 className="admin-setting-header mt-5">{t('notification_settings')}</h2>
 
 
       <CustomNavTab activeTab={activeTab} navTabMapping={navTabMapping} onNavSelected={switchActiveTab} hideBorderBottom />
       <CustomNavTab activeTab={activeTab} navTabMapping={navTabMapping} onNavSelected={switchActiveTab} hideBorderBottom />
 
 

+ 1 - 1
packages/app/src/components/Admin/Security/GitHubSecuritySettingContents.jsx

@@ -90,7 +90,7 @@ class GitHubSecurityManagementContents extends React.Component {
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
                   // eslint-disable-next-line max-len
                   // eslint-disable-next-line max-len
-                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                 />
                 />
               </div>
               </div>
             )}
             )}

+ 1 - 1
packages/app/src/components/Admin/Security/GoogleSecuritySettingContents.jsx

@@ -88,7 +88,7 @@ class GoogleSecurityManagementContents extends React.Component {
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
                   // eslint-disable-next-line max-len
                   // eslint-disable-next-line max-len
-                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                 />
                 />
               </div>
               </div>
             )}
             )}

+ 2 - 2
packages/app/src/components/Admin/Security/OidcSecuritySettingContents.jsx

@@ -82,7 +82,7 @@ class OidcSecurityManagementContents extends React.Component {
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
                   // eslint-disable-next-line max-len
                   // eslint-disable-next-line max-len
-                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                 />
                 />
               </div>
               </div>
             )}
             )}
@@ -378,7 +378,7 @@ class OidcSecurityManagementContents extends React.Component {
                     <i
                     <i
                       className="icon-exclamation"
                       className="icon-exclamation"
                       // eslint-disable-next-line max-len
                       // eslint-disable-next-line max-len
-                      dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                      dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                     />
                     />
                   </div>
                   </div>
                 )}
                 )}

+ 1 - 1
packages/app/src/components/Admin/Security/SamlSecuritySettingContents.jsx

@@ -99,7 +99,7 @@ class SamlSecurityManagementContents extends React.Component {
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
                   // eslint-disable-next-line max-len
                   // eslint-disable-next-line max-len
-                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                 />
                 />
               </div>
               </div>
             )}
             )}

+ 1 - 1
packages/app/src/components/Admin/Security/TwitterSecuritySettingContents.jsx

@@ -90,7 +90,7 @@ class TwitterSecuritySettingContents extends React.Component {
                 <i
                 <i
                   className="icon-exclamation"
                   className="icon-exclamation"
                   // eslint-disable-next-line max-len
                   // eslint-disable-next-line max-len
-                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('App Settings')}<i class="icon-login"></i></a>` }) }}
+                  dangerouslySetInnerHTML={{ __html: t('security_setting.alert_siteUrl_is_not_set', { link: `<a href="/admin/app">${t('app_settings')}<i class="icon-login"></i></a>` }) }}
                 />
                 />
               </div>
               </div>
             )}
             )}

+ 1 - 1
packages/app/src/components/Admin/UserManagement.jsx

@@ -157,7 +157,7 @@ class UserManagement extends React.Component {
           </a>
           </a>
         </p>
         </p>
 
 
-        <h2>{t('User_Management')}</h2>
+        <h2>{t('user_management.user_management')}</h2>
         <div className="border-top border-bottom">
         <div className="border-top border-bottom">
 
 
           <div className="row d-flex justify-content-start align-items-center my-2">
           <div className="row d-flex justify-content-start align-items-center my-2">

+ 11 - 11
packages/app/src/pages/admin/[[...path]].page.tsx

@@ -103,7 +103,7 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
   // TODO: refactoring adminPagesMap => https://redmine.weseek.co.jp/issues/102694
   // TODO: refactoring adminPagesMap => https://redmine.weseek.co.jp/issues/102694
   const adminPagesMap = {
   const adminPagesMap = {
     home: {
     home: {
-      title:  t('Wiki Management Home Page'),
+      title:  t('wiki_management_home_page'),
       component: <AdminHome
       component: <AdminHome
         nodeVersion={props.nodeVersion}
         nodeVersion={props.nodeVersion}
         npmVersion={props.npmVersion}
         npmVersion={props.npmVersion}
@@ -112,7 +112,7 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
       />,
       />,
     },
     },
     app: {
     app: {
-      title: t('App Settings'),
+      title: t('app_settings'),
       component: <AppSettingsPageContents />,
       component: <AppSettingsPageContents />,
     },
     },
     security: {
     security: {
@@ -120,7 +120,7 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
       component: <SecurityManagementContents />,
       component: <SecurityManagementContents />,
     },
     },
     markdown: {
     markdown: {
-      title: t('Markdown Settings'),
+      title: t('markdown_settings'),
       component: <MarkDownSettingContents />,
       component: <MarkDownSettingContents />,
     },
     },
     customize: {
     customize: {
@@ -136,7 +136,7 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
       component: <ExportArchiveDataPage />,
       component: <ExportArchiveDataPage />,
     },
     },
     notification: {
     notification: {
-      title: t('Notification Settings'),
+      title: t('external_notification.external_notification'),
       component: <NotificationSetting />,
       component: <NotificationSetting />,
     },
     },
     'global-notification': {
     'global-notification': {
@@ -144,15 +144,15 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
       component: <>global-notification</>,
       component: <>global-notification</>,
     },
     },
     'slack-integration': {
     'slack-integration': {
-      title: t('slack_integration'),
+      title: t('slack_integration.slack_integration'),
       component: <SlackIntegration />,
       component: <SlackIntegration />,
     },
     },
     'slack-integration-legacy': {
     'slack-integration-legacy': {
-      title: t('Legacy_Slack_Integration'),
+      title: t('slack_integration_legacy.slack_integration_legacy'),
       component: <LegacySlackIntegration />,
       component: <LegacySlackIntegration />,
     },
     },
     users: {
     users: {
-      title: t('User_Management'),
+      title: t('user_management.user_management'),
       component: <UserManagement />,
       component: <UserManagement />,
       'external-accounts': {
       'external-accounts': {
         title: t('external_account_management'),
         title: t('external_account_management'),
@@ -160,21 +160,21 @@ const AdminMarkdownSettingsPage: NextPage<Props> = (props: Props) => {
       },
       },
     },
     },
     'user-groups': {
     'user-groups': {
-      title:  t('UserGroup Management'),
+      title:  t('user_group_management.user_group_management'),
       component: <UserGroupPage />,
       component: <UserGroupPage />,
     },
     },
     'user-group-detail': {
     'user-group-detail': {
       [userGroupId]: {
       [userGroupId]: {
-        title: t('UserGroup Management'),
+        title: t('user_group_management.user_group_management'),
         component: <UserGroupDetailPage userGroupId={userGroupId} />,
         component: <UserGroupDetailPage userGroupId={userGroupId} />,
       },
       },
     },
     },
     search: {
     search: {
-      title: t('Full Text Search Management'),
+      title: t('full_text_search_management'),
       component: <ElasticsearchManagement />,
       component: <ElasticsearchManagement />,
     },
     },
     'audit-log': {
     'audit-log': {
-      title: t('AuditLog'),
+      title: t('audit_log_management.audit_log'),
       component: <AuditLogManagement />,
       component: <AuditLogManagement />,
     },
     },
   };
   };

+ 2 - 2
packages/app/src/server/views/admin/app.html

@@ -1,12 +1,12 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('App Settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('app_settings')) }}{% endblock %}
 
 
 {% block head_warn_alert_siteurl_undefined %} {# remove including block for './widget/alert_siteurl_undefined.html' #}
 {% block head_warn_alert_siteurl_undefined %} {# remove including block for './widget/alert_siteurl_undefined.html' #}
 {% endblock %}
 {% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('App Settings') }}</h1>
+<h1 class="title">{{ t('app_settings') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 
 

+ 2 - 2
packages/app/src/server/views/admin/audit-log.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('AuditLog')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('audit_log_management.audit_log')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('AuditLog') }}</h1>
+<h1 class="title">{{ t('audit_log_management.audit_log') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 1 - 1
packages/app/src/server/views/admin/external-accounts.html

@@ -3,7 +3,7 @@
 {% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('external_account_management')) }}{% endblock %}
 {% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('external_account_management')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('User_Management') }} / {{ t('external_account_management') }}</h1>
+<h1 class="title">{{ t('user_management.user_management') }} / {{ t('external_account_management') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/global-notification-detail.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('External_Notification')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('external_notification.external_notification')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('External_Notification') }}</h1>
+<h1 class="title">{{ t('external_notification.external_notification') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/markdown.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('Markdown Settings')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('markdown_settings')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('Markdown Settings') }}</h1>
+<h1 class="title">{{ t('markdown_settings') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/notification.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('External_Notification')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('external_notification.external_notification')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('External_Notification') }}</h1>
+<h1 class="title">{{ t('external_notification.external_notification') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/search.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('Full Text Search Management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('full_text_search_management')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('Full Text Search Management') }}</h1>
+<h1 class="title">{{ t('full_text_search_management') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/slack-integration-legacy.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('Legacy_Slack_Integration')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('slack_integration_legacy.slack_integration_legacy')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('Legacy_Slack_Integration') }}</h1>
+<h1 class="title">{{ t('slack_integration_legacy.slack_integration_legacy') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/slack-integration.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('slack_integration')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('slack_integration.slack_integration')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('slack_integration') }}</h1>
+<h1 class="title">{{ t('slack_integration.slack_integration') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/user-group-detail.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('UserGroup Management') + '/' + userGroup.name) | preventXss }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('user_group_management.user_group_management') + '/' + userGroup.name) | preventXss }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('UserGroup Management') + '/' + userGroup.name | preventXss }}</h1>
+<h1 class="title">{{ t('user_group_management.user_group_management') + '/' + userGroup.name | preventXss }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/user-groups.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('UserGroup Management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('user_group_management.user_group_management')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('UserGroup Management') }}</h1>
+<h1 class="title">{{ t('user_group_management.user_group_management') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 2 - 2
packages/app/src/server/views/admin/users.html

@@ -1,9 +1,9 @@
 {% extends '../layout/admin.html' %}
 {% extends '../layout/admin.html' %}
 
 
-{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('User_Management')) }}{% endblock %}
+{% block html_title %}{{ customizeService.generateCustomTitleForFixedPageName(t('user_management.user_management')) }}{% endblock %}
 
 
 {% block content_header %}
 {% block content_header %}
-<h1 class="title">{{ t('User_Management') }}</h1>
+<h1 class="title">{{ t('user_management.user_management') }}</h1>
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}

+ 1 - 1
packages/app/src/server/views/widget/alert_siteurl_undefined.html

@@ -1,6 +1,6 @@
 {% if !getConfig('crowi', 'app:siteUrl') %}
 {% if !getConfig('crowi', 'app:siteUrl') %}
 <div class="alert alert-danger rounded-0 d-edit-none mb-0 px-4 py-2">
 <div class="alert alert-danger rounded-0 d-edit-none mb-0 px-4 py-2">
   <i class="icon-exclamation"></i>
   <i class="icon-exclamation"></i>
-  {{ t("security_setting.alert_siteUrl_is_not_set", { link: t('App Settings')}) }} &gt;&gt; <a href="/admin/app">{{t('App Settings')}}<i class="icon-login"></i></a>
+  {{ t("security_setting.alert_siteUrl_is_not_set", { link: t('app_settings')}) }} &gt;&gt; <a href="/admin/app">{{t('app_settings')}}<i class="icon-login"></i></a>
 </div>
 </div>
 {% endif %}
 {% endif %}