Fix i18n in components

pull/619/head
Chocobozzz 2018-06-05 09:13:26 +02:00
parent 632f9815c6
commit 25acef90a8
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
18 changed files with 37 additions and 37 deletions

View File

@ -69,7 +69,7 @@ export class AccountVideosComponent extends AbstractVideoList implements OnInit,
.getAccountVideos(this.account, newPagination, this.sort)
.pipe(
tap(({ totalVideos }) => {
this.titlePage = this.i18n('Published {{ totalVideos }} videos', { totalVideos })
this.titlePage = this.i18n('Published {{totalVideos}} videos', { totalVideos })
})
)
}

View File

@ -161,14 +161,14 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
const customizationsText = customizations.join('/')
// FIXME: i18n service does not support string concatenation
const message = this.i18n('You set custom {{ customizationsText }}. ', { customizationsText }) +
const message = this.i18n('You set custom {{customizationsText}}. ', { customizationsText }) +
this.i18n('This could lead to security issues or bugs if you do not understand it. ') +
this.i18n('Are you sure you want to update the configuration?')
const label = this.i18n(
'Please type "I understand the {{ customizationsText }} I set" to confirm.',
'Please type "I understand the {{customizationsText}} I set" to confirm.',
{ customizationsText }
)
const expectedInputValue = this.i18n('I understand the {{ customizationsText }} I set', { customizationsText })
const expectedInputValue = this.i18n('I understand the {{customizationsText}} I set', { customizationsText })
const confirmRes = await this.confirmService.confirmWithInput(message, label, expectedInputValue)
if (confirmRes === false) return

View File

@ -36,7 +36,7 @@ export class FollowingAddComponent {
for (const host of hosts) {
if (validateHost(host) === false) {
newHostsErrors.push(this.i18n('{{ host }} is not valid', { host }))
newHostsErrors.push(this.i18n('{{host}} is not valid', { host }))
}
}

View File

@ -33,7 +33,7 @@ export class FollowingListComponent extends RestTable implements OnInit {
async removeFollowing (follow: AccountFollow) {
const res = await this.confirmService.confirm(
this.i18n('Do you really want to unfollow {{ host }}?', { host: follow.following.host }),
this.i18n('Do you really want to unfollow {{host}}?', { host: follow.following.host }),
this.i18n('Unfollow')
)
if (res === false) return
@ -42,7 +42,7 @@ export class FollowingListComponent extends RestTable implements OnInit {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('You are not following {{ host }} anymore.', { host: follow.following.host })
this.i18n('You are not following {{host}} anymore.', { host: follow.following.host })
)
this.loadData()
},

View File

@ -72,7 +72,7 @@ export class UserCreateComponent extends UserEdit implements OnInit {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('User {{ username }} created.', { username: userCreate.username })
this.i18n('User {{username}} created.', { username: userCreate.username })
)
this.router.navigate([ '/admin/users/list' ])
},

View File

@ -85,7 +85,7 @@ export class UserUpdateComponent extends UserEdit implements OnInit, OnDestroy {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('User {{ username }} updated.', { username: this.username })
this.i18n('User {{username}} updated.', { username: this.username })
)
this.router.navigate([ '/admin/users/list' ])
},

View File

@ -44,7 +44,7 @@ export class UserListComponent extends RestTable implements OnInit {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('User {{ username }} deleted.', { username: user.username })
this.i18n('User {{username}} deleted.', { username: user.username })
)
this.loadData()
},

View File

@ -43,7 +43,7 @@ export class VideoBlacklistListComponent extends RestTable implements OnInit {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video {{ name }} removed from the blacklist.', { name: entry.name })
this.i18n('Video {{name}} removed from the blacklist.', { name: entry.name })
)
this.loadData()
},

View File

@ -73,7 +73,7 @@ export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelE
this.authService.refreshUserInformation()
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video channel {{ videoChannelName }} created.', { videoChannelName: videoChannelCreate.displayName })
this.i18n('Video channel {{videoChannelName}} created.', { videoChannelName: videoChannelCreate.displayName })
)
this.router.navigate([ '/my-account', 'video-channels' ])
},

