Adding multi-language support 05/302205/2 accepted/tizen/unified/20231205.024717
authortarunkumarmahay1999 <tarun.mahay@samsung.com>
Mon, 4 Dec 2023 05:30:07 +0000 (11:00 +0530)
committertarunkumarmahay1999 <tarun.mahay@samsung.com>
Mon, 4 Dec 2023 05:46:03 +0000 (11:16 +0530)
Change-Id: Ic07bc4baf1654edc73b5189dfc4c391f01b4cbbf
Signed-off-by: tarunkumarmahay1999 <tarun.mahay@samsung.com>
15 files changed:
SettingWallpaper/SettingWallpaper/Common/AppCommon.cs
SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.Designer.cs [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.en-US.resx [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.ko-KR.resx [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.resx [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/SettingWallpaper.csproj
SettingWallpaper/SettingWallpaper/Views/CustomAlbumTitle.cs
SettingWallpaper/SettingWallpaper/Views/MainPage.cs
SettingWallpaper/SettingWallpaper/Views/NoAlbumsView.cs
SettingWallpaper/SettingWallpaper/Views/WallpaperView.cs
SettingWallpaper/SettingWallpaper/res/allowed/SettingWallpaper/themes/light.xaml
SettingWallpaper/SettingWallpaper/res/allowed/en-US/SettingWallpaper.resources.dll [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/res/allowed/ko-KR/SettingWallpaper.resources.dll [new file with mode: 0644]
SettingWallpaper/SettingWallpaper/tizen-manifest.xml
packaging/org.tizen.cssetting-wallpaper-1.0.0.rpk

index f1c9f0dd78d25603677632e45129c9313b1540c2..54138f88d8abe261e2525d42d38375d29220f935 100644 (file)
@@ -62,7 +62,7 @@ namespace SettingWallpaper.Common
         public static int wallpaperListViewIconWidth = 130.SpToPx();
         public static int bottomViewPadding = 64.SpToPx();
 
-        public static int noAlbumsLabelWidth = 115.SpToPx();
+        public static int noAlbumsLabelWidth = 175.SpToPx();
         public static int noAlbumsLabelHeight = 32.SpToPx();
 
         public static Extents viewPadding = new Extents(16, 16, 24, 0).SpToPx();
diff --git a/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.Designer.cs b/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.Designer.cs
new file mode 100644 (file)
index 0000000..5274aa0
--- /dev/null
@@ -0,0 +1,99 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace SettingWallpaper.LanguageResources {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    public class LanguageResource {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal LanguageResource() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        public static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SettingWallpaper.LanguageResources.LanguageResource", typeof(LanguageResource).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        public static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Albums.
+        /// </summary>
+        public static string IDS_ALBUMS_TEXT {
+            get {
+                return ResourceManager.GetString("IDS_ALBUMS_TEXT", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No Albums.
+        /// </summary>
+        public static string IDS_NO_ALBUMS_TEXT {
+            get {
+                return ResourceManager.GetString("IDS_NO_ALBUMS_TEXT", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Tap To Preview.
+        /// </summary>
+        public static string IDS_TAP_TO_PREVIEW {
+            get {
+                return ResourceManager.GetString("IDS_TAP_TO_PREVIEW", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Wallpaper.
+        /// </summary>
+        public static string IDS_WALLPAPER {
+            get {
+                return ResourceManager.GetString("IDS_WALLPAPER", resourceCulture);
+            }
+        }
+    }
+}
diff --git a/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.en-US.resx b/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.en-US.resx
new file mode 100644 (file)
index 0000000..0559f49
--- /dev/null
@@ -0,0 +1,132 @@
+<?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>
+  <data name="IDS_ALBUMS_TEXT" xml:space="preserve">
+    <value>Albums</value>
+  </data>
+  <data name="IDS_NO_ALBUMS_TEXT" xml:space="preserve">
+    <value>No Albums</value>
+  </data>
+  <data name="IDS_TAP_TO_PREVIEW" xml:space="preserve">
+    <value>Tap To Preview</value>
+  </data>
+  <data name="IDS_WALLPAPER" xml:space="preserve">
+    <value>Wallpaper</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.ko-KR.resx b/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.ko-KR.resx
new file mode 100644 (file)
index 0000000..a16fb29
--- /dev/null
@@ -0,0 +1,132 @@
+<?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>
+  <data name="IDS_ALBUMS_TEXT" xml:space="preserve">
+    <value>앨범</value>
+  </data>
+  <data name="IDS_NO_ALBUMS_TEXT" xml:space="preserve">
+    <value>앨범이 없습니다</value>
+  </data>
+  <data name="IDS_TAP_TO_PREVIEW" xml:space="preserve">
+    <value>탭하여 미리보기</value>
+  </data>
+  <data name="IDS_WALLPAPER" xml:space="preserve">
+    <value>벽지</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.resx b/SettingWallpaper/SettingWallpaper/LanguageResources/LanguageResource.resx
new file mode 100644 (file)
index 0000000..0559f49
--- /dev/null
@@ -0,0 +1,132 @@
+<?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>
+  <data name="IDS_ALBUMS_TEXT" xml:space="preserve">
+    <value>Albums</value>
+  </data>
+  <data name="IDS_NO_ALBUMS_TEXT" xml:space="preserve">
+    <value>No Albums</value>
+  </data>
+  <data name="IDS_TAP_TO_PREVIEW" xml:space="preserve">
+    <value>Tap To Preview</value>
+  </data>
+  <data name="IDS_WALLPAPER" xml:space="preserve">
+    <value>Wallpaper</value>
+  </data>
+</root>
\ No newline at end of file
index ac89d2f1b23f5a4cb3a41dafc3ae195f4079d744..079af18da3d4ad47f8077de07b6d358581d83403 100644 (file)
@@ -12,7 +12,7 @@
         <DebugType>None</DebugType>
     </PropertyGroup>
     <ItemGroup>
-        <PackageReference Include="Tizen.NET" Version="11.0.0.17848" />
+        <PackageReference Include="Tizen.NET" Version="11.0.0.17918" />
         <PackageReference Include="SettingCore" Version="1.0.328" />
     </ItemGroup>
 
         <Folder Include="ViewModels\" />
     </ItemGroup>
 
+    <ItemGroup>
+      <Compile Update="LanguageResources\LanguageResource.Designer.cs">
+        <DesignTime>True</DesignTime>
+        <AutoGen>True</AutoGen>
+        <DependentUpon>LanguageResource.resx</DependentUpon>
+      </Compile>
+    </ItemGroup>
+
+    <ItemGroup>
+      <EmbeddedResource Update="LanguageResources\LanguageResource.en-US.resx">
+        <Generator>PublicResXFileCodeGenerator</Generator>
+      </EmbeddedResource>
+      <EmbeddedResource Update="LanguageResources\LanguageResource.ko-KR.resx">
+        <Generator>PublicResXFileCodeGenerator</Generator>
+      </EmbeddedResource>
+      <EmbeddedResource Update="LanguageResources\LanguageResource.resx">
+        <Generator>PublicResXFileCodeGenerator</Generator>
+        <LastGenOutput>LanguageResource.Designer.cs</LastGenOutput>
+      </EmbeddedResource>
+    </ItemGroup>
+
+    <Target Name="PostBuild" AfterTargets="PostBuildEvent">
+        <Exec Command=":: Copy resource dll&#xD;&#xA;rmdir /S /Q res\allowed\locale&#xD;&#xA;mkdir res\allowed\locale&#xD;&#xA;dir $(OutDir)\&#xD;&#xA;xcopy /S /K /D /H /Y $(OutDir)\ res\allowed\locale&#xD;&#xA;del /q res\allowed\locale\*.*&#xD;&#xA;xcopy /S /K /D /H /Y res\allowed\locale\* res\allowed&#xD;&#xA;rmdir /S /Q res\allowed\locale&#xD;&#xA;" />
+    </Target>
 </Project>
index 5d531fbee7141830e9ed96ee30e1048731f45b57..f8674a9841270bca2e55a6465bbf12ae9a52c070 100644 (file)
@@ -18,6 +18,7 @@ using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using Tizen.NUI.Components;
 using SettingWallpaper.Common;
+using SettingWallpaper.LanguageResources;
 
 namespace SettingWallpaper.Views
 {
@@ -38,7 +39,7 @@ namespace SettingWallpaper.Views
             albumTitle = new TextLabel()
             {
                 StyleName = "ItemText",
-                Text = "Albums",
+                Text = LanguageResource.IDS_ALBUMS_TEXT,
                 PixelSize = 24.SpToPx(),
                 HeightSpecification = AppCommon.albumTitleHeight,
                 BackgroundColor = Color.Transparent,
index abfd67e904bc74de45743b226aef6a79582a1885..23e27ec0d88f8c7c2280306d072413624dcc1335 100644 (file)
@@ -22,6 +22,7 @@ using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using SettingWallpaper.Common;
 using SettingWallpaper.Core;
+using SettingWallpaper.LanguageResources;
 
 namespace SettingWallpaper
 {
@@ -29,11 +30,12 @@ namespace SettingWallpaper
     {
         private ViewManager viewManager;
 
+        public static NUIGadgetResourceManager gadgetResourceManager;
         public override Color ProvideIconColor() => new Color(ThemeManager.PlatformThemeId == "org.tizen.default-light-theme" ? "#0075FF" : "#1A85FF");
 
         public override string ProvideIconPath() => GetResourcePath("wallpaper-icon.svg");
 
-        public override string ProvideTitle() => "Wallpaper";
+        public override string ProvideTitle() => NUIGadgetResourceManager.GetString(nameof(LanguageResource.IDS_WALLPAPER));
 
         public MainPage() : base(NUIGadgetType.Normal)
         {
@@ -44,6 +46,7 @@ namespace SettingWallpaper
         {
             Tizen.Log.Info(Resources.LogTag, "OnCreate");
             base.OnCreate();
+            gadgetResourceManager = NUIGadgetResourceManager;
             Window.Instance.Resized += OnWindowResized;
             View mainView = new View()
             {
index 0098f8ece34d99ea4c0f218397562713a21216b5..7c83d5db37dba443805b4956f0db8bb4bb899737 100644 (file)
@@ -17,6 +17,7 @@
 using Tizen.NUI;
 using Tizen.NUI.BaseComponents;
 using SettingWallpaper.Common;
+using SettingWallpaper.LanguageResources;
 
 namespace SettingWallpaper.Views
 {
@@ -39,7 +40,7 @@ namespace SettingWallpaper.Views
             albumTitle = new TextLabel()
             {
                 StyleName = "ItemText",
-                Text = "Albums",
+                Text = MainPage.gadgetResourceManager.GetString(nameof(LanguageResource.IDS_ALBUMS_TEXT)),
                 PixelSize = 24.SpToPx(),
                 HeightSpecification = AppCommon.albumTitleHeight,
                 BackgroundColor = Color.Transparent,
@@ -51,7 +52,7 @@ namespace SettingWallpaper.Views
             noAlbums = new TextLabel()
             {
                 StyleName = "ItemText",
-                Text = "No albums",
+                Text = MainPage.gadgetResourceManager.GetString(nameof(LanguageResource.IDS_NO_ALBUMS_TEXT)),
                 PixelSize = 24.SpToPx(),
                 HorizontalAlignment = HorizontalAlignment.Center,
                 WidthSpecification = AppCommon.noAlbumsLabelWidth,
index 03446d6f5ce05fec3daa31c733deebca03a21521..a0708ed018f5d606b959505aacbb0601578307b3 100644 (file)
@@ -22,6 +22,7 @@ using Tizen.NUI.Binding;
 using Tizen.NUI.Components;
 using Tizen.System;
 using SettingWallpaper.Common;
+using SettingWallpaper.LanguageResources;
 using SettingCore;
 using System.Text;
 
@@ -92,7 +93,7 @@ namespace SettingWallpaper.Views
                 HeightSpecification = AppCommon.centerTextHeight,
                 HorizontalAlignment = HorizontalAlignment.Center,
                 VerticalAlignment = VerticalAlignment.Center,
-                Text = "Tap To Preview",
+                Text = MainPage.gadgetResourceManager.GetString(nameof(LanguageResource.IDS_TAP_TO_PREVIEW)),
                 TextColor = Color.White,
                 PixelSize = AppCommon.centerTextPixelSize,
                 FontFamily = "BreezeSans",
index d3e5787c691fe71f8380cd0522ca635a4c726a4e..bdcd0411c2d6385f2f4ef718cc6693a3404d4d47 100644 (file)
@@ -13,7 +13,7 @@ Id="LightTheme">
         </c:DefaultTitleItemStyle.Label>
     </c:DefaultTitleItemStyle>
 
-    <TextLabelStyle x:Key="ItemText" TextColor="#090E21" FontFamily="BreezeSans"  VerticalAlignment="Center" ThemeChangeSensitive="True"/>
+    <TextLabelStyle x:Key="ItemText" TextColor="#090E21" FontFamily="BreezeSans" VerticalAlignment="Center" ThemeChangeSensitive="True"/>
 
     <ImageViewStyle x:Key="BackIcon" Size="48sp, 48sp">
         <ImageViewStyle.ResourceUrl>
diff --git a/SettingWallpaper/SettingWallpaper/res/allowed/en-US/SettingWallpaper.resources.dll b/SettingWallpaper/SettingWallpaper/res/allowed/en-US/SettingWallpaper.resources.dll
new file mode 100644 (file)
index 0000000..c13c5cf
Binary files /dev/null and b/SettingWallpaper/SettingWallpaper/res/allowed/en-US/SettingWallpaper.resources.dll differ
diff --git a/SettingWallpaper/SettingWallpaper/res/allowed/ko-KR/SettingWallpaper.resources.dll b/SettingWallpaper/SettingWallpaper/res/allowed/ko-KR/SettingWallpaper.resources.dll
new file mode 100644 (file)
index 0000000..f868b88
Binary files /dev/null and b/SettingWallpaper/SettingWallpaper/res/allowed/ko-KR/SettingWallpaper.resources.dll differ
index df0d18e2cb11dff502b0a26996e79d51c2da7592..b924ec511d2e58158be6a69fc6c36c32bdd81691 100644 (file)
@@ -10,5 +10,7 @@
     <metadata key="http://tizen.org/metadata/ui-gadget/dll" value="SettingWallpaper.dll" />
        <metadata key="http://tizen.org/metadata/ui-gadget/menu/Wallpaper/icon-path" value="wallpaper-icon.svg"/>
        <metadata key="http://tizen.org/metadata/ui-gadget/menu/Wallpaper/icon-color" value="#0075FF,#1A85FF"/>
-       <metadata key="http://tizen.org/metadata/ui-gadget/menu/Wallpaper/title" value="Wallpaper"/>
+       <metadata key="http://tizen.org/metadata/ui-gadget/menu/Wallpaper/title" value="IDS_WALLPAPER"/>
+    <metadata key="http://tizen.org/metadata/ui-gadget/resource/dll" value="SettingWallpaper.resources.dll"/>
+    <metadata key="http://tizen.org/metadata/ui-gadget/resource/class-name" value="SettingWallpaper.LanguageResources.LanguageResource"/>
 </manifest>
\ No newline at end of file
index 77232ee96995638bc2f3146987057a9538eabf68..b1c7ba55a3f4b6a36c91685a111e7bc1e2e907de 100644 (file)
Binary files a/packaging/org.tizen.cssetting-wallpaper-1.0.0.rpk and b/packaging/org.tizen.cssetting-wallpaper-1.0.0.rpk differ