From 5132716e8fed091b5b2d8f83bbb678ec4d6278c0 Mon Sep 17 00:00:00 2001 From: Anuj Kumar Singh Date: Tue, 16 Jan 2024 11:56:11 +0530 Subject: [PATCH] Implement supporting multiple languages Change-Id: Ic9e45119eb21c5dddf2eb6981cfe913a6f398fe1 Signed-off-by: Anuj Kumar Singh --- .../Controller/DeviceController.cs | 7 +- .../SettingBluetooth/SettingBluetooth.cs | 7 +- .../SettingBluetooth/SettingBluetooth.csproj | 25 ++ .../TextResources/Resources.Designer.cs | 318 ++++++++++++++++++ .../TextResources/Resources.en-US.resx | 201 +++++++++++ .../TextResources/Resources.ko-KR.resx | 201 +++++++++++ .../TextResources/Resources.resx | 201 +++++++++++ .../SettingBluetooth/View/BtDetailView.cs | 13 +- .../SettingBluetooth/View/BtDeviceView.cs | 15 +- .../SettingBluetooth/View/BtMainView.cs | 21 +- .../SettingBluetooth/View/ResourceManager.cs | 14 + .../SettingBluetooth/View/Resources.cs | 47 --- .../SettingBluetooth/tizen-manifest.xml | 4 +- .../org.tizen.cssetting-bluetooth-1.9.0.rpk | Bin 76978 -> 84591 bytes 14 files changed, 998 insertions(+), 76 deletions(-) create mode 100644 SettingBluetooth/SettingBluetooth/TextResources/Resources.Designer.cs create mode 100644 SettingBluetooth/SettingBluetooth/TextResources/Resources.en-US.resx create mode 100644 SettingBluetooth/SettingBluetooth/TextResources/Resources.ko-KR.resx create mode 100644 SettingBluetooth/SettingBluetooth/TextResources/Resources.resx create mode 100644 SettingBluetooth/SettingBluetooth/View/ResourceManager.cs delete mode 100644 SettingBluetooth/SettingBluetooth/View/Resources.cs diff --git a/SettingBluetooth/SettingBluetooth/Controller/DeviceController.cs b/SettingBluetooth/SettingBluetooth/Controller/DeviceController.cs index 4da444d..105908d 100644 --- a/SettingBluetooth/SettingBluetooth/Controller/DeviceController.cs +++ b/SettingBluetooth/SettingBluetooth/Controller/DeviceController.cs @@ -1,4 +1,5 @@ -using SettingCore; +using SettingBluetooth.TextResources; +using SettingCore; using System; using System.Collections.Generic; using System.Text; @@ -44,7 +45,7 @@ namespace SettingBluetooth { var disconnectButton = new Button() { - Text = Resources.IDS_BT_SK_DISCONNECT, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SK_DISCONNECT)), }; disconnectButton.Clicked += (obj, ev) => { @@ -71,7 +72,7 @@ namespace SettingBluetooth { var disconnectButton = new Button() { - Text = Resources.IDS_BT_SK_DISCONNECT, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SK_DISCONNECT)), }; disconnectButton.Clicked += (obj, ev) => { diff --git a/SettingBluetooth/SettingBluetooth/SettingBluetooth.cs b/SettingBluetooth/SettingBluetooth/SettingBluetooth.cs index 39ff969..b6fe957 100644 --- a/SettingBluetooth/SettingBluetooth/SettingBluetooth.cs +++ b/SettingBluetooth/SettingBluetooth/SettingBluetooth.cs @@ -6,6 +6,7 @@ using Tizen.Applications; using Tizen.NUI; using Tizen.NUI.BaseComponents; using Tizen.NUI.Components; +using SettingBluetooth.TextResources; namespace SettingBluetooth { @@ -31,7 +32,7 @@ namespace SettingBluetooth public override string ProvideIconPath() => GetResourcePath("images/bluetooth-icon.svg"); - public override string ProvideTitle() => "Bluetooth"; + public override string ProvideTitle() => NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_BLUETOOTH)); public SettingBluetooth() : base(NUIGadgetType.Normal) { @@ -46,12 +47,14 @@ namespace SettingBluetooth ViewStyle viewStyle = GetButtonViewStyle(); mScanButton = new Button() { - Text = Resources.IDS_BT_SK_SCAN, + Text = this.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SK_SCAN)), IsEnabled = BtModel.IsEnabled, }; mScanButton.Clicked += AdapterController.ScanButtonClicked; mScanButton.ApplyStyle(viewStyle); + ResourceManager.TextResourceManager = this; + return BtMainView.Create(); } diff --git a/SettingBluetooth/SettingBluetooth/SettingBluetooth.csproj b/SettingBluetooth/SettingBluetooth/SettingBluetooth.csproj index 69ad7e6..c1870c5 100644 --- a/SettingBluetooth/SettingBluetooth/SettingBluetooth.csproj +++ b/SettingBluetooth/SettingBluetooth/SettingBluetooth.csproj @@ -17,4 +17,29 @@ + + + True + True + Resources.resx + + + + + + PublicResXFileCodeGenerator + + + PublicResXFileCodeGenerator + + + PublicResXFileCodeGenerator + Resources.Designer.cs + + + + + + + diff --git a/SettingBluetooth/SettingBluetooth/TextResources/Resources.Designer.cs b/SettingBluetooth/SettingBluetooth/TextResources/Resources.Designer.cs new file mode 100644 index 0000000..283fede --- /dev/null +++ b/SettingBluetooth/SettingBluetooth/TextResources/Resources.Designer.cs @@ -0,0 +1,318 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +namespace SettingBluetooth.TextResources { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // 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 Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + static private string mResourcePath = ""; + + static public void SetPath(string path) + { + mResourcePath = path; + } + static public string GetPath() + { + return mResourcePath; + } + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("SettingBluetooth.TextResources.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Cancel. + /// + public static string IDS_BR_SK_CANCEL { + get { + return ResourceManager.GetString("IDS_BR_SK_CANCEL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Available devices. + /// + public static string IDS_BT_BODY_AVAILABLE_DEVICES { + get { + return ResourceManager.GetString("IDS_BT_BODY_AVAILABLE_DEVICES", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bluetooth. + /// + public static string IDS_BT_BODY_BLUETOOTH { + get { + return ResourceManager.GetString("IDS_BT_BODY_BLUETOOTH", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connection options. + /// + public static string IDS_BT_BODY_CONNECTION_OPTIONS { + get { + return ResourceManager.GetString("IDS_BT_BODY_CONNECTION_OPTIONS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + public static string IDS_BT_BODY_DETAILS { + get { + return ResourceManager.GetString("IDS_BT_BODY_DETAILS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Device name. + /// + public static string IDS_BT_BODY_DEVICENAME { + get { + return ResourceManager.GetString("IDS_BT_BODY_DEVICENAME", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnecting.... + /// + public static string IDS_BT_BODY_DISCONNECTING { + get { + return ResourceManager.GetString("IDS_BT_BODY_DISCONNECTING", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Media audio. + /// + public static string IDS_BT_BODY_MEDIA_AUDIO { + get { + return ResourceManager.GetString("IDS_BT_BODY_MEDIA_AUDIO", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Paired. + /// + public static string IDS_BT_BODY_PAIRED { + get { + return ResourceManager.GetString("IDS_BT_BODY_PAIRED", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Paired devices. + /// + public static string IDS_BT_BODY_PAIRED_DEVICES { + get { + return ResourceManager.GetString("IDS_BT_BODY_PAIRED_DEVICES", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Rename. + /// + public static string IDS_BT_BODY_RENAME { + get { + return ResourceManager.GetString("IDS_BT_BODY_RENAME", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scanning for devices.... + /// + public static string IDS_BT_BODY_SCANNING_FOR_DEVICES_ING { + get { + return ResourceManager.GetString("IDS_BT_BODY_SCANNING_FOR_DEVICES_ING", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turn on Bluetooth to see a list of devices you can pair with or have already paired with.. + /// + public static string IDS_BT_BODY_TURN_ON_BLUETOOTH_TO_SEE_A_LIST_OF_DEVICES_YOU_CAN_PAIR_WITH_OR_HAVE_ALREADY_PAIRED_WITH { + get { + return ResourceManager.GetString("IDS_BT_BODY_TURN_ON_BLUETOOTH_TO_SEE_A_LIST_OF_DEVICES_YOU_CAN_PAIR_WITH_OR_HAVE_" + + "ALREADY_PAIRED_WITH", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use for. + /// + public static string IDS_BT_BODY_USE_FOR { + get { + return ResourceManager.GetString("IDS_BT_BODY_USE_FOR", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Your device ({0}) is currently visible to nearby devices.. + /// + public static string IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES { + get { + return ResourceManager.GetString("IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tizen. + /// + public static string IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES_MODEL_NAME { + get { + return ResourceManager.GetString("IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES_MODEL_NAME", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnect device. + /// + public static string IDS_BT_HEADER_DISCONNECT_DEVICE_ABB { + get { + return ResourceManager.GetString("IDS_BT_HEADER_DISCONNECT_DEVICE_ABB", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unpair. + /// + public static string IDS_BT_OPT_UNPAIR { + get { + return ResourceManager.GetString("IDS_BT_OPT_UNPAIR", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Searching services.... + /// + public static string IDS_BT_POP_SEARCHING_SERVICES_ING { + get { + return ResourceManager.GetString("IDS_BT_POP_SEARCHING_SERVICES_ING", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connected. + /// + public static string IDS_BT_SBODY_CONNECTED_M_STATUS { + get { + return ResourceManager.GetString("IDS_BT_SBODY_CONNECTED_M_STATUS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Connecting.... + /// + public static string IDS_BT_SBODY_CONNECTING_ING { + get { + return ResourceManager.GetString("IDS_BT_SBODY_CONNECTING_ING", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnect. + /// + public static string IDS_BT_SK_DISCONNECT { + get { + return ResourceManager.GetString("IDS_BT_SK_DISCONNECT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scan. + /// + public static string IDS_BT_SK_SCAN { + get { + return ResourceManager.GetString("IDS_BT_SK_SCAN", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stop. + /// + public static string IDS_BT_SK_STOP { + get { + return ResourceManager.GetString("IDS_BT_SK_STOP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turning off Bluetooth.... + /// + public static string IDS_ST_BODY_TURNING_OFF_BLUETOOTH { + get { + return ResourceManager.GetString("IDS_ST_BODY_TURNING_OFF_BLUETOOTH", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Turning on Bluetooth.... + /// + public static string IDS_ST_BODY_TURNING_ON_BLUETOOTH { + get { + return ResourceManager.GetString("IDS_ST_BODY_TURNING_ON_BLUETOOTH", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will end your connection with {0}.. + /// + public static string IDS_WMGR_POP_THIS_WILL_END_YOUR_CONNECTION_WITH_PS { + get { + return ResourceManager.GetString("IDS_WMGR_POP_THIS_WILL_END_YOUR_CONNECTION_WITH_PS", resourceCulture); + } + } + } +} diff --git a/SettingBluetooth/SettingBluetooth/TextResources/Resources.en-US.resx b/SettingBluetooth/SettingBluetooth/TextResources/Resources.en-US.resx new file mode 100644 index 0000000..f12a509 --- /dev/null +++ b/SettingBluetooth/SettingBluetooth/TextResources/Resources.en-US.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + Available devices + + + Bluetooth + + + Connection options + + + Details + + + Device name + + + Disconnecting... + + + Media audio + + + Paired + + + Paired devices + + + Rename + + + Scanning for devices... + + + Turn on Bluetooth to see a list of devices you can pair with or have already paired with. + + + Use for + + + Your device ({0}) is currently visible to nearby devices. + + + Tizen + + + Disconnect device + + + Unpair + + + Searching services... + + + Connected + + + Connecting... + + + Disconnect + + + Scan + + + Stop + + + Turning off Bluetooth... + + + Turning on Bluetooth... + + + This will end your connection with {0}. + + diff --git a/SettingBluetooth/SettingBluetooth/TextResources/Resources.ko-KR.resx b/SettingBluetooth/SettingBluetooth/TextResources/Resources.ko-KR.resx new file mode 100644 index 0000000..2c3d8c3 --- /dev/null +++ b/SettingBluetooth/SettingBluetooth/TextResources/Resources.ko-KR.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 취소 + + + 연결 가능한 디바이스 + + + 블루투스 + + + 연결 옵션 + + + 상세정보 + + + 디바이스 이름 + + + 연결을 해제하는 중... + + + 미디어 오디오 + + + 등록됨 + + + 등록된 디바이스 + + + 개명 + + + 디바이스 찾는 중... + + + 블루투스를 켜면 페어링할 수 있거나 이미 페어링된 장치 목록이 표시됩니다. + + + 에 사용 + + + 장치 ({0})는 현재 근처의 장치에서 볼 수 있습니다. + + + 타이젠 + + + 디바이스 연결 해제 + + + 등록 해제 + + + 서비스 검색 중... + + + 연결됨 + + + 연결 중... + + + 연결 해제 + + + 찾기 + + + 중지 + + + 블루투스를 끄고... + + + 블루투스를 켜면... + + + {0} 디바이스 연결을 해제합니다. + + diff --git a/SettingBluetooth/SettingBluetooth/TextResources/Resources.resx b/SettingBluetooth/SettingBluetooth/TextResources/Resources.resx new file mode 100644 index 0000000..f12a509 --- /dev/null +++ b/SettingBluetooth/SettingBluetooth/TextResources/Resources.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + + + Available devices + + + Bluetooth + + + Connection options + + + Details + + + Device name + + + Disconnecting... + + + Media audio + + + Paired + + + Paired devices + + + Rename + + + Scanning for devices... + + + Turn on Bluetooth to see a list of devices you can pair with or have already paired with. + + + Use for + + + Your device ({0}) is currently visible to nearby devices. + + + Tizen + + + Disconnect device + + + Unpair + + + Searching services... + + + Connected + + + Connecting... + + + Disconnect + + + Scan + + + Stop + + + Turning off Bluetooth... + + + Turning on Bluetooth... + + + This will end your connection with {0}. + + diff --git a/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs b/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs index 2fb9614..96cd841 100644 --- a/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs +++ b/SettingBluetooth/SettingBluetooth/View/BtDetailView.cs @@ -1,4 +1,5 @@ -using System; +using SettingBluetooth.TextResources; +using System; using System.Collections.Generic; using System.Text; using Tizen; @@ -51,7 +52,7 @@ namespace SettingBluetooth var unpairButton = new DefaultLinearItem() { WidthSpecification = LayoutParamPolicies.MatchParent, - Text = Resources.IDS_BT_OPT_UNPAIR, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_OPT_UNPAIR)), }; unpairButton.Clicked += (obj, ev) => { @@ -64,7 +65,7 @@ namespace SettingBluetooth var useForHeader = new DefaultLinearItem() { WidthSpecification = LayoutParamPolicies.MatchParent, - Text = Resources.IDS_BT_BODY_USE_FOR, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_USE_FOR)), Margin = new Extents(8, 0, 0, 0).SpToPx(), }; useForHeader.Label.TextColor = Color.Grey; @@ -90,7 +91,7 @@ namespace SettingBluetooth var mediaAudioItem = new DefaultLinearItem() { WidthSpecification = LayoutParamPolicies.MatchParent, - Text = Resources.IDS_BT_BODY_MEDIA_AUDIO, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_MEDIA_AUDIO)), }; var mediaAudioSwitch = new Switch() { @@ -116,7 +117,7 @@ namespace SettingBluetooth var label = new TextLabel { WidthSpecification = LayoutParamPolicies.MatchParent, - Text = Resources.IDS_BT_BODY_RENAME, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_RENAME)), Margin = new Extents(16, 0, 0, 0).SpToPx(), }; @@ -160,7 +161,7 @@ namespace SettingBluetooth { var appBar = new AppBar() { - Title = Resources.IDS_BT_BODY_DETAILS, + Title = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_DETAILS)), }; AppBarStyle appBarStyle = (AppBarStyle)ThemeManager.GetStyle("Tizen.NUI.Components.AppBar"); Button backButton = new Button(((AppBarStyle)appBarStyle).BackButton); diff --git a/SettingBluetooth/SettingBluetooth/View/BtDeviceView.cs b/SettingBluetooth/SettingBluetooth/View/BtDeviceView.cs index b23660f..be3b190 100644 --- a/SettingBluetooth/SettingBluetooth/View/BtDeviceView.cs +++ b/SettingBluetooth/SettingBluetooth/View/BtDeviceView.cs @@ -1,3 +1,4 @@ +using SettingBluetooth.TextResources; using ElmSharp.Accessible; using SettingCore; using System; @@ -211,8 +212,8 @@ namespace SettingBluetooth public DeviceSource() { Log.Info(SettingBluetooth.LogTag, "DeviceSource created"); - mSearched = new DeviceCollection(Resources.IDS_BT_BODY_SCANNING_FOR_DEVICES_ING); - mPaired = new DeviceCollection(Resources.IDS_BT_BODY_PAIRED_DEVICES); + mSearched = new DeviceCollection(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_SCANNING_FOR_DEVICES_ING))); + mPaired = new DeviceCollection(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_PAIRED_DEVICES))); this.Add(mSearched); } @@ -314,20 +315,20 @@ namespace SettingBluetooth break; case BtDeviceState.Pairing: case BtDeviceState.Connecting: - device.State = Resources.IDS_BT_SBODY_CONNECTING_ING; + device.State = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SBODY_CONNECTING_ING)); break; case BtDeviceState.Unpairing: case BtDeviceState.Disconnecting: - device.State = Resources.IDS_BT_BODY_DISCONNECTING; + device.State = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_DISCONNECTING)); break; case BtDeviceState.Paired: - device.State = Resources.IDS_BT_BODY_PAIRED; + device.State = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_PAIRED)); break; case BtDeviceState.Connected: - device.State = Resources.IDS_BT_SBODY_CONNECTED_M_STATUS; + device.State = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SBODY_CONNECTED_M_STATUS)); break; case BtDeviceState.ServiceSearching: - device.State = Resources.IDS_BT_POP_SEARCHING_SERVICES_ING; + device.State = device.State = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_POP_SEARCHING_SERVICES_ING)); break; } //Log.Info(LogTag, "Device(" + btDevice.Address + ") updated. state: " + device.State); diff --git a/SettingBluetooth/SettingBluetooth/View/BtMainView.cs b/SettingBluetooth/SettingBluetooth/View/BtMainView.cs index 302bdbd..abdd960 100644 --- a/SettingBluetooth/SettingBluetooth/View/BtMainView.cs +++ b/SettingBluetooth/SettingBluetooth/View/BtMainView.cs @@ -1,4 +1,5 @@ -using System; +using SettingBluetooth.TextResources; +using System; using System.Collections.Generic; using System.Linq; using Tizen; @@ -43,22 +44,22 @@ namespace SettingBluetooth internal static void ShowBtOffMessage() { - mBtMessage.Text = Resources.IDS_BT_BODY_TURN_ON_BLUETOOTH_TO_SEE_A_LIST_OF_DEVICES_YOU_CAN_PAIR_WITH_OR_HAVE_ALREADY_PAIRED_WITH; + mBtMessage.Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_TURN_ON_BLUETOOTH_TO_SEE_A_LIST_OF_DEVICES_YOU_CAN_PAIR_WITH_OR_HAVE_ALREADY_PAIRED_WITH)); } internal static void ShowBtOnMessage() { - mBtMessage.Text = string.Format(Resources.IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES, BtModel.Name); + mBtMessage.Text = string.Format(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES)), ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES_MODEL_NAME))); } internal static void ShowBtTurningOnMessage() { - mBtMessage.Text = Resources.IDS_ST_BODY_TURNING_ON_BLUETOOTH; + mBtMessage.Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_TURNING_ON_BLUETOOTH)); } internal static void ShowBtTurningOffMessage() { - mBtMessage.Text = Resources.IDS_ST_BODY_TURNING_OFF_BLUETOOTH; + mBtMessage.Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_ST_BODY_TURNING_OFF_BLUETOOTH)); } private static void BtModelOperationStateChanged(object obj, BtOperationStateChangedEventArgs ev) @@ -83,12 +84,12 @@ namespace SettingBluetooth break; case BtOperationState.Searching: BtDeviceView.RemoveAllSearchedDevices(); - BtDeviceView.UpdateSearchedTitle(Resources.IDS_BT_BODY_SCANNING_FOR_DEVICES_ING); - BtDeviceView.UpdateScanButtonText(Resources.IDS_BT_SK_STOP); + BtDeviceView.UpdateSearchedTitle(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_SCANNING_FOR_DEVICES_ING))); + BtDeviceView.UpdateScanButtonText(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SK_STOP))); break; case BtOperationState.Searched: - BtDeviceView.UpdateSearchedTitle(Resources.IDS_BT_BODY_AVAILABLE_DEVICES); - BtDeviceView.UpdateScanButtonText(Resources.IDS_BT_SK_SCAN); + BtDeviceView.UpdateSearchedTitle(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_AVAILABLE_DEVICES))); + BtDeviceView.UpdateScanButtonText(ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_SK_SCAN))); break; case BtOperationState.Pairing: break; @@ -118,7 +119,7 @@ namespace SettingBluetooth var onOffItem = new DefaultLinearItem { WidthSpecification = LayoutParamPolicies.MatchParent, - Text = Resources.IDS_BT_BODY_BLUETOOTH, + Text = ResourceManager.TextResourceManager.NUIGadgetResourceManager.GetString(nameof(Resources.IDS_BT_BODY_BLUETOOTH)), }; onOffItem.Label.HorizontalAlignment = HorizontalAlignment.Begin; diff --git a/SettingBluetooth/SettingBluetooth/View/ResourceManager.cs b/SettingBluetooth/SettingBluetooth/View/ResourceManager.cs new file mode 100644 index 0000000..5f8fa3e --- /dev/null +++ b/SettingBluetooth/SettingBluetooth/View/ResourceManager.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SettingBluetooth; + +namespace SettingBluetooth +{ + public class ResourceManager + { + public static SettingBluetooth TextResourceManager; + } +} diff --git a/SettingBluetooth/SettingBluetooth/View/Resources.cs b/SettingBluetooth/SettingBluetooth/View/Resources.cs deleted file mode 100644 index 66e6579..0000000 --- a/SettingBluetooth/SettingBluetooth/View/Resources.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SettingBluetooth -{ - static class Resources - { - static private string mResourcePath = ""; - - static public void SetPath(string path) - { - mResourcePath = path; - } - static public string GetPath() - { - return mResourcePath; - } - - static public string IDS_BT_BODY_SCANNING_FOR_DEVICES_ING = "Scanning for devices..."; - static public string IDS_ST_BODY_TURNING_OFF_BLUETOOTH = "Turning off Bluetooth..."; - static public string IDS_ST_BODY_TURNING_ON_BLUETOOTH = "Turning on Bluetooth..."; - static public string IDS_BT_SK_STOP = "Stop"; - static public string IDS_BT_BODY_AVAILABLE_DEVICES = "Available devices"; - static public string IDS_BT_SK_SCAN = "Scan"; - static public string IDS_BT_BODY_BLUETOOTH = "Bluetooth"; - static public string IDS_BT_BODY_PAIRED_DEVICES = "Paired devices"; - static public string IDS_BT_SBODY_CONNECTING_ING = "Connecting..."; - static public string IDS_BT_BODY_DISCONNECTING = "Disconnecting"; - static public string IDS_BT_BODY_PAIRED = "Paired"; - static public string IDS_BT_SBODY_CONNECTED_M_STATUS = "Connected"; - static public string IDS_BT_POP_SEARCHING_SERVICES_ING = "Searching services..."; - static public string IDS_BT_BODY_DETAILS = "Details"; - static public string IDS_BT_BODY_DEVICENAME = "Device name"; - static public string IDS_BT_OPT_UNPAIR = "Unpair"; - static public string IDS_BT_BODY_USE_FOR = "Use for"; - static public string IDS_BT_BODY_MEDIA_AUDIO = "Media audio"; - static public string IDS_BT_SK_DISCONNECT = "Disconnect"; - static public string IDS_BT_HEADER_DISCONNECT_DEVICE_ABB = "Disconnect device"; - static public string IDS_WMGR_POP_THIS_WILL_END_YOUR_CONNECTION_WITH_PS = "This will end your connection with {0}."; - static public string IDS_BT_BODY_TURN_ON_BLUETOOTH_TO_SEE_A_LIST_OF_DEVICES_YOU_CAN_PAIR_WITH_OR_HAVE_ALREADY_PAIRED_WITH - = "Turn on Bluetooth to see a list of devices you can pair with or have already paired with."; - static public string IDS_BT_BODY_YOUR_DEVICE_IS_CURRENTLY_VISIBLE_TO_NEARBY_DEVICES - = "Your device ({0}) is currently visible to nearby devices."; - static public string IDS_BT_BODY_RENAME = "Rename"; - } -} diff --git a/SettingBluetooth/SettingBluetooth/tizen-manifest.xml b/SettingBluetooth/SettingBluetooth/tizen-manifest.xml index 165532d..d126af7 100644 --- a/SettingBluetooth/SettingBluetooth/tizen-manifest.xml +++ b/SettingBluetooth/SettingBluetooth/tizen-manifest.xml @@ -9,7 +9,9 @@ /> + + - + diff --git a/packaging/org.tizen.cssetting-bluetooth-1.9.0.rpk b/packaging/org.tizen.cssetting-bluetooth-1.9.0.rpk index d9f1a0e788a2e0cb842f20b20d87eb1a062b87ae..fe046992f0610c75657e5a785eba2366ab0af663 100644 GIT binary patch delta 36100 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 W^%n>RM)>*^fd>QABz-;JgZ)3A`LvP% -- 2.34.1