Fix Google Translate breaking web interface (#15610)
- marks the page as a whole as untranslatable - still marks user text as translatable Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
		
					parent
					
						
							
								8046989788
							
						
					
				
			
			
				commit
				
					
						7d0031a515
					
				
			
		
					 6 changed files with 11 additions and 11 deletions
				
			
		|  | @ -221,14 +221,14 @@ export default class StatusContent extends React.PureComponent { | ||||||
|       return ( |       return ( | ||||||
|         <div className={classNames} ref={this.setRef} tabIndex='0' onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}> |         <div className={classNames} ref={this.setRef} tabIndex='0' onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}> | ||||||
|           <p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}> |           <p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}> | ||||||
|             <span dangerouslySetInnerHTML={spoilerContent} /> |             <span dangerouslySetInnerHTML={spoilerContent} className='translate' /> | ||||||
|             {' '} |             {' '} | ||||||
|             <button tabIndex='0' className={`status__content__spoiler-link ${hidden ? 'status__content__spoiler-link--show-more' : 'status__content__spoiler-link--show-less'}`} onClick={this.handleSpoilerClick}>{toggleText}</button> |             <button tabIndex='0' className={`status__content__spoiler-link ${hidden ? 'status__content__spoiler-link--show-more' : 'status__content__spoiler-link--show-less'}`} onClick={this.handleSpoilerClick}>{toggleText}</button> | ||||||
|           </p> |           </p> | ||||||
| 
 | 
 | ||||||
|           {mentionsPlaceholder} |           {mentionsPlaceholder} | ||||||
| 
 | 
 | ||||||
|           <div tabIndex={!hidden ? 0 : null} className={`status__content__text ${!hidden ? 'status__content__text--visible' : ''}`} dangerouslySetInnerHTML={content} /> |           <div tabIndex={!hidden ? 0 : null} className={`status__content__text ${!hidden ? 'status__content__text--visible' : ''} translate`} dangerouslySetInnerHTML={content} /> | ||||||
| 
 | 
 | ||||||
|           {!hidden && !!status.get('poll') && <PollContainer pollId={status.get('poll')} />} |           {!hidden && !!status.get('poll') && <PollContainer pollId={status.get('poll')} />} | ||||||
| 
 | 
 | ||||||
|  | @ -238,7 +238,7 @@ export default class StatusContent extends React.PureComponent { | ||||||
|     } else if (this.props.onClick) { |     } else if (this.props.onClick) { | ||||||
|       const output = [ |       const output = [ | ||||||
|         <div className={classNames} ref={this.setRef} tabIndex='0' onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp} key='status-content'> |         <div className={classNames} ref={this.setRef} tabIndex='0' onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp} key='status-content'> | ||||||
|           <div className='status__content__text status__content__text--visible' dangerouslySetInnerHTML={content} /> |           <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} /> | ||||||
| 
 | 
 | ||||||
|           {!!status.get('poll') && <PollContainer pollId={status.get('poll')} />} |           {!!status.get('poll') && <PollContainer pollId={status.get('poll')} />} | ||||||
| 
 | 
 | ||||||
