Ticket #6116: libbluetoothLocalization.patch
File libbluetoothLocalization.patch, 13.5 KB (added by , 14 years ago) |
---|
-
src/kits/bluetooth/DeviceClass.cpp
5 5 6 6 #include <bluetooth/DeviceClass.h> 7 7 8 #include <Catalog.h> 9 #include <Locale.h> 10 11 #include "LocaleCatalog.h" 12 13 14 #undef B_TRANSLATE_CONTEXT 15 #define B_TRANSLATE_CONTEXT "DeviceClass" 16 17 8 18 namespace Bluetooth { 9 19 10 20 void 11 21 DeviceClass::GetServiceClass(BString& serviceClass) 12 22 { 13 static const char *services[] = { "Positioning", "Networking", 14 "Rendering", "Capturing", "Object transfer", 15 "Audio", "Telephony", "Information" }; 16 23 static const char *services[] = { B_TRANSLATE_MARK("Positioning"), 24 B_TRANSLATE_MARK("Networking"), B_TRANSLATE_MARK("Rendering"), 25 B_TRANSLATE_MARK("Capturing"), B_TRANSLATE_MARK("Object transfer"), 26 B_TRANSLATE_MARK("Audio"), B_TRANSLATE_MARK("Telephony"), 27 B_TRANSLATE_MARK("Information") }; 28 29 LocaleCatalog* instance = LocaleCatalog::Instance(); 30 17 31 if (ServiceClass() != 0) { 18 32 bool first = true; 19 33 … … 30 44 } 31 45 32 46 } else 33 serviceClass << "Unspecified";47 serviceClass << B_TRANSLATE("Unspecified"); 34 48 35 49 } 36 50 … … 38 52 void 39 53 DeviceClass::GetMajorDeviceClass(BString& majorClass) 40 54 { 41 static const char *major_devices[] = { "Miscellaneous", "Computer", "Phone", 42 "LAN access", "Audio/Video", "Peripheral", "Imaging", "Uncategorized" }; 55 static const char *major_devices[] = { B_TRANSLATE_MARK("Miscellaneous"), 56 B_TRANSLATE_MARK("Computer"), B_TRANSLATE_MARK("Phone"), 57 B_TRANSLATE_MARK("LAN access"), B_TRANSLATE_MARK("Audio/Video"), 58 B_TRANSLATE_MARK("Peripheral"), B_TRANSLATE_MARK("Imaging"), 59 B_TRANSLATE_MARK("Uncategorized") }; 43 60 44 61 if (MajorDeviceClass() >= sizeof(major_devices) / sizeof(*major_devices)) 45 majorClass << "Invalid device class!\n";62 majorClass << B_TRANSLATE("Invalid device class!\n"); 46 63 else 47 64 majorClass << major_devices[MajorDeviceClass()]; 48 65 … … 62 79 case 1: /* computer */ 63 80 switch(minor) { 64 81 case 0: 65 minorClass << "Uncategorized";82 minorClass << B_TRANSLATE("Uncategorized"); 66 83 break; 67 84 case 1: 68 minorClass << "Desktop workstation";85 minorClass << B_TRANSLATE("Desktop workstation"); 69 86 break; 70 87 case 2: 71 minorClass << "Server";88 minorClass << B_TRANSLATE("Server"); 72 89 break; 73 90 case 3: 74 minorClass << "Laptop";91 minorClass << B_TRANSLATE("Laptop"); 75 92 break; 76 93 case 4: 77 minorClass << "Handheld";94 minorClass << B_TRANSLATE("Handheld"); 78 95 break; 79 96 case 5: 80 minorClass << "Palm"; 97 minorClass << B_TRANSLATE_COMMENT("Palm", 98 "A palm-held device"); 81 99 break; 82 100 case 6: 83 minorClass << "Wearable"; 101 minorClass << B_TRANSLATE_COMMENT("Wearable", 102 "A wearable computer"); 84 103 break; 85 104 } 86 105 break; 87 106 case 2: /* phone */ 88 107 switch(minor) { 89 108 case 0: 90 minorClass << "Uncategorized";109 minorClass << B_TRANSLATE("Uncategorized"); 91 110 break; 92 111 case 1: 93 minorClass << "Cellular";112 minorClass << B_TRANSLATE("Cellular"); 94 113 break; 95 114 case 2: 96 minorClass << "Cordless";115 minorClass << B_TRANSLATE("Cordless"); 97 116 break; 98 117 case 3: 99 minorClass << "Smart phone";118 minorClass << B_TRANSLATE("Smart phone"); 100 119 break; 101 120 case 4: 102 minorClass << "Wired modem or voice gateway";121 minorClass << B_TRANSLATE("Wired modem or voice gateway"); 103 122 break; 104 123 case 5: 105 minorClass << "Common ISDN access";124 minorClass << B_TRANSLATE("Common ISDN access"); 106 125 break; 107 126 case 6: 108 minorClass << "SIM card reader";127 minorClass << B_TRANSLATE("SIM card reader"); 109 128 break; 110 129 } 111 130 break; 112 131 case 3: /* lan access */ 113 132 if (minor == 0) { 114 minorClass << "Uncategorized";133 minorClass << B_TRANSLATE("Uncategorized"); 115 134 break; 116 135 } 117 136 switch(minor / 8) { 118 137 case 0: 119 minorClass << "Fully available";138 minorClass << B_TRANSLATE("Fully available"); 120 139 break; 121 140 case 1: 122 minorClass << "1-17% utilized";141 minorClass << B_TRANSLATE("1-17% utilized"); 123 142 break; 124 143 case 2: 125 minorClass << "17-33% utilized";144 minorClass << B_TRANSLATE("17-33% utilized"); 126 145 break; 127 146 case 3: 128 minorClass << "33-50% utilized";147 minorClass << B_TRANSLATE("33-50% utilized"); 129 148 break; 130 149 case 4: 131 minorClass << "50-67% utilized";150 minorClass << B_TRANSLATE("50-67% utilized"); 132 151 break; 133 152 case 5: 134 minorClass << "67-83% utilized";153 minorClass << B_TRANSLATE("67-83% utilized"); 135 154 break; 136 155 case 6: 137 minorClass << "83-99% utilized";156 minorClass << B_TRANSLATE("83-99% utilized"); 138 157 break; 139 158 case 7: 140 minorClass << "No service available";159 minorClass << B_TRANSLATE("No service available"); 141 160 break; 142 161 } 143 162 break; 144 163 case 4: /* audio/video */ 145 164 switch(minor) { 146 165 case 0: 147 minorClass << "Uncategorized";166 minorClass << B_TRANSLATE("Uncategorized"); 148 167 break; 149 168 case 1: 150 minorClass << "Device conforms to the headset profile";169 minorClass << B_TRANSLATE("Device conforms to the headset profile"); 151 170 break; 152 171 case 2: 153 minorClass << "Hands-free";172 minorClass << B_TRANSLATE("Hands-free"); 154 173 break; 155 174 /* 3 is reserved */ 156 175 case 4: 157 minorClass << "Microphone";176 minorClass << B_TRANSLATE("Microphone"); 158 177 break; 159 178 case 5: 160 minorClass << "Loudspeaker";179 minorClass << B_TRANSLATE("Loudspeaker"); 161 180 break; 162 181 case 6: 163 minorClass << "Headphones";182 minorClass << B_TRANSLATE("Headphones"); 164 183 break; 165 184 case 7: 166 minorClass << "Portable audio";185 minorClass << B_TRANSLATE("Portable audio"); 167 186 break; 168 187 case 8: 169 minorClass << "Car audio";188 minorClass << B_TRANSLATE("Car audio"); 170 189 break; 171 190 case 9: 172 minorClass << "Set-top box";191 minorClass << B_TRANSLATE("Set-top box"); 173 192 break; 174 193 case 10: 175 minorClass << "HiFi audio device";194 minorClass << B_TRANSLATE("HiFi audio device"); 176 195 break; 177 196 case 11: 178 minorClass << "VCR";197 minorClass << B_TRANSLATE("VCR"); 179 198 break; 180 199 case 12: 181 minorClass << "Video camera";200 minorClass << B_TRANSLATE("Video camera"); 182 201 break; 183 202 case 13: 184 minorClass << "Camcorder";203 minorClass << B_TRANSLATE("Camcorder"); 185 204 break; 186 205 case 14: 187 minorClass << "Video monitor";206 minorClass << B_TRANSLATE("Video monitor"); 188 207 break; 189 208 case 15: 190 minorClass << "Video display and loudspeaker";209 minorClass << B_TRANSLATE("Video display and loudspeaker"); 191 210 break; 192 211 case 16: 193 minorClass << "Video conferencing";212 minorClass << B_TRANSLATE("Video conferencing"); 194 213 break; 195 214 /* 17 is reserved */ 196 215 case 18: 197 minorClass << "Gaming/Toy";216 minorClass << B_TRANSLATE("Gaming/Toy"); 198 217 break; 199 218 } 200 219 break; … … 202 221 { 203 222 switch(minor & 48) { 204 223 case 16: 205 minorClass << "Keyboard";224 minorClass << B_TRANSLATE("Keyboard"); 206 225 if (minor & 15) 207 226 minorClass << "/"; 208 227 break; 209 228 case 32: 210 minorClass << "Pointing device";229 minorClass << B_TRANSLATE("Pointing device"); 211 230 if (minor & 15) 212 231 minorClass << "/"; 213 232 break; 214 233 case 48: 215 minorClass << "Combo keyboard/pointing device";234 minorClass << B_TRANSLATE("Combo keyboard/pointing device"); 216 235 if (minor & 15) 217 236 minorClass << "/"; 218 237 break; … … 222 241 case 0: 223 242 break; 224 243 case 1: 225 minorClass << "Joystick";244 minorClass << B_TRANSLATE("Joystick"); 226 245 break; 227 246 case 2: 228 minorClass << "Gamepad";247 minorClass << B_TRANSLATE("Gamepad"); 229 248 break; 230 249 case 3: 231 minorClass << "Remote control";250 minorClass << B_TRANSLATE("Remote control"); 232 251 break; 233 252 case 4: 234 minorClass << "Sensing device";253 minorClass << B_TRANSLATE("Sensing device"); 235 254 break; 236 255 case 5: 237 minorClass << "Digitizer tablet";256 minorClass << B_TRANSLATE("Digitizer tablet"); 238 257 break; 239 258 case 6: 240 minorClass << "Card reader";259 minorClass << B_TRANSLATE("Card reader"); 241 260 break; 242 261 default: 243 minorClass << "(reserved)";262 minorClass << B_TRANSLATE("(reserved)"); 244 263 break; 245 264 } 246 265 break; 247 266 } 248 267 case 6: /* imaging */ 249 268 if (minor & 4) 250 minorClass << "Display";269 minorClass << B_TRANSLATE("Display"); 251 270 if (minor & 8) 252 minorClass << "Camera";271 minorClass << B_TRANSLATE("Camera"); 253 272 if (minor & 16) 254 minorClass << "Scanner";273 minorClass << B_TRANSLATE("Scanner"); 255 274 if (minor & 32) 256 minorClass << "Printer";275 minorClass << B_TRANSLATE("Printer"); 257 276 break; 258 277 case 7: /* wearable */ 259 278 switch(minor) { 260 279 case 1: 261 minorClass << "Wrist watch";280 minorClass << B_TRANSLATE("Wrist watch"); 262 281 break; 263 282 case 2: 264 minorClass << "Pager"; 283 minorClass << B_TRANSLATE_COMMENT("Pager", 284 "A small radio device to receive short text messages"); 265 285 break; 266 286 case 3: 267 minorClass << "Jacket";287 minorClass << B_TRANSLATE("Jacket"); 268 288 break; 269 289 case 4: 270 minorClass << "Helmet";290 minorClass << B_TRANSLATE("Helmet"); 271 291 break; 272 292 case 5: 273 minorClass << "Glasses";293 minorClass << B_TRANSLATE("Glasses"); 274 294 break; 275 295 } 276 296 break; 277 297 case 8: /* toy */ 278 298 switch(minor) { 279 299 case 1: 280 minorClass << "Robot";300 minorClass << B_TRANSLATE("Robot"); 281 301 break; 282 302 case 2: 283 minorClass << "Vehicle";303 minorClass << B_TRANSLATE("Vehicle"); 284 304 break; 285 305 case 3: 286 minorClass << "Doll/Action figure";306 minorClass << B_TRANSLATE("Doll/Action figure"); 287 307 break; 288 308 case 4: 289 minorClass << "Controller";309 minorClass << B_TRANSLATE("Controller"); 290 310 break; 291 311 case 5: 292 minorClass << "Game";312 minorClass << B_TRANSLATE("Game"); 293 313 break; 294 314 } 295 315 break; … … 297 317 minorClass << ""; 298 318 break; 299 319 default: 300 minorClass << "Unknown (reserved) minor device class";320 minorClass << B_TRANSLATE("Unknown (reserved) minor device class"); 301 321 break; 302 322 } 303 323 } … … 306 326 void 307 327 DeviceClass::DumpDeviceClass(BString& string) 308 328 { 309 string << "Service classes: ";329 string << B_TRANSLATE("Service classes: "); 310 330 GetServiceClass(string); 311 331 string << " | "; 312 string << "Major class: ";332 string << B_TRANSLATE("Major class: "); 313 333 GetMajorDeviceClass(string); 314 334 string << " | "; 315 string << "Minor class: ";335 string << B_TRANSLATE("Minor class: "); 316 336 GetMinorDeviceClass(string); 317 337 string << "."; 318 338 } -
src/kits/bluetooth/Jamfile
21 21 CommandManager.cpp 22 22 KitSupport.cpp 23 23 DeviceClass.cpp 24 LocaleCatalog.cpp 24 25 #UI 25 26 PincodeWindow.cpp 26 27 ConnectionIncoming.cpp 27 : be $(TARGET_LIBSTDC++)28 : be locale $(TARGET_LIBSTDC++) 28 29 ; 30 31 DoCatalogs libbluetooth.so : 32 x-vnd.Haiku-Bluetooth 33 : 34 DeviceClass.cpp 35 RemoteDevice.cpp 36 LocaleCatalog.cpp 37 ; -
src/kits/bluetooth/KitSupport.h
2 2 * Copyright 2008 Oliver Ruiz Dorantes, oliver.ruiz.dorantes_at_gmail.com 3 3 * All rights reserved. Distributed under the terms of the MIT License. 4 4 */ 5 #ifndef KITSUPPORT_H 6 #define KITSUPPORT_H 7 5 8 #include <Messenger.h> 6 9 7 10 BMessenger* _RetrieveBluetoothMessenger(void); 8 11 9 12 uint8 GetInquiryTime(); 10 13 void SetInquiryTime(uint8 time); 14 15 #endif 16 -
src/kits/bluetooth/RemoteDevice.cpp
16 16 17 17 #include <bluetooth/bluetooth_error.h> 18 18 19 #include <Catalog.h> 19 20 #include <CommandManager.h> 21 #include <Locale.h> 20 22 #include <bluetoothserver_p.h> 21 23 22 24 #include "KitSupport.h" 25 #include "LocaleCatalog.h" 23 26 27 #undef B_TRANSLATE_CONTEXT 28 #define B_TRANSLATE_CONTEXT "RemoteDevice" 24 29 30 25 31 namespace Bluetooth { 26 32 27 33 // TODO: Check headers for valid/reserved ranges … … 40 46 if (!alwaysAsk) { 41 47 // Check if the name is already retrieved 42 48 // TODO: Check if It is known from a KnownDevicesList 43 return BString( "Not implemented");49 return BString(B_TRANSLATE("Not implemented")); 44 50 } 45 51 46 52 if (fDiscovererLocalDevice == NULL) 47 return BString( "#NoOwnerError#Not Valid name");53 return BString(B_TRANSLATE("#NoOwnerError#Not Valid name")); 48 54 49 55 if (fMessenger == NULL) 50 return BString( "#ServerNotReady#Not Valid name");56 return BString(B_TRANSLATE("#ServerNotReady#Not Valid name")); 51 57 52 58 void* remoteNameCommand = NULL; 53 59 size_t size; … … 85 91 86 92 } else { 87 93 // seems we got a negative event 88 return BString( "#CommandFailed#Not Valid name");94 return BString(B_TRANSLATE("#CommandFailed#Not Valid name")); 89 95 } 90 96 } 91 97 92 return BString( "#NotCompletedRequest#Not Valid name");98 return BString(B_TRANSLATE("#NotCompletedRequest#Not Valid name")); 93 99 } 94 100 95 101 … … 281 287 fDiscovererLocalDevice(NULL), 282 288 fHandle(invalidConnectionHandle) 283 289 { 290 LocaleCatalog* instance = LocaleCatalog::Instance(); 291 284 292 fBdaddr = address; 285 293 fDeviceClass.SetRecord(record); 286 294 fMessenger = _RetrieveBluetoothMessenger(); 295 287 296 } 288 297 289 298 … … 293 302 fDiscovererLocalDevice(NULL), 294 303 fHandle(invalidConnectionHandle) 295 304 { 305 LocaleCatalog* instance = LocaleCatalog::Instance(); 306 296 307 fBdaddr = bdaddrUtils::FromString((const char*)address.String()); 297 308 fMessenger = _RetrieveBluetoothMessenger(); 309 298 310 } 299 311 300 312