1.Fixed Tabview and added Korean acc. to context. 08/306608/4
authorAkshat Airan/Core S/W Group /SRI-Delhi/Engineer/Samsung Electronics <akshat.airan@samsung.com>
Fri, 23 Feb 2024 05:50:48 +0000 (11:20 +0530)
committerAkshat Airan/Core S/W Group /SRI-Delhi/Engineer/Samsung Electronics <akshat.airan@samsung.com>
Fri, 23 Feb 2024 10:26:58 +0000 (15:56 +0530)
2.Added koreanLanguage Translation in Headings of each view.

Change-Id: I2dfbe9e1accf35a9f7aa9766c1905e99555ae2ef

21 files changed:
music-player/TextResources/Resources.Designer.cs
music-player/TextResources/Resources.en-US.resx
music-player/TextResources/Resources.ko-KR.resx
music-player/TextResources/Resources.resx
music-player/ViewModels/AlbumViewModel.cs
music-player/ViewModels/ArtistViewModel.cs
music-player/ViewModels/PlaylistDetailViewModel.cs
music-player/ViewModels/PlaylistViewModel.cs
music-player/ViewModels/TrackViewModel.cs
music-player/Views/AlbumView.cs
music-player/Views/ArtistView.cs
music-player/Views/BaseSubContentView.cs
music-player/Views/ListItemLayout.cs
music-player/Views/PlaylistDetailView.cs
music-player/Views/PlaylistView.cs
music-player/Views/SelectorView.cs
music-player/Views/TrackView.cs
music-player/Views/ViewManager.cs
music-player/res/themes/dark.xaml
music-player/res/themes/light.xaml
packaging/org.tizen.MusicPlayer-1.0.0.tpk