|  | @ -254,7 +254,7 @@ export default class StatusContent extends React.PureComponent { | ||||||
|     } else { |     } else { | ||||||
|       return ( |       return ( | ||||||
|         <div className={classNames} ref={this.setRef} tabIndex='0'> |         <div className={classNames} ref={this.setRef} tabIndex='0'> | ||||||
|           <div className='status__content__text status__content__text--visible' dangerouslySetInnerHTML={content} /> |           <div className='status__content__text status__content__text--visible translate' dangerouslySetInnerHTML={content} /> | ||||||
| 
 | 
 | ||||||
|           {!!status.get('poll') && <PollContainer pollId={status.get('poll')} />} |           {!!status.get('poll') && <PollContainer pollId={status.get('poll')} />} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -328,9 +328,9 @@ class Header extends ImmutablePureComponent { | ||||||
|                   ))} |                   ))} | ||||||
|                   {fields.map((pair, i) => ( |                   {fields.map((pair, i) => ( | ||||||
|                     <dl key={i}> |                     <dl key={i}> | ||||||
|                       <dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} /> |                       <dt dangerouslySetInnerHTML={{ __html: pair.get('name_emojified') }} title={pair.get('name')} className='translate' /> | ||||||
| 
 | 
 | ||||||
|                       <dd className={pair.get('verified_at') && 'verified'} title={pair.get('value_plain')}> |                       <dd className={pair.get('verified_at') && 'verified'} title={pair.get('value_plain')} className='translate'> | ||||||
|                         {pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} /> |                         {pair.get('verified_at') && <span title={intl.formatMessage(messages.linkVerifiedOn, { date: intl.formatDate(pair.get('verified_at'), dateFormatOptions) })}><Icon id='check' className='verified__mark' /></span>} <span dangerouslySetInnerHTML={{ __html: pair.get('value_emojified') }} /> | ||||||
|                       </dd> |                       </dd> | ||||||
|                     </dl> |                     </dl> | ||||||
|  | @ -340,7 +340,7 @@ class Header extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|               {account.get('id') !== me && !suspended && <AccountNoteContainer account={account} />} |               {account.get('id') !== me && !suspended && <AccountNoteContainer account={account} />} | ||||||
| 
 | 
 | ||||||
|               {account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content' dangerouslySetInnerHTML={content} />} |               {account.get('note').length > 0 && account.get('note') !== '<p></p>' && <div className='account__header__content' dangerouslySetInnerHTML={content} className='translate' />} | ||||||
|             </div> |             </div> | ||||||
| 
 | 
 | ||||||
|             {!suspended && ( |             {!suspended && ( | ||||||
|  |  | ||||||
|  | @ -145,7 +145,7 @@ class Content extends ImmutablePureComponent { | ||||||
| 
 | 
 | ||||||
|     return ( |     return ( | ||||||
|       <div |       <div | ||||||
|         className='announcements__item__content' |         className='announcements__item__content translate' | ||||||
|         ref={this.setRef} |         ref={this.setRef} | ||||||
|         dangerouslySetInnerHTML={{ __html: announcement.get('contentHtml') }} |         dangerouslySetInnerHTML={{ __html: announcement.get('contentHtml') }} | ||||||
|       /> |       /> | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ | ||||||
|   = render_initial_state |   = render_initial_state | ||||||
|   = javascript_pack_tag 'application', crossorigin: 'anonymous' |   = javascript_pack_tag 'application', crossorigin: 'anonymous' | ||||||
| 
 | 
 | ||||||
| .app-holder#mastodon{ data: { props: Oj.dump(default_props) } } | .notranslate.app-holder#mastodon{ data: { props: Oj.dump(default_props) } } | ||||||
|   %noscript |   %noscript | ||||||
|     = image_pack_tag 'logo.svg', alt: 'Mastodon' |     = image_pack_tag 'logo.svg', alt: 'Mastodon' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,4 +14,4 @@ | ||||||
|     %p= t('about.browse_local_posts') |     %p= t('about.browse_local_posts') | ||||||
| 
 | 
 | ||||||
| #mastodon-timeline{ data: { props: Oj.dump(default_props.merge(local: !Setting.show_known_fediverse_at_about_page)) }} | #mastodon-timeline{ data: { props: Oj.dump(default_props.merge(local: !Setting.show_known_fediverse_at_about_page)) }} | ||||||
| #modal-container | .notranslate#modal-container | ||||||
|  |  | ||||||
|  | @ -13,4 +13,4 @@ | ||||||
|   %p= t('about.about_hashtag_html', hashtag: @tag.name) |   %p= t('about.about_hashtag_html', hashtag: @tag.name) | ||||||
| 
 | 
 | ||||||
| #mastodon-timeline{ data: { props: Oj.dump(default_props.merge(hashtag: @tag.name, local: @local)) }} | #mastodon-timeline{ data: { props: Oj.dump(default_props.merge(hashtag: @tag.name, local: @local)) }} | ||||||
| #modal-container | .notranslate#modal-container | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue