feat(translations-ru): more translations (part 2)

This commit is contained in:
Alexey Kasyanchuk
2018-05-19 01:15:00 +03:00
parent 7f172cf6be
commit c341130da1
14 changed files with 286 additions and 106 deletions

View File

@ -40,14 +40,14 @@ export default class ConfigPage extends Page {
return (
<div>
<div className='row center pad0-75'>
<RaisedButton label="Back to main page" primary={true} onClick={() => {
<RaisedButton label={__('Back to main page')} primary={true} onClick={() => {
window.router('/')
}} />
</div>
<div className='column center w100p pad0-75'>
<Toggle
style={{marginTop: '10px'}}
label="Enabled network scanning"
label={__('Enabled network scanning')}
toggled={this.options.indexer}
onToggle={(e, checked) => {
this.options.indexer = checked
@ -58,11 +58,11 @@ export default class ConfigPage extends Page {
/>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Scanning port</div>
<div style={{flex: 1}}>{__('Scanning port')}</div>
<TextField
style={{width: 65}}
hintText="Port"
errorText={this.options.spiderPort > 0 ? undefined : "This field is required"}
hintText={__('Port')}
errorText={this.options.spiderPort > 0 ? undefined : __('This field is required')}
value={this.options.spiderPort}
onChange={(e, value) => {
if(!value)
@ -75,16 +75,16 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* For current work TCP and UDP ports must be fully open and forward in case of router usage</div>
<div className='fs0-75' style={{color: 'grey'}}>* {__('For current work TCP and UDP ports must be fully open and forward in case of router usage')}</div>
</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Trackers responce port</div>
<div style={{flex: 1}}>{__('Trackers responce port')}</div>
<TextField
style={{width: 65}}
hintText="Port"
errorText={this.options.udpTrackersPort > 0 ? undefined : "This field is required"}
errorText={this.options.udpTrackersPort > 0 ? undefined : __('This field is required')}
value={this.options.udpTrackersPort}
onChange={(e, value) => {
if(!value)
@ -97,12 +97,12 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* For current work UDP port must be fully open and forward in case of router usage</div>
<div className='fs0-75' style={{color: 'grey'}}>* {__('For current work UDP port must be fully open and forward in case of router usage')}</div>
</div>
<Toggle
style={{marginTop: '10px'}}
label="Enabled UPnP"
label={__('Enabled UPnP')}
toggled={this.options.upnp}
onToggle={(e, checked) => {
this.options.upnp = checked
@ -111,10 +111,10 @@ export default class ConfigPage extends Page {
/>
<div className='row inline w100p'>
<div style={{flex: 1}}>Collection directory</div>
<div style={{flex: 1}}>{__('Collection directory')}</div>
<TextField
hintText="Db path"
errorText={this.options.dbPath && this.options.dbPath.length > 0 ? undefined : "This field is required"}
hintText={__('Db path')}
errorText={this.options.dbPath && this.options.dbPath.length > 0 ? undefined : __('This field is required')}
value={this.options.dbPath}
onChange={(e, value) => {
if(!fs.existsSync(value))
@ -124,7 +124,7 @@ export default class ConfigPage extends Page {
this.forceUpdate()
}}
/>
<RaisedButton style={{marginLeft: 20}} label="Browse" primary={true} onClick={() => {
<RaisedButton style={{marginLeft: 20}} label={__('Browse')} primary={true} onClick={() => {
if(!dialog)
return
const dir = dialog.showOpenDialog({properties: ['openDirectory']})[0]
@ -137,9 +137,9 @@ export default class ConfigPage extends Page {
</div>
<div className='row inline w100p'>
<div style={{flex: 1}}>Download torrents directory</div>
<div style={{flex: 1}}>{__('Download torrents directory')}</div>
<TextField
hintText="Download path"
hintText={__('Download path')}
value={this.options.client && this.options.client.downloadPath}
onChange={(e, value) => {
if(!fs.existsSync(value))
@ -149,7 +149,7 @@ export default class ConfigPage extends Page {
this.forceUpdate()
}}
/>
<RaisedButton style={{marginLeft: 20}} label="Browse" primary={true} onClick={() => {
<RaisedButton style={{marginLeft: 20}} label={__('Browse')} primary={true} onClick={() => {
if(!dialog)
return
const dir = dialog.showOpenDialog({properties: ['openDirectory']})[0]
@ -161,10 +161,10 @@ export default class ConfigPage extends Page {
}} />
</div>
<div style={{marginTop: 10}}>P2P Rats network settings:</div>
<div style={{marginTop: 10}}>{__('P2P Rats network settings')}:</div>
<Toggle
style={{marginTop: '10px'}}
label="Enabled p2p search"
label={__('Enabled p2p search')}
toggled={this.options.p2p}
onToggle={(e, checked) => {
this.options.p2p = this.options.indexer && checked
@ -174,18 +174,18 @@ export default class ConfigPage extends Page {
<div className='column w100p'>
<Toggle
style={{marginTop: '10px'}}
label="Enabled bootstrap peers"
label={__('Enabled bootstrap peers')}
toggled={this.options.p2pBootstrap}
onToggle={(e, checked) => {
this.options.p2pBootstrap = checked
this.forceUpdate()
}}
/>
<div className='fs0-75' style={{color: 'grey'}}>* Use extrnral bootstrap nodes to get p2p peers when network setted wrong or need external source</div>
<div className='fs0-75' style={{color: 'grey'}}>* {__('Use extrnral bootstrap nodes to get p2p peers when network setted wrong or need external source')}</div>
</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Max peers limit (current: {this.options.p2pConnections})</div>
<div style={{flex: 1}}>{__('Max peers limit')} ({__('current')}: {this.options.p2pConnections})</div>
<Slider
min={10}
max={25}
@ -202,21 +202,21 @@ export default class ConfigPage extends Page {
<div className='column w100p'>
<Toggle
style={{marginTop: '10px'}}
label="P2P torrents replication"
label={__('P2P torrents replication')}
toggled={this.options.p2pReplication}
onToggle={(e, checked) => {
this.options.p2pReplication = checked
this.forceUpdate()
}}
/>
<div className='fs0-75' style={{color: 'grey'}}>* Enable torrents replication from another rats clients. Dont recomended if torrent scanner works correct.</div>
<div className='fs0-75' style={{color: 'grey'}}>* {__('Enable torrents replication from another rats clients. Dont recomended if torrent scanner works correct')}.</div>
</div>
<div style={{marginTop: 10}}>Torrent network scanner settings:</div>
<div style={{marginTop: 10}}>{__('Torrent network scanner settings')}:</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Scanner walk speed (current: {this.options.spider && this.options.spider.walkInterval}) [affected after program reload]</div>
<div style={{flex: 1}}>{__('Scanner walk speed')} ({__('current')}: {this.options.spider && this.options.spider.walkInterval}) [{__('affected after program reload')}]</div>
<Slider
min={1}
max={150}
@ -229,12 +229,12 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* Low value - fast initial scanning and high cpu usage. High Value - low cpu usage but very slow scanning.
Good value between 3-60. Defaul value: 5</div>
<div className='fs0-75' style={{color: 'grey'}}>* {__('Low value')} - {__('fast initial scanning and high cpu usage')}. {__('High Value')} - {__('low cpu usage but very slow scanning')}.
{__('Good value between')} 3-60. {__('Defaul value')}: 5</div>
</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Nodes usage (current: {this.options.spider && this.options.spider.nodesUsage})</div>
<div style={{flex: 1}}>{__('Nodes usage')} ({__('current')}: {this.options.spider && this.options.spider.nodesUsage})</div>
<Slider
min={0}
max={1000}
@ -247,13 +247,13 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* Low Value - very low usage of nodes, low network traffic, slow torrent scanning. High value - high traffic, fast scanning, high routers usage.
Recomended value between 10-1000. Defaul value: 100. 0 - Ignore this option (no limit).
<div className='fs0-75' style={{color: 'grey'}}>* {__('Low Value')} - {__('very low usage of nodes, low network traffic, slow torrent scanning')}. {__('High value')} - {__('high traffic, fast scanning, high routers usage')}.
{__('Recomended value between')} 10-1000. {__('Defaul value')}: 100. 0 - {__('Ignore this option')} ({__('no limit')}).
</div>
</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Reduce network packages (current: {this.options.spider && this.options.spider.packagesLimit})</div>
<div style={{flex: 1}}>{__('Reduce network packages')} ({__('current')}: {this.options.spider && this.options.spider.packagesLimit})</div>
<Slider
min={0}
max={2000}
@ -266,19 +266,19 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* Low Value - ignore more usless network packages, lower traffic and routers usage. High Value - high traffic and router usage in prospect.
Recomended value between 300-2000. Defaul value: 500. 0 - Ignore this option (no limit).
<div className='fs0-75' style={{color: 'grey'}}>* {__('Low Value')} - {__('ignore more usless network packages, lower traffic and routers usage')}. {__('High Value')} - {__('high traffic and router usage in prospect')}.
{__('Recomended value between')} 300-2000. {__('Defaul value')}: 500. 0 - {__('Ignore this option')} ({__('no limit')}).
</div>
</div>
{
this.settingsSavedMessage
&&
<div style={{color: 'green'}}>Settings saved</div>
<div style={{color: 'green'}}>{__('Settings saved')}</div>
}
<div className='row center pad0-75'>
<RaisedButton label="Save Settings" primary={true} onClick={() => {
<RaisedButton label={__('Save Settings')} primary={true} onClick={() => {
this.saveSettings()
}} />
</div>

View File

@ -40,7 +40,7 @@ export default class TopPage extends Page {
return (
<div>
<div className='column center w100p pad0-75'>
<RaisedButton label="Back to main page" primary={true} onClick={() => {
<RaisedButton label={__('Back to main page')} primary={true} onClick={() => {
window.router('/')
}} />
<List style={{paddingBottom: '70px'}} className='animated recent-torrents'>

View File

@ -39,7 +39,7 @@ export default class ConfigPage extends Page {
return (
<div>
<div className='row center pad0-75'>
<RaisedButton label="Back to main page" primary={true} onClick={() => {
<RaisedButton label={__("Back to main page")} primary={true} onClick={() => {
window.router('/')
}} />
</div>
@ -48,7 +48,7 @@ export default class ConfigPage extends Page {
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Max files per torrent (current: {this.options.filters && this.options.filters.maxFiles})</div>
<div style={{flex: 1}}>{__('Max files per torrent')} ({__('current')}: {this.options.filters && this.options.filters.maxFiles})</div>
<Slider
min={0}
max={50000}
@ -61,7 +61,7 @@ export default class ConfigPage extends Page {
}}
/>
<TextField
hintText="Max files"
hintText={__('Max files')}
className='pad0-75'
style={{width: 200}}
value={this.options.filters && this.options.filters.maxFiles}
@ -74,13 +74,13 @@ export default class ConfigPage extends Page {
}}
/>
</div>
<div className='fs0-75' style={{color: 'grey'}}>* 0 - Disabled.
<div className='fs0-75' style={{color: 'grey'}}>* 0 - {__('Disabled')}.
</div>
</div>
<div className='column w100p'>
<div className='row inline w100p'>
<div style={{flex: 1}}>Torrent name regular extension filtering</div>
<div style={{flex: 1}}>{__('Torrent name regular extension filtering')}</div>
<TextField
hintText="regex"
className='pad0-75'
@ -96,7 +96,7 @@ export default class ConfigPage extends Page {
/>
<SelectField
style={{marginLeft: 15}}
floatingLabelText="Examples"
floatingLabelText={__('Examples')}
value={this.options.filters && this.options.filters.namingRegExp}
onChange={(event, index, value) => {
if(!this.options.filters)
@ -106,14 +106,14 @@ export default class ConfigPage extends Page {
this.forceUpdate()
}}
>
<MenuItem value={String.raw`^[А-Яа-я0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]+$`} primaryText="Russian + English only (With symbols)" />
<MenuItem value={'^[0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>]+$'} primaryText="English only (With symbols)" />
<MenuItem value={'^((?!badword).)*$'} primaryText="Ignore badword" />
<MenuItem value={String.raw`^[А-Яа-я0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>\u0400-\u04FF]+$`} primaryText={__('Russian + English only (With symbols)')} />
<MenuItem value={'^[0-9A-Za-z.!@?#"$%&:;() *\+,\/;\-=[\\\]\^_{|}<>]+$'} primaryText={__('English only (With symbols)')} />
<MenuItem value={'^((?!badword).)*$'} primaryText={__('Ignore badword')} />
</SelectField>
</div>
<Toggle
style={{marginTop: '10px'}}
label="Negative regular extension filtering"
label={__('Negative regular extension filtering')}
toggled={this.options.filters && this.options.filters.namingRegExpNegative}
onToggle={(e, checked) => {
if(!this.options.filters)
@ -124,13 +124,13 @@ export default class ConfigPage extends Page {
}}
/>
<div className='fs0-75' style={{color: 'grey'}}>
* - clean string means disabled
* - {__('clean string means disabled')}
</div>
</div>
<Toggle
style={{marginTop: '10px'}}
label="Adult filter"
label={__('Adult filter')}
toggled={this.options.filters && this.options.filters.adultFilter}
onToggle={(e, checked) => {
if(!this.options.filters)
@ -145,14 +145,14 @@ export default class ConfigPage extends Page {
{
this.toRemoveProbably && this.toRemoveProbably > 0
?
<div style={{color: 'orange'}}>Torrents to clean: {this.toRemoveProbably}</div>
<div style={{color: 'orange'}}>{__('Torrents to clean')}: {this.toRemoveProbably}</div>
:
null
}
{
this.toRemove && this.toRemove > 0
?
<div style={{color: 'red'}}>Torrents cleaned: {this.toRemove}</div>
<div style={{color: 'red'}}>{__('Torrents cleaned')}: {this.toRemove}</div>
:
null
}
@ -160,17 +160,17 @@ export default class ConfigPage extends Page {
{
this.settingsSavedMessage
&&
<div style={{color: 'green'}}>Settings saved</div>
<div style={{color: 'green'}}>{__('Settings saved')}</div>
}
<div className='row center pad0-75'>
<RaisedButton label="Check torrents" primary={true} onClick={() => {
<RaisedButton label={__('Check torrents')} primary={true} onClick={() => {
window.torrentSocket.emit('removeTorrents', true, window.customLoader((toRemove) => {
this.toRemoveProbably = toRemove
this.forceUpdate()
}));
}} />
<RaisedButton label="Clean torrents" secondary={true} onClick={() => {
<RaisedButton label={__('Clean torrents')} secondary={true} onClick={() => {
window.torrentSocket.emit('removeTorrents', false, window.customLoader((toRemove) => {
this.toRemove = toRemove
this.forceUpdate()
@ -179,7 +179,7 @@ export default class ConfigPage extends Page {
</div>
<div className='row center pad0-75'>
<RaisedButton label="Save Settings" primary={true} onClick={() => {
<RaisedButton label={__('Save Settings')} primary={true} onClick={() => {
this.saveSettings()
}} />
</div>

View File

@ -40,7 +40,7 @@ export default class IndexPage extends Page {
searchText={Search.instance().currentSearch}
resultSelector={
<SelectField
floatingLabelText="Sort by"
floatingLabelText={__("Sort by")}
floatingLabelFixed={true}
value={Search.instance().state.orderBy}
onChange={(event, index, value) => {
@ -68,13 +68,13 @@ export default class IndexPage extends Page {
})
}}
>
<MenuItem value='none' primaryText={'None'} />
<MenuItem value='seeders' primaryText={orderText('Seeders', 'seeders')} />
<MenuItem value='name' primaryText={orderText('Name', 'name')} />
<MenuItem value='files' primaryText={orderText('Files', 'files')} />
<MenuItem value='size' primaryText={orderText('Size', 'size')} />
<MenuItem value='added' primaryText={orderText('Added date', 'added')} />
<MenuItem value='completed' primaryText={orderText('Completed', 'completed')} />
<MenuItem value='none' primaryText={__('None')} />
<MenuItem value='seeders' primaryText={orderText(__('Seeders'), 'seeders')} />
<MenuItem value='name' primaryText={orderText(__('Name'), 'name')} />
<MenuItem value='files' primaryText={orderText(__('Files'), 'files')} />
<MenuItem value='size' primaryText={orderText(__('Size'), 'size')} />
<MenuItem value='added' primaryText={orderText(__('Added date'), 'added')} />
<MenuItem value='completed' primaryText={orderText(__('Completed'), 'completed')} />
</SelectField>
}

View File

@ -38,7 +38,7 @@ export default class InputFilesFilter extends Component {
return (
<div className='filter-row row inline w100p'>
<Checkbox
label="Files filter"
label={__("Files filter")}
checked={this.state.enabled}
style={{width: 150, display: 'flex', minWidth: 130}}
onCheck={() => this.setState({enabled: !this.state.enabled})}
@ -53,17 +53,17 @@ export default class InputFilesFilter extends Component {
onChange={files => this.setState({ files })}
/>
<SelectField
floatingLabelText="Size type"
floatingLabelText={__('Size type')}
value={this.state.filesMax}
onChange={(event, index, value) => this.setState({filesMax: value})}
className='filter-control-border'
>
<MenuItem value={10} primaryText="10 Files or less" />
<MenuItem value={100} primaryText="100 Files or less" />
<MenuItem value={1000} primaryText="1000 Files or less" />
<MenuItem value={10000} primaryText="10000 Files or less" />
<MenuItem value={100000} primaryText="100000 Files or less" />
<MenuItem value={1000000} primaryText="1000000 Files or less" />
<MenuItem value={10} primaryText={"10 " + __("Files or less")} />
<MenuItem value={100} primaryText={"100 " + __("Files or less")} />
<MenuItem value={1000} primaryText={"1000 " + __("Files or less")} />
<MenuItem value={10000} primaryText={"10000 " + __("Files or less")} />
<MenuItem value={100000} primaryText={"100000 " + __("Files or less")} />
<MenuItem value={1000000} primaryText={"1000000 " + __("Files or less")} />
</SelectField>
</div>
</div>

View File

@ -38,7 +38,7 @@ export default class InputSize extends Component {
return (
<div className='filter-row row inline w100p'>
<Checkbox
label="Size filter"
label={__('Size filter')}
checked={this.state.enabled}
style={{width: 150, display: 'flex', minWidth: 130}}
onCheck={() => this.setState({enabled: !this.state.enabled})}
@ -54,7 +54,7 @@ export default class InputSize extends Component {
onChange={size => this.setState({ size })}
/>
<SelectField
floatingLabelText="Size type max"
floatingLabelText={__('Size type max')}
value={this.state.maxSize}
onChange={(event, index, value) => this.setState({maxSize: value})}
className='filter-control-border'

View File

@ -139,13 +139,13 @@ export default class RecentTorrents extends Component {
return (
<List className='animated recent-torrents'>
<Subheader className='recent-title' inset={true}>
<FlatButton style={{marginRight: '8px'}} primary={true} label='top' labelStyle={{color: "#a4c639"}} onClick={() =>{
<FlatButton style={{marginRight: '8px'}} primary={true} label={__('top')} labelStyle={{color: "#a4c639"}} onClick={() =>{
window.router('/top');
}} />
<FlatButton style={{marginRight: '8px'}} label={!this.state.pause ? 'running' : 'stoped'} secondary={this.state.pause} primary={!this.state.pause} onClick={() =>{
<FlatButton style={{marginRight: '8px'}} label={!this.state.pause ? __('running') : __('stoped')} secondary={this.state.pause} primary={!this.state.pause} onClick={() =>{
this.pauseAndContinue()
}} />
Most recent torrents{this.displayQueue.length > 0 ? ` (and ${this.displayQueue.length} more)` : null}
{__('Most recent torrents')}{this.displayQueue.length > 0 ? ` (${__('and')} ${this.displayQueue.length} ${__('more')})` : null}
</Subheader>
<Divider />
{

View File

@ -31,18 +31,18 @@ export default class AdvancedSearchControl extends Component {
return (
<div className='column w100p' style={{maxWidth: 750, overflow: 'hidden', padding: '0px 18px 15px', background: 'white', borderRadius: 3}}>
<SelectField
floatingLabelText="Filter content type"
floatingLabelText={__('Filter content type')}
value={this.state.type}
onChange={(event, index, value) => this.setState({type: value})}
>
<MenuItem value={undefined} primaryText="" />
<MenuItem value='video' primaryText="Video" />
<MenuItem value='audio' primaryText="Audio" />
<MenuItem value='pictures' primaryText="Pictures" />
<MenuItem value='books' primaryText="Books" />
<MenuItem value='application' primaryText="Applications" />
<MenuItem value='archive' primaryText="Archives" />
<MenuItem value='disc' primaryText="Disk Images" />
<MenuItem value='video' primaryText={__('Video')} />
<MenuItem value='audio' primaryText={__('Audio')} />
<MenuItem value='pictures' primaryText={__('Pictures')} />
<MenuItem value='books' primaryText={__('Books')} />
<MenuItem value='application' primaryText={__('Applications')} />
<MenuItem value='archive' primaryText={__('Archives')} />
<MenuItem value='disc' primaryText={__('Disk Images')} />
</SelectField>
<div className='w100p'>
<InputSize value={this.state.size} enabled={this.state.sizeEnabled} maxSize={this.state.maxSize} onChange={({size, maxSize, enabled}) => this.setState({size, maxSize, sizeEnabled: enabled})} />

View File

@ -15,7 +15,7 @@ export default class SearchResults extends Component {
|| (this.props.filesSearchResults && this.props.filesSearchResults.length > 0)
?
<div>
<Subheader className='row center w100p' style={{paddingLeft: 0}} inset={true}><span>Search results for</span> <span style={{marginLeft: '0.4em'}}><b>{this.props.searchText}</b></span></Subheader>
<Subheader className='row center w100p' style={{paddingLeft: 0}} inset={true}><span>{__('Search results for')}</span> <span style={{marginLeft: '0.4em'}}><b>{this.props.searchText}</b></span></Subheader>
<div className='w100p row center' style={{marginTop: '-16px'}}>{this.props.resultSelector}</div>
</div>
:
@ -36,7 +36,7 @@ export default class SearchResults extends Component {
this.props.moreTorrentsEnabled && !this.props.moreTorrentsIndicator
?
<div>
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText={<span>More Torrents</span>} onClick={() => {
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText={<span>{__('More Torrents')}</span>} onClick={() => {
if(this.props.onMoreTorrents)
this.props.onMoreTorrents();
}} />
@ -69,7 +69,7 @@ export default class SearchResults extends Component {
this.props.moreFilesEnabled && !this.props.moreFilesIndicator
?
<div>
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText='More Files' onClick={() => {
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText={__('More Files')} onClick={() => {
if(this.props.onMoreFiles)
this.props.onMoreFiles();
}} />
@ -125,7 +125,7 @@ export default class SearchResults extends Component {
c-5.292-6.087-7.944-13.459-7.944-22.108C63.521,74.195,66.173,66.825,71.465,60.749z"/>
</g>
</svg>
<div className='fs0-85 pad0-75' style={{color: 'grey'}}>no torrents for <b>{this.props.searchText}</b> were found</div>
<div className='fs0-85 pad0-75' style={{color: 'grey'}}>{__('no torrents for')} <b>{this.props.searchText}</b> {__('were found')}</div>
</div>
:
null

View File

@ -18,19 +18,19 @@ export default class TopPage extends Page {
this.topTorrents = {};
this.types = ['main', 'video', 'audio', 'books', 'pictures', 'application', 'archive']
this.descriptions = {
main: 'All',
video: 'Video',
audio: 'Audio/Music',
books: 'Books',
pictures: 'Pictures/Images',
application: 'Apps/Games',
archive: 'Archives'
main: __('All'),
video: __('Video'),
audio: __('Audio/Music'),
books: __('Books'),
pictures: __('Pictures/Images'),
application: __('Apps/Games'),
archive: __('Archives')
}
this.times = {
overall: 'Overall',
hours: 'Last hour',
week: 'Last week',
month: 'Last month'
overall: __('Overall'),
hours: __('Last hour'),
week: __('Last week'),
month: __('Last month')
}
this.state = {type: 'main', time: 'overall'}
}
@ -157,7 +157,7 @@ export default class TopPage extends Page {
torrents.length > 0
&&
<div>
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText={<span>More Torrents</span>} onClick={() => {
<ListItem innerDivStyle={{textAlign: 'center', padding: '1em'}} primaryText={<span>{__('More Torrents')}</span>} onClick={() => {
this.loadMoreTorrents(type)
}} />
<Divider />

View File

@ -409,7 +409,7 @@ export default class TorrentPage extends Page {
onClick={() => {
window.torrentSocket.emit('downloadCancel', this.torrent.hash)
}}
label="Cancel download"
label={__('Cancel download')}
secondary={true}
icon={<svg fill='rgb(255, 64, 129)' viewBox="0 0 18 18"><path d="M9 1C4.58 1 1 4.58 1 9s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm4 10.87L11.87 13 9 10.13 6.13 13 5 11.87 7.87 9 5 6.13 6.13 5 9 7.87 11.87 5 13 6.13 10.13 9 13 11.87z"/></svg>}
/>

View File

@ -283,9 +283,9 @@ export default class Torrent extends Component {
torrent.seeders || torrent.leechers || torrent.completed
?
<div className='break-word fs0-85' style={{paddingTop: '0.35em'}}>
<span style={{color: (torrent.seeders > 0 ? '#00C853' : 'grey')}}>{torrent.seeders} seeders</span>
<span style={{color: (torrent.leechers > 0 ? '#AA00FF' : 'grey'), marginLeft: '12px'}}>{torrent.leechers} leechers</span>
<span style={{color: (torrent.completed > 0 ? '#FF6D00' : 'grey'), marginLeft: '12px'}}>{torrent.completed} completed</span>
<span style={{color: (torrent.seeders > 0 ? '#00C853' : 'grey')}}>{torrent.seeders} {__('seeders')}</span>
<span style={{color: (torrent.leechers > 0 ? '#AA00FF' : 'grey'), marginLeft: '12px'}}>{torrent.leechers} {__('leechers')}</span>
<span style={{color: (torrent.completed > 0 ? '#FF6D00' : 'grey'), marginLeft: '12px'}}>{torrent.completed} {__('completed')}</span>
</div>
:
null