add translation, fix small bugs

This commit is contained in:
2024-10-23 17:49:23 +03:00
parent 47a09ccd2e
commit 02aabfdf4c
7 changed files with 64 additions and 16 deletions
+4 -2
View File
@@ -10,10 +10,12 @@ namespace TV_Player
private readonly ReplaySubject<Unit> programGuideSubject = new ReplaySubject<Unit>();
public IObservable<List<M3UInfo>> AllPrograms => programsSubject;
public IObservable<List<GroupInfo>> GroupsInformation => groupsSubject;
public IObservable<Unit> ProgramGuideInfo => programGuideSubject;
private readonly string _programName;
public ProgramsData(string name,string playlistURL)
{
_programName = name;
Task.Run(() => GetPrograms(name,playlistURL));
}
@@ -34,7 +36,7 @@ namespace TV_Player
public Task<ProgramGuide> GetGuideByProgram(string channelID)
{
return M3UParser.ParseEpg(channelID);
return M3UParser.ParseEpg(_programName,channelID);
}
private async Task GetProgramGuide(string name, string guideLink)
+13 -1
View File
@@ -63,7 +63,19 @@ namespace TV_Player.ViewModels
private void OnAddPlaylistCommand()
{
Playlists.Add(new KeyValuePair<string, string>(PlaylistName, PlaylistURL));
var url = PlaylistURL?.Trim();
var name = PlaylistName?.Trim();
if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(url))
return;
if (IsValidUrl(url))
Playlists.Add(new KeyValuePair<string, string>(name, url));
}
private bool IsValidUrl(string url)
{
Uri uriResult;
return Uri.TryCreate(url, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
}
private void OnPlaylistDeleteCommand(KeyValuePair<string, string> pair)
+22 -2
View File
@@ -1,4 +1,5 @@
using System.Windows.Controls;
using System.Windows;
using System.Windows.Controls;
namespace TV_Player.ViewModels
{
@@ -12,7 +13,7 @@ namespace TV_Player.ViewModels
public Action ButtonBackAction { get; set; }
private string _currentPlaylistName;
public string _currentPlaylistName;
private static TVPlayerViewModel? _instance;
public static TVPlayerViewModel Instance
@@ -44,6 +45,7 @@ namespace TV_Player.ViewModels
{
if (SettingsModel.Playlists!=null && SettingsModel.Playlists.Any())
{
SetLanguageDictionary();
PlayListsData.Clear();
foreach (var playlist in SettingsModel.Playlists)
{
@@ -64,6 +66,24 @@ namespace TV_Player.ViewModels
}
}
private void SetLanguageDictionary()
{
ResourceDictionary dict = new ResourceDictionary();
switch (Thread.CurrentThread.CurrentCulture.ToString())
{
case "en-US":
dict.Source = new Uri("..\\Assets\\en-US.xaml", UriKind.Relative);
break;
case "ru-RU":
dict.Source = new Uri("..\\Assets\\ru-RU.xaml", UriKind.Relative);
break;
default:
dict.Source = new Uri("..\\Assets\\en-US.xaml", UriKind.Relative);
break;
}
Application.Current.Resources.MergedDictionaries.Add(dict);
}
public void SelectScreen()
{
switch (SettingsModel.LastScreen)