Language.pas 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. unit Language;
  2. interface
  3. uses
  4. Winapi.Windows;
  5. type
  6. TLanguage = class
  7. protected
  8. function GetTitle: string; virtual; abstract;
  9. function GetConnecting: string; virtual; abstract;
  10. function GetConnected: string; virtual; abstract;
  11. function GetRefresh: string; virtual; abstract;
  12. function GetManualUrl: string; virtual; abstract;
  13. function GetOpen: string; virtual; abstract;
  14. function GetConnectError:string; virtual; abstract;
  15. function GetCanNotFindDevice:string;virtual; abstract;
  16. function GetAddressIsEmpty:string;virtual; abstract;
  17. function GetAddressFormatIsWrong:string;virtual; abstract;
  18. function GetIPAddressIsWrong:string;virtual; abstract;
  19. function GetPortIsWrong:string;virtual; abstract;
  20. function GetDeviceIsWrong:string;virtual; abstract;
  21. function GetDownloadingHint:string;virtual; abstract;
  22. public
  23. property Title: string read GetTitle;
  24. property Connecting: string read GetConnecting;
  25. property Connected: string read GetConnected;
  26. property Refresh: string read GetRefresh;
  27. property ManualUrl: string read GetManualUrl;
  28. property Open: string read GetOpen;
  29. property ConnectError: string read GetConnectError;
  30. property CanNotFindDevice:string read GetCanNotFindDevice;
  31. property AddressIsEmpty:string read GetAddressIsEmpty;
  32. property AddressFormatIsWrong:string read GetAddressFormatIsWrong;
  33. property IPAddressIsWrong:string read GetIPAddressIsWrong;
  34. property PortIsWrong:string read GetPortIsWrong;
  35. property DeviceIsWrong:string read GetDeviceIsWrong;
  36. property DownloadingHint:string read GetDownloadingHint;
  37. class function IsChinese: Boolean;
  38. end;
  39. TChineseLanguage = class(TLanguage)
  40. protected
  41. function GetTitle: string; override;
  42. function GetConnecting: string; override;
  43. function GetConnected: string; override;
  44. function GetRefresh: string; override;
  45. function GetManualUrl: string; override;
  46. function GetOpen: string; override;
  47. function GetConnectError:string;override;
  48. function GetCanNotFindDevice:string;override;
  49. function GetAddressIsEmpty:string;override;
  50. function GetAddressFormatIsWrong:string;override;
  51. function GetIPAddressIsWrong:string;override;
  52. function GetPortIsWrong:string;override;
  53. function GetDeviceIsWrong:string;override;
  54. function GetDownloadingHint:string;override;
  55. end;
  56. TEnglishLanguage = class(TLanguage)
  57. protected
  58. function GetTitle: string; override;
  59. function GetConnecting: string; override;
  60. function GetConnected: string; override;
  61. function GetRefresh: string; override;
  62. function GetManualUrl: string; override;
  63. function GetOpen: string; override;
  64. function GetConnectError:string;override;
  65. function GetCanNotFindDevice:string;override;
  66. function GetAddressIsEmpty:string;override;
  67. function GetAddressFormatIsWrong:string;override;
  68. function GetIPAddressIsWrong:string;override;
  69. function GetPortIsWrong:string;override;
  70. function GetDeviceIsWrong:string;override;
  71. function GetDownloadingHint:string;override;
  72. end;
  73. implementation
  74. { TLanguage }
  75. class function TLanguage.IsChinese: Boolean;
  76. var
  77. LId: LANGID;
  78. begin
  79. LId := GetUserDefaultUILanguage();
  80. Result := LId = 2052;
  81. end;
  82. { TChineseLanguage }
  83. function TChineseLanguage.GetAddressFormatIsWrong: string;
  84. begin
  85. Result := '设备地址格式错误,设备地址格式应为[IP:端口]。';
  86. end;
  87. function TChineseLanguage.GetAddressIsEmpty: string;
  88. begin
  89. Result := '设备地址未填写,请填写设备地址。';
  90. end;
  91. function TChineseLanguage.GetCanNotFindDevice: string;
  92. begin
  93. Result := '无法找到任何设备,请稍后重试。';
  94. end;
  95. function TChineseLanguage.GetConnected: string;
  96. begin
  97. Result := '%s 已连接。';
  98. end;
  99. function TChineseLanguage.GetConnectError: string;
  100. begin
  101. Result := '连接设备失败';
  102. end;
  103. function TChineseLanguage.GetConnecting: string;
  104. begin
  105. Result := '正在连接...%s';
  106. end;
  107. function TChineseLanguage.GetDeviceIsWrong: string;
  108. begin
  109. Result := '连接设备失败,请确认该设备是有效设备。';
  110. end;
  111. function TChineseLanguage.GetDownloadingHint: string;
  112. begin
  113. Result := '正在下载...%d';
  114. end;
  115. function TChineseLanguage.GetIPAddressIsWrong: string;
  116. begin
  117. Result := 'IP地址不是一个有效的IP地址。';
  118. end;
  119. function TChineseLanguage.GetManualUrl: string;
  120. begin
  121. Result := '设备地址:';
  122. end;
  123. function TChineseLanguage.GetOpen: string;
  124. begin
  125. Result := '打开';
  126. end;
  127. function TChineseLanguage.GetPortIsWrong: string;
  128. begin
  129. Result := '端口格式错误,端口应为[0..65535]。';
  130. end;
  131. function TChineseLanguage.GetRefresh: string;
  132. begin
  133. Result := '搜索网络内所有SONOPOST';
  134. end;
  135. function TChineseLanguage.GetTitle: string;
  136. begin
  137. Result := 'SONOPOST配置工具';
  138. end;
  139. { TEnglishLanguage }
  140. function TEnglishLanguage.GetAddressFormatIsWrong: string;
  141. begin
  142. Result := 'Invalid device address format. Device address format should be [IP:Port].';
  143. end;
  144. function TEnglishLanguage.GetAddressIsEmpty: string;
  145. begin
  146. Result := 'Empty device address. please input the device address.';
  147. end;
  148. function TEnglishLanguage.GetCanNotFindDevice: string;
  149. begin
  150. Result := 'Can not find any device, please try later.';
  151. end;
  152. function TEnglishLanguage.GetConnected: string;
  153. begin
  154. Result := '%s connected.';
  155. end;
  156. function TEnglishLanguage.GetConnectError: string;
  157. begin
  158. Result := 'Can not connect to the device.';
  159. end;
  160. function TEnglishLanguage.GetConnecting: string;
  161. begin
  162. Result := 'Connecting...%s';
  163. end;
  164. function TEnglishLanguage.GetDeviceIsWrong: string;
  165. begin
  166. Result := 'Connect to device error, plase make sure this device is a SONOPOST.';
  167. end;
  168. function TEnglishLanguage.GetDownloadingHint: string;
  169. begin
  170. Result := 'Downloading...%d';
  171. end;
  172. function TEnglishLanguage.GetIPAddressIsWrong: string;
  173. begin
  174. Result := 'Invalid IP address.';
  175. end;
  176. function TEnglishLanguage.GetManualUrl: string;
  177. begin
  178. Result := 'Device Address:';
  179. end;
  180. function TEnglishLanguage.GetOpen: string;
  181. begin
  182. Result := 'Open';
  183. end;
  184. function TEnglishLanguage.GetPortIsWrong: string;
  185. begin
  186. Result := 'Invalid Port number, port should be [0..65535].';
  187. end;
  188. function TEnglishLanguage.GetRefresh: string;
  189. begin
  190. Result := 'Find';
  191. end;
  192. function TEnglishLanguage.GetTitle: string;
  193. begin
  194. Result := 'SONOPOST Configuration Utility';
  195. end;
  196. end.