fix: translations of new options
This commit is contained in:
+6363
-12315
File diff suppressed because it is too large
Load Diff
@@ -132,7 +132,14 @@
|
||||
"validationErrorEnterNumber": "Please enter a valid number",
|
||||
"validationErrorDuration": "Duration must be between ${min} and ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Shortcut already assigned to ${action}",
|
||||
"shortcutUpdated": "Shortcut updated for ${action}"
|
||||
"shortcutUpdated": "Shortcut updated for ${action}",
|
||||
"autoSkip": "Auto Skip",
|
||||
"autoSkipIntro": "Auto Skip Intro",
|
||||
"autoSkipIntroDescription": "Automatically skip intro markers after a few seconds",
|
||||
"autoSkipCredits": "Auto Skip Credits",
|
||||
"autoSkipCreditsDescription": "Automatically skip credits and play next episode",
|
||||
"autoSkipDelay": "Auto Skip Delay",
|
||||
"autoSkipDelayDescription": "Wait ${seconds} seconds before auto-skipping"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Search movies, shows, music...",
|
||||
|
||||
@@ -133,7 +133,14 @@
|
||||
"validationErrorEnterNumber": "Bitte eine gültige Zahl eingeben",
|
||||
"validationErrorDuration": "Dauer muss zwischen ${min} und ${max} ${unit} liegen",
|
||||
"shortcutAlreadyAssigned": "Tastenkürzel bereits zugewiesen an ${action}",
|
||||
"shortcutUpdated": "Tastenkürzel aktualisiert für ${action}"
|
||||
"shortcutUpdated": "Tastenkürzel aktualisiert für ${action}",
|
||||
"autoSkip": "Automatisches Überspringen",
|
||||
"autoSkipIntro": "Intro automatisch überspringen",
|
||||
"autoSkipIntroDescription": "Intro-Marker nach wenigen Sekunden automatisch überspringen",
|
||||
"autoSkipCredits": "Abspann automatisch überspringen",
|
||||
"autoSkipCreditsDescription": "Abspann automatisch überspringen und nächste Episode abspielen",
|
||||
"autoSkipDelay": "Verzögerung für automatisches Überspringen",
|
||||
"autoSkipDelayDescription": "${seconds} Sekunden vor dem automatischen Überspringen warten"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Filme, Serien, Musik suchen...",
|
||||
|
||||
@@ -133,7 +133,14 @@
|
||||
"validationErrorEnterNumber": "Inserisci un numero valido",
|
||||
"validationErrorDuration": "la durata deve essere compresa tra ${min} e ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Scorciatoia già assegnata a ${action}",
|
||||
"shortcutUpdated": "Scorciatoia aggiornata per ${action}"
|
||||
"shortcutUpdated": "Scorciatoia aggiornata per ${action}",
|
||||
"autoSkip": "Salto Automatico",
|
||||
"autoSkipIntro": "Salta Intro Automaticamente",
|
||||
"autoSkipIntroDescription": "Salta automaticamente i marcatori dell'intro dopo alcuni secondi",
|
||||
"autoSkipCredits": "Salta Crediti Automaticamente",
|
||||
"autoSkipCreditsDescription": "Salta automaticamente i crediti e riproduci l'episodio successivo",
|
||||
"autoSkipDelay": "Ritardo Salto Automatico",
|
||||
"autoSkipDelayDescription": "Aspetta ${seconds} secondi prima del salto automatico"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Cerca film. spettacoli, musica...",
|
||||
|
||||
@@ -133,7 +133,14 @@
|
||||
"validationErrorEnterNumber": "Voer een geldig nummer in",
|
||||
"validationErrorDuration": "Duur moet tussen ${min} en ${max} ${unit} zijn",
|
||||
"shortcutAlreadyAssigned": "Sneltoets al toegewezen aan ${action}",
|
||||
"shortcutUpdated": "Sneltoets bijgewerkt voor ${action}"
|
||||
"shortcutUpdated": "Sneltoets bijgewerkt voor ${action}",
|
||||
"autoSkip": "Automatisch Overslaan",
|
||||
"autoSkipIntro": "Intro Automatisch Overslaan",
|
||||
"autoSkipIntroDescription": "Intro-markeringen na enkele seconden automatisch overslaan",
|
||||
"autoSkipCredits": "Credits Automatisch Overslaan",
|
||||
"autoSkipCreditsDescription": "Credits automatisch overslaan en volgende aflevering afspelen",
|
||||
"autoSkipDelay": "Vertraging Automatisch Overslaan",
|
||||
"autoSkipDelayDescription": "${seconds} seconden wachten voor automatisch overslaan"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Zoek films, series, muziek...",
|
||||
|
||||
@@ -133,7 +133,14 @@
|
||||
"validationErrorEnterNumber": "Vänligen ange ett giltigt nummer",
|
||||
"validationErrorDuration": "Tiden måste vara mellan ${min} och ${max} ${unit}",
|
||||
"shortcutAlreadyAssigned": "Genväg redan tilldelad ${action}",
|
||||
"shortcutUpdated": "Genväg uppdaterad för ${action}"
|
||||
"shortcutUpdated": "Genväg uppdaterad för ${action}",
|
||||
"autoSkip": "Auto Hoppa Över",
|
||||
"autoSkipIntro": "Hoppa Över Intro Automatiskt",
|
||||
"autoSkipIntroDescription": "Hoppa automatiskt över intro-markörer efter några sekunder",
|
||||
"autoSkipCredits": "Hoppa Över Credits Automatiskt",
|
||||
"autoSkipCreditsDescription": "Hoppa automatiskt över credits och spela nästa avsnitt",
|
||||
"autoSkipDelay": "Fördröjning Auto Hoppa Över",
|
||||
"autoSkipDelayDescription": "Vänta ${seconds} sekunder innan automatisk överhoppning"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Sök filmer, serier, musik...",
|
||||
|
||||
@@ -133,7 +133,14 @@
|
||||
"validationErrorEnterNumber": "请输入一个有效的数字",
|
||||
"validationErrorDuration": "时长必须介于 ${min} 和 ${max} ${unit} 之间",
|
||||
"shortcutAlreadyAssigned": "快捷键已被分配给 ${action}",
|
||||
"shortcutUpdated": "快捷键已为 ${action} 更新"
|
||||
"shortcutUpdated": "快捷键已为 ${action} 更新",
|
||||
"autoSkip": "自动跳过",
|
||||
"autoSkipIntro": "自动跳过片头",
|
||||
"autoSkipIntroDescription": "几秒钟后自动跳过片头标记",
|
||||
"autoSkipCredits": "自动跳过片尾",
|
||||
"autoSkipCreditsDescription": "自动跳过片尾并播放下一集",
|
||||
"autoSkipDelay": "自动跳过延迟",
|
||||
"autoSkipDelayDescription": "自动跳过前等待 ${seconds} 秒"
|
||||
},
|
||||
"search": {
|
||||
"hint": "搜索电影、系列、音乐...",
|
||||
|
||||
@@ -301,7 +301,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
Padding(
|
||||
padding: const EdgeInsets.fromLTRB(16, 8, 16, 0),
|
||||
child: Text(
|
||||
'Auto Skip',
|
||||
t.settings.autoSkip,
|
||||
style: Theme.of(context).textTheme.titleSmall?.copyWith(
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
@@ -310,8 +310,8 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
),
|
||||
SwitchListTile(
|
||||
secondary: const Icon(Icons.fast_forward),
|
||||
title: const Text('Auto Skip Intro'),
|
||||
subtitle: const Text('Automatically skip intro markers after a few seconds'),
|
||||
title: Text(t.settings.autoSkipIntro),
|
||||
subtitle: Text(t.settings.autoSkipIntroDescription),
|
||||
value: _autoSkipIntro,
|
||||
onChanged: (value) async {
|
||||
setState(() {
|
||||
@@ -322,8 +322,8 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
),
|
||||
SwitchListTile(
|
||||
secondary: const Icon(Icons.skip_next),
|
||||
title: const Text('Auto Skip Credits'),
|
||||
subtitle: const Text('Automatically skip credits and play next episode'),
|
||||
title: Text(t.settings.autoSkipCredits),
|
||||
subtitle: Text(t.settings.autoSkipCreditsDescription),
|
||||
value: _autoSkipCredits,
|
||||
onChanged: (value) async {
|
||||
setState(() {
|
||||
@@ -334,8 +334,8 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
),
|
||||
ListTile(
|
||||
leading: const Icon(Icons.timer),
|
||||
title: const Text('Auto Skip Delay'),
|
||||
subtitle: Text('Wait $_autoSkipDelay seconds before auto-skipping'),
|
||||
title: Text(t.settings.autoSkipDelay),
|
||||
subtitle: Text(t.settings.autoSkipDelayDescription(seconds: _autoSkipDelay.toString())),
|
||||
trailing: const Icon(Icons.chevron_right),
|
||||
onTap: () => _showAutoSkipDelayDialog(),
|
||||
),
|
||||
@@ -811,24 +811,28 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
return StatefulBuilder(
|
||||
builder: (context, setDialogState) {
|
||||
return AlertDialog(
|
||||
title: const Text('Auto Skip Delay'),
|
||||
title: Text(t.settings.autoSkipDelay),
|
||||
content: TextField(
|
||||
controller: controller,
|
||||
keyboardType: TextInputType.number,
|
||||
decoration: InputDecoration(
|
||||
labelText: 'Seconds',
|
||||
hintText: 'Enter delay between 1-30 seconds',
|
||||
labelText: t.settings.secondsLabel,
|
||||
hintText: t.settings.durationHint(min: 1, max: 30),
|
||||
errorText: errorText,
|
||||
suffixText: 's',
|
||||
suffixText: t.settings.secondsShort,
|
||||
),
|
||||
autofocus: true,
|
||||
onChanged: (value) {
|
||||
final parsed = int.tryParse(value);
|
||||
setDialogState(() {
|
||||
if (parsed == null) {
|
||||
errorText = 'Please enter a valid number';
|
||||
errorText = t.settings.validationErrorEnterNumber;
|
||||
} else if (parsed < 1 || parsed > 30) {
|
||||
errorText = 'Delay must be between 1 and 30 seconds';
|
||||
errorText = t.settings.validationErrorDuration(
|
||||
min: 1,
|
||||
max: 30,
|
||||
unit: t.settings.secondsLabel.toLowerCase(),
|
||||
);
|
||||
} else {
|
||||
errorText = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user