Sfoglia il codice sorgente

Merge pull request #4014 from overleaf/ae-react-translations

Add more translations to React components

GitOrigin-RevId: c0392472f4d6603c147876c30def36f329994af5
Alf Eaton 5 anni fa
parent
commit
669e8f923f

+ 2 - 0
services/web/frontend/extracted-translations.json

@@ -81,6 +81,7 @@
   "free_accounts_have_timeout_upgrade_to_increase": "",
   "from_another_project": "",
   "from_external_url": "",
+  "from_provider": "",
   "full_doc_history": "",
   "full_screen": "",
   "generic_something_went_wrong": "",
@@ -236,6 +237,7 @@
   "repository_name": "",
   "resend": "",
   "review": "",
+  "revoke": "",
   "revoke_invite": "",
   "run_syntax_check_now": "",
   "select_a_file": "",

+ 2 - 1
services/web/frontend/js/features/share-project-modal/components/edit-member.js

@@ -120,6 +120,7 @@ SelectPrivilege.propTypes = {
 }
 
 function RemoveMemberAction({ member }) {
+  const { t } = useTranslation()
   const { updateProject, monitorRequest } = useShareProjectContext()
   const project = useProjectContext()
 
@@ -148,7 +149,7 @@ function RemoveMemberAction({ member }) {
           bsStyle="link"
           onClick={handleClick}
           className="remove-button"
-          aria-label="Remove from project"
+          aria-label={t('remove_collaborator')}
         >
           <Icon type="times" />
         </Button>

+ 3 - 2
services/web/frontend/js/features/share-project-modal/components/invite.js

@@ -6,7 +6,7 @@ import {
 } from './share-project-modal'
 import Icon from '../../../shared/components/icon'
 import { Button, Col, Row, OverlayTrigger, Tooltip } from 'react-bootstrap'
-import { Trans } from 'react-i18next'
+import { Trans, useTranslation } from 'react-i18next'
 import MemberPrivileges from './member-privileges'
 import { resendInvite, revokeInvite } from '../utils/api'
 
@@ -75,6 +75,7 @@ ResendInvite.propTypes = {
 }
 
 function RevokeInvite({ invite }) {
+  const { t } = useTranslation()
   const { updateProject, monitorRequest } = useShareProjectContext()
   const project = useProjectContext()
 
@@ -101,7 +102,7 @@ function RevokeInvite({ invite }) {
         type="button"
         bsStyle="link"
         onClick={handleClick}
-        aria-label="Revoke"
+        aria-label={t('revoke')}
         className="btn-inline-link"
       >
         <Icon type="times" />

+ 4 - 2
services/web/frontend/js/shared/components/copy-link.js

@@ -1,10 +1,12 @@
 import React, { useCallback, useState } from 'react'
 import { Button, OverlayTrigger, Tooltip } from 'react-bootstrap'
 import PropTypes from 'prop-types'
-import { Trans } from 'react-i18next'
+import { Trans, useTranslation } from 'react-i18next'
 import Icon from './icon'
 
 export default function CopyLink({ link, tooltipId }) {
+  const { t } = useTranslation()
+
   const [copied, setCopied] = useState(false)
 
   const handleClick = useCallback(() => {
@@ -36,7 +38,7 @@ export default function CopyLink({ link, tooltipId }) {
         bsSize="xsmall"
         bsStyle="link"
         className="copy-button"
-        aria-label="Copy"
+        aria-label={t('copy')}
       >
         {copied ? <Icon type="check" /> : <Icon type="clipboard" />}
       </Button>

+ 2 - 0
services/web/locales/en.json

@@ -634,6 +634,7 @@
   "invite_not_accepted": "Invite not yet accepted",
   "resend": "Resend",
   "syntax_check": "Syntax check",
+  "revoke": "Revoke",
   "revoke_invite": "Revoke Invite",
   "pending": "Pending",
   "invite_not_valid": "This is not a valid project invite",
@@ -705,6 +706,7 @@
   "unlink_warning_reference": "Warning: When you unlink your account from this provider you will not be able to import references into your projects.",
   "mendeley": "Mendeley",
   "zotero": "Zotero",
+  "from_provider": "From __provider__",
   "suggest_new_doc": "Suggest new doc",
   "request_sent_thank_you": "Message sent! Our team will review it and reply by email.",
   "suggestion": "Suggestion",

+ 1 - 1
services/web/test/frontend/features/share-project-modal/components/share-project-modal.test.js

@@ -484,7 +484,7 @@ describe('<ShareProjectModal/>', function () {
     expect(screen.queryAllByText('member-viewer@example.com')).to.have.length(1)
 
     const removeButton = screen.getByRole('button', {
-      name: 'Remove from project',
+      name: 'Remove collaborator',
     })
 
     fireEvent.click(removeButton)