adding a new Form for advanced reference list application

This commit is contained in:
hbeham
2016-04-20 00:33:47 +02:00
parent 2b938edd88
commit a439026931
13 changed files with 2388 additions and 1439 deletions

View File

@@ -10,6 +10,7 @@ namespace ChanSort.Api
public bool CleanUpChannelData { get; set; }
public bool DeviceSettings { get; set; }
public bool CanDeleteChannels { get; set; }
public bool CanSkipChannels { get; set; } = true;
public bool CanHaveGaps { get; set; }
public bool EncryptedFlagEdit { get; set; }

View File

@@ -1,10 +1,10 @@
using System;
//#define LOCK_LCN_LISTS
using System;
using System.Collections.Generic;
using System.Data;
using ChanSort.Api;
using System.Data.SQLite;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
@@ -16,34 +16,88 @@ namespace ChanSort.Loader.Hisense
#region enums and bitmasks
internal enum BroadcastType { Analog = 1, Dvb = 2 }
internal enum BroadcastMedium { DigTer = 1, DigCab = 2, DigSat = 3, AnaTer = 4, AnaCab = 5, AnaSat = 6 }
internal enum ServiceType { Tv = 1, Radio = 2, App = 3}
internal enum BroadcastType
{
Analog = 1,
Dvb = 2
}
internal enum BroadcastMedium
{
DigTer = 1,
DigCab = 2,
DigSat = 3,
AnaTer = 4,
AnaCab = 5,
AnaSat = 6
}
internal enum ServiceType
{
Tv = 1,
Radio = 2,
App = 3
}
[Flags]
internal enum NwMask { Active = 1<<1, Visible = 1<<3, Fav1 = 1<<4, Fav2 = 1<<5, Fav3 = 1<<6, Fav4 = 1<<7, Lock = 1<<8 }
internal enum NwMask
{
Active = 1 << 1,
Visible = 1 << 3,
Fav1 = 1 << 4,
Fav2 = 1 << 5,
Fav3 = 1 << 6,
Fav4 = 1 << 7,
Lock = 1 << 8
}
[Flags]
internal enum OptionMask { NameEdited = 1<<3, ChNumEdited = 1<<10, DeletedByUser = 1<<13 }
internal enum OptionMask
{
NameEdited = 1 << 3,
ChNumEdited = 1 << 10,
DeletedByUser = 1 << 13
}
[Flags]
internal enum HashCode { Name = 1<<0, ChannelId = 1<<1, BroadcastType = 1<<2, TsRecId = 1<<3, ProgNum = 1<<4, DvbShortName = 1<<5, Radio = 1<<10, Encrypted = 1<<11, Tv = 1<<13 }
internal enum HashCode
{
Name = 1 << 0,
ChannelId = 1 << 1,
BroadcastType = 1 << 2,
TsRecId = 1 << 3,
ProgNum = 1 << 4,
DvbShortName = 1 << 5,
Radio = 1 << 10,
Encrypted = 1 << 11,
Tv = 1 << 13
}
[Flags]
internal enum DvbLinkageMask { Ts = 1<<2 }
internal enum DvbLinkageMask
{
Ts = 1 << 2
}
#endregion
private readonly List<ChannelList> channelLists = new List<ChannelList>();
private readonly Dictionary<long,ChannelInfo> channelsById = new Dictionary<long, ChannelInfo>();
private readonly Dictionary<long, ChannelInfo> channelsById = new Dictionary<long, ChannelInfo>();
private List<string> tableNames;
#region ctor()
public HisDbSerializer(string inputFile) : base(inputFile)
{
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
this.Features.CanDeleteChannels = false;
this.Features.CanSkipChannels = false;
this.Features.CanHaveGaps = true;
this.DataRoot.SortedFavorites = true;
channelLists.Add(new ChannelList(SignalSource.Antenna | SignalSource.Analog | SignalSource.Digital | SignalSource.Radio | SignalSource.Tv, "Antenna"));
channelLists.Add(new ChannelList(SignalSource.Cable | SignalSource.Analog | SignalSource.Digital | SignalSource.Radio | SignalSource.Tv, "Cable"));
channelLists.Add(new ChannelList(SignalSource.Sat | SignalSource.Analog | SignalSource.Digital | SignalSource.Radio | SignalSource.Tv, "Sat"));
@@ -57,10 +111,29 @@ namespace ChanSort.Loader.Hisense
foreach (var list in this.channelLists)
{
this.DataRoot.AddChannelList(list);
list.VisibleColumnFieldNames = new List<string> {"Position", "OldProgramNr", "Name", "ShortName", "Favorites", "Lock", "Hidden", "Encrypted",
"FreqInMhz", "OriginalNetworkId", "TransportStreamId", "ServiceId", "ServiceTypeName", "NetworkName", "SymbolRate" };
list.VisibleColumnFieldNames = new List<string>
{
"Position",
"OldProgramNr",
"Name",
"ShortName",
"Favorites",
"Lock",
"Hidden",
"Encrypted",
"FreqInMhz",
"OriginalNetworkId",
"TransportStreamId",
"ServiceId",
"ServiceType",
"ServiceTypeName",
"NetworkName",
"Satellite",
"SymbolRate"
};
}
}
#endregion
@@ -88,17 +161,21 @@ namespace ChanSort.Loader.Hisense
if (totalCount == 0)
MessageBox.Show(Resources.Load_NoChannelsMsg, Resources.Load_NoChannelsCaption, MessageBoxButtons.OK);
}
#endregion
#region RepairCorruptedDatabaseImage()
private void RepairCorruptedDatabaseImage(SQLiteCommand cmd)
{
cmd.CommandText = "REINDEX";
cmd.ExecuteNonQuery();
}
#endregion
#region LoadTableNames()
private void LoadTableNames(SQLiteCommand cmd)
{
this.tableNames = new List<string>();
@@ -113,6 +190,7 @@ namespace ChanSort.Loader.Hisense
#endregion
#region LoadSatelliteData()
private void LoadSatelliteData(SQLiteCommand cmd)
{
var regex = new Regex(@"^satl_\d$");
@@ -134,6 +212,7 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region LoadTslData()
@@ -150,17 +229,17 @@ namespace ChanSort.Loader.Hisense
this.LoadTslData(cmd, x, "tsl_#_data_ter_dig", ", freq", (t, r, i0) =>
{
t.FrequencyInMhz = (decimal)r.GetInt32(i0 + 0) / 1000000;
t.FrequencyInMhz = (decimal) r.GetInt32(i0 + 0)/1000000;
});
this.LoadTslData(cmd, x, "tsl_#_data_ter_ana", ", freq", (t, r, i0) =>
{
t.FrequencyInMhz = (decimal)r.GetInt32(i0 + 0) / 1000000;
t.FrequencyInMhz = (decimal) r.GetInt32(i0 + 0)/1000000;
});
this.LoadTslData(cmd, x, "tsl_#_data_cab_dig", ", freq, sym_rate", (t, r, i0) =>
{
t.FrequencyInMhz = (decimal)r.GetInt32(i0 + 0) / 1000000;
t.FrequencyInMhz = (decimal) r.GetInt32(i0 + 0)/1000000;
t.SymbolRate = r.GetInt32(i0 + 1);
});
@@ -169,10 +248,24 @@ namespace ChanSort.Loader.Hisense
t.FrequencyInMhz = (decimal) r.GetInt32(i0 + 0)/1000000;
});
this.LoadTslData(cmd, x, "tsl_#_data_sat_dig", ", freq, sym_rate", (t, r, i0) =>
this.LoadTslData(cmd, x, "tsl_#_data_sat_dig", ", freq, sym_rate, orb_pos", (t, r, i0) =>
{
t.FrequencyInMhz = r.GetInt32(i0 + 0);
t.SymbolRate = r.GetInt32(i0 + 1);
// satellite information may or may not be available in the database. if there is none, create a proxy sat records from the orbital position in the TSL data
if (t.Satellite == null)
{
var opos = r.GetInt32(i0 + 2);
var sat = this.DataRoot.Satellites.TryGet(opos);
if (sat == null)
{
sat = new Satellite(opos);
var pos = (decimal) opos/10;
sat.Name = pos < 0 ? (-pos).ToString("n1") + "W" : pos.ToString("n1") + "E";
}
t.Satellite = sat;
}
});
}
}
@@ -183,13 +276,14 @@ namespace ChanSort.Loader.Hisense
return;
cmd.CommandText = $"select tsl_#.tsl_rec_id, `t_desc.on_id`, `t_desc.ts_id`, `t_ref.satl_rec_id`, `t_desc.e_bcst_medium` {joinFields} "
+ $" from tsl_# inner join {joinTable} on {joinTable}.tsl_rec_id=tsl_#.tsl_rec_id";
+ $" from tsl_# inner join {joinTable} on {joinTable}.tsl_rec_id=tsl_#.tsl_rec_id";
cmd.CommandText = cmd.CommandText.Replace("#", tableNr.ToString());
using (var r = cmd.ExecuteReader())
{
while (r.Read())
{
var trans = new Transponder(r.GetInt32(0));
int id = (tableNr << 16) | r.GetInt32(0);
var trans = new Transponder(id);
trans.OriginalNetworkId = r.GetInt32(1);
trans.TransportStreamId = r.GetInt32(2);
trans.Satellite = this.DataRoot.Satellites.TryGet(r.GetInt32(3));
@@ -200,6 +294,7 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region LoadSvlData()
@@ -231,9 +326,11 @@ namespace ChanSort.Loader.Hisense
if ((ci.SignalSource & SignalSource.DvbT) == SignalSource.DvbT)
ci.ChannelOrTransponder = LookupData.Instance.GetDvbtTransponder(ci.FreqInMhz).ToString();
// make the current list read-only if LCN is used
#if LOCK_LCN_LISTS
// make the current list read-only if LCN is used
if (r.GetInt32(i0 + 3) != 0)
this.channelLists[x - 1].ReadOnly = true;
#endif
});
}
}
@@ -243,21 +340,21 @@ namespace ChanSort.Loader.Hisense
if (!this.tableNames.Contains(joinTable.Replace("#", tableNr.ToString())))
return;
cmd.CommandText = $"select svl_#.svl_rec_id, channel_id, svl_#.tsl_rec_id, e_serv_type, ac_name, nw_mask, prog_id, `t_desc.e_bcst_medium` {joinFields}"
+ $" from svl_# inner join {joinTable} on {joinTable}.svl_rec_id=svl_#.svl_rec_id inner join tsl_# on tsl_#.tsl_rec_id=svl_#.tsl_rec_id";
cmd.CommandText = $"select svl_#.svl_rec_id, channel_id, svl_#.tsl_id, svl_#.tsl_rec_id, e_serv_type, ac_name, nw_mask, prog_id, `t_desc.e_bcst_medium` {joinFields}"
+ $" from svl_# inner join {joinTable} on {joinTable}.svl_rec_id=svl_#.svl_rec_id inner join tsl_# on tsl_#.tsl_rec_id=svl_#.tsl_rec_id";
cmd.CommandText = cmd.CommandText.Replace("#", tableNr.ToString());
using (var r = cmd.ExecuteReader())
{
while (r.Read())
{
var id = ((long)tableNr << 32) | (uint)r.GetInt32(0);
var prNr = (int)((uint)r.GetInt32(1)) >> 18;
var trans = this.DataRoot.Transponder.TryGet(r.GetInt32(2));
var stype = (ServiceType) r.GetInt32(3);
var name = r.GetString(4);
var nwMask = (NwMask)r.GetInt32(5);
var sid = r.GetInt32(6);
var bmedium = (BroadcastMedium)r.GetInt32(7);
var id = ((long) tableNr << 32) | (uint) r.GetInt32(0);
var prNr = (int) ((uint) r.GetInt32(1)) >> 18;
var trans = this.DataRoot.Transponder.TryGet((r.GetInt32(2) << 16) | r.GetInt32(3));
var stype = (ServiceType) r.GetInt32(4);
var name = r.GetString(5);
var nwMask = (NwMask) r.GetInt32(6);
var sid = r.GetInt32(7);
var bmedium = (BroadcastMedium) r.GetInt32(8);
var ssource = DetermineSignalSource(bmedium, stype);
var ci = new ChannelInfo(ssource, id, prNr, name);
@@ -276,7 +373,7 @@ namespace ChanSort.Loader.Hisense
//ci.Skip = (nwMask & NwMask.Active) == 0;
ci.Lock = (nwMask & NwMask.Lock) != 0;
ci.Hidden = (nwMask & NwMask.Visible) == 0;
ci.Favorites |= (Favorites) ((int)(nwMask & (NwMask.Fav1 | NwMask.Fav2 | NwMask.Fav3 | NwMask.Fav4)) >> 4);
ci.Favorites |= (Favorites) ((int) (nwMask & (NwMask.Fav1 | NwMask.Fav2 | NwMask.Fav3 | NwMask.Fav4)) >> 4);
if (stype == ServiceType.Radio)
ci.ServiceTypeName = "Radio";
@@ -285,7 +382,7 @@ namespace ChanSort.Loader.Hisense
else if (stype == ServiceType.App)
ci.ServiceTypeName = "Data";
enhanceChannelInfo(ci, r, 8);
enhanceChannelInfo(ci, r, 9);
var list = this.channelLists[tableNr - 1];
this.DataRoot.AddChannel(list, ci);
@@ -296,9 +393,11 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region LoadFavorites()
private void LoadFavorites(SQLiteCommand cmd)
{
for (int i = 1; i <= 4; i++)
@@ -310,7 +409,7 @@ namespace ChanSort.Loader.Hisense
{
while (r.Read())
{
var id = ((long)r.GetInt32(0) << 32) | (uint)r.GetInt32(1);
var id = ((long) r.GetInt32(0) << 32) | (uint) r.GetInt32(1);
var ci = this.channelsById.TryGet(id);
if (ci != null)
ci.FavIndex[i - 1] = int.Parse(r.GetString(2));
@@ -318,9 +417,11 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region DetermineSignalSource()
private static SignalSource DetermineSignalSource(BroadcastMedium bmedium, ServiceType stype)
{
SignalSource ssource = 0;
@@ -360,9 +461,13 @@ namespace ChanSort.Loader.Hisense
try
{
this.CreateFavTables(cmd);
#if !LOCK_LCN_LISTS
this.ResetLcn(cmd);
#endif
foreach (var list in this.DataRoot.ChannelLists)
{
if (list.ReadOnly)
continue;
foreach (var ci in list.Channels)
this.UpdateChannel(cmd, ci);
}
@@ -376,11 +481,13 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region CreateFavTables()
private void CreateFavTables(SQLiteCommand cmd)
{
{
for (int i = 1; i <= 4; i++)
{
if (!this.tableNames.Contains("fav_" + i))
@@ -391,21 +498,39 @@ namespace ChanSort.Loader.Hisense
}
}
}
#endregion
#region ResetLcn()
private void ResetLcn(SQLiteCommand cmd)
{
var regex = new Regex(@"^svl_\d_data_dvb$");
foreach (var table in this.tableNames)
{
if (!regex.IsMatch(table))
continue;
cmd.CommandText = "update " + table + " set cur_lcn=0, original_lcn=0, lcn_idx=0";
cmd.ExecuteNonQuery();
}
}
#endregion
#region UpdateChannel()
private void UpdateChannel(SQLiteCommand cmd, ChannelInfo ci)
{
int x = (int)((ulong)ci.RecordIndex >> 32); // the table number is kept in the higher 32 bits
int id = (int)(ci.RecordIndex & 0xFFFFFFFF); // the record id is kept in the lower 32 bits
int x = (int) ((ulong) ci.RecordIndex >> 32); // the table number is kept in the higher 32 bits
int id = (int) (ci.RecordIndex & 0xFFFFFFFF); // the record id is kept in the lower 32 bits
var resetFlags = NwMask.Fav1 | NwMask.Fav2 | NwMask.Fav3 | NwMask.Fav4 | NwMask.Lock | NwMask.Visible;
var setFlags = (NwMask)(((int)ci.Favorites & 0x0F) << 4);
var setFlags = (NwMask) (((int) ci.Favorites & 0x0F) << 4);
if (ci.Lock) setFlags |= NwMask.Lock;
if (!ci.Hidden && ci.NewProgramNr >= 0) setFlags |= NwMask.Visible;
cmd.CommandText = $"update svl_{x} set channel_id=(channel_id&{0xFFFC})|@chnr, ac_name=@name, " +
$"option_mask=option_mask|{(int)(OptionMask.ChNumEdited|OptionMask.NameEdited)}, nw_mask=(nw_mask&@resetFlags)|@setFlags where svl_rec_id=@id";
cmd.CommandText = $"update svl_{x} set channel_id=(channel_id&{0xFFFC})|@chnr, ac_name=@name, " +
$"option_mask=option_mask|{(int) (OptionMask.ChNumEdited | OptionMask.NameEdited)}, nw_mask=(nw_mask&@resetFlags)|@setFlags where svl_rec_id=@id";
cmd.Parameters.Clear();
cmd.Parameters.Add("@id", DbType.Int32);
cmd.Parameters.Add("@chnr", DbType.Int32);
@@ -415,8 +540,8 @@ namespace ChanSort.Loader.Hisense
cmd.Parameters["@id"].Value = id;
cmd.Parameters["@chnr"].Value = ci.NewProgramNr << 18;
cmd.Parameters["@name"].Value = ci.Name;
cmd.Parameters["@resetFlags"].Value = ~(int)resetFlags;
cmd.Parameters["@setFlags"].Value = (int)setFlags;
cmd.Parameters["@resetFlags"].Value = ~(int) resetFlags;
cmd.Parameters["@setFlags"].Value = (int) setFlags;
cmd.ExecuteNonQuery();
for (int i = 0; i < 4; i++)

View File

@@ -146,6 +146,12 @@
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="ReferenceListForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ReferenceListForm.Designer.cs">
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</Compile>
<Compile Include="Settings.cs" />
<Compile Include="UpdateCheck.cs" />
<Compile Include="WaitForm1.cs">
@@ -265,6 +271,9 @@
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="Properties\Resources.ru.resx" />
<EmbeddedResource Include="ReferenceListForm.resx">
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WaitForm1.de.resx">
<DependentUpon>WaitForm1.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -25,7 +25,7 @@ namespace ChanSort.Ui
{
public partial class MainForm : XtraForm
{
public const string AppVersion = "v2015-11-29";
public const string AppVersion = "v2016-04-19";
private const int MaxMruEntries = 10;
@@ -73,6 +73,9 @@ namespace ChanSort.Ui
private readonly List<string> mruFiles = new List<string>();
private DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo downHit;
private DragDropInfo dragDropInfo;
internal IList<ISerializerPlugin> Plugins => plugins;
internal DataRoot DataRoot => dataRoot;
internal Editor Editor => editor;
#region ctor()
public MainForm()
@@ -163,7 +166,7 @@ namespace ChanSort.Ui
#endregion
#region GetTvDataFileFilter()
private string GetTvDataFileFilter(out string supportedExtensions, out int numberOfFilters)
internal string GetTvDataFileFilter(out string supportedExtensions, out int numberOfFilters)
{
numberOfFilters = 0;
StringBuilder filter = new StringBuilder();
@@ -265,7 +268,7 @@ namespace ChanSort.Ui
#endregion
#region DetectCommonFileCorruptions()
private bool DetectCommonFileCorruptions(string tvDataFile)
internal bool DetectCommonFileCorruptions(string tvDataFile)
{
var content = File.ReadAllBytes(tvDataFile);
bool isAllZero = true;
@@ -383,7 +386,7 @@ namespace ChanSort.Ui
#endregion
#region GetTvFileSerializer()
private ISerializerPlugin GetPluginForFile(string inputFileName)
internal ISerializerPlugin GetPluginForFile(string inputFileName)
{
if (!File.Exists(inputFileName))
{
@@ -1282,6 +1285,8 @@ namespace ChanSort.Ui
foreach (GridColumn col in this.gviewRight.Columns)
col.Visible = GetGridColumnVisibility(col, list);
foreach (GridColumn col in this.gviewLeft.Columns)
col.Visible = GetGridColumnVisibility(col, list);
this.ClearRightFilter();
}
@@ -1446,6 +1451,7 @@ namespace ChanSort.Ui
this.miMoveUp.Visibility = visLeft;
this.miMoveDown.Visibility = visLeft;
this.miAddChannel.Visibility = visRight;
this.miSkipOn.Enabled = this.miSkipOff.Enabled = this.currentTvSerializer?.Features.CanSkipChannels ?? false;
bool isLeftGridSortedByNewProgNr = this.IsLeftGridSortedByNewProgNr;
var sel = this.gviewLeft.GetSelectedRows();
@@ -1737,7 +1743,12 @@ namespace ChanSort.Ui
private void miOpenReferenceFile_ItemClick(object sender, ItemClickEventArgs e)
{
this.TryExecute(() => this.ShowOpenReferenceFileDialog(false));
//this.TryExecute(() => this.ShowOpenReferenceFileDialog(false));
this.TryExecute(() =>
{
using (var form = new ReferenceListForm(this))
form.ShowDialog(this);
});
}
private void miAddFromRefList_ItemClick(object sender, ItemClickEventArgs e)

View File

@@ -117,313 +117,33 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="colIndex1.Caption" xml:space="preserve">
<value>Pr. Index</value>
</data>
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Service Typ</value>
</data>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Neue Pr#</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Neuer Programmplatz</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Sendername</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Über- springen</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Ver- steckt</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 17</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filter | F4: Liste | -: nach oben | +: nach unten | Entf: entfernen</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Datei</value>
</data>
<data name="miOpen.Caption" xml:space="preserve">
<value>TV Senderliste &amp;öffnen...</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Erneut laden</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Sicherheitskopie wiederherstellen</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Datei&amp;information...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Speichern</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Speichern &amp;unter...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste öffnen...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste speichern...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Excel liste exportieren...</value>
</data>
<data name="miPrint.Caption" xml:space="preserve">
<value>&amp;Drucken...</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Beenden</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Bearbeiten</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Sender &amp;übernehmen</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Sender &amp;entfernen</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Sender umbenennen</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Sender alphabetisch sortieren</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Sender neu &amp;nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Caption" xml:space="preserve">
<value>Favoriten nach Pr# nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Hint" xml:space="preserve">
<value>Verwendet einheitlich die Pr# auch in allen Favoritenlisten</value>
</data>
<data name="mnuFavSet.Caption" xml:space="preserve">
<value>&amp;Favoriten hinzufügen</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Favoriten entfernen</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Sender s&amp;perren: ein</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Sender sperren: aus</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Sender ü&amp;berspringen: ein</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Sender überspringen: aus</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Sender &amp;verstecken: ein</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Sender verstecken: aus</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>TV-Gerät</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Geräte&amp;einstellungen...</value>
</data>
<data name="miCleanupChannels.Caption" xml:space="preserve">
<value>Senderliste bereinigen</value>
</data>
<data name="miCleanupChannels.Hint" xml:space="preserve">
<value>Senderdatensätze neu organisieren und Duplikate entfernen</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Einstellungen</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Sprache</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Zeichensatz</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Warnungen beim Laden anzeigen</value>
</data>
<data name="miShowWarningsAfterLoad.Hint" xml:space="preserve">
<value>Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen</value>
</data>
<data name="mnuAccessibility.Caption" xml:space="preserve">
<value>Einga&amp;behilfe</value>
</data>
<data name="mnuGotoChannelList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Eingangsquelle. Dieses kann auch direkt mit der F1-Taste aufgerufen werden.</value>
</data>
<data name="mnuGotoChannelList.Caption" xml:space="preserve">
<value>&amp;Eingangsquelle auswählen</value>
</data>
<data name="mnuGotoFavList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Programm- oder Favoritenliste. Dieses Menü kann auch direkt über die Umschalt+F1 Tastenkombination geöffnet werden.</value>
</data>
<data name="mnuGotoFavList.Caption" xml:space="preserve">
<value>Program-/&amp;Favoritenliste auswählen</value>
</data>
<data name="miSelectFavList0.Caption" xml:space="preserve">
<value>Programmliste</value>
</data>
<data name="miSelectFavListA.Caption" xml:space="preserve">
<value>Favoriten A</value>
</data>
<data name="miSelectFavListB.Caption" xml:space="preserve">
<value>Favoriten B</value>
</data>
<data name="miSelectFavListC.Caption" xml:space="preserve">
<value>Favoriten C</value>
</data>
<data name="miSelectFavListD.Caption" xml:space="preserve">
<value>Favoriten D</value>
</data>
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoriten E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;linken Liste</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
<value>Linke Liste</value>
</data>
<data name="miRightListFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;rechten Liste</value>
</data>
<data name="miGotoRightList.Caption" xml:space="preserve">
<value>Rechte Liste</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Hilfe</value>
</data>
<data name="miOpenWebsite.Caption" xml:space="preserve">
<value>ChanSort Webseite...</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Über ChanSort...</value>
</data>
<assembly alias="DevExpress.XtraBars.v15.2" name="DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
<data name="barManager1.Categories4" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
nH8WlU24SIo8kTIJxAEL
</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Nach oben</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Nach unten</value>
<data name="grpInputList.Text" xml:space="preserve">
<value>Alle Sender</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>tauschen</value>
</data>
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 19</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>dahinter</value>
</data>
<data name="rbInsertAfter.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 19</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>davor</value>
</data>
<data name="rbInsertBefore.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 19</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Lücken beim Verschieben/Entfernen von Sendern schließen</value>
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt</value>
</data>
<data name="lblInsertMode.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Einfügemodus:</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Keine Senderlisten vorhanden</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Setze Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Programplatz für Einfügen und Festlegen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Senderlisten-Editor für Samsung, LG, Panasonic und Toshiba TVs</value>
</data>
<data name="btnToggleLock.Text" xml:space="preserve">
<value>Kindersicherung bei markierten Sendern ein/ausschalten</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="btnToggleFavE.AccessibleDescription" xml:space="preserve">
<value>Favorit E umschalten</value>
</data>
<data name="btnToggleFavD.AccessibleDescription" xml:space="preserve">
<value>Favorit D umschalten</value>
</data>
<data name="btnToggleFavC.AccessibleDescription" xml:space="preserve">
<value>Favorit C umschalten</value>
</data>
@@ -466,6 +186,9 @@
<data name="grpOutputList.Text" xml:space="preserve">
<value>Sortierte Sender</value>
</data>
<data name="colIndex.Caption" xml:space="preserve">
<value>Pr. Index</value>
</data>
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Alte Pr#</value>
</data>
@@ -511,9 +234,18 @@
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Frequenz (MHz)</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Service Typ ID</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<value>Service Typ</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Satellit</value>
</data>
<data name="colNetworkId.Caption" xml:space="preserve">
<value>Netzwerk (ONID)</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Symbol- rate</value>
</data>
@@ -526,12 +258,27 @@
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Netzwerk Betreiber</value>
</data>
<data name="lblHotkeyRight.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
<data name="colProvider.Caption" xml:space="preserve">
<value>Anbieter</value>
</data>
<data name="colLogicalIndex.Caption" xml:space="preserve">
<value>Reihenfolge</value>
</data>
<data name="colSignalSource.Caption" xml:space="preserve">
<value>Signal- quelle</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Filter | F6: Liste | Eingabe: übernehmen</value>
</data>
<data name="lblPredefinedList.Text" xml:space="preserve">
<value>Diese vorprogrammierte Liste kann nicht bearbeitet werden.</value>
</data>
<data name="lblPredefinedList.ToolTip" xml:space="preserve">
<value>Bei der Einrichtung ihres TVs wurde eine vordefinierte Senderliste gewählt.
Das Ändern dieser Liste würde zu Fehlfunktionen des Geräts führen.
Führen Sie bitte einen Sender-Vollsuchlauf aus und wählen Sie dabei keine
speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
</data>
<data name="btnRemoveRight.Text" xml:space="preserve">
<value>Sender aus sortierter Liste entfernen</value>
</data>
@@ -550,6 +297,9 @@
<data name="btnClearRightFilter.AccessibleDescription" xml:space="preserve">
<value>Entfernt den Suchfilter von der vollständigen Senderliste</value>
</data>
<data name="btnClearRightFilter.Text" xml:space="preserve">
<value>FIlter</value>
</data>
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Filter entfernen</value>
</data>
@@ -559,83 +309,122 @@
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Markierte Sender in die sortierte liste übernehmen</value>
</data>
<data name="grpInputList.Text" xml:space="preserve">
<value>Alle Sender</value>
<data name="miSelectFavList0.Caption" xml:space="preserve">
<value>Programmliste</value>
</data>
<data name="btnClearLeftFilter.Text" xml:space="preserve">
<value>Filter</value>
<data name="miSelectFavListA.Caption" xml:space="preserve">
<value>Favoriten A</value>
</data>
<data name="btnClearRightFilter.Text" xml:space="preserve">
<value>FIlter</value>
<data name="miSelectFavListB.Caption" xml:space="preserve">
<value>Favoriten B</value>
</data>
<data name="miSelectFavListC.Caption" xml:space="preserve">
<value>Favoriten C</value>
</data>
<data name="miSelectFavListD.Caption" xml:space="preserve">
<value>Favoriten D</value>
</data>
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoriten E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;linken Liste</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
<value>Linke Liste</value>
</data>
<data name="miRightListFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;rechten Liste</value>
</data>
<data name="miGotoRightList.Caption" xml:space="preserve">
<value>Rechte Liste</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Hilfe</value>
</data>
<data name="miOpenWebsite.Caption" xml:space="preserve">
<value>ChanSort Webseite...</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Über ChanSort...</value>
</data>
<data name="bar1.Text" xml:space="preserve">
<value>Werkzeuge</value>
</data>
<data name="colAudioPid.Caption" xml:space="preserve">
<value>Audio PID</value>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Nach oben</value>
</data>
<data name="colIndex.Caption" xml:space="preserve">
<value>Pr. Index</value>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>dahinter</value>
</data>
<data name="colIndex1.Caption" xml:space="preserve">
<value>Pr. Index</value>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Editor für TV-Senderlisten</value>
</data>
<data name="colLogicalIndex.Caption" xml:space="preserve">
<value>Reihenfolge</value>
<data name="btnToggleLock.Text" xml:space="preserve">
<value>Kindersicherung bei markierten Sendern ein/ausschalten</value>
</data>
<data name="colNetworkId.Caption" xml:space="preserve">
<value>Netzwerk (ONID)</value>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Service Typ</value>
<data name="btnToggleFavE.AccessibleDescription" xml:space="preserve">
<value>Favorit E umschalten</value>
</data>
<data name="colProvider.Caption" xml:space="preserve">
<value>Anbieter</value>
<data name="btnToggleFavD.AccessibleDescription" xml:space="preserve">
<value>Favorit D umschalten</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Service ID</value>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Favoriten entfernen</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Service Typ ID</value>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Sender s&amp;perren: ein</value>
</data>
<data name="colSignalSource.Caption" xml:space="preserve">
<value>Signal- quelle</value>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Sender sperren: aus</value>
</data>
<data name="colVideoPid.Caption" xml:space="preserve">
<value>Video PID</value>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Sender ü&amp;berspringen: ein</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Sender überspringen: aus</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Sender &amp;verstecken: ein</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Sender verstecken: aus</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>TV-Gerät</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Geräte&amp;einstellungen...</value>
</data>
<data name="miCleanupChannels.Caption" xml:space="preserve">
<value>Senderliste bereinigen</value>
</data>
<data name="miCleanupChannels.Hint" xml:space="preserve">
<value>Senderdatensätze neu organisieren und Duplikate entfernen</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Einstellungen</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Sprache</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Zeichensatz</value>
</data>
<data name="miCharsetForm.Caption" xml:space="preserve">
<value>Alle Zeichensätze...</value>
</data>
<data name="miAddFromRefList.Caption" xml:space="preserve">
<value>Sender aus Referenzliste hinzufügen...</value>
</data>
<data name="miIsoCharSets.Caption" xml:space="preserve">
<value>ISO Zeichensätze</value>
</data>
<data name="miRecentFiles.Caption" xml:space="preserve">
<value>Zuletzt verwendet</value>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Warnungen beim Laden anzeigen</value>
</data>
<data name="miWiki.Caption" xml:space="preserve">
<value>Wiki</value>
</data>
<data name="pageProgNr.Text" xml:space="preserve">
<value>Pr#</value>
</data>
<data name="colTransportStreamId.ToolTip" xml:space="preserve">
<value>Transport Stream ID</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<value>Service Typ</value>
</data>
<data name="lblPredefinedList.Text" xml:space="preserve">
<value>Diese vorprogrammierte Liste kann nicht bearbeitet werden.</value>
</data>
<data name="lblPredefinedList.ToolTip" xml:space="preserve">
<value>Bei der Einrichtung ihres TVs wurde eine vordefinierte Senderliste gewählt.
Das Ändern dieser Liste würde zu Fehlfunktionen des Geräts führen.
Führen Sie bitte einen Sender-Vollsuchlauf aus und wählen Sie dabei keine
speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
<data name="miShowWarningsAfterLoad.Hint" xml:space="preserve">
<value>Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen</value>
</data>
<data name="miAllowEditPredefinedLists.Caption" xml:space="preserve">
<value>Bearbeiten vordefinierter Listen erlauben (GEFÄHRLICH)</value>
@@ -643,4 +432,197 @@ speziellen Anbieter, Satelliten oder Länderlisten aus.</value>
<data name="miAllowEditPredefinedLists.Hint" xml:space="preserve">
<value>Der Fernseher funktioniert dabei unter Umständen nicht mehr korrekt.</value>
</data>
<data name="mnuAccessibility.Caption" xml:space="preserve">
<value>Einga&amp;behilfe</value>
</data>
<data name="mnuGotoChannelList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Eingangsquelle. Dieses kann auch direkt mit der F1-Taste aufgerufen werden.</value>
</data>
<data name="mnuGotoChannelList.Caption" xml:space="preserve">
<value>&amp;Eingangsquelle auswählen</value>
</data>
<data name="mnuGotoFavList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Programm- oder Favoritenliste. Dieses Menü kann auch direkt über die Umschalt+F1 Tastenkombination geöffnet werden.</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Beenden</value>
</data>
<data name="miRecentFiles.Caption" xml:space="preserve">
<value>Zuletzt verwendet</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Bearbeiten</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Sender &amp;übernehmen</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Sender &amp;entfernen</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Sender alphabetisch sortieren</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Sender neu &amp;nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Caption" xml:space="preserve">
<value>Favoriten nach Pr# nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Hint" xml:space="preserve">
<value>Verwendet einheitlich die Pr# auch in allen Favoritenlisten</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Erneut laden</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Sicherheitskopie wiederherstellen</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Datei&amp;information...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Speichern</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Speichern &amp;unter...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste öffnen...</value>
</data>
<data name="miAddFromRefList.Caption" xml:space="preserve">
<value>Sender aus Referenzliste hinzufügen...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste speichern...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Excel liste exportieren...</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Neuer Programmplatz</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Sendername</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Ver- steckt</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filter | F4: Liste | -: nach oben | +: nach unten | Entf: entfernen</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Datei</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Über- springen</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Sender umbenennen</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Nach unten</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>davor</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Lücken beim Verschieben/Entfernen von Sendern schließen</value>
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Einfügemodus:</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Keine Senderlisten vorhanden</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Setze Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Programplatz für Einfügen und Festlegen</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 17</value>
</data>
<assembly alias="DevExpress.XtraBars.v15.2" name="DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1
LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1
LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1
LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1
LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
<data name="barManager1.Categories4" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4yLCBWZXJzaW9uPTE1
LjIuNS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
nH8WlU24SIo8kTIJxAEL
</value>
</data>
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 19</value>
</data>
<data name="rbInsertAfter.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 19</value>
</data>
<data name="rbInsertBefore.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 19</value>
</data>
<data name="lblInsertMode.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="lblHotkeyRight.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
</data>
<data name="lblPredefinedList.Size" type="System.Drawing.Size, System.Drawing">
<value>495, 19</value>
</data>
</root>

View File

@@ -65,184 +65,20 @@
<assembly alias="DevExpress.Data.v15.2" name="DevExpress.Data.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<assembly alias="DevExpress.XtraEditors.v15.2" name="DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<assembly alias="DevExpress.Utils.v15.2" name="DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Tipo serviço</value>
</data>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Novo Pr#</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Posição de canal novo</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Nome do canal</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoritos</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Blo- queado</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filtro | F4: Lista | -: para cima | +: para baixo | DEL: remover</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Modo acrescentar:</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>Antes</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>Depois</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>Comutar</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Ficheiro</value>
</data>
<data name="miOpen.Caption" xml:space="preserve">
<value>Abrir &amp;lista de canais...</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Recarregar</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Repor cópia de segurança</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Informações&amp; do ficheiro...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Gravar</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Gravar &amp;como...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Abrir lista de referência...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Gravar lista de referência...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Exportar lista de Excel...</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Terminar</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Editar</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Aceitar &amp;canal</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Remover &amp;canal</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Rebatizar canal</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Ordenar canais alfabeticamente</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Renumerar &amp;canais de novo</value>
</data>
<data name="mnuFavSet.Caption" xml:space="preserve">
<value>&amp;Acrescentar favoritos</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Remover favoritos</value>
<data name="grpInputList.Text" xml:space="preserve">
<value>Todos os canais</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Bloquear &amp;canais: SIM</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Bloquear canais: NÃO</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Saltar &amp;canais: SIM</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Saltar canais: NÃO</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Esconder &amp;canais: SIM</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Esconder canais: NÃO</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>Televisor</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Configurações TV...</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Configurações</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Idioma</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Tabela de caracteres</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Ajuda</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Sobre ChanSort...</value>
</data>
<assembly alias="DevExpress.XtraBars.v15.2" name="DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Editor de listas de canais para televisores Samsung, LG, Panasonic e Toshiba</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Para cima</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Para baixo</value>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>Comutar</value>
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<value>Repor filtro</value>
@@ -259,15 +95,6 @@
<data name="btnRemoveLeft.ToolTip" xml:space="preserve">
<value>Remover canais seleccionados</value>
</data>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Remover canais seleccionados</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Aplicar Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Acrescentar e definar posição de canal</value>
</data>
<data name="grpOutputList.Text" xml:space="preserve">
<value>Canais ordenados</value>
</data>
@@ -316,6 +143,15 @@
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Frequência (MHz)</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Sserviço ID</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Tipo serviço ID</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<value>Tipo serviço</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Sátelite</value>
</data>
@@ -328,18 +164,15 @@
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Nome da rede</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Tipo serviço ID</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Sserviço ID</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Operador</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Filtro | F6: Lista | Entrada: aceitar</value>
</data>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Remover canais seleccionados</value>
</data>
<data name="btnAddAll.Text" xml:space="preserve">
<value>&lt;&lt; Acrescentar todos</value>
</data>
@@ -349,25 +182,192 @@
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Aceitar canais assinalados</value>
</data>
<data name="grpInputList.Text" xml:space="preserve">
<value>Todos os canais</value>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Ajuda</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>No lista de canais</value>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Sobre ChanSort...</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Parental lock</value>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Para cima</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>Depois</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Editor de listas de canais para televisores Samsung, LG, Panasonic e Toshiba</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Parental lock</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Sal- tar</value>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Remover favoritos</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Bloquear &amp;canais: SIM</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Bloquear canais: NÃO</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Saltar &amp;canais: SIM</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Saltar canais: NÃO</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Esconder &amp;canais: SIM</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Esconder canais: NÃO</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>Televisor</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Configurações TV...</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Configurações</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Idioma</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Tabela de caracteres</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Terminar</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Editar</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Aceitar &amp;canal</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Remover &amp;canal</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Ordenar canais alfabeticamente</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Renumerar &amp;canais de novo</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Recarregar</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Repor cópia de segurança</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Informações&amp; do ficheiro...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Gravar</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Gravar &amp;como...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Abrir lista de referência...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Gravar lista de referência...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Exportar lista de Excel...</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Posição de canal novo</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Nome do canal</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoritos</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Blo- queado</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Parental lock</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Esc- onder</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filtro | F4: Lista | -: para cima | +: para baixo | DEL: remover</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Ficheiro</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Sal- tar</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Rebatizar canal</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Para baixo</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>Antes</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Modo acrescentar:</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>No lista de canais</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Aplicar Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Acrescentar e definar posição de canal</value>
</data>
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Tipo serviço</value>
</data>
<assembly alias="DevExpress.XtraBars.v15.2" name="DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -117,355 +117,355 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="colShortName.Caption" xml:space="preserve">
<value>Краткое имя</value>
</data>
<data name="btnRenum.Text" xml:space="preserve">
<value>1-999</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Удалить из Избранного</value>
</data>
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Добавить выбранные каналы в отсортированный список</value>
</data>
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Сбросить фильтр</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Заблокировать</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Изменить нумерацию каналов</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Установить:</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Закрыть соединение при перемещении / удалении канала</value>
</data>
<data name="btnAdd.Text" xml:space="preserve">
<value>&lt;&lt;</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - редактор списка каналов для телевизоров Samsung, LG, Pansonic и Toshiba</value>
</data>
<data name="colSlotNew.Caption" xml:space="preserve">
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Новый</value>
</data>
<data name="colSignalSource.Caption" xml:space="preserve">
<value>Источник сигнала</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Настройка устройства...</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Оператор сети</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Новый номер программы</value>
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>В активном состоянии все каналы после текущего будут автоматически перенумерованы</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Заблокировать канал</value>
</data>
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Сетевое имя</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Переименовать канал</value>
</data>
<data name="btnAddAll.Text" xml:space="preserve">
<value>&lt;&lt; Добавить все</value>
</data>
<data name="bar1.Text" xml:space="preserve">
<value>Инструменты</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Добавить каналы</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>Телевизор</value>
</data>
<data name="btnAddAll.ToolTip" xml:space="preserve">
<value>Добавить все текущие несортированные каналы в конец списка</value>
</data>
<data name="colName.Caption" xml:space="preserve">
<value>Название канала</value>
</data>
<data name="miRecentFiles.Caption" xml:space="preserve">
<value>Последние файлы</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Название канала</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Канал/Транспондер</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Сохранить как...</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>заменить</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Сохранить список...</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Скрыть</value>
</data>
<data name="colAudioPid.Caption" xml:space="preserve">
<value>Аудио PID</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Файл и информация...</value>
<data name="miOpen.Caption" xml:space="preserve">
<value>Открыть файл данных TV...</value>
</data>
<data name="mnuFavSet.Caption" xml:space="preserve">
<value>Добавить в Избранное</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Не пропускать канал</value>
<data name="grpInputList.Text" xml:space="preserve">
<value>Все каналы</value>
</data>
<data name="colLock.Caption" xml:space="preserve">
<value>Заблокированный</value>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>заменить</value>
</data>
<data name="btnClearLeftFilter.Text" xml:space="preserve">
<value>Фильтр</value>
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<value>Сбросить фильтр</value>
</data>
<data name="btnRenum.Text" xml:space="preserve">
<value>1-999</value>
</data>
<data name="btnRenum.ToolTip" xml:space="preserve">
<value>Изменить нумерацию выбранных каналов</value>
</data>
<data name="btnDown.Text" xml:space="preserve">
<value>v</value>
</data>
<data name="btnDown.ToolTip" xml:space="preserve">
<value>Переместить выбранные каналы вниз</value>
</data>
<data name="btnUp.Text" xml:space="preserve">
<value>^</value>
</data>
<data name="btnUp.ToolTip" xml:space="preserve">
<value>Переместить выбранные каналы вверх</value>
</data>
<data name="btnRemoveLeft.Text" xml:space="preserve">
<value>X</value>
</data>
<data name="colSkip.Caption" xml:space="preserve">
<value>Пропускать</value>
<data name="btnRemoveLeft.ToolTip" xml:space="preserve">
<value>Удалить выбранные каналы</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>Язык</value>
<data name="grpOutputList.Text" xml:space="preserve">
<value>Отсортированные каналы</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>Настройки</value>
</data>
<data name="colTransportStreamId.ToolTip" xml:space="preserve">
<value>ID транспортного потока</value>
</data>
<data name="colLogicalIndex.Caption" xml:space="preserve">
<value>Order</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Режим вставки:</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Спутник</value>
<data name="colIndex.Caption" xml:space="preserve">
<value>Индекс пр.</value>
</data>
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Старый</value>
</data>
<data name="colSlotOld.ToolTip" xml:space="preserve">
<value>Старый номер программы</value>
</data>
<data name="colSlotNew.Caption" xml:space="preserve">
<value>Новый</value>
</data>
<data name="colSlotNew.ToolTip" xml:space="preserve">
<value>Новый номер программы</value>
</data>
<data name="colName.Caption" xml:space="preserve">
<value>Название канала</value>
</data>
<data name="colShortName.Caption" xml:space="preserve">
<value>Краткое имя</value>
</data>
<data name="colFavorites.Caption" xml:space="preserve">
<value>Избранное</value>
</data>
<data name="colLock.Caption" xml:space="preserve">
<value>Заблокированный</value>
</data>
<data name="colSkip.Caption" xml:space="preserve">
<value>Пропускать</value>
</data>
<data name="colHidden.Caption" xml:space="preserve">
<value>Скрыть</value>
</data>
<data name="colEncrypted.Caption" xml:space="preserve">
<value>Зашифрованный</value>
</data>
<data name="colEncrypted.ToolTip" xml:space="preserve">
<value>Зашифрованный</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Канал/Транспондер</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Номер канала или транспондер</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Частота (MHz)</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>ID сервиса</value>
</data>
<data name="colVideoPid.Caption" xml:space="preserve">
<value>Видео PID</value>
</data>
<data name="colAudioPid.Caption" xml:space="preserve">
<value>Аудио PID</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>ID Тип сервиса</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<value>Тип сервиса</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Спутник</value>
</data>
<data name="colNetworkId.Caption" xml:space="preserve">
<value>Сеть (ONID)</value>
</data>
<data name="colTransportStreamId.ToolTip" xml:space="preserve">
<value>ID транспортного потока</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Скорость передачи</value>
</data>
<data name="colPolarity.Caption" xml:space="preserve">
<value>Полярность</value>
</data>
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Сетевое имя</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Оператор сети</value>
</data>
<data name="colLogicalIndex.Caption" xml:space="preserve">
<value>Order</value>
</data>
<data name="colSignalSource.Caption" xml:space="preserve">
<value>Источник сигнала</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Фильтр | F6: Список | Enter: Добавить</value>
</data>
<data name="btnRemoveRight.Text" xml:space="preserve">
<value>X</value>
</data>
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Тип сервиса</value>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Удалить выбранные каналы из отсортированного списка</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Сортировать каналы по алфавиту</value>
<data name="btnAddAll.Text" xml:space="preserve">
<value>&lt;&lt; Добавить все</value>
</data>
<data name="miAddFromRefList.Caption" xml:space="preserve">
<value>Добавить каналы из списка...</value>
</data>
<data name="miWiki.Caption" xml:space="preserve">
<value>Вики ChanSort</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Переместить вниз</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>Файл</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Родительский контроль</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>после</value>
</data>
<data name="btnRemoveLeft.ToolTip" xml:space="preserve">
<value>Удалить выбранные каналы</value>
</data>
<data name="btnClearLeftFilter.Text" xml:space="preserve">
<value>Фильтр</value>
</data>
<data name="colPolarity.Caption" xml:space="preserve">
<value>Полярность</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>ID сервиса</value>
</data>
<data name="btnUp.ToolTip" xml:space="preserve">
<value>Переместить выбранные каналы вверх</value>
</data>
<data name="grpOutputList.Text" xml:space="preserve">
<value>Отсортированные каналы</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>Помощь</value>
<data name="btnAddAll.ToolTip" xml:space="preserve">
<value>Добавить все текущие несортированные каналы в конец списка</value>
</data>
<data name="btnClearRightFilter.Text" xml:space="preserve">
<value>Фильтр</value>
</data>
<data name="btnDown.ToolTip" xml:space="preserve">
<value>Переместить выбранные каналы вниз</value>
</data>
<data name="colEncrypted.ToolTip" xml:space="preserve">
<value>Зашифрованный</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Нет списков каналов</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>О ChanSort ...</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Пропустить канал</value>
</data>
<data name="grpInputList.Text" xml:space="preserve">
<value>Все каналы</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>Сохранить</value>
</data>
<data name="colFavorites.Caption" xml:space="preserve">
<value>Избранное</value>
</data>
<data name="miOpen.Caption" xml:space="preserve">
<value>Открыть файл данных TV...</value>
</data>
<data name="colHidden.Caption" xml:space="preserve">
<value>Скрыть</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>ID Тип сервиса</value>
</data>
<data name="miCleanupChannels.Hint" xml:space="preserve">
<value>Перенастроить канал и удалить дубликаты</value>
</data>
<data name="btnRenum.ToolTip" xml:space="preserve">
<value>Изменить нумерацию выбранных каналов</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Восстановить из резервной копии</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Родительский контроль</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Переместить вверх</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>Выход</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Скрыть канал</value>
</data>
<data name="colEncrypted.Caption" xml:space="preserve">
<value>Зашифрованный</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>до</value>
</data>
<data name="colNetworkId.Caption" xml:space="preserve">
<value>Сеть (ONID)</value>
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Сбросить фильтр</value>
</data>
<data name="colIndex.Caption" xml:space="preserve">
<value>Индекс пр.</value>
<data name="btnAdd.Text" xml:space="preserve">
<value>&lt;&lt;</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Номер канала или транспондер</value>
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Добавить выбранные каналы в отсортированный список</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Фильтр | F4: Список | -: Вверх | +: Вниз | Del: Удалить</value>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>Помощь</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Скорость передачи</value>
</data>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Новый</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Показывать предупреждения после загрузки файла</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>Перезагрузить</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Разблокировать канал</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>Правка</value>
</data>
<data name="pageProgNr.Text" xml:space="preserve">
<value>Pr#</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Удалить каналы</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Номер программы для добавления и настройки операций</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Пропускать</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Избранное</value>
<data name="miWiki.Caption" xml:space="preserve">
<value>Вики ChanSort</value>
</data>
<data name="miOpenWebsite.Caption" xml:space="preserve">
<value>Сайт ChanSort...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Экспорт в Excel...</value>
<data name="miAbout.Caption" xml:space="preserve">
<value>О ChanSort ...</value>
</data>
<data name="colSlotOld.ToolTip" xml:space="preserve">
<value>Старый номер программы</value>
<data name="bar1.Text" xml:space="preserve">
<value>Инструменты</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Переместить вверх</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>после</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - редактор списка каналов для телевизоров Samsung, LG, Pansonic и Toshiba</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Родительский контроль</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Удалить из Избранного</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Заблокировать канал</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Разблокировать канал</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Пропустить канал</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Не пропускать канал</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Скрыть канал</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Показать канал</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>Телевизор</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Настройка устройства...</value>
</data>
<data name="miCleanupChannels.Caption" xml:space="preserve">
<value>Очистка данных канала</value>
</data>
<data name="btnUp.Text" xml:space="preserve">
<value>^</value>
<data name="miCleanupChannels.Hint" xml:space="preserve">
<value>Перенастроить канал и удалить дубликаты</value>
</data>
<data name="btnDown.Text" xml:space="preserve">
<value>v</value>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>Настройки</value>
</data>
<data name="miCharsetForm.Caption" xml:space="preserve">
<value>Все наборы символов...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Загрузить список...</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Частота (MHz)</value>
</data>
<data name="colSlotNew.ToolTip" xml:space="preserve">
<value>Новый номер программы</value>
</data>
<data name="colIndex1.Caption" xml:space="preserve">
<value>Индекс пр.</value>
</data>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Удалить выбранные каналы из отсортированного списка</value>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>Язык</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>Набор символов</value>
</data>
<data name="colServiceTypeName.Caption" xml:space="preserve">
<data name="miCharsetForm.Caption" xml:space="preserve">
<value>Все наборы символов...</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Показывать предупреждения после загрузки файла</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>Выход</value>
</data>
<data name="miRecentFiles.Caption" xml:space="preserve">
<value>Последние файлы</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>Правка</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Добавить каналы</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Удалить каналы</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Сортировать каналы по алфавиту</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Изменить нумерацию каналов</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>Перезагрузить</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Восстановить из резервной копии</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Файл и информация...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>Сохранить</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Сохранить как...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Загрузить список...</value>
</data>
<data name="miAddFromRefList.Caption" xml:space="preserve">
<value>Добавить каналы из списка...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Сохранить список...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Экспорт в Excel...</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Новый номер программы</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Название канала</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Избранное</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Заблокировать</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Родительский контроль</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Скрыть</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Фильтр | F4: Список | -: Вверх | +: Вниз | Del: Удалить</value>
</data>
<data name="pageProgNr.Text" xml:space="preserve">
<value>Pr#</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>Файл</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Пропускать</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Переименовать канал</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Переместить вниз</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>до</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Закрыть соединение при перемещении / удалении канала</value>
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>В активном состоянии все каналы после текущего будут автоматически перенумерованы</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Режим вставки:</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Нет списков каналов</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Установить:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Номер программы для добавления и настройки операций</value>
</data>
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Тип сервиса</value>
</data>
<data name="colIndex1.Caption" xml:space="preserve">
<value>Индекс пр.</value>
</data>
</root>

View File

@@ -1,6 +1,8 @@
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -0,0 +1,463 @@
namespace ChanSort.Ui
{
partial class ReferenceListForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
this.edFile = new DevExpress.XtraEditors.ButtonEdit();
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
this.rbAuto = new DevExpress.XtraEditors.CheckEdit();
this.rbManual = new DevExpress.XtraEditors.CheckEdit();
this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
this.comboSource = new DevExpress.XtraEditors.ComboBoxEdit();
this.comboTarget = new DevExpress.XtraEditors.ComboBoxEdit();
this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
this.cbTv = new DevExpress.XtraEditors.CheckEdit();
this.cbRadio = new DevExpress.XtraEditors.CheckEdit();
this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
this.comboPrNr = new DevExpress.XtraEditors.ComboBoxEdit();
this.grpManual = new DevExpress.XtraEditors.GroupControl();
this.cbIP = new DevExpress.XtraEditors.CheckEdit();
this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
this.cbAnalog = new DevExpress.XtraEditors.CheckEdit();
this.cbDigital = new DevExpress.XtraEditors.CheckEdit();
this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
this.cbSatellite = new DevExpress.XtraEditors.CheckEdit();
this.cbAntenna = new DevExpress.XtraEditors.CheckEdit();
this.cbCable = new DevExpress.XtraEditors.CheckEdit();
this.lblTargetInfo = new DevExpress.XtraEditors.LabelControl();
this.lblSourceInfo = new DevExpress.XtraEditors.LabelControl();
this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
this.btnApply = new DevExpress.XtraEditors.SimpleButton();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
((System.ComponentModel.ISupportInitialize)(this.edFile.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbAuto.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbManual.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.comboSource.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.comboTarget.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbTv.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbRadio.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.comboPrNr.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.grpManual)).BeginInit();
this.grpManual.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbIP.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbAnalog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbDigital.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbSatellite.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbAntenna.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCable.Properties)).BeginInit();
this.SuspendLayout();
//
// labelControl1
//
this.labelControl1.Location = new System.Drawing.Point(12, 16);
this.labelControl1.Name = "labelControl1";
this.labelControl1.Size = new System.Drawing.Size(92, 13);
this.labelControl1.TabIndex = 0;
this.labelControl1.Text = "Reference List File:";
//
// edFile
//
this.edFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edFile.EditValue = "← press button to select a file";
this.edFile.Location = new System.Drawing.Point(133, 13);
this.edFile.Name = "edFile";
this.edFile.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis, "", -1, true, true, true, DevExpress.XtraEditors.ImageLocation.MiddleCenter, null, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, "", null, null, true)});
this.edFile.Properties.ReadOnly = true;
this.edFile.Size = new System.Drawing.Size(547, 20);
this.edFile.TabIndex = 1;
this.edFile.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.edFile_ButtonClick);
//
// labelControl2
//
this.labelControl2.Location = new System.Drawing.Point(133, 39);
this.labelControl2.Name = "labelControl2";
this.labelControl2.Size = new System.Drawing.Size(318, 13);
this.labelControl2.TabIndex = 2;
this.labelControl2.Text = "(You can choose any supported channel list file as a reference list)";
//
// rbAuto
//
this.rbAuto.Enabled = false;
this.rbAuto.Location = new System.Drawing.Point(13, 79);
this.rbAuto.Name = "rbAuto";
this.rbAuto.Properties.AutoWidth = true;
this.rbAuto.Properties.Caption = "Automatically reorder all lists in the current file to match the reference file";
this.rbAuto.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbAuto.Properties.RadioGroupIndex = 1;
this.rbAuto.Size = new System.Drawing.Size(375, 19);
this.rbAuto.TabIndex = 3;
this.rbAuto.TabStop = false;
this.rbAuto.CheckedChanged += new System.EventHandler(this.rbAuto_CheckedChanged);
//
// rbManual
//
this.rbManual.Enabled = false;
this.rbManual.Location = new System.Drawing.Point(13, 104);
this.rbManual.Name = "rbManual";
this.rbManual.Properties.AutoWidth = true;
this.rbManual.Properties.Caption = "Reorder only a particular list to match a selected reference list";
this.rbManual.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbManual.Properties.RadioGroupIndex = 1;
this.rbManual.Size = new System.Drawing.Size(320, 19);
this.rbManual.TabIndex = 4;
this.rbManual.TabStop = false;
this.rbManual.CheckedChanged += new System.EventHandler(this.rbAuto_CheckedChanged);
//
// labelControl3
//
this.labelControl3.Location = new System.Drawing.Point(5, 10);
this.labelControl3.Name = "labelControl3";
this.labelControl3.Size = new System.Drawing.Size(73, 13);
this.labelControl3.TabIndex = 0;
this.labelControl3.Text = "Reference List:";
//
// comboSource
//
this.comboSource.Location = new System.Drawing.Point(123, 7);
this.comboSource.Name = "comboSource";
this.comboSource.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.comboSource.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
this.comboSource.Size = new System.Drawing.Size(178, 20);
this.comboSource.TabIndex = 1;
this.comboSource.EditValueChanged += new System.EventHandler(this.comboSource_EditValueChanged);
//
// comboTarget
//
this.comboTarget.Location = new System.Drawing.Point(123, 33);
this.comboTarget.Name = "comboTarget";
this.comboTarget.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.comboTarget.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
this.comboTarget.Size = new System.Drawing.Size(178, 20);
this.comboTarget.TabIndex = 4;
this.comboTarget.EditValueChanged += new System.EventHandler(this.comboTarget_EditValueChanged);
//
// labelControl4
//
this.labelControl4.Location = new System.Drawing.Point(5, 36);
this.labelControl4.Name = "labelControl4";
this.labelControl4.Size = new System.Drawing.Size(55, 13);
this.labelControl4.TabIndex = 3;
this.labelControl4.Text = "Target List:";
//
// cbTv
//
this.cbTv.Location = new System.Drawing.Point(123, 109);
this.cbTv.Name = "cbTv";
this.cbTv.Properties.AutoWidth = true;
this.cbTv.Properties.Caption = "TV";
this.cbTv.Size = new System.Drawing.Size(34, 19);
this.cbTv.TabIndex = 15;
this.cbTv.TabStop = false;
//
// cbRadio
//
this.cbRadio.Location = new System.Drawing.Point(204, 109);
this.cbRadio.Name = "cbRadio";
this.cbRadio.Properties.AutoWidth = true;
this.cbRadio.Properties.Caption = "Radio";
this.cbRadio.Size = new System.Drawing.Size(49, 19);
this.cbRadio.TabIndex = 16;
this.cbRadio.TabStop = false;
//
// labelControl5
//
this.labelControl5.Location = new System.Drawing.Point(5, 137);
this.labelControl5.Name = "labelControl5";
this.labelControl5.Size = new System.Drawing.Size(62, 13);
this.labelControl5.TabIndex = 17;
this.labelControl5.Text = "Start at Pr#:";
//
// labelControl6
//
this.labelControl6.Location = new System.Drawing.Point(204, 137);
this.labelControl6.Name = "labelControl6";
this.labelControl6.Size = new System.Drawing.Size(177, 13);
this.labelControl6.TabIndex = 19;
this.labelControl6.Text = "(i.e. let radio channels start at 5000)";
//
// comboPrNr
//
this.comboPrNr.EditValue = "1";
this.comboPrNr.Location = new System.Drawing.Point(123, 134);
this.comboPrNr.Name = "comboPrNr";
this.comboPrNr.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.comboPrNr.Properties.EditFormat.FormatString = "d";
this.comboPrNr.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.comboPrNr.Properties.Items.AddRange(new object[] {
"1",
"100",
"500",
"1000",
"5000",
"9000"});
this.comboPrNr.Size = new System.Drawing.Size(75, 20);
this.comboPrNr.TabIndex = 18;
//
// grpManual
//
this.grpManual.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.grpManual.Controls.Add(this.cbIP);
this.grpManual.Controls.Add(this.labelControl9);
this.grpManual.Controls.Add(this.cbAnalog);
this.grpManual.Controls.Add(this.cbDigital);
this.grpManual.Controls.Add(this.labelControl8);
this.grpManual.Controls.Add(this.cbSatellite);
this.grpManual.Controls.Add(this.cbAntenna);
this.grpManual.Controls.Add(this.cbCable);
this.grpManual.Controls.Add(this.lblTargetInfo);
this.grpManual.Controls.Add(this.lblSourceInfo);
this.grpManual.Controls.Add(this.labelControl7);
this.grpManual.Controls.Add(this.btnApply);
this.grpManual.Controls.Add(this.comboSource);
this.grpManual.Controls.Add(this.comboPrNr);
this.grpManual.Controls.Add(this.labelControl3);
this.grpManual.Controls.Add(this.labelControl6);
this.grpManual.Controls.Add(this.labelControl4);
this.grpManual.Controls.Add(this.labelControl5);
this.grpManual.Controls.Add(this.comboTarget);
this.grpManual.Controls.Add(this.cbTv);
this.grpManual.Controls.Add(this.cbRadio);
this.grpManual.Enabled = false;
this.grpManual.Location = new System.Drawing.Point(71, 129);
this.grpManual.Name = "grpManual";
this.grpManual.ShowCaption = false;
this.grpManual.Size = new System.Drawing.Size(609, 201);
this.grpManual.TabIndex = 5;
this.grpManual.Text = "grpManual";
//
// cbIP
//
this.cbIP.Location = new System.Drawing.Point(369, 59);
this.cbIP.Name = "cbIP";
this.cbIP.Properties.AutoWidth = true;
this.cbIP.Properties.Caption = "IP";
this.cbIP.Size = new System.Drawing.Size(32, 19);
this.cbIP.TabIndex = 10;
this.cbIP.TabStop = false;
//
// labelControl9
//
this.labelControl9.Location = new System.Drawing.Point(5, 87);
this.labelControl9.Name = "labelControl9";
this.labelControl9.Size = new System.Drawing.Size(59, 13);
this.labelControl9.TabIndex = 11;
this.labelControl9.Text = "Signal Type:";
//
// cbAnalog
//
this.cbAnalog.Location = new System.Drawing.Point(123, 84);
this.cbAnalog.Name = "cbAnalog";
this.cbAnalog.Properties.AutoWidth = true;
this.cbAnalog.Properties.Caption = "Analog";
this.cbAnalog.Size = new System.Drawing.Size(55, 19);
this.cbAnalog.TabIndex = 12;
this.cbAnalog.TabStop = false;
//
// cbDigital
//
this.cbDigital.Location = new System.Drawing.Point(204, 84);
this.cbDigital.Name = "cbDigital";
this.cbDigital.Properties.AutoWidth = true;
this.cbDigital.Properties.Caption = "Digital";
this.cbDigital.Size = new System.Drawing.Size(51, 19);
this.cbDigital.TabIndex = 13;
this.cbDigital.TabStop = false;
//
// labelControl8
//
this.labelControl8.Location = new System.Drawing.Point(5, 62);
this.labelControl8.Name = "labelControl8";
this.labelControl8.Size = new System.Drawing.Size(68, 13);
this.labelControl8.TabIndex = 6;
this.labelControl8.Text = "Signal Source:";
//
// cbSatellite
//
this.cbSatellite.Location = new System.Drawing.Point(283, 59);
this.cbSatellite.Name = "cbSatellite";
this.cbSatellite.Properties.AutoWidth = true;
this.cbSatellite.Properties.Caption = "Satellite";
this.cbSatellite.Size = new System.Drawing.Size(60, 19);
this.cbSatellite.TabIndex = 9;
this.cbSatellite.TabStop = false;
//
// cbAntenna
//
this.cbAntenna.Location = new System.Drawing.Point(123, 59);
this.cbAntenna.Name = "cbAntenna";
this.cbAntenna.Properties.AutoWidth = true;
this.cbAntenna.Properties.Caption = "Antenna";
this.cbAntenna.Size = new System.Drawing.Size(63, 19);
this.cbAntenna.TabIndex = 7;
this.cbAntenna.TabStop = false;
//
// cbCable
//
this.cbCable.Location = new System.Drawing.Point(204, 59);
this.cbCable.Name = "cbCable";
this.cbCable.Properties.AutoWidth = true;
this.cbCable.Properties.Caption = "Cable";
this.cbCable.Size = new System.Drawing.Size(49, 19);
this.cbCable.TabIndex = 8;
this.cbCable.TabStop = false;
//
// lblTargetInfo
//
this.lblTargetInfo.Location = new System.Drawing.Point(308, 36);
this.lblTargetInfo.Name = "lblTargetInfo";
this.lblTargetInfo.Size = new System.Drawing.Size(3, 13);
this.lblTargetInfo.TabIndex = 5;
this.lblTargetInfo.Text = " ";
//
// lblSourceInfo
//
this.lblSourceInfo.Location = new System.Drawing.Point(308, 10);
this.lblSourceInfo.Name = "lblSourceInfo";
this.lblSourceInfo.Size = new System.Drawing.Size(3, 13);
this.lblSourceInfo.TabIndex = 2;
this.lblSourceInfo.Text = " ";
//
// labelControl7
//
this.labelControl7.Location = new System.Drawing.Point(5, 112);
this.labelControl7.Name = "labelControl7";
this.labelControl7.Size = new System.Drawing.Size(70, 13);
this.labelControl7.TabIndex = 14;
this.labelControl7.Text = "Channel Type:";
//
// btnApply
//
this.btnApply.Enabled = false;
this.btnApply.Location = new System.Drawing.Point(123, 169);
this.btnApply.Name = "btnApply";
this.btnApply.Size = new System.Drawing.Size(103, 23);
this.btnApply.TabIndex = 20;
this.btnApply.Text = "Apply";
this.btnApply.Click += new System.EventHandler(this.btnApply_Click);
//
// btnOk
//
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnOk.Location = new System.Drawing.Point(497, 346);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(88, 23);
this.btnOk.TabIndex = 6;
this.btnOk.Text = "Ok";
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
//
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(592, 346);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(88, 23);
this.btnClose.TabIndex = 7;
this.btnClose.Text = "Close/Cancel";
//
// ReferenceListForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(692, 381);
this.Controls.Add(this.btnClose);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.grpManual);
this.Controls.Add(this.rbManual);
this.Controls.Add(this.rbAuto);
this.Controls.Add(this.labelControl2);
this.Controls.Add(this.edFile);
this.Controls.Add(this.labelControl1);
this.Name = "ReferenceListForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Apply Reference List";
((System.ComponentModel.ISupportInitialize)(this.edFile.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbAuto.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbManual.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.comboSource.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.comboTarget.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbTv.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbRadio.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.comboPrNr.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.grpManual)).EndInit();
this.grpManual.ResumeLayout(false);
this.grpManual.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.cbIP.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbAnalog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbDigital.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbSatellite.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbAntenna.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCable.Properties)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraEditors.LabelControl labelControl1;
private DevExpress.XtraEditors.ButtonEdit edFile;
private DevExpress.XtraEditors.LabelControl labelControl2;
private DevExpress.XtraEditors.CheckEdit rbAuto;
private DevExpress.XtraEditors.CheckEdit rbManual;
private DevExpress.XtraEditors.LabelControl labelControl3;
private DevExpress.XtraEditors.ComboBoxEdit comboSource;
private DevExpress.XtraEditors.ComboBoxEdit comboTarget;
private DevExpress.XtraEditors.LabelControl labelControl4;
private DevExpress.XtraEditors.CheckEdit cbTv;
private DevExpress.XtraEditors.CheckEdit cbRadio;
private DevExpress.XtraEditors.LabelControl labelControl5;
private DevExpress.XtraEditors.LabelControl labelControl6;
private DevExpress.XtraEditors.ComboBoxEdit comboPrNr;
private DevExpress.XtraEditors.GroupControl grpManual;
private DevExpress.XtraEditors.SimpleButton btnApply;
private DevExpress.XtraEditors.SimpleButton btnOk;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.LabelControl labelControl7;
private DevExpress.XtraEditors.LabelControl lblTargetInfo;
private DevExpress.XtraEditors.LabelControl lblSourceInfo;
private DevExpress.XtraEditors.LabelControl labelControl8;
private DevExpress.XtraEditors.CheckEdit cbSatellite;
private DevExpress.XtraEditors.CheckEdit cbAntenna;
private DevExpress.XtraEditors.CheckEdit cbCable;
private DevExpress.XtraEditors.LabelControl labelControl9;
private DevExpress.XtraEditors.CheckEdit cbAnalog;
private DevExpress.XtraEditors.CheckEdit cbDigital;
private DevExpress.XtraEditors.CheckEdit cbIP;
}
}

View File

@@ -0,0 +1,233 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using ChanSort.Api;
using ChanSort.Ui.Properties;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
public partial class ReferenceListForm : DevExpress.XtraEditors.XtraForm
{
private readonly MainForm main;
private SerializerBase ser;
public ReferenceListForm(MainForm main)
{
this.main = main;
InitializeComponent();
this.UpdateButtons();
}
private void UpdateButtons()
{
this.btnOk.Visible = this.rbAuto.Checked;
this.btnClose.Text = this.rbAuto.Checked ? "Cancel" : "Close";
}
#region ShowOpenFileDialog()
private SerializerBase ShowOpenFileDialog()
{
try
{
string supportedExtensions;
int numberOfFilters;
var filter = main.GetTvDataFileFilter(out supportedExtensions, out numberOfFilters);
using (OpenFileDialog dlg = new OpenFileDialog())
{
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
dlg.AddExtension = true;
dlg.Filter = filter + string.Format(Resources.MainForm_FileDialog_OpenFileFilter, supportedExtensions);
dlg.FilterIndex = numberOfFilters + 1;
dlg.CheckFileExists = true;
dlg.RestoreDirectory = true;
if (dlg.ShowDialog() != DialogResult.OK)
return null;
if (main.DetectCommonFileCorruptions(dlg.FileName))
return null;
var plugin = dlg.FilterIndex <= main.Plugins.Count ? main.Plugins[dlg.FilterIndex - 1] : main.GetPluginForFile(dlg.FileName);
var ser = plugin.CreateSerializer(dlg.FileName);
ser.Load();
return ser;
}
}
catch
{
return null;
}
}
#endregion
#region UpdateInfoTextAndOptions()
private void UpdateInfoTextAndOptions()
{
foreach (var ctl in this.grpManual.Controls)
{
var checkEdit = ctl as CheckEdit;
if (checkEdit != null)
checkEdit.Checked = checkEdit.Enabled = true;
}
var list = (ChannelList)this.comboSource.EditValue;
this.lblSourceInfo.Text = GetInfoText(list);
list = (ChannelList)this.comboTarget.EditValue;
this.lblTargetInfo.Text = GetInfoText(list);
bool canApply =
(cbAntenna.Checked || cbCable.Checked || cbSatellite.Checked)
&& (cbAnalog.Checked || cbDigital.Checked)
&& (cbTv.Checked || cbRadio.Checked);
this.btnApply.Enabled = canApply;
}
#endregion
#region GetInfoText()
private string GetInfoText(ChannelList list)
{
var src = list?.SignalSource ?? 0;
var sb = new StringBuilder();
if ((src & SignalSource.Antenna) != 0)
sb.Append(", Antenna");
else
this.cbAntenna.Enabled = this.cbAntenna.Checked = false;
if ((src & SignalSource.Cable) != 0)
sb.Append(", Cable");
else
this.cbCable.Enabled = this.cbCable.Checked = false;
if ((src & SignalSource.Sat) != 0)
sb.Append(", Satellite");
else
this.cbSatellite.Enabled = this.cbSatellite.Checked = false;
if ((src & SignalSource.IP) != 0)
sb.Append(", IP");
else
this.cbIP.Enabled = this.cbIP.Checked = false;
if ((src & SignalSource.Analog) != 0)
sb.Append(", Analog");
else
this.cbAnalog.Enabled = this.cbAnalog.Checked = false;
if ((src & SignalSource.Digital) != 0)
sb.Append(", Digital");
else
this.cbDigital.Enabled = this.cbDigital.Checked = false;
if ((src & SignalSource.Tv) != 0)
sb.Append(", TV");
else
this.cbTv.Enabled = this.cbTv.Checked = false;
if ((src & SignalSource.Radio) != 0)
sb.Append(", Radio");
else
this.cbRadio.Enabled = this.cbRadio.Checked = false;
if (sb.Length >= 2)
sb.Remove(0, 2);
return sb.ToString();
}
#endregion
#region edFile_ButtonClick
private void edFile_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
ser = ShowOpenFileDialog();
if (ser == null)
return;
this.edFile.Text = ser.FileName;
this.rbAuto.Enabled = this.rbManual.Enabled = true;
this.comboSource.Properties.Items.Clear();
foreach (var list in ser.DataRoot.ChannelLists)
{
if (!list.IsMixedSouceFavoritesList && list.Channels.Count > 0)
this.comboSource.Properties.Items.Add(list);
}
this.comboTarget.Properties.Items.Clear();
foreach (var list in main.DataRoot.ChannelLists)
{
if (!list.IsMixedSouceFavoritesList && list.Channels.Count > 0)
this.comboTarget.Properties.Items.Add(list);
}
if (this.comboSource.Properties.Items.Count > 0)
this.comboSource.SelectedIndex = 0;
this.rbAuto.Enabled =
ser.DataRoot.MixedSourceFavorites == main.DataRoot.MixedSourceFavorites &&
ser.DataRoot.SortedFavorites == main.DataRoot.SortedFavorites;
if (!this.rbAuto.Enabled)
this.rbManual.Checked = true;
}
#endregion
#region rbAuto_CheckedChanged
private void rbAuto_CheckedChanged(object sender, EventArgs e)
{
var ed = (CheckEdit) sender;
if (!ed.Checked) return;
UpdateButtons();
this.grpManual.Enabled = this.rbManual.Checked && this.rbManual.Enabled;
}
#endregion
#region comboSource_EditValueChanged
private void comboSource_EditValueChanged(object sender, EventArgs e)
{
UpdateInfoTextAndOptions();
var list = (ChannelList) this.comboSource.EditValue;
this.comboPrNr.Text = list == null || list.Count == 0 ? "1" : list.Channels.Min(ch => Math.Max(ch.OldProgramNr, 1)).ToString();
// auto-select a compatible target list
if (list != null)
{
this.comboTarget.SelectedIndex = -1;
var src = list.SignalSource;
foreach (ChannelList targetList in this.comboTarget.Properties.Items)
{
if ((targetList.SignalSource & src) == src)
{
this.comboTarget.SelectedItem = targetList;
break;
}
}
}
}
private void comboTarget_EditValueChanged(object sender, EventArgs e)
{
UpdateInfoTextAndOptions();
}
#endregion
#region btnApply_Click
private void btnApply_Click(object sender, EventArgs e)
{
}
#endregion
#region btnOk_Click
private void btnOk_Click(object sender, EventArgs e)
{
main.Editor.ApplyReferenceList(ser.DataRoot);
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,6 +1,9 @@
ChanSort Change Log
===================
2016-04-18
- added support for Hisense channel.db channel lists
2015-11-29
- Samsung E,F,H,J .scm file format: allow independant reordering of each
favorites list