View File

@ -101,7 +101,7 @@ export class MyAccountVideoChannelUpdateComponent extends MyAccountVideoChannelE
this.authService.refreshUserInformation()
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video channel {{ videoChannelName }} updated.', { videoChannelName: videoChannelUpdate.displayName })
this.i18n('Video channel {{videoChannelName}} updated.', { videoChannelName: videoChannelUpdate.displayName })
)
this.router.navigate([ '/my-account', 'video-channels' ])
},

View File

@ -35,7 +35,7 @@ export class MyAccountVideoChannelsComponent implements OnInit {
async deleteVideoChannel (videoChannel: VideoChannel) {
const res = await this.confirmService.confirmWithInput(
this.i18n(
'Do you really want to delete {{ videoChannelName }}? It will delete all videos uploaded in this channel too.',
'Do you really want to delete {{videoChannelName}}? It will delete all videos uploaded in this channel too.',
{ videoChannelName: videoChannel.displayName }
),
this.i18n('Please type the name of the video channel to confirm'),
@ -50,7 +50,7 @@ export class MyAccountVideoChannelsComponent implements OnInit {
this.loadVideoChannels()
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video channel {{ videoChannelName } deleted.', { videoChannelName: videoChannel.displayName })
this.i18n('Video channel {{videoChannelName}} deleted.', { videoChannelName: videoChannel.displayName })
)
},

View File

@ -69,7 +69,7 @@ export class VideoChannelVideosComponent extends AbstractVideoList implements On
.getVideoChannelVideos(this.videoChannel, newPagination, this.sort)
.pipe(
tap(({ totalVideos }) => {
this.titlePage = this.i18n('Published {{ totalVideos }} videos', { totalVideos })
this.titlePage = this.i18n('Published {{totalVideos}} videos', { totalVideos })
})
)
}

View File

@ -76,7 +76,7 @@ export class AuthService {
let errorMessage = error.message
if (error.status === 403) {
errorMessage = this.i18n('Cannot retrieve OAuth Client credentials: {{ errorText }}.\n', { errorText: error.text })
errorMessage = this.i18n('Cannot retrieve OAuth Client credentials: {{errorText}}.\n', { errorText: error.text })
errorMessage += this.i18n(
'Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section.'
)

View File

@ -12,28 +12,28 @@ export class FromNowPipe implements PipeTransform {
let interval = Math.floor(seconds / 31536000)
if (interval > 1) {
return this.i18n('{{ interval }} years ago', { interval })
return this.i18n('{{interval}} years ago', { interval })
}
interval = Math.floor(seconds / 2592000)
if (interval > 1) return this.i18n('{{ interval }} months ago', { interval })
if (interval === 1) return this.i18n('{{ interval }} month ago', { interval })
if (interval > 1) return this.i18n('{{interval}} months ago', { interval })
if (interval === 1) return this.i18n('{{interval}} month ago', { interval })
interval = Math.floor(seconds / 604800)
if (interval > 1) return this.i18n('{{ interval }} weeks ago', { interval })
if (interval === 1) return this.i18n('{{ interval }} week ago', { interval })
if (interval > 1) return this.i18n('{{interval}} weeks ago', { interval })
if (interval === 1) return this.i18n('{{interval}} week ago', { interval })
interval = Math.floor(seconds / 86400)
if (interval > 1) return this.i18n('{{ interval }} days ago', { interval })
if (interval === 1) return this.i18n('{{ interval }} day ago', { interval })
if (interval > 1) return this.i18n('{{interval}} days ago', { interval })
if (interval === 1) return this.i18n('{{interval}} day ago', { interval })
interval = Math.floor(seconds / 3600)
if (interval > 1) return this.i18n('{{ interval }} hours ago', { interval })
if (interval === 1) return this.i18n('{{ interval }} hour ago', { interval })
if (interval > 1) return this.i18n('{{interval}} hours ago', { interval })
if (interval === 1) return this.i18n('{{interval}} hour ago', { interval })
interval = Math.floor(seconds / 60)
if (interval >= 1) return this.i18n('{{ interval }} min ago', { interval })
if (interval >= 1) return this.i18n('{{interval}} min ago', { interval })
return this.i18n('{{ interval }} sec ago', { interval: Math.floor(seconds) })
return this.i18n('{{interval}} sec ago', { interval: Math.floor(seconds) })
}
}

View File

@ -71,7 +71,7 @@ export class RestExtractor {
const secondsLeft = err.headers.get('retry-after')
if (secondsLeft) {
const minutesLeft = Math.floor(parseInt(secondsLeft, 10) / 60)
errorMessage = this.i18n('Too many attempts, please try again after {{ minutesLeft }} minutes.', { minutesLeft })
errorMessage = this.i18n('Too many attempts, please try again after {{minutesLeft}} minutes.', { minutesLeft })
} else {
errorMessage = this.i18n('Too many attempts, please try again later.')
}

View File

@ -84,7 +84,7 @@ export class SignupComponent extends FormReactive implements OnInit {
() => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Registration for {{ username }} complete.', { username: userCreate.username })
this.i18n('Registration for {{username}} complete.', { username: userCreate.username })
)
this.redirectService.redirectToHomepage()
},
@ -106,9 +106,9 @@ export class SignupComponent extends FormReactive implements OnInit {
const normalSeconds = initialUserVideoQuotaBit / (1.5 * 1000 * 1000)
const lines = [
this.i18n('{{ seconds }} of full HD videos', { seconds: SignupComponent.getApproximateTime(fullHdSeconds) }),
this.i18n('{{ seconds }} of HD videos', { seconds: SignupComponent.getApproximateTime(hdSeconds) }),
this.i18n('{{ seconds }} of average quality videos', { seconds: SignupComponent.getApproximateTime(normalSeconds) })
this.i18n('{{seconds}} of full HD videos', { seconds: SignupComponent.getApproximateTime(fullHdSeconds) }),
this.i18n('{{seconds}} of HD videos', { seconds: SignupComponent.getApproximateTime(hdSeconds) }),
this.i18n('{{seconds}} of average quality videos', { seconds: SignupComponent.getApproximateTime(normalSeconds) })
]
this.quotaHelpIndication = lines.join('<br />')

View File

@ -114,7 +114,7 @@ export class VideoCommentsComponent implements OnInit, OnChanges, OnDestroy {
async onWantedToDelete (commentToDelete: VideoComment) {
let message = 'Do you really want to delete this comment?'
if (commentToDelete.totalReplies !== 0) {
message += this.i18n(' {{ totalReplies }} replies will be deleted too.', { totalReplies: commentToDelete.totalReplies })
message += this.i18n(' {{totalReplies}} replies will be deleted too.', { totalReplies: commentToDelete.totalReplies })
}
const res = await this.confirmService.confirm(message, this.i18n('Delete'))

View File

@ -163,7 +163,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
status => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video {{ videoName }} had been blacklisted.', { videoName: this.video.name })
this.i18n('Video {{videoName}} had been blacklisted.', { videoName: this.video.name })
)
this.redirectService.redirectToHomepage()
},
@ -265,7 +265,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
status => {
this.notificationsService.success(
this.i18n('Success'),
this.i18n('Video {{ videoName }} deleted.', { videoName: this.video.name })
this.i18n('Video {{videoName}} deleted.', { videoName: this.video.name })
)
// Go back to the video-list.
@ -297,7 +297,7 @@ export class VideoWatchComponent implements OnInit, OnDestroy {
private setVideoLikesBarTooltipText () {
this.likesBarTooltipText = this.i18n(
'{{ likesNumber }} likes / {{ dislikesNumber }} dislikes',
'{{likesNumber}} likes / {{dislikesNumber}} dislikes',
{ likesNumber: this.video.likes, dislikes: this.video.dislikes }
)
}