Convert i18n resource to key type

This commit is contained in:
Hoàng Rio
2018-11-09 13:51:28 +07:00
parent beab9a1be0
commit d47a23269d
22 changed files with 389 additions and 366 deletions

View File

@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import { Trans, withNamespaces } from 'react-i18next';
import { REPOSITORY } from '../../helpers/constants';
import i18n from '../../i18n';
import i18n, { languages } from '../../i18n';
class Footer extends Component {
getYear = () => {
@@ -9,8 +9,8 @@ class Footer extends Component {
return today.getFullYear();
};
changeLanguage = () => {
i18n.changeLanguage(i18n.language === 'en' ? 'vi' : 'en');
changeLanguage = (event) => {
i18n.changeLanguage(event.target.value);
}
render() {
@@ -23,22 +23,24 @@ class Footer extends Component {
<div className="col-auto">
Copyright © {this.getYear()} <a href="https://adguard.com/">AdGuard</a>
</div>
<div className="col-auto">
<select className="form-control" value={i18n.language} onChange={this.changeLanguage}>
{ languages.map(language => <option
key={language.key} value={language.key}>
{language.name}
</option>) }
</select>
</div>
<div className="col-auto">
<ul className="list-inline text-center mb-0">
<li className="list-inline-item">
<a href={REPOSITORY.URL} target="_blank" rel="noopener noreferrer"><Trans>Homepage</Trans></a>
<a href={REPOSITORY.URL} target="_blank" rel="noopener noreferrer"><Trans>homepage</Trans></a>
</li>
</ul>
</div>
<div className="col-auto">
<button className="btn btn-outline-info btn-sm" onClick={this.changeLanguage}
title={i18n.language === 'en' ? 'Chuyển sang Tiếng Việt' : 'Change to English'}>
{i18n.language === 'en' ? 'English' : 'Tiếng Việt'}
</button>
</div>
<div className="col-auto">
<a href={`${REPOSITORY.URL}/issues/new`} className="btn btn-outline-primary btn-sm" target="_blank" rel="noopener noreferrer">
<Trans>Report an issue</Trans>
<Trans>report_an_issue</Trans>
</a>
</div>
</div>

View File

@@ -71,8 +71,8 @@ class Modal extends Component {
if (!this.props.isFilterAdded) {
return (
<React.Fragment>
<input type="text" className={inputNameClass} placeholder={ this.props.t('Enter name') } onChange={this.handleNameChange} />
<input type="text" className={inputUrlClass} placeholder={ this.props.t('Enter URL') } onChange={this.handleUrlChange} />
<input type="text" className={inputNameClass} placeholder={ this.props.t('enter_name_hint') } onChange={this.handleNameChange} />
<input type="text" className={inputUrlClass} placeholder={ this.props.t('enter_url_hint') } onChange={this.handleUrlChange} />
{inputDescription &&
<div className="description">
{inputDescription}
@@ -111,8 +111,8 @@ class Modal extends Component {
{
!this.props.isFilterAdded &&
<div className="modal-footer">
<button type="button" className="btn btn-secondary" onClick={this.closeModal}><Trans>Cancel</Trans></button>
<button type="button" className="btn btn-success" onClick={this.handleNext} disabled={isValidForSubmit}><Trans>Add filter</Trans></button>
<button type="button" className="btn btn-secondary" onClick={this.closeModal}><Trans>cancel_btn</Trans></button>
<button type="button" className="btn btn-success" onClick={this.handleNext} disabled={isValidForSubmit}><Trans>add_filter_btn</Trans></button>
</div>
}
</div>

View File

@@ -14,13 +14,13 @@ class Popover extends Component {
const source = (
<div className="popover__list-item">
<Trans>Source</Trans>: <a className="popover__link" target="_blank" rel="noopener noreferrer" href={sourceData.url}><strong>{sourceData.name}</strong></a>
<Trans>source_label</Trans>: <a className="popover__link" target="_blank" rel="noopener noreferrer" href={sourceData.url}><strong>{sourceData.name}</strong></a>
</div>
);
const tracker = (
<div className="popover__list-item">
<Trans>Name</Trans>: <a className="popover__link" target="_blank" rel="noopener noreferrer" href={data.url}><strong>{data.name}</strong></a>
<Trans>name_table_header</Trans>: <a className="popover__link" target="_blank" rel="noopener noreferrer" href={data.url}><strong>{data.name}</strong></a>
</div>
);
@@ -34,11 +34,12 @@ class Popover extends Component {
<div className="popover__body">
<div className="popover__list">
<div className="popover__list-title">
<Trans>Found in the known domains database.</Trans>
<Trans>found_in_known_domain_db</Trans>
</div>
{tracker}
<div className="popover__list-item">
<Trans>Category</Trans>: <strong><Trans>{categoryName}</Trans></strong>
<Trans>category_label</Trans>: <strong>
<Trans>{categoryName}</Trans></strong>
</div>
{source}
</div>

View File

@@ -14,10 +14,10 @@ class PopoverFilter extends Component {
<div className="popover__body popover__body--filter">
<div className="popover__list">
<div className="popover__list-item popover__list-item--nowrap">
<Trans>Rule</Trans>: <strong>{this.props.rule}</strong>
<Trans>rule_label</Trans>: <strong>{this.props.rule}</strong>
</div>
{this.props.filter && <div className="popover__list-item popover__list-item--nowrap">
<Trans>Filter</Trans>: <strong>{this.props.filter}</strong>
<Trans>filter_label</Trans>: <strong>{this.props.filter}</strong>
</div>}
</div>
</div>