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