diff --git a/Aaru.Archives/Localization/Localization.Designer.cs b/Aaru.Archives/Localization/Localization.Designer.cs index dbef50944..a5602c43c 100644 --- a/Aaru.Archives/Localization/Localization.Designer.cs +++ b/Aaru.Archives/Localization/Localization.Designer.cs @@ -150,7 +150,7 @@ namespace Aaru.Archives { } /// - /// Looks up a localized string similar to Required UID {0} version {1}.{2}. + /// Looks up a localized string similar to Required {0} version {1}.{2}. /// internal static string Required_UID_0_version_1_2 { get { @@ -194,6 +194,123 @@ namespace Aaru.Archives { } } + /// + /// Looks up a localized string similar to UID 0x{0:X8}. + /// + internal static string SIS_Platform_UID_0 { + get { + return ResourceManager.GetString("SIS_Platform_UID_0", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nokia Belle. + /// + internal static string SIS_Platform_UID_Nokia_Belle { + get { + return ResourceManager.GetString("SIS_Platform_UID_Nokia_Belle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 1st Edition. + /// + internal static string SIS_Platform_UID_Series_60_1st_Edition { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_1st_Edition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 1st Edition, Feature Pack 1. + /// + internal static string SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 2nd Edition. + /// + internal static string SIS_Platform_UID_Series_60_2nd_Edition { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 1. + /// + internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 2. + /// + internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 2nd Edition, Feature Pack 3. + /// + internal static string SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 3rd Edition. + /// + internal static string SIS_Platform_UID_Series_60_3rd_Edition { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 3rd Edition, Feature Pack 1. + /// + internal static string SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 3rd Edition, Feature Pack 2. + /// + internal static string SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Series 60 5th Edition. + /// + internal static string SIS_Platform_UID_Series_60_5th_Edition { + get { + return ResourceManager.GetString("SIS_Platform_UID_Series_60_5th_Edition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Symbian^3. + /// + internal static string SIS_Platform_UID_Symbian_3 { + get { + return ResourceManager.GetString("SIS_Platform_UID_Symbian_3", resourceCulture); + } + } + /// /// Looks up a localized string similar to SymbianOS 3 or later. /// diff --git a/Aaru.Archives/Localization/Localization.es.resx b/Aaru.Archives/Localization/Localization.es.resx index a36a71a97..fbe71e9f1 100644 --- a/Aaru.Archives/Localization/Localization.es.resx +++ b/Aaru.Archives/Localization/Localization.es.resx @@ -70,7 +70,7 @@ Ficheros para todos los idiomas: - Requerida UID {0} versión {1}.{2} + Requerida {0} versión {1}.{2} Variante requerida: {0} @@ -81,4 +81,43 @@ Requisito para el idioma {0}: {1} + + Nokia Belle + + + Series 60 1ª Edición + + + Series 60 1ª Edición, Feature Pack 1 + + + Series 60 2ª Edición + + + Series 60 2ª Edición, Feature Pack 1 + + + Series 60 2ª Edición, Feature Pack 2 + + + Series 60 2ª Edición, Feature Pack 3 + + + Series 60 3ª Edición + + + Series 60 3ª Edición, Feature Pack 1 + + + Series 60 3ª Edición, Feature Pack 2 + + + Series 60 5ª Edición + + + Symbian^3 + + + UID 0x{0:X8} + \ No newline at end of file diff --git a/Aaru.Archives/Localization/Localization.resx b/Aaru.Archives/Localization/Localization.resx index 16b1a9047..618ac5c98 100644 --- a/Aaru.Archives/Localization/Localization.resx +++ b/Aaru.Archives/Localization/Localization.resx @@ -81,7 +81,7 @@ Requisite #{0}: - Required UID {0} version {1}.{2} + Required {0} version {1}.{2} Required variant: {0} @@ -89,4 +89,43 @@ Requisite for language {0}: {1} + + Series 60 1st Edition + + + Series 60 1st Edition, Feature Pack 1 + + + Series 60 2nd Edition + + + Series 60 2nd Edition, Feature Pack 1 + + + Series 60 2nd Edition, Feature Pack 2 + + + Series 60 2nd Edition, Feature Pack 3 + + + Series 60 3rd Edition + + + Series 60 3rd Edition, Feature Pack 1 + + + Series 60 3rd Edition, Feature Pack 2 + + + Series 60 5th Edition + + + Symbian^3 + + + Nokia Belle + + + UID 0x{0:X8} + \ No newline at end of file diff --git a/Aaru.Archives/Symbian/Info.cs b/Aaru.Archives/Symbian/Info.cs index 8ca280df5..ee7803dc2 100644 --- a/Aaru.Archives/Symbian/Info.cs +++ b/Aaru.Archives/Symbian/Info.cs @@ -259,8 +259,9 @@ public sealed partial class Symbian requisiteRecord.namesPointers = MemoryMarshal.Cast(span)[..languages.Count].ToArray(); description.AppendFormat(Localization.Requisite_0, r).AppendLine(); - description.AppendFormat("\t" + Localization.Required_UID_0_version_1_2, requisiteRecord.uid, - requisiteRecord.majorVersion, requisiteRecord.minorVersion). + description.AppendFormat("\t" + Localization.Required_UID_0_version_1_2, + DecodePlatformUid(requisiteRecord.uid), requisiteRecord.majorVersion, + requisiteRecord.minorVersion). AppendLine(); description.AppendFormat("\t" + Localization.Required_variant_0, requisiteRecord.variant).AppendLine(); diff --git a/Aaru.Archives/Symbian/UID.cs b/Aaru.Archives/Symbian/UID.cs new file mode 100644 index 000000000..1be8d31e2 --- /dev/null +++ b/Aaru.Archives/Symbian/UID.cs @@ -0,0 +1,54 @@ +// /*************************************************************************** +// Aaru Data Preservation Suite +// ---------------------------------------------------------------------------- +// +// Filename : Symbian.cs +// Author(s) : Natalia Portillo +// +// Component : Symbian plugin. +// +// --[ Description ] ---------------------------------------------------------- +// +// Identifies Symbian installer (.sis) packages and shows information. +// +// --[ License ] -------------------------------------------------------------- +// +// This library is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2011-2023 Natalia Portillo +// ****************************************************************************/ + +namespace Aaru.Archives; + +public sealed partial class Symbian +{ + static string DecodePlatformUid(uint uid) => + uid switch + { + 0x101F6F88 => Localization.SIS_Platform_UID_Series_60_1st_Edition, + 0x101F8202 => Localization.SIS_Platform_UID_Series_60_1st_Edition_Feature_Pack_1, + 0x101F7960 => Localization.SIS_Platform_UID_Series_60_2nd_Edition, + 0x101F9115 => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_1, + 0x10200BAB => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_2, + 0x102032BD => Localization.SIS_Platform_UID_Series_60_2nd_Edition_Feature_Pack_3, + 0x101F7961 => Localization.SIS_Platform_UID_Series_60_3rd_Edition, + 0x102032BE => Localization.SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_1, + 0x102752AE => Localization.SIS_Platform_UID_Series_60_3rd_Edition_Feature_Pack_2, + 0x1028315F => Localization.SIS_Platform_UID_Series_60_5th_Edition, + 0x20022E6D => Localization.SIS_Platform_UID_Symbian_3, + 0x2003A678 => Localization.SIS_Platform_UID_Nokia_Belle, + _ => string.Format(Localization.SIS_Platform_UID_0, uid) + }; +} \ No newline at end of file