index bf05458981fe77c16e488f1a84fe72e8541e4c4f..02ca3ec3519f587361554ce90fd90d216f54be66 100644 (file)
@@ -88,7 +88,16 @@ namespace MusicPlayer.TextResources {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to  Albums.
+        ///   Looks up a localized string similar to Album.
+        /// </summary>
+        internal static string IDS_ALBUM {
+            get {
+                return ResourceManager.GetString("IDS_ALBUM", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Albums.
         /// </summary>
         internal static string IDS_ALBUMS {
             get {
@@ -97,7 +106,16 @@ namespace MusicPlayer.TextResources {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to  Artists.
+        ///   Looks up a localized string similar to Artist.
+        /// </summary>
+        internal static string IDS_ARTIST {
+            get {
+                return ResourceManager.GetString("IDS_ARTIST", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Artists.
         /// </summary>
         internal static string IDS_ARTISTS {
             get {
@@ -132,6 +150,15 @@ namespace MusicPlayer.TextResources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to + Create new playlist.
+        /// </summary>
+        internal static string IDS_CREATE_NEW_PLAYLIST {
+            get {
+                return ResourceManager.GetString("IDS_CREATE_NEW_PLAYLIST", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Create playlist.
         /// </summary>
@@ -159,6 +186,15 @@ namespace MusicPlayer.TextResources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Done.
+        /// </summary>
+        internal static string IDS_DONE {
+            get {
+                return ResourceManager.GetString("IDS_DONE", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Enter Playlist Name.
         /// </summary>
@@ -213,6 +249,15 @@ namespace MusicPlayer.TextResources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Playlist.
+        /// </summary>
+        internal static string IDS_PLAYLIST {
+            get {
+                return ResourceManager.GetString("IDS_PLAYLIST", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Playlist name already in use..
         /// </summary>
@@ -223,7 +268,7 @@ namespace MusicPlayer.TextResources {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to  Playlists.
+        ///   Looks up a localized string similar to Playlists.
         /// </summary>
         internal static string IDS_PLAYLISTS {
             get {
@@ -286,7 +331,16 @@ namespace MusicPlayer.TextResources {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to  Tracks.
+        ///   Looks up a localized string similar to Track.
+        /// </summary>
+        internal static string IDS_TRACK {
+            get {
+                return ResourceManager.GetString("IDS_TRACK", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Tracks.
         /// </summary>
         internal static string IDS_TRACKS {
             get {
index 78249e7a340a0f1920b34d66a191ddf825d105c1..d74bb60ffd0b9d1b623eac0ca99b9b95bf624949 100644 (file)
   <data name="IDS_ADD_TO_PLAYLIST" xml:space="preserve">
     <value>Add to playlist</value>
   </data>
+  <data name="IDS_ALBUM" xml:space="preserve">
+    <value>Album</value>
+  </data>
   <data name="IDS_ALBUMS" xml:space="preserve">
-    <value> Albums</value>
+    <value>Albums</value>
+  </data>
+  <data name="IDS_ARTIST" xml:space="preserve">
+    <value>Artist</value>
   </data>
   <data name="IDS_ARTISTS" xml:space="preserve">
-    <value> Artists</value>
+    <value>Artists</value>
   </data>
   <data name="IDS_CANCEL" xml:space="preserve">
     <value>Cancel</value>
   <data name="IDS_CREATE" xml:space="preserve">
     <value>Create</value>
   </data>
+  <data name="IDS_CREATE_NEW_PLAYLIST" xml:space="preserve">
+    <value>+ Create new playlist</value>
+  </data>
   <data name="IDS_CREATE_PLAYLIST" xml:space="preserve">
     <value>Create playlist</value>
   </data>
   <data name="IDS_DETAILS" xml:space="preserve">
     <value>Details</value>
   </data>
+  <data name="IDS_DONE" xml:space="preserve">
+    <value>Done</value>
+  </data>
   <data name="IDS_ENTER_PLAYLIST_NAME" xml:space="preserve">
     <value>Enter Playlist Name</value>
   </data>
   <data name="IDS_OK" xml:space="preserve">
     <value>Ok</value>
   </data>
+  <data name="IDS_PLAYLIST" xml:space="preserve">
+    <value>Playlist</value>
+  </data>
   <data name="IDS_PLAYLISTS" xml:space="preserve">
-    <value> Playlists</value>
+    <value>Playlists</value>
   </data>
   <data name="IDS_PLAYLIST_NAME_USED" xml:space="preserve">
     <value>Playlist name already in use.</value>
   <data name="IDS_THIS_TRACK_WILL_BE_DELETED" xml:space="preserve">
     <value>This track will be deleted</value>
   </data>
+  <data name="IDS_TRACK" xml:space="preserve">
+    <value>Track</value>
+  </data>
   <data name="IDS_TRACKS" xml:space="preserve">
-    <value> Tracks</value>
+    <value>Tracks</value>
   </data>
   <data name="IDS_TYPE_HERE" xml:space="preserve">
     <value>Type Here</value>
index 9c281688af705113c8308e63d4daa7ce0c81c1da..71dc6699b96c10c43f54d5f7a7b3f058e4c220de 100644 (file)
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <data name="IDS_ADD" xml:space="preserve">
-    <value>하다</value>
+    <value>추가하다</value>
   </data>
   <data name="IDS_ADD_PLAYLIST_NAME" xml:space="preserve">
-    <value>재생 목록 이름 추가</value>
+    <value>플레이리스트 이름 추가</value>
   </data>
   <data name="IDS_ADD_TO_PLAYLIST" xml:space="preserve">
-    <value>재생 목록에 추가</value>
+    <value>플레이리스트에 추가</value>
+  </data>
+  <data name="IDS_ALBUM" xml:space="preserve">
+    <value>앨범</value>
   </data>
   <data name="IDS_ALBUMS" xml:space="preserve">
-    <value> 앨범</value>
+    <value>앨범</value>
+  </data>
+  <data name="IDS_ARTIST" xml:space="preserve">
+    <value>가수</value>
   </data>
   <data name="IDS_ARTISTS" xml:space="preserve">
-    <value> 예술가</value>
+    <value>가수</value>
   </data>
   <data name="IDS_CANCEL" xml:space="preserve">
     <value>취소</value>
   </data>
   <data name="IDS_CANT_ENTER_MORE_CHAR" xml:space="preserve">
-    <value>64자를 초과하여 입력할 수 없습니다.</value>
+    <value>64자 이상의 글자를 입력할 수 없습니다</value>
   </data>
   <data name="IDS_CREATE" xml:space="preserve">
-    <value>창조하다</value>
+    <value>생성</value>
+  </data>
+  <data name="IDS_CREATE_NEW_PLAYLIST" xml:space="preserve">
+    <value>+ 새로운 플레이리스트 생성</value>
   </data>
   <data name="IDS_CREATE_PLAYLIST" xml:space="preserve">
-    <value>재생 목록 만들기</value>
+    <value>플레이리스트 생성</value>
   </data>
   <data name="IDS_DELETE" xml:space="preserve">
-    <value>삭제하다</value>
+    <value>삭제</value>
   </data>
   <data name="IDS_DETAILS" xml:space="preserve">
     <value>세부 정보</value>
   </data>
+  <data name="IDS_DONE" xml:space="preserve">
+    <value>완료</value>
+  </data>
   <data name="IDS_ENTER_PLAYLIST_NAME" xml:space="preserve">
     <value>재생 목록 이름 입력</value>
   </data>
     <value>음악</value>
   </data>
   <data name="IDS_NO_ITEMS_IN_FOLDER" xml:space="preserve">
-    <value>폴더에 항목이 없습니다.</value>
+    <value>폴더에 아이템 없음</value>
   </data>
   <data name="IDS_NO_PLAYLIST_AVAIL" xml:space="preserve">
     <value>사용 가능한 재생 목록이 없습니다</value>
     <value>결과를 찾을 수 없습니다.</value>
   </data>
   <data name="IDS_OK" xml:space="preserve">
-    <value>그래</value>
+    <value>좋아요</value>
+  </data>
+  <data name="IDS_PLAYLIST" xml:space="preserve">
+    <value>플레이리스트</value>
   </data>
   <data name="IDS_PLAYLISTS" xml:space="preserve">
-    <value> 재생 목록</value>
+    <value>플레이리스트</value>
   </data>
   <data name="IDS_PLAYLIST_NAME_USED" xml:space="preserve">
     <value>이미 사용 중인 재생 목록 이름입니다.</value>
     <value>음악 검색</value>
   </data>
   <data name="IDS_SELECT_ALL" xml:space="preserve">
-    <value>모두 선택</value>
+    <value>전체 선택</value>
   </data>
   <data name="IDS_SHARE" xml:space="preserve">
     <value>공유</value>
   </data>
   <data name="IDS_THIS_TRACK_WILL_BE_DELETED" xml:space="preserve">
-    <value>이 트랙은 삭제됩니다.</value>
+    <value>해당 트랙은 삭제됩니다</value>
+  </data>
+  <data name="IDS_TRACK" xml:space="preserve">
+    <value>트랙</value>
   </data>
   <data name="IDS_TRACKS" xml:space="preserve">
-    <value> 트랙</value>
+    <value>트랙</value>
   </data>
   <data name="IDS_TYPE_HERE" xml:space="preserve">
-    <value>여기에 입력하십시오</value>
+    <value>여기에 입력</value>
   </data>
 </root>
\ No newline at end of file
index 326b1bbddc305e3ab236eaec50c747c947548d8d..53f1f57e8577bdf9375518e60e58f0eba7ef626e 100644 (file)
   <data name="IDS_ADD_TO_PLAYLIST" xml:space="preserve">
     <value>Add to playlist</value>
   </data>
+  <data name="IDS_ALBUM" xml:space="preserve">
+    <value>Album</value>
+  </data>
   <data name="IDS_ALBUMS" xml:space="preserve">
-    <value> Albums</value>
+    <value>Albums</value>
+  </data>
+  <data name="IDS_ARTIST" xml:space="preserve">
+    <value>Artist</value>
   </data>
   <data name="IDS_ARTISTS" xml:space="preserve">
-    <value> Artists</value>
+    <value>Artists</value>
   </data>
   <data name="IDS_CANCEL" xml:space="preserve">
     <value>Cancel</value>
   <data name="IDS_CREATE" xml:space="preserve">
     <value>Create</value>
   </data>
+  <data name="IDS_CREATE_NEW_PLAYLIST" xml:space="preserve">
+    <value>+ Create new playlist</value>
+  </data>
   <data name="IDS_CREATE_PLAYLIST" xml:space="preserve">
     <value>Create playlist</value>
   </data>
   <data name="IDS_DETAILS" xml:space="preserve">
     <value>Details</value>
   </data>
+  <data name="IDS_DONE" xml:space="preserve">
+    <value>Done</value>
+  </data>
   <data name="IDS_ENTER_PLAYLIST_NAME" xml:space="preserve">
     <value>Enter Playlist Name</value>
   </data>
   <data name="IDS_OK" xml:space="preserve">
     <value>Ok</value>
   </data>
+  <data name="IDS_PLAYLIST" xml:space="preserve">
+    <value>Playlist</value>
+  </data>
   <data name="IDS_PLAYLISTS" xml:space="preserve">
-    <value> Playlists</value>
+    <value>Playlists</value>
   </data>
   <data name="IDS_PLAYLIST_NAME_USED" xml:space="preserve">
     <value>Playlist name already in use.</value>
   <data name="IDS_THIS_TRACK_WILL_BE_DELETED" xml:space="preserve">
     <value>This Track will be Deleted</value>
   </data>
+  <data name="IDS_TRACK" xml:space="preserve">
+    <value>Track</value>
+  </data>
   <data name="IDS_TRACKS" xml:space="preserve">
-    <value> Tracks</value>
+    <value>Tracks</value>
   </data>
   <data name="IDS_TYPE_HERE" xml:space="preserve">
     <value>Type Here</value>
index 8c595a2f4f0ec6d2a3e3d0518fec5f7b00152d41..304e5b82947126fe6c5ccfc109462f13af93f81f 100755 (executable)
@@ -31,11 +31,19 @@ namespace MusicPlayer.ViewModels
             get => albumCount;\r
             set\r
             {\r
-                string text = string.Equals(value, "1") ? " album" : " albums";\r
-                SetProperty(ref albumCount, value + text);\r
+                string text = string.Equals(value, "1") ? " IDS_ALBUM" : "IDS_ALBUM";\r
+                SetProperty(ref albumCount, value);\r
+                SetProperty(ref albumTitle, text);\r
             }\r
         }\r
 \r
+        private string albumTitle;\r
+\r
+        public string AlbumTitle\r
+        {\r
+            get => albumTitle;\r
+        }\r
+\r
         private void CreateAlbumData()\r
         {\r
             listViewModel.Clear();\r
index 58f40bcd32815e0b98155e0124368384f27930e4..20be9a8e7adc16adfc2d623d7f7bb67e1aae39d0 100755 (executable)
@@ -30,11 +30,19 @@ namespace MusicPlayer.ViewModels
             get => artistCount;
             set
             {
-                string text = string.Equals(value, "1") ? " artist" : " artists";
-                SetProperty(ref artistCount, value + text);
+                string text = string.Equals(value, "1") ? "IDS_ARTIST" : "IDS_ARTISTS";
+                SetProperty(ref artistCount, value);
+                SetProperty(ref artistTitle, text);
             }
         }
 
+        private string artistTitle;
+
+        public string ArtistTitle
+        {
+            get => artistTitle;
+        }
+
         private void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
         {
             ArtistCount = listViewModel.Count.ToString();
index 36c308277cb18d9a612929184e00ed02b72bb117..a8bad4b9f99817e844c4e6ad5a9de81a529aa596 100755 (executable)
@@ -68,11 +68,19 @@ namespace MusicPlayer.ViewModels
             get => playlistTrackCount;
             set
             {
-                string count = string.Equals(value, "1") ? value + " Track" : value + " Tracks";
-                SetProperty(ref playlistTrackCount, count);
+                string text = string.Equals(value, "1") ? "IDS_TRACK" : "IDS_TRACKS";
+                SetProperty(ref playlistTrackCount, value);
+                SetProperty(ref playlistTrackTitle, text);
             }
         }
 
+        private string playlistTrackTitle;
+
+        public string PlaylistTrackTitle
+        {
+            get => playlistTrackTitle;
+        }
+
         private bool isDefaultPlaylist;
 
         public bool IsDefaultPlaylist
index b6c7a9ece38e517e4bb3c707f5c004c1805c947c..c7c9c81fd8085c45a01acb9fedf6da99cdf104e7 100755 (executable)
@@ -52,11 +52,19 @@ namespace MusicPlayer.ViewModels
             get => playlistCount;
             set
             {
-                string text = string.Equals(value, "1") ? " playlist" : " playlists";
-                SetProperty(ref playlistCount, value + text);
+                string text = string.Equals(value, "1") ? "IDS_PLAYLIST" : "IDS_PLAYLISTS";
+                SetProperty(ref playlistCount, value);
+                SetProperty(ref playlistTitle, text);
             }
         }
 
+        private string playlistTitle;
+
+        public string PlaylistTitle
+        {
+            get => playlistTitle;
+        }
+
         private bool canCreatePlaylist;
 
         public bool CanCreatePlaylist
index 24690378735257e96b1a6bb090cb1b45a82e63d0..7d8bc770626f71bdd00f48c65fc8478f8a2a36d7 100755 (executable)
@@ -56,11 +56,19 @@ namespace MusicPlayer.ViewModels
             get => trackCount;\r
             set\r
             {\r
-                string text = string.Equals(value, "1") ? " track" : " tracks";\r
-                SetProperty(ref trackCount, value + text);\r
+                string text = string.Equals(value, "1") ? "IDS_TRACK" : "IDS_TRACKS";\r
+                SetProperty(ref trackCount, value);\r
+                SetProperty(ref trackTitle, text);\r
             }\r
         }\r
 \r
+        private string trackTitle;\r
+\r
+        public string TrackTitle\r
+        {\r
+            get => trackTitle;\r
+        }\r
+\r
         public Track PlayingTrack { get; set; }\r
 \r
         public void OnTrackSelected(object selectedItem)\r
index bee0dd605e9b2d663ae389f765375644ffa6b875..36ac09b05319f34004cbfe7da4c5aece5b519aa9 100755 (executable)
@@ -13,6 +13,7 @@ namespace MusicPlayer.Views
     {\r
         private readonly AlbumViewModel viewModel;\r
         private TextLabel albumCountLabel;\r
+        private TextLabel albumTitleLabel;\r
         private bool isTrackListEmpty;\r
 \r
         public AlbumView(AlbumViewModel viewModel) : base()\r
@@ -38,19 +39,32 @@ namespace MusicPlayer.Views
                 StyleName = "LabelText",\r
                 ThemeChangeSensitive = true,\r
                 PixelSize = 28.SpToPx(),\r
-                Text = "ALBUM COUNT",\r
                 HorizontalAlignment = HorizontalAlignment.Begin,\r
                 VerticalAlignment = VerticalAlignment.Center,\r
                 FontFamily = "BreezeSans",\r
-                FontStyle = UIFontStyles.AllNormal\r
+                FontStyle = UIFontStyles.AllNormal,\r
+                Margin = new Extents(0, 4, 0, 0).SpToPx(),\r
             };\r
             titleView.Add(albumCountLabel);\r
             albumCountLabel.BindingContext = viewModel;\r
             albumCountLabel.SetBinding(TextLabel.TextProperty, "AlbumCount");\r
-            RelativeLayout.SetLeftTarget(albumCountLabel, titleView);\r
-            RelativeLayout.SetLeftRelativeOffset(albumCountLabel, 1.0f);\r
-            RelativeLayout.SetRightRelativeOffset(albumCountLabel, 0.0f);\r
-            RelativeLayout.SetFillHorizontal(albumCountLabel, true);\r
+\r
+            albumTitleLabel = new TextLabel()\r
+            {\r
+                StyleName = "LabelText",\r
+                ThemeChangeSensitive = true,\r
+                PixelSize = 28.SpToPx(),\r
+                HorizontalAlignment = HorizontalAlignment.Begin,\r
+                VerticalAlignment = VerticalAlignment.Center,\r
+                FontFamily = "BreezeSans",\r
+                FontStyle = UIFontStyles.AllNormal,\r
+                Margin = new Extents(4, 0, 0, 0).SpToPx(),\r
+            };\r
+            titleView.Add(albumTitleLabel);\r
+            albumTitleLabel.BindingContext = viewModel;\r
+            albumTitleLabel.SetBinding(TextLabel.TranslatableTextProperty, "AlbumTitle");\r
+            RelativeLayout.SetLeftTarget(albumTitleLabel, albumCountLabel);\r
+            RelativeLayout.SetLeftRelativeOffset(albumTitleLabel, 1.0f);\r
 \r
             if (isTrackListEmpty == true)\r
             {\r
index 2b0c1c5469a65a8c6906bce255594f4249b69c0f..54d63c3d6433c6bc8cd9ee617b1acb57c48e2195 100755 (executable)
@@ -13,6 +13,7 @@ namespace MusicPlayer.Views
     {
         private readonly ArtistViewModel viewModel;
         private TextLabel artistCountLabel;
+        private TextLabel artistTitleLabel;
         private bool isTrackListEmpty;
 
         public ArtistView(ArtistViewModel viewModel)
@@ -40,19 +41,32 @@ namespace MusicPlayer.Views
                 StyleName = "LabelText",
                 ThemeChangeSensitive = true,
                 PixelSize = 28.SpToPx(),
-                Text = "ARTIST COUNT",
                 HorizontalAlignment = HorizontalAlignment.Begin,
                 VerticalAlignment = VerticalAlignment.Center,
                 FontFamily = "BreezeSans",
                 FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(0, 4, 0, 0).SpToPx(),
             };
-            artistCountLabel.BindingContext = viewModel;
             titleView.Add(artistCountLabel);
+            artistCountLabel.BindingContext = viewModel;
             artistCountLabel.SetBinding(TextLabel.TextProperty, "ArtistCount");
-            RelativeLayout.SetLeftTarget(artistCountLabel, titleView);
-            RelativeLayout.SetLeftRelativeOffset(artistCountLabel, 1.0f);
-            RelativeLayout.SetRightRelativeOffset(artistCountLabel, 0.0f);
-            RelativeLayout.SetFillHorizontal(artistCountLabel, true);
+
+            artistTitleLabel = new TextLabel()
+            {
+                StyleName = "LabelText",
+                ThemeChangeSensitive = true,
+                PixelSize = 28.SpToPx(),
+                HorizontalAlignment = HorizontalAlignment.Begin,
+                VerticalAlignment = VerticalAlignment.Center,
+                FontFamily = "BreezeSans",
+                FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(4, 0, 0, 0).SpToPx(),
+            };
+            titleView.Add(artistTitleLabel);
+            artistTitleLabel.BindingContext = viewModel;
+            artistTitleLabel.SetBinding(TextLabel.TranslatableTextProperty, "ArtistTitle");
+            RelativeLayout.SetLeftTarget(artistTitleLabel, artistCountLabel);
+            RelativeLayout.SetLeftRelativeOffset(artistTitleLabel, 1.0f);
 
             if (isTrackListEmpty == true)
             {
index 0b409de4face1a2b432b8269382b81da4998dad7..99749ba1a3d16efdb50c30669e844644df69be1b 100755 (executable)
@@ -14,6 +14,7 @@ namespace MusicPlayer.Views
         protected View listContainer;
         protected View topView;
         protected TextLabel countLabel;
+        protected TextLabel countTitleLabel;
         protected Button playAll;
         protected Button playAllWithShuffle;
         protected CollectionView collectionView;
@@ -63,12 +64,24 @@ namespace MusicPlayer.Views
                 VerticalAlignment = VerticalAlignment.Center,
                 FontFamily = "BreezeSans",
                 FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(0, 4, 0, 0).SpToPx(),
             };
             topView.Add(countLabel);
-            RelativeLayout.SetLeftTarget(countLabel, topView);
-            RelativeLayout.SetLeftRelativeOffset(countLabel, 0.0f);
-            RelativeLayout.SetRightRelativeOffset(countLabel, 0.0f);
-            RelativeLayout.SetFillHorizontal(countLabel, true);
+
+            countTitleLabel = new TextLabel()
+            {
+                StyleName = "LabelText",
+                ThemeChangeSensitive = true,
+                PixelSize = 28.SpToPx(),
+                HorizontalAlignment = HorizontalAlignment.Begin,
+                VerticalAlignment = VerticalAlignment.Center,
+                FontFamily = "BreezeSans",
+                FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(4, 0, 0, 0).SpToPx(),
+            };
+            topView.Add(countTitleLabel);
+            RelativeLayout.SetLeftTarget(countTitleLabel, countLabel);
+            RelativeLayout.SetLeftRelativeOffset(countTitleLabel, 1.0f);
 
             playAll = new Button("PlayAll")
             {
index 8ea20407d501016b95877d2eddf47001e1b6cc03..0ca017b9c70a19ab097551a2cf65c393e645a700 100755 (executable)
@@ -50,7 +50,7 @@ namespace MusicPlayer.Views
                 }\r
             }\r
         },\r
-defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);\r
+        defaultValueCreator: (bindable) => ((ListItemLayout)bindable).playingStatus);\r
 \r
         public ListItemLayout(bool animationRequired = false) : base()\r
         {\r
index 4834618578da86634a297c22cf4c621a4686cba3..0ee27e18de13e8eed7bdb98de7eb0a8b29075f6c 100755 (executable)
@@ -32,7 +32,9 @@ namespace MusicPlayer.Views
             });
             collectionView.SelectionChanged += OnTrackSelection;
             countLabel.BindingContext = viewModel;
+            countTitleLabel.BindingContext = viewModel;
             countLabel.SetBinding(TextLabel.TextProperty, "PlaylistTrackCount");
+            countTitleLabel.SetBinding(TextLabel.TranslatableTextProperty, "PlaylistTrackTitle");
             Add(listContainer);
 
             if (isTrackListEmpty == true)
index 2b96dfc528686157695baf2f33e3d1157e5b83e4..7d904d1ef3200271054893bb53e2a02e64076983 100755 (executable)
@@ -16,6 +16,7 @@ namespace MusicPlayer.Views
         private const string DefaultPlaylistName = "My playlist";
 
         private TextLabel playlistCountLabel;
+        private TextLabel playlistTitleLabel;
         private Button playlistCreateButton;
         private readonly PlaylistViewModel viewModel;
 
@@ -38,20 +39,33 @@ namespace MusicPlayer.Views
             {
                 StyleName = "LabelText",
                 ThemeChangeSensitive = true,
-                PixelSize = 24.SpToPx(),
-                Text = "Playlist COUNT",
+                PixelSize = 28.SpToPx(),
                 HorizontalAlignment = HorizontalAlignment.Begin,
                 VerticalAlignment = VerticalAlignment.Center,
                 FontFamily = "BreezeSans",
                 FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(0, 4, 0, 0).SpToPx(),
             };
-            playlistCountLabel.BindingContext = viewModel;
             titleView.Add(playlistCountLabel);
+            playlistCountLabel.BindingContext = viewModel;
             playlistCountLabel.SetBinding(TextLabel.TextProperty, "PlaylistCount");
-            RelativeLayout.SetLeftTarget(playlistCountLabel, titleView);
-            RelativeLayout.SetLeftRelativeOffset(playlistCountLabel, 0.0f);
-            RelativeLayout.SetFillHorizontal(playlistCountLabel, true);
-            RelativeLayout.SetHorizontalAlignment(playlistCountLabel, RelativeLayout.Alignment.Start);
+
+            playlistTitleLabel = new TextLabel()
+            {
+                StyleName = "LabelText",
+                ThemeChangeSensitive = true,
+                PixelSize = 28.SpToPx(),
+                HorizontalAlignment = HorizontalAlignment.Begin,
+                VerticalAlignment = VerticalAlignment.Center,
+                FontFamily = "BreezeSans",
+                FontStyle = UIFontStyles.AllNormal,
+                Margin = new Extents(4, 0, 0, 0).SpToPx(),
+            };
+            titleView.Add(playlistTitleLabel);
+            playlistTitleLabel.BindingContext = viewModel;
+            playlistTitleLabel.SetBinding(TextLabel.TranslatableTextProperty, "PlaylistTitle");
+            RelativeLayout.SetLeftTarget(playlistTitleLabel, playlistCountLabel);
+            RelativeLayout.SetLeftRelativeOffset(playlistTitleLabel, 1.0f);
 
             playlistCreateButton = new Button("PlaylistAdd")
             {
index f6e89b55c678635e5e840b364e819e819c13a63d..ef22bebaeac30ddbfb84e060d86963e03186be49 100755 (executable)
@@ -75,7 +75,7 @@ namespace MusicPlayer.Views
         {
             Button button = new Button("TextButton")
             {
-                Text = url,
+                TranslatableText = url,
                 IsEnabled = false,
             };
             return button;
@@ -118,7 +118,7 @@ namespace MusicPlayer.Views
 
         private void AddButtons()
         {
-            doneButton = CreateButton("Done");
+            doneButton = CreateButton("IDS_DONE");
             doneButton.Margin = new Extents(40, 0, 0, 0).SpToPx();
             topView.Add(doneButton);
             doneButton.Clicked += (object o, ClickedEventArgs args) =>
@@ -131,7 +131,7 @@ namespace MusicPlayer.Views
             RelativeLayout.SetHorizontalAlignment(doneButton, RelativeLayout.Alignment.End);
             RelativeLayout.SetVerticalAlignment(doneButton, RelativeLayout.Alignment.Center);
 
-            cancelButton = CreateButton("Cancel");
+            cancelButton = CreateButton("IDS_CANCEL");
             cancelButton.Margin = new Extents(40, 0, 0, 0).SpToPx();
             cancelButton.IsEnabled = true;
             topView.Add(cancelButton);
index 27b6a5f7a47e6a3eb8060ef95ef6210302891fee..e0efae28c87d301cd2e3426badf530318bee4e74 100755 (executable)
@@ -12,6 +12,7 @@ namespace MusicPlayer.Views
     {\r
         private readonly TrackViewModel viewModel;\r
         private TextLabel trackCountLabel;\r
+        private TextLabel trackTitleLabel;\r
         private Button playAllWithShuffle;\r
         private Button playAll;\r
         private bool isTrackListEmpty;\r
@@ -43,18 +44,32 @@ namespace MusicPlayer.Views
                 StyleName = "LabelText",\r
                 ThemeChangeSensitive = true,\r
                 PixelSize = 28.SpToPx(),\r
-                Text = "TRACK COUNT",\r
                 HorizontalAlignment = HorizontalAlignment.Begin,\r
                 VerticalAlignment = VerticalAlignment.Center,\r
                 FontFamily = "BreezeSans",\r
                 FontStyle = UIFontStyles.AllNormal,\r
+                Margin = new Extents(0, 4, 0, 0).SpToPx(),\r
             };\r
-            trackCountLabel.BindingContext = viewModel;\r
             titleView.Add(trackCountLabel);\r
+            trackCountLabel.BindingContext = viewModel;\r
             trackCountLabel.SetBinding(TextLabel.TextProperty, "TrackCount");\r
-            RelativeLayout.SetLeftTarget(trackCountLabel, titleView);\r
-            RelativeLayout.SetLeftRelativeOffset(trackCountLabel, 0.0f);\r
-            RelativeLayout.SetFillHorizontal(trackCountLabel, true);\r
+\r
+            trackTitleLabel = new TextLabel()\r
+            {\r
+                StyleName = "LabelText",\r
+                ThemeChangeSensitive = true,\r
+                PixelSize = 28.SpToPx(),\r
+                HorizontalAlignment = HorizontalAlignment.Begin,\r
+                VerticalAlignment = VerticalAlignment.Center,\r
+                FontFamily = "BreezeSans",\r
+                FontStyle = UIFontStyles.AllNormal,\r
+                Margin = new Extents(4, 0, 0, 0).SpToPx(),\r
+            };\r
+            titleView.Add(trackTitleLabel);\r
+            trackTitleLabel.BindingContext = viewModel;\r
+            trackTitleLabel.SetBinding(TextLabel.TranslatableTextProperty, "TrackTitle");\r
+            RelativeLayout.SetLeftTarget(trackTitleLabel, trackCountLabel);\r
+            RelativeLayout.SetLeftRelativeOffset(trackTitleLabel, 1.0f);\r
 \r
             playAll = new Button("PlayAll")\r
             {\r
index 73772ea2fd1bf19c54555d82edff3cde45a740b0..f223cb573d2c99956f3d29713f25e03da5982545 100755 (executable)
@@ -16,7 +16,7 @@ namespace MusicPlayer.Views
         private View rootView;
 
         private BaseView baseView;
-        private int previousIndex = -1;
+        private int previousIndex = 0;
         private static readonly  string[] TabNames = new string[]
         {
             "Playlists",
index 7aec85b1b704ec4cb5f0fe2f1509744974f7fec2..ecea84d1a3989c320094f602e46175da69db6519 100755 (executable)
@@ -255,7 +255,7 @@ Id="DarkTheme">
 
   <c:ButtonStyle x:Key="PlaylistCreate" BackgroundColor="Transparent" >
     <c:ButtonStyle.Text>
-      <TextLabelStyle FontFamily="BreezeSans" PixelSize="32sp" Text="+ Create new playlist">
+      <TextLabelStyle FontFamily="BreezeSans" PixelSize="32sp" TranslatableText="IDS_CREATE_NEW_PLAYLIST">
         <TextLabelStyle.TextColor>
           <Selector x:TypeArguments="Color" Normal="#FFFFFF" Pressed="#1473E6" Disabled="#C3CAD2" />
         </TextLabelStyle.TextColor>
index 7125659a78d646d232913fce97eba81a10c4d93f..a881f892c4fc0e8766842b533cf2021b0b173433 100755 (executable)
@@ -255,7 +255,7 @@ Id="LightTheme">
 
   <c:ButtonStyle x:Key="PlaylistCreate" BackgroundColor="Transparent" >
     <c:ButtonStyle.Text>
-      <TextLabelStyle FontFamily="BreezeSans" PixelSize="32sp" Text="+ Create new playlist">
+      <TextLabelStyle FontFamily="BreezeSans" PixelSize="32sp" TranslatableText="IDS_CREATE_NEW_PLAYLIST">
         <TextLabelStyle.TextColor>
           <Selector x:TypeArguments="Color" Normal="#001447" Pressed="#1473E6" Disabled="#C3CAD2" />
         </TextLabelStyle.TextColor>
index 1d986b40d526313867399b481343027532ffd8c7..a1144a5554024c373722226873af799f328cf898 100755 (executable)
Binary files a/packaging/org.tizen.MusicPlayer-1.0.0.tpk and b/packaging/org.tizen.MusicPlayer-1.0.0.tpk differ