Merge pull request #579 from orontee/complete_translations

Complete translations
This commit is contained in:
James Barnsley
2020-08-12 20:14:59 +12:00
committed by GitHub
5 changed files with 35 additions and 15 deletions

View File

@ -3,6 +3,7 @@ import React from 'react';
import Link from '../Link'; import Link from '../Link';
import Icon from '../Icon'; import Icon from '../Icon';
import { i18n } from '../../locale';
export default class FilterField extends React.Component { export default class FilterField extends React.Component {
constructor(props) { constructor(props) {
@ -68,7 +69,7 @@ export default class FilterField extends React.Component {
<form onSubmit={e => this.handleSubmit(e)}> <form onSubmit={e => this.handleSubmit(e)}>
<input <input
type="text" type="text"
placeholder="Filter" placeholder={i18n('fields.filter')}
value={this.state.value} value={this.state.value}
onFocus={(e) => this.activate()} onFocus={(e) => this.activate()}
onBlur={(e) => this.handleBlur()} onBlur={(e) => this.handleBlur()}

View File

@ -1,20 +1,21 @@
import React, { memo } from 'react'; import React, { memo } from 'react';
import Icon from '../Icon'; import Icon from '../Icon';
import { I18n } from '../../locale';
export default memo((props) => { export default memo((props) => {
if (props.mute) { if (props.mute) {
return ( return (
<button className={`control mute-control ${props.noTooltip ? '' : 'tooltip '}${props.className ? props.className : ''}`} onClick={() => props.onMuteChange(false)}> <button className={`control mute-control ${props.noTooltip ? '' : 'tooltip '}${props.className ? props.className : ''}`} onClick={() => props.onMuteChange(false)}>
<Icon className="red-text" name="volume_off" /> <Icon className="red-text" name="volume_off" />
{props.noTooltip ? null : <span className="tooltip__content">Unmute</span>} {props.noTooltip ? null : <span className="tooltip__content"><I18n path="playback_controls.unmute"/></span>}
</button> </button>
); );
} }
return ( return (
<button className={`control mute-control ${props.noTooltip ? '' : 'tooltip '}${props.className ? props.className : ''}`} onClick={() => props.onMuteChange(true)}> <button className={`control mute-control ${props.noTooltip ? '' : 'tooltip '}${props.className ? props.className : ''}`} onClick={() => props.onMuteChange(true)}>
<Icon className="muted" name="volume_mute" /> <Icon className="muted" name="volume_mute" />
{props.noTooltip ? null : <span className="tooltip__content">Mute</span>} {props.noTooltip ? null : <span className="tooltip__content"><I18n path="playback_controls.mute"/></span>}
</button> </button>
); );
}); });

View File

@ -57,6 +57,7 @@ fields:
items_to_add: items_to_add:
label: Items to add label: Items to add
placeholder: No items placeholder: No items
filter: Filter
filters: filters:
all: All all: All
thumbnails: Thumbnails thumbnails: Thumbnails
@ -113,6 +114,9 @@ services:
mopidy: mopidy:
title: Mopidy title: Mopidy
local: Local local: Local
adding_uris: 'Adding %{count} URI(s)'
searching_providers: 'Searching %{count} Mopidy providers'
loading_albums: 'Loading %{count} local albums'
spotify: spotify:
title: Spotify title: Spotify
pusher: pusher:
@ -173,6 +177,8 @@ playback_controls:
shuffle: Shuffle shuffle: Shuffle
repeat: Repeat repeat: Repeat
no_outputs: No outputs no_outputs: No outputs
mute: Mute
unmute: Unmute
snapcast: snapcast:
enabled: Enabled enabled: Enabled
show_disconnected_clients: Show disconnected clients show_disconnected_clients: Show disconnected clients
@ -232,6 +238,17 @@ artist:
wiki: wiki:
published: 'Published: %{date}' published: 'Published: %{date}'
origin: 'Origin: ' origin: 'Origin: '
albums:
sort:
default: Default
name: Name
release_date: Date
track_count: Tracks
filter:
all: All
albums: Albums
singles: Singles
compilations: Compilations
debug: debug:
title: Debug title: Debug
ui: ui:
@ -509,4 +526,4 @@ modal:
subtitle: 'Another user has shared their configuration with you. This includes:' subtitle: 'Another user has shared their configuration with you. This includes:'
do_you_want_to_import: Do you want to import this? do_you_want_to_import: Do you want to import this?
import_now: Import now import_now: Import now
successful: Import successful successful: Import successful

View File

@ -3,6 +3,7 @@ import ReactGA from 'react-ga';
import Mopidy from 'mopidy'; import Mopidy from 'mopidy';
import { sha256 } from 'js-sha256'; import { sha256 } from 'js-sha256';
import { sampleSize } from 'lodash'; import { sampleSize } from 'lodash';
import { i18n } from '../../locale';
import { import {
generateGuid, generateGuid,
uriSource, uriSource,
@ -786,7 +787,7 @@ const MopidyMiddleware = (function () {
// start our processor // start our processor
store.dispatch(uiActions.startProcess( store.dispatch(uiActions.startProcess(
'MOPIDY_ENQUEUE_URIS_PROCESSOR', 'MOPIDY_ENQUEUE_URIS_PROCESSOR',
`Adding ${action.uris.length} URI(s)`, i18n('services.mopidy.adding_uris', { count: action.uris.length }),
{ {
batches, batches,
remaining: action.uris.length, remaining: action.uris.length,
@ -1042,7 +1043,7 @@ const MopidyMiddleware = (function () {
} else { } else {
store.dispatch(uiActions.startProcess( store.dispatch(uiActions.startProcess(
'MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', 'MOPIDY_GET_SEARCH_RESULTS_PROCESSOR',
`Searching ${uri_schemes_total} Mopidy providers`, i18n('services.mopidy.searching_providers', { count: uri_schemes_total }),
{ {
query: action.query, query: action.query,
limit: action.limit, limit: action.limit,
@ -1875,7 +1876,7 @@ const MopidyMiddleware = (function () {
// Start our process to load the full album objects // Start our process to load the full album objects
store.dispatch(uiActions.startProcess( store.dispatch(uiActions.startProcess(
'MOPIDY_LIBRARY_ALBUMS_PROCESSOR', 'MOPIDY_LIBRARY_ALBUMS_PROCESSOR',
`Loading ${uris.length} local albums`, i18n('services.mopidy.loading_albums', { count: uris.length }),
{ {
uris, uris,
total: uris.length, total: uris.length,

View File

@ -186,38 +186,38 @@ class Artist extends React.Component {
const sort_options = [ const sort_options = [
{ {
value: null, value: null,
label: 'Default', label: i18n('artist.albums.sort.default'),
}, },
{ {
value: 'name', value: 'name',
label: 'Name', label: i18n('artist.albums.sort.name'),
}, },
{ {
value: 'release_date', value: 'release_date',
label: 'Date', label: i18n('artist.albums.sort.release_date'),
}, },
{ {
value: 'tracks_uris.length', value: 'tracks_uris.length',
label: 'Tracks', label: i18n('artist.albums.sort.track_count'),
}, },
]; ];
const filter_options = [ const filter_options = [
{ {
value: null, value: null,
label: 'All', label: i18n('artist.albums.filter.all'),
}, },
{ {
value: 'album', value: 'album',
label: 'Albums', label: i18n('artist.albums.filter.albums'),
}, },
{ {
value: 'single', value: 'single',
label: 'Singles', label: i18n('artist.albums.filter.singles'),
}, },
{ {
value: 'compilation', value: 'compilation',
label: 'Compilations', label: i18n('artist.albums.filter.compilations'),
}, },
]; ];