diff options
165 files changed, 1152 insertions, 1967 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6d6adacf2..adcff85d3 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -59,7 +59,6 @@ <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.WRITE_SMS" /> <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" /> - <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" /> <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> diff --git a/jni/com_android_bluetooth_btservice_AdapterService.cpp b/jni/com_android_bluetooth_btservice_AdapterService.cpp index 28a0e558c..95cc6644d 100644 --- a/jni/com_android_bluetooth_btservice_AdapterService.cpp +++ b/jni/com_android_bluetooth_btservice_AdapterService.cpp @@ -32,8 +32,11 @@ #include <fcntl.h> namespace android { - +// OOB_LE_BD_ADDR_SIZE is 6 bytes addres + 1 byte address type +#define OOB_LE_BD_ADDR_SIZE 7 #define OOB_TK_SIZE 16 +#define OOB_LE_SC_C_SIZE 16 +#define OOB_LE_SC_R_SIZE 16 #define ADDITIONAL_NREFS 50 static jmethodID method_stateChangeCallback; @@ -892,19 +895,67 @@ static jboolean createBondOutOfBandNative(JNIEnv* env, jobject obj, jbyteArray a return result; } + jbyte* leBtDeviceAddressBytes = NULL; jbyte* smTKBytes = NULL; - jbyteArray smTK = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getSecurityManagerTk"); + jbyte* leScCBytes = NULL; + jbyte* leScRBytes = NULL; + jbyteArray leBtDeviceAddress = NULL; + jbyteArray smTK = NULL; + jbyteArray leScC = NULL; + jbyteArray leScR = NULL; + + leBtDeviceAddress = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getLeBluetoothDeviceAddress"); + if (leBtDeviceAddress != NULL) { + leBtDeviceAddressBytes = env->GetByteArrayElements(leBtDeviceAddress, NULL); + int len = env->GetArrayLength(leBtDeviceAddress); + if (len != OOB_LE_BD_ADDR_SIZE) { + ALOGI("%s: wrong length of leBtDeviceAddress, should be empty or %d bytes.", __func__, OOB_LE_BD_ADDR_SIZE); + jniThrowIOException(env, EINVAL); + goto done; + } + memcpy(oob_data.le_bt_dev_addr, leBtDeviceAddressBytes, len); + } + + smTK = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", "getSecurityManagerTk"); if (smTK != NULL) { smTKBytes = env->GetByteArrayElements(smTK, NULL); int len = env->GetArrayLength(smTK); if (len != OOB_TK_SIZE) { - ALOGI("%s: wrong length of smTK, should be empty or %d bytes.", __FUNCTION__, OOB_TK_SIZE); + ALOGI("%s: wrong length of smTK, should be empty or %d bytes.", __func__, OOB_TK_SIZE); jniThrowIOException(env, EINVAL); goto done; } memcpy(oob_data.sm_tk, smTKBytes, len); } + leScC = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", + "getLeSecureConnectionsConfirmation"); + if (leScC != NULL) { + leScCBytes = env->GetByteArrayElements(leScC, NULL); + int len = env->GetArrayLength(leScC); + if (len != OOB_LE_SC_C_SIZE) { + ALOGI("%s: wrong length of LE SC Confirmation, should be empty or %d bytes.", + __func__, OOB_LE_SC_C_SIZE); + jniThrowIOException(env, EINVAL); + goto done; + } + memcpy(oob_data.le_sc_c, leScCBytes, len); + } + + leScR = callByteArrayGetter(env, oobData, "android/bluetooth/OobData", + "getLeSecureConnectionsRandom"); + if (leScR != NULL) { + leScRBytes = env->GetByteArrayElements(leScR, NULL); + int len = env->GetArrayLength(leScR); + if (len != OOB_LE_SC_R_SIZE) { + ALOGI("%s: wrong length of LE SC Random, should be empty or %d bytes.", + __func__, OOB_LE_SC_R_SIZE); + jniThrowIOException(env, EINVAL); + goto done; + } + memcpy(oob_data.le_sc_r, leScRBytes, len); + } + if (sBluetoothInterface->create_bond_out_of_band((bt_bdaddr_t *)addr, transport, &oob_data) == BT_STATUS_SUCCESS) result = JNI_TRUE; @@ -912,9 +963,18 @@ static jboolean createBondOutOfBandNative(JNIEnv* env, jobject obj, jbyteArray a done: env->ReleaseByteArrayElements(address, addr, 0); + if (leBtDeviceAddress != NULL) + env->ReleaseByteArrayElements(leBtDeviceAddress, leBtDeviceAddressBytes, 0); + if (smTK != NULL) env->ReleaseByteArrayElements(smTK, smTKBytes, 0); + if (leScC != NULL) + env->ReleaseByteArrayElements(leScC, leScCBytes, 0); + + if (leScR != NULL) + env->ReleaseByteArrayElements(leScR, leScRBytes, 0); + return result; } diff --git a/jni/com_android_bluetooth_gatt.cpp b/jni/com_android_bluetooth_gatt.cpp index c9f28a750..73ee02c78 100644 --- a/jni/com_android_bluetooth_gatt.cpp +++ b/jni/com_android_bluetooth_gatt.cpp @@ -1622,7 +1622,13 @@ static void gattServerSendResponseNative (JNIEnv *env, jobject object, if (val != NULL) { - response.attr_value.len = (uint16_t) env->GetArrayLength(val); + if (env->GetArrayLength(val) < BTGATT_MAX_ATTR_LEN) { + response.attr_value.len = (uint16_t)env->GetArrayLength(val); + } else { + android_errorWriteLog(0x534e4554, "78787521"); + response.attr_value.len = BTGATT_MAX_ATTR_LEN; + } + jbyte* array = env->GetByteArrayElements(val, 0); for (int i = 0; i != response.attr_value.len; ++i) diff --git a/res/values-af/cm_strings.xml b/res/values-af/cm_strings.xml index 180874eb9..ae3dc85ee 100644 --- a/res/values-af/cm_strings.xml +++ b/res/values-af/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Kan nie lêer stuur nie, probeer weer\u2026</string> + <string name="incoming_file_toast_msg">Inkomende lêer vanaf \'n ander toestel. Bevestig dat jy hierdie lêer wil ontvang.</string> + <string name="upload_fail_waiting">Kan nie lêer stuur nie, probeer weer\u2026</string> </resources> diff --git a/res/values-ar/cm_strings.xml b/res/values-ar/cm_strings.xml index 6eb66fa9b..58f56ae35 100644 --- a/res/values-ar/cm_strings.xml +++ b/res/values-ar/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">تعذر إرسال الملف، جاري إعادة المحاولة\u2026</string> + <string name="incoming_file_toast_msg">هناك ملف وارد من جهاز آخر. قم بتأكيد أنك تريد استلام هذا الملف.</string> + <string name="upload_fail_waiting">تعذر إرسال الملف، جاري إعادة المحاولة\u2026</string> </resources> diff --git a/res/values-as-rIN/cm_strings.xml b/res/values-as-rIN/cm_strings.xml index 5c1ad61a6..4a5e00cb9 100644 --- a/res/values-as-rIN/cm_strings.xml +++ b/res/values-as-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ফাইল প্ৰেৰণ কৰিবলৈ অক্ষম, পুনঃচেষ্টা কৰি আছে\u2026</string> + <string name="upload_fail_waiting">ফাইল প্ৰেৰণ কৰিবলৈ অক্ষম, পুনঃচেষ্টা কৰি আছে\u2026</string> </resources> diff --git a/res/values-ast-rES/cm_strings.xml b/res/values-ast-rES/cm_strings.xml index b0f740241..326a0d5a1 100644 --- a/res/values-ast-rES/cm_strings.xml +++ b/res/values-ast-rES/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Imposible unviar el ficheru, reintentando\u2026</string> + <string name="incoming_file_toast_msg">Ficheru entrante d\'otru preséu. Confirma que quies recibilu.</string> + <string name="upload_fail_waiting">Nun pue unviase\'l ficheru, retentando\u2026</string> </resources> diff --git a/res/values-ast-rES/strings.xml b/res/values-ast-rES/strings.xml index 4e5b5887a..4dac2113a 100644 --- a/res/values-ast-rES/strings.xml +++ b/res/values-ast-rES/strings.xml @@ -15,200 +15,118 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <string name="permlab_bluetoothShareManager">Accesu al alministrador de descargues</string> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <string name="permdesc_bluetoothShareManager">Permite que l\'aplicación acceda al alministrador BluetoothShare y lu use pa tresferir ficheros.</string> - <string name="permlab_bluetoothWhitelist">Accesu de preseos Bluetooth autorizaos</string> - <string name="permdesc_bluetoothWhitelist">Permíte-y a l’aplicación autorizar temporalmente un preséu Bluetooth pa poder unviar ficheros a esti preséu ensin la confirmación del usuariu.</string> - <!-- string showed on "Share picutre via" dialog --> - <string name="bt_share_picker_label">Bluetooth</string> - <!-- string for "unknown device" --> - <string name="unknown_device">Preséu desconocíu</string> - <!-- string for "unknown" phone number" --> - <string name="unknownNumber">Desconocíu</string> - <!-- string for "the title of airplane mode error" --> - <string name="airplane_error_title">Mou avión</string> - <!-- string for "error message in airplane mode" --> - <string name="airplane_error_msg">Nun pues usar el Bluetooth nel mou avión.</string> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <string name="bt_enable_line1">Pa utilizar los servicios de Bluetooth, primero tienes d\'activar la función Bluetooth.</string> - <!--Line 2 --> - <string name="bt_enable_line2">¿Quies activar la función Bluetooth agora?</string> - <!-- Label for a cancel button. --> - <string name="bt_enable_cancel">Encaboxar</string> - <!-- Label for a confirm button.--> - <string name="bt_enable_ok">Activar</string> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <string name="incoming_file_confirm_title">Tresferencia de ficheros</string> - <!--content --> - <string name="incoming_file_confirm_content">Aceutar ficheru entrante? </string> - <!-- Label for a cancel button. --> - <string name="incoming_file_confirm_cancel">Refugar</string> - <!-- Label for a confirm button.--> - <string name="incoming_file_confirm_ok">Aceutar</string> - <!-- Label for timeout OK button.--> - <string name="incoming_file_confirm_timeout_ok">Aceutar</string> - <!-- content for timeout--> - <string name="incoming_file_confirm_timeout_content">Escosó\'l tiempu p\'aceutar el ficheru entrante de \"<xliff:g id="SENDER">%1$s</xliff:g>\".</string> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <string name="notification_receiving">Bluetooth: recibiendo <xliff:g id="FILE">%1$s</xliff:g></string> - <!-- label for the notification item of received file --> - <string name="notification_received">Compartir con Bluetooth: <xliff:g id="FILE">%1$s</xliff:g> recibíu</string> - <!-- label for the notification item of failed receiving file --> - <string name="notification_received_fail">Bluetooth: <xliff:g id="FILE">%1$s</xliff:g> non recibíu</string> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <string name="notification_sending">Bluetooth: unviando <xliff:g id="FILE">%1$s</xliff:g></string> - <!-- label for the notification item of sent file --> - <string name="notification_sent">Bluetooth: <xliff:g id="FILE">%1$s</xliff:g> unviáu</string> - <!-- label for the notification item of sent file -status --> - <string name="notification_sent_complete">100% completáu</string> - <!-- label for the notification item of failed sending file --> - <string name="notification_sent_fail">Bluetooth: ficheru <xliff:g id="FILE">%1$s</xliff:g> non unviáu</string> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <string name="download_title">Tresferencia de ficheros</string> - <!--Line 1 --> - <string name="download_line1">De: \"<xliff:g id="SENDER">%1$s</xliff:g>\"</string> - <!--Line 2 --> - <string name="download_line2">Ficheru: <xliff:g id="FILE">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_line3">Tamañu de ficheru: <xliff:g id="SIZE">%1$s</xliff:g></string> - <!--Line 4 --> - <string name="download_line4"></string> - <string name="download_line5">Recibiendo ficheru…</string> - <!-- Label for a cancel button. --> - <string name="download_cancel">Detener</string> - <!-- Label for a hide button.--> - <string name="download_ok">Anubrir</string> - <!--Line 1 --> - <string name="incoming_line1">De</string> - <!--Line 2 --> - <string name="incoming_line2">Nome de ficheru</string> - <!--Line 3 --> - <string name="incoming_line3">Tamañu</string> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <string name="download_fail_line1">Ficheru non recibíu</string> - <!--Line 2 --> - <string name="download_fail_line2">Ficheru: <xliff:g id="FILE">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_fail_line3">Motivu: <xliff:g id="REASON">%1$s</xliff:g></string> - <!-- Label for ok button.--> - <string name="download_fail_ok">Aceutar</string> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <string name="download_succ_line5">Ficheru recibíu</string> - <!-- Label for a OK button.--> - <string name="download_succ_ok">Abrir</string> - <!-- Bluetooth Upload Progress Dialog --> - <string name="upload_line1">Pa: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\"</string> - <string name="upload_line3">Triba de ficheru: <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)</string> - <string name="upload_line5">Unviando ficheru…</string> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <string name="upload_succ_line5">Ficheru unviáu</string> - <!-- Label for a confirm button.--> - <string name="upload_succ_ok">Aceutar</string> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <string name="upload_fail_line1">Nun s\'unvió\'l ficheru a \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\".</string> - <string name="upload_fail_line1_2">Ficheru: <xliff:g id="FILE">%1$s</xliff:g></string> - <!-- Label for a try again button.--> - <string name="upload_fail_ok">Volver a intentalo</string> - <!-- Label for a cancel button.--> - <string name="upload_fail_cancel">Zarrar</string> - <!-- Bluetooth error dialog --> - <string name="bt_error_btn_ok">Aceutar</string> - <string name="unknown_file">Ficheru desconocíu</string> - <string name="unknown_file_desc">Nun hai nenguna aplicación que pueda procesar esta triba de ficheru. \n</string> - <string name="not_exist_file">Nun hai ficheros.</string> - <string name="not_exist_file_desc">El ficheru nun esiste. \n</string> - <!-- Bluetooth Enabling progress dialog --> - <string name="enabling_progress_title">Por favor, espera...</string> - <string name="enabling_progress_content">Activando Bluetooth...</string> - <!-- Bluetooth Toast Message --> - <string name="bt_toast_1">Va recibise\'l ficheru. Comprueba\'l progresu na barra de notificaciones.</string> - <string name="bt_toast_2">Nun pue recibise\'l ficheru.</string> - <string name="bt_toast_3">Detúvose la receición del ficheru de \"<xliff:g id="SENDER">%1$s</xliff:g>\"</string> - <string name="bt_toast_4">Unviando ficheru a \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\"</string> - <string name="bt_toast_5">Unviando <xliff:g id="NUMBER">%1$s</xliff:g> ficheros a "<xliff:g id="RECIPIENT">%2$s</xliff:g>\"</string> - <string name="bt_toast_6">Detúvose l\'unviu del ficheru a \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\"</string> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <string name="bt_sm_2_1" product="nosdcard">Nun hai espaciu abondu nel almacenamientu USB pa guardar el ficheru de \"<xliff:g id="SENDER">%1$s</xliff:g>\".</string> - <!-- Bluetooth System Messages --> - <string name="bt_sm_2_1" product="default">Nun hai espaciu abondu na tarxeta SD pa guardar el ficheru de \"<xliff:g id="SENDER">%1$s</xliff:g>\".</string> - <string name="bt_sm_2_2">Espaciu necesariu: <xliff:g id="SIZE">%1$s</xliff:g></string> - <string name="ErrorTooManyRequests">Tán procesándose munches solicitúes. Vuelvi a intentalo dempués.</string> - <!-- Bluetooth Transfer Failure Reason --> - <string name="status_pending">Entá nun s\'anició la tresferencia de ficheros.</string> - <string name="status_running">Tresferencia de ficheros en cursu</string> - <string name="status_success">La tresferencia de ficheros completóse correcho.</string> - <string name="status_not_accept">Conteníu non almitíu</string> - <string name="status_forbidden">El preséu de destín nun permite la tresferencia.</string> - <string name="status_canceled">Tresferencia encaboxada pol usuariu</string> - <string name="status_file_error">Fallu rellacionáu col almacenamientu</string> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <string name="status_no_sd_card" product="nosdcard">Ensin almacenamientu USB</string> - <string name="status_no_sd_card" product="default">Nun se deteuta nenguna tarxeta SD. Inxerta una tarxeta SD y guarda los ficheros tresferíos.</string> - <string name="status_connection_error">Conexón incorreuta</string> - <string name="status_protocol_error">Nun pue procesase la solicitú correchamente.</string> - <string name="status_unknown_error">Fallu desconocíu</string> - <!-- Bluetooth OPP Live Folder --> - <string name="btopp_live_folder">Recibío per Bluetooth</string> - <!-- Bluetooth OPP Transfer History --> - <string name="download_success">Receición de <xliff:g id="FILE_SIZE">%1$s</xliff:g> completada</string> - <string name="upload_success">Unviu de <xliff:g id="FILE_SIZE">%1$s</xliff:g> completáu</string> - <string name="inbound_history_title">Tresferencies entrantes</string> - <string name="outbound_history_title">Tresferencies salientes</string> - <string name="no_transfers">L\'historial de tresferencies ta baleru.</string> - <string name="transfer_clear_dlg_msg">Van desaniciase tolos elementos de la llista.</string> - <string name="outbound_noti_title">Bluetooth: ficheros unviaos</string> - <string name="inbound_noti_title">Bluetooth: ficheros recibíos</string> - <plurals name="noti_caption_unsuccessful"> - <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> con fallu</item> - <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> con fallu</item> - </plurals> - <plurals name="noti_caption_success"> - <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> correutu, %2$s</item> - <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> correutos, %2$s</item> - </plurals> - <string name="transfer_menu_clear_all">Desaniciar llista</string> - <string name="transfer_menu_open">Abrir</string> - <string name="transfer_menu_clear">Desaniciar de la llista</string> - <string name="transfer_clear_dlg_title">Desaniciar</string> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <string name="bluetooth_map_settings_save">Guardar</string> - <string name="bluetooth_map_settings_cancel">Encaboxar</string> - <string name="bluetooth_map_settings_count">Slots restantes:</string> - <string name="bluetooth_map_settings_app_icon">Iconu d\'aplicación</string> - <string name="bluetooth_map_settings_title">Axustes de mensaxes compartíos per Bluetooth</string> - <string name="bluetooth_map_settings_no_account_slots_left">Nun pues esbillar la cuenta. Nun queden slots.</string> + <string name="permlab_bluetoothShareManager">Accesu al xestor de descargues.</string> + <string name="permdesc_bluetoothShareManager">Permite que l\'aplicación acceda + al xestor BluetoothShare y usalu pa tresferir ficheros. </string> + <string name="permlab_bluetoothWhitelist">Accesu de preseos Bluetooth autorizaos</string> + <string name="permdesc_bluetoothWhitelist">Permíte-y a l’aplicación autorizar temporalmente un preséu Bluetooth pa poder unviar ficheros a esti preséu ensin la confirmación del usuariu.</string> + <string name="bt_share_picker_label">Bluetooth</string> + <string name="unknown_device">Preséu desconocíu</string> + <string name="unknownNumber">Desconozse</string> + <string name="airplane_error_title">Mou avión</string> + <string name="airplane_error_msg">Nun pues usar el Bluetooth nel mou avión.</string> + <string name="bt_enable_line1">Pa usar los servicios Bluetooth, primero has prender el Bluetooth.</string> + <string name="bt_enable_line2">¿Prender Bluetooth agora?</string> + <string name="bt_enable_cancel">Encaboxar</string> + <string name="bt_enable_ok">Prender</string> + <string name="incoming_file_confirm_title">Tresferencia de ficheros</string> + <string name="incoming_file_confirm_content">¿Aceutar ficheru entrante? </string> + <string name="incoming_file_confirm_cancel">Refugar</string> + <string name="incoming_file_confirm_ok">Aceutar</string> + <string name="incoming_file_confirm_timeout_ok">Aceutar</string> + <string name="incoming_file_confirm_timeout_content">Escosó\'l tiempu d\'espera mentanto s\'aceutaba un ficheru entrante de «<xliff:g id="sender">%1$s</xliff:g>»</string> + <string name="incoming_file_confirm_Notification_title">Ficheru entrante</string> + <string name="incoming_file_confirm_Notification_content"><xliff:g id="sender">%1$s</xliff:g> ta tresnáu pa unviar <xliff:g id="file">%2$s</xliff:g></string> + <string name="notification_receiving">Compartición Bluetooth: Recibiendo <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received">Compatición Bluetooth: Recibióse <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received_fail">Compartición Bluetooth: Nun se recibió <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sending">Compartición Bluetooth: Unviando <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent">Compartición Bluetooth: Unvióse <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent_complete">100% completáu</string> + <string name="notification_sent_fail">Compartición Bluetooth: Nun s\'unvió\'l ficheru <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_title">Tresferencia de ficheros</string> + <string name="download_line1">De: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="download_line2">Ficheru: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_line3">Tamañu del ficheru: <xliff:g id="size">%1$s</xliff:g></string> + <string name="download_line5">Recibiendo ficheru\u2026</string> + <string name="download_cancel">Parar</string> + <string name="download_ok">Anubrir</string> + <string name="incoming_line1">De</string> + <string name="incoming_line2">Nome del ficheru</string> + <string name="incoming_line3">Tamañu</string> + <string name="download_fail_line1">Nun se recibió\'l ficheru</string> + <string name="download_fail_line2">Ficheru: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_fail_line3">Razón: <xliff:g id="reason">%1$s</xliff:g></string> + <string name="download_fail_ok">Aceutar</string> + <string name="download_succ_line5">Recibióse\'l ficheru</string> + <string name="download_succ_ok">Abrir</string> + <string name="upload_line1">Pa: «<xliff:g id="recipient">%1$s</xliff:g>»</string> + <string name="upload_line3">Triba del ficheru: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> + <string name="upload_line5">Unviando ficheru\u2026</string> + <string name="upload_succ_line5">Unvióse\'l ficheru</string> + <string name="upload_succ_ok">Aceutar</string> + <string name="upload_fail_line1">Nun s\'unvió\'l ficheru a «<xliff:g id="recipient">%1$s</xliff:g>».</string> + <string name="upload_fail_line1_2">Ficheru: <xliff:g id="file">%1$s</xliff:g></string> + <string name="upload_fail_ok">Retentar</string> + <string name="upload_fail_cancel">Zarrar</string> + <string name="bt_error_btn_ok">Aceutar</string> + <string name="unknown_file">Ficheru desconocíu</string> + <string name="unknown_file_desc">Nun hai aplicaciones que remanen esta triba de ficheru. \n</string> + <string name="not_exist_file">Nun hai ficheros.</string> + <string name="not_exist_file_desc">Nun esiste\'l ficheru. \n</string> + <string name="enabling_progress_title">Espera, por favor\u2026</string> + <string name="enabling_progress_content">Prendiendo Bluetooth\u2026</string> + <string name="bt_toast_1">Va recibise\'l ficheru. Comprueba\'l progresu nel panel d\'avisos.</string> + <string name="bt_toast_2">Nun pue recibise\'l ficheru.</string> + <string name="bt_toast_3">Paróse la receición del ficheru de «<xliff:g id="sender">%1$s</xliff:g>»</string> + <string name="bt_toast_4">Unviando\'l ficheru a «<xliff:g id="recipient">%1$s</xliff:g>»</string> + <string name="bt_toast_5">Unviando <xliff:g id="number">%1$s</xliff:g> ficheros a «<xliff:g id="recipient">%2$s</xliff:g>»</string> + <string name="bt_toast_6">Paróse l\'unviu del ficheru a «<xliff:g id="RECIPIENT">%1$s</xliff:g>»</string> + <string name="bt_sm_2_1" product="nosdcard">Nun hai espaciu abondu nel almacenamientu USB pa guardar el ficheru de «<xliff:g id="SENDER">%1$s</xliff:g>»</string> + <string name="bt_sm_2_1" product="default">Nun hai espaciu abondu na tarxeta SD pa guardar el ficheru de «<xliff:g id="SENDER">%1$s</xliff:g>»</string> + <string name="bt_sm_2_2">Espaciu precisu: <xliff:g id="size">%1$s</xliff:g></string> + <string name="ErrorTooManyRequests">Tán procesándose milenta solicitúes. Volvi a tentalo más sero.</string> + <string name="status_pending">Entá nun s\'anició la tresferencia de ficheros.</string> + <string name="status_running">Tresferencia de ficheros en cursu</string> + <string name="status_success">La tresferencia de ficheros completóse con ésitu.</string> + <string name="status_not_accept">Nun se sofita\'l conteníu.</string> + <string name="status_forbidden">El preséu de destín prohibió la tresferencia.</string> + <string name="status_canceled">L\'usuariu encaboxó la tresferencia.</string> + <string name="status_file_error">Problemes col almacenamientu.</string> + <string name="status_no_sd_card" product="nosdcard">Ensin almacenamientu USB.</string> + <string name="status_no_sd_card" product="default">Ensin tarxeta SD. Inxerta una pa guardar los ficheros tresferíos.</string> + <string name="status_connection_error">Conexón incorreuta</string> + <string name="status_protocol_error">La solicitú nun pudo remanase correutamente.</string> + <string name="status_unknown_error">Fallu desconocíu.</string> + <string name="btopp_live_folder">Recibío per Bluetooth</string> + <string name="download_success">Receición de <xliff:g id="FILE_SIZE">%1$s</xliff:g> completada</string> + <string name="upload_success">Unviu de <xliff:g id="FILE_SIZE">%1$s</xliff:g> completáu</string> + <string name="inbound_history_title">Tresferencies entrantes</string> + <string name="outbound_history_title">Tresferencies salientes</string> + <string name="no_transfers">L\'historial de tresferencies ta baleru.</string> + <string name="transfer_clear_dlg_msg">Van desaniciase tolos elementos del llistáu.</string> + <string name="outbound_noti_title">Compartición Bluetooth: Ficheros unviaos</string> + <string name="inbound_noti_title">Compartición Bluetooth: Ficheros recibíos</string> + <plurals name="noti_caption_unsuccessful"> + <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> falló.</item> + <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> fallaron.</item> + </plurals> + <plurals name="noti_caption_success"> + <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> correutu, %2$s</item> + <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> correutos, %2$s</item> + </plurals> + <string name="transfer_menu_clear_all">Llimpiar llistáu</string> + <string name="transfer_menu_open">Abrir</string> + <string name="transfer_menu_clear">Desaniciar del llistáu</string> + <string name="transfer_clear_dlg_title">Desaniciu</string> + <string name="bluetooth_share_file_name" translate="false">bluetooth_content_share</string> + <string name="bluetooth_map_settings_save">Guardar</string> + <string name="bluetooth_map_settings_cancel">Encaboxar</string> + <string name="bluetooth_map_settings_intro">Esbilla les cuentes que quies compartir pente Bluetooth. Entá tendrás d\'aceutar cualesquier accesu a elles al coneutate.</string> + <string name="bluetooth_map_settings_count">Ralures que queden:</string> + <string name="bluetooth_map_settings_app_icon">Iconu d\'aplicación</string> + <string name="bluetooth_map_settings_title">Axustes de compartición de mensaxes per Bluetooth</string> + <string name="bluetooth_map_settings_no_account_slots_left">Nun pues esbillar la cuenta. Nun queden ralures</string> + <string name="bluetooth_connected">Coneutóse l\'audiu Bluetooth</string> + <string name="bluetooth_disconnected">Desconeutóse l\'audiu Bluetooth</string> </resources> diff --git a/res/values-ast-rES/strings_pbap.xml b/res/values-ast-rES/strings_pbap.xml index bc1a98e38..9a5b4bcef 100644 --- a/res/values-ast-rES/strings_pbap.xml +++ b/res/values-ast-rES/strings_pbap.xml @@ -1,17 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="pbap_session_key_dialog_title">Escribi clave de sesión pa %1$s</string> - <string name="pbap_session_key_dialog_header">Necesítase la clave de sesión de Bluetooth.</string> - <string name="pbap_acceptance_timeout_message">Escosó\'l tiempu p\'aceutar la conexón con %1$s.</string> - <string name="pbap_authentication_timeout_message">Escosó\'l tiempu pa inxertar la clave de sesión con %1$s.</string> - <string name="auth_notif_ticker">Solicitú d\'autenticación de Obex</string> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <string name="auth_notif_title">Clave de sesión</string> - <!-- Notification message when a Bluetooth device wants to pair with us --> - <string name="auth_notif_message">Escribi clave de sesión pa %1$s</string> - <string name="defaultname">Kit d\'automóvil</string> - <string name="unknownName">Nome desconocíu</string> - <string name="localPhoneName">El mio nome</string> - <string name="defaultnumber">000000</string> + <string name="pbap_session_key_dialog_title">Teclexa la clave de sesión pa %1$s</string> + <string name="pbap_session_key_dialog_header">Ríquese la clave de sesión Bluetooth</string> + <string name="pbap_acceptance_timeout_message">Escosó\'l tiempu d\'espera p\'aceutar la conexón con %1$s</string> + <string name="pbap_authentication_timeout_message">Escosó\'l tiempu d\'espera pa introducir la clave de sesión con %1$s</string> + <string name="auth_notif_ticker">Solicitú d\'autenticación OBEX</string> + <string name="auth_notif_title">Clave de sesión</string> + <string name="auth_notif_message">Teclexa la clave de sesión pa %1$s</string> + <string name="defaultname">Kit d\'automóvil</string> + <string name="unknownName">Nome desconocíu</string> + <string name="localPhoneName">El mio nome</string> + <string name="defaultnumber">000000</string> </resources> diff --git a/res/values-ast-rES/strings_sap.xml b/res/values-ast-rES/strings_sap.xml index 915e96ec8..3315d9a19 100644 --- a/res/values-ast-rES/strings_sap.xml +++ b/res/values-ast-rES/strings_sap.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="bluetooth_sap_notif_title">Accesu SIM de Bluetooth</string> - <string name="bluetooth_sap_notif_ticker">Accesu SIM de Bluetooth</string> - <string name="bluetooth_sap_notif_message">¿Solicitar desconexón de veceru?</string> - <string name="bluetooth_sap_notif_disconnecting">Esperando pola desconexón del veceru</string> - <string name="bluetooth_sap_notif_disconnect_button">Desconeutar</string> - <string name="bluetooth_sap_notif_force_disconnect_button">Forciar desconexón</string> + <string name="bluetooth_sap_notif_title">Accesu SIM de Bluetooth</string> + <string name="bluetooth_sap_notif_ticker">Accesu SIM de Bluetooth</string> + <string name="bluetooth_sap_notif_message">¿Solicitar desconexón del veceru?</string> + <string name="bluetooth_sap_notif_disconnecting">Esperando pola desconexón del veceru</string> + <string name="bluetooth_sap_notif_disconnect_button">Desconeutar</string> + <string name="bluetooth_sap_notif_force_disconnect_button">Forciar desconexón</string> </resources> diff --git a/res/values-az-rAZ/cm_strings.xml b/res/values-az-rAZ/cm_strings.xml index 5f008cd3c..44f3775df 100644 --- a/res/values-az-rAZ/cm_strings.xml +++ b/res/values-az-rAZ/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Fayl göndərilmədi, yenidən yoxlanır\u2026</string> + <string name="incoming_file_toast_msg">Başqa cihazdan fayl gəlir. Qəbul etmə istəyinizi təsdiq edin.</string> + <string name="upload_fail_waiting">Fayl göndərilə bilmədi, yenidən sınanır\u2026</string> </resources> diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index c3b1d1a02..360e03b35 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -69,7 +69,7 @@ <string name="upload_succ_ok" msgid="7705428476405478828">"Potvrdi"</string> <string name="upload_fail_line1" msgid="7899394672421491701">"Datoteka nije poslata na <xliff:g id="RECIPIENT">%1$s</xliff:g>."</string> <string name="upload_fail_line1_2" msgid="2108129204050841798">"Datoteka: <xliff:g id="FILE">%1$s</xliff:g>"</string> - <string name="upload_fail_ok" msgid="5807702461606714296">"Pokušaj ponovo"</string> + <string name="upload_fail_ok" msgid="5807702461606714296">"Probaj ponovo"</string> <string name="upload_fail_cancel" msgid="9118496285835687125">"Zatvori"</string> <string name="bt_error_btn_ok" msgid="5965151173011534240">"Potvrdi"</string> <string name="unknown_file" msgid="6092727753965095366">"Nepoznata datoteka"</string> @@ -87,7 +87,7 @@ <string name="bt_sm_2_1" product="nosdcard" msgid="352165168004521000">"Nema dovoljno prostora u USB memoriji da bi se sačuvala datoteka pošiljaoca „<xliff:g id="SENDER">%1$s</xliff:g>“"</string> <string name="bt_sm_2_1" product="default" msgid="1989018443456803630">"Nema dovoljno prostora na SD kartici da bi se sačuvala datoteka pošiljaoca „<xliff:g id="SENDER">%1$s</xliff:g>“"</string> <string name="bt_sm_2_2" msgid="2965243265852680543">"Potreban prostor: <xliff:g id="SIZE">%1$s</xliff:g>"</string> - <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Previše zahteva se obrađuje. Pokušajte ponovo kasnije."</string> + <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Previše zahteva se obrađuje. Probajte ponovo kasnije."</string> <string name="status_pending" msgid="2503691772030877944">"Prenos datoteke još nije počeo."</string> <string name="status_running" msgid="6562808920311008696">"Prenos datoteke je u toku."</string> <string name="status_success" msgid="239573225847565868">"Prenos datoteke je dovršen."</string> diff --git a/res/values-be-rBY/cm_strings.xml b/res/values-be-rBY/cm_strings.xml index 83e033835..64fc2f164 100644 --- a/res/values-be-rBY/cm_strings.xml +++ b/res/values-be-rBY/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Уваходны файл з іншае прылады. Пацьвердзі, хочаш атрымаць гэты файл.</string> - <string name="upload_fail_waiting">Не атрымалася адправіць файл. Паўторная спроба\u2026</string> + <string name="incoming_file_toast_msg">Уваходны файл з іншае прылады. Пацьвердзі, хочаш атрымаць гэты файл.</string> + <string name="upload_fail_waiting">Не атрымалася адправіць файл. Паўторная спроба\u2026</string> </resources> diff --git a/res/values-be-rBY/test_strings.xml b/res/values-be-rBY/test_strings.xml index 2307f8e40..de8a6f750 100644 --- a/res/values-be-rBY/test_strings.xml +++ b/res/values-be-rBY/test_strings.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="hello" msgid="1740533743008967039">"Hello World, TestActivity"</string> <string name="app_name" msgid="1203877025577761792">"Перадача праз Bluetooth"</string> <string name="insert_record" msgid="1450997173838378132">"Уставіць запіс"</string> <string name="update_record" msgid="2480425402384910635">"Пацвердзіць запіс"</string> diff --git a/res/values-bg/cm_strings.xml b/res/values-bg/cm_strings.xml index 6cd02fd9c..b8b913a85 100644 --- a/res/values-bg/cm_strings.xml +++ b/res/values-bg/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Входящ файл от друго устройство. Потвърдете искате ли да получуте този файл.</string> - <string name="upload_fail_waiting">Файлът не може да бъде изпратен, опитайте пак\u2026</string> + <string name="incoming_file_toast_msg">Входящ файл от друго устройство. Потвърдете искате ли да получуте този файл.</string> + <string name="upload_fail_waiting">Файлът не може да бъде изпратен, опитайте пак\u2026</string> </resources> diff --git a/res/values-bn-rBD/cm_strings.xml b/res/values-bn-rBD/cm_strings.xml index f6d358e49..04be15097 100644 --- a/res/values-bn-rBD/cm_strings.xml +++ b/res/values-bn-rBD/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ফাইল পাঠাতে অক্ষম, পুনরায় চেষ্টা করা হচ্ছে\u2026</string> + <string name="upload_fail_waiting">ফাইল পাঠাতে অক্ষম, পুনরায় চেষ্টা করা হচ্ছে\u2026</string> </resources> diff --git a/res/values-bn-rBD/strings_sap.xml b/res/values-bn-rBD/strings_sap.xml index 23def2a6e..35329d8fd 100644 --- a/res/values-bn-rBD/strings_sap.xml +++ b/res/values-bn-rBD/strings_sap.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ব্লুটুথ SIM -এ অ্যাক্সেস করুন"</string> - <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ব্লুটুথ SIM -এ অ্যাক্সেস করুন"</string> + <string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ব্লুটুথ সিম -এ অ্যাক্সেস করুন"</string> + <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ব্লুটুথ সিম -এ অ্যাক্সেস করুন"</string> <string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"ক্লায়েন্ট সংযোগ বিচ্ছিন্ন করার অনুরোধ জানাবেন?"</string> <string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"সংযোগ বিচ্ছিন্ন করতে ক্লায়েন্টের জন্য অপেক্ষা করা"</string> <string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"সংযোগ বিচ্ছিন্ন করুন"</string> diff --git a/res/values-br-rFR/strings.xml b/res/values-br-rFR/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-br-rFR/strings.xml +++ b/res/values-br-rFR/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-bs-rBA/cm_strings.xml b/res/values-bs-rBA/cm_strings.xml index 29c1061f9..2e6834cac 100644 --- a/res/values-bs-rBA/cm_strings.xml +++ b/res/values-bs-rBA/cm_strings.xml @@ -15,4 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="upload_fail_waiting">Slanje datoteke nije uspjelo, pokušavam ponovo\u2026</string> +</resources> diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml index aca69f4b2..d426d6c8c 100644 --- a/res/values-bs-rBA/strings.xml +++ b/res/values-bs-rBA/strings.xml @@ -41,7 +41,7 @@ <string name="notification_receiving" msgid="4674648179652543984">"Bluetooth dijeljenje: Prima se fajl <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="notification_received" msgid="3324588019186687985">"Bluetooth dijeljenje: Primljen fajl <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="notification_received_fail" msgid="3619350997285714746">"Bluetooth dijeljenje: Fajl <xliff:g id="FILE">%1$s</xliff:g> nije primljen"</string> - <string name="notification_sending" msgid="3035748958534983833">"Bluetooth dijeljenje: Šalje se fajl <xliff:g id="FILE">%1$s</xliff:g>"</string> + <string name="notification_sending" msgid="3035748958534983833">"Bluetooth dijeljenje: Slanje fajla <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="notification_sent" msgid="9218710861333027778">"Bluetooth dijeljenje: Poslan fajl <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="notification_sent_complete" msgid="302943281067557969">"Dovršeno 100%"</string> <string name="notification_sent_fail" msgid="6696082233774569445">"Bluetooth dijeljenje: Fajl <xliff:g id="FILE">%1$s</xliff:g> nije poslan"</string> diff --git a/res/values-ca/cm_strings.xml b/res/values-ca/cm_strings.xml index 3169eb562..03980b225 100644 --- a/res/values-ca/cm_strings.xml +++ b/res/values-ca/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Fitxer entrant des d\'un altre dispositiu. Confirma que vols rebre aquest fitxer.</string> - <string name="upload_fail_waiting">No es pot enviar el fitxer, s\'està reintentant\u2026</string> + <string name="incoming_file_toast_msg">Fitxer entrant des d\'un altre dispositiu. Confirma que vols rebre aquest fitxer.</string> + <string name="upload_fail_waiting">No es pot enviar el fitxer, s\'està reintentant\u2026</string> </resources> diff --git a/res/values-cs/cm_strings.xml b/res/values-cs/cm_strings.xml index 06482df05..51701825f 100644 --- a/res/values-cs/cm_strings.xml +++ b/res/values-cs/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Příchozí soubor z jiného zařízení. Potvrďte, že chcete přijmout tento soubor.</string> - <string name="upload_fail_waiting">Nepodařilo se odeslat soubor, opakování akce\u2026</string> + <string name="incoming_file_toast_msg">Příchozí soubor z jiného zařízení. Potvrďte, že chcete přijmout tento soubor.</string> + <string name="upload_fail_waiting">Nepodařilo se odeslat soubor, opakování akce\u2026</string> </resources> diff --git a/res/values-csb-rPL/strings.xml b/res/values-csb-rPL/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-csb-rPL/strings.xml +++ b/res/values-csb-rPL/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-cy/cm_strings.xml b/res/values-cy/cm_strings.xml index 29c1061f9..df838eb42 100644 --- a/res/values-cy/cm_strings.xml +++ b/res/values-cy/cm_strings.xml @@ -15,4 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">Mae ffeil yn dod mewn o ddyfais arall. Cadarnha dy fod am dderbyn y ffeil hon.</string> + <string name="upload_fail_waiting">Methu ag anfon y ffeil. Yn rhoi cynnig arall arni\u2026</string> +</resources> diff --git a/res/values-cy/strings.xml b/res/values-cy/strings.xml index 1b6ab882a..63be5ba25 100644 --- a/res/values-cy/strings.xml +++ b/res/values-cy/strings.xml @@ -15,93 +15,125 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <!-- string showed on "Share picutre via" dialog --> - <!-- string for "unknown device" --> - <!-- string for "unknown" phone number" --> - <!-- string for "the title of airplane mode error" --> - <!-- string for "error message in airplane mode" --> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <!--Line 2 --> - <!-- Label for a cancel button. --> - <!-- Label for a confirm button.--> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <!--content --> - <!-- Label for a cancel button. --> - <!-- Label for a confirm button.--> - <!-- Label for timeout OK button.--> - <!-- content for timeout--> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <!-- label for the notification item of received file --> - <!-- label for the notification item of failed receiving file --> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <!-- label for the notification item of sent file --> - <!-- label for the notification item of sent file -status --> - <!-- label for the notification item of failed sending file --> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!--Line 4 --> - <string name="download_line4"></string> - <!-- Label for a cancel button. --> - <!-- Label for a hide button.--> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Label for ok button.--> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <!-- Label for a OK button.--> - <!-- Bluetooth Upload Progress Dialog --> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <!-- Label for a confirm button.--> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <!-- Label for a try again button.--> - <!-- Label for a cancel button.--> - <!-- Bluetooth error dialog --> - <!-- Bluetooth Enabling progress dialog --> - <!-- Bluetooth Toast Message --> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <!-- Bluetooth System Messages --> - <!-- Bluetooth Transfer Failure Reason --> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <!-- Bluetooth OPP Live Folder --> - <!-- Bluetooth OPP Transfer History --> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> + <string name="permlab_bluetoothShareManager">Mynediad at y rheolwr lawrlwytho</string> + <string name="permdesc_bluetoothShareManager">Mae\'n caniatáu i\'r ap gael mynediad at reolwr BluetoothShare a\'i defnyddio i drosglwyddo ffeiliau.</string> + <string name="permlab_bluetoothWhitelist">Caniatáu mynediad dyfais Bluetooth.</string> + <string name="permdesc_bluetoothWhitelist">Mae\'n caniatáu i\'r ap ychwanegu dyfais Bluetooth i restr wen dros dro er mwyn anfon ffeiliau i\'r ddyfais hon heb gadarnhad defnyddiwr.</string> + <string name="bt_share_picker_label">Bluetooth</string> + <string name="unknown_device">Dyfais anhysbys</string> + <string name="unknownNumber">Anhysybys</string> + <string name="airplane_error_title">Modd awyren</string> + <string name="airplane_error_msg">Nid yw\'n bosib defnyddio Bluetooth tra ym modd awyren.</string> + <string name="bt_enable_line1">I ddefnyddio gwasanaethau Bluetooth, rhaid yn gyntaf troi Bluetooth ymlaen.</string> + <string name="bt_enable_line2">Rhoi Bluetooth ar waith nawr?</string> + <string name="bt_enable_cancel">Diddymu</string> + <string name="bt_enable_ok">Troi ymlaen</string> + <string name="incoming_file_confirm_title">Trosglwyddo ffeil</string> + <string name="incoming_file_confirm_content">Derbyn ffeil i mewn? </string> + <string name="incoming_file_confirm_cancel">Gwrthod</string> + <string name="incoming_file_confirm_ok">Derbyn</string> + <string name="incoming_file_confirm_timeout_ok">Iawn</string> + <string name="incoming_file_confirm_timeout_content">Daeth yr amser i ben wrth dderbyn ffeil i mewn oddi wrth \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="incoming_file_confirm_Notification_title">Ffeil yn dod mewn</string> + <string name="incoming_file_confirm_Notification_content">Mae <xliff:g id="sender">%1$s</xliff:g> yn barod i anfon <xliff:g id="file">%2$s</xliff:g></string> + <string name="notification_receiving">Rhannu Bluetooth: Yn derbyn <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received">Rhannu Bluetooth: Wedi derbyn <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received_fail">Rhannu Bluetooth: Ffeil <xliff:g id="file">%1$s</xliff:g> heb ei derbyn</string> + <string name="notification_sending">Rhannu Bluetooth: Yn anfon <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent">Rhannu Bluetooth: Wedi anfon <xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent_complete">100% yn gyflawn</string> + <string name="notification_sent_fail">Rhannu Bluetooth: Ffeil <xliff:g id="file">%1$s</xliff:g> heb ei anfon</string> + <string name="download_title">Trosglwyddo ffeil</string> + <string name="download_line1">Oddi wrth: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="download_line2">Ffeil: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_line3">Maint y ffeil: <xliff:g id="size">%1$s</xliff:g></string> + <string name="download_line5">Yn derbyn ffeil\u2026</string> + <string name="download_cancel">Stopio</string> + <string name="download_ok">Cuddio</string> + <string name="incoming_line1">Oddi wrth</string> + <string name="incoming_line2">Enw\'r ffeil</string> + <string name="incoming_line3">Maint</string> + <string name="download_fail_line1">Ni dderbyniwyd y ffeil</string> + <string name="download_fail_line2">Ffeil: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_fail_line3">Rheswm: <xliff:g id="reason">%1$s</xliff:g></string> + <string name="download_fail_ok">Iawn</string> + <string name="download_succ_line5">Derbyniwyd y ffeil</string> + <string name="download_succ_ok">Agor</string> + <string name="upload_line1">At: \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="upload_line3">Math ffeil: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> + <string name="upload_line5">Yn anfon ffeil\u2026</string> + <string name="upload_succ_line5">Anfonwyd y ffeil</string> + <string name="upload_succ_ok">Iawn</string> + <string name="upload_fail_line1">Ni chafodd y ffeil ei anfon at \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022.</string> + <string name="upload_fail_line1_2">Ffeil: <xliff:g id="file">%1$s</xliff:g></string> + <string name="upload_fail_ok">Ceisio eto</string> + <string name="upload_fail_cancel">Cau</string> + <string name="bt_error_btn_ok">Iawn</string> + <string name="unknown_file">Ffeil anhysbys</string> + <string name="unknown_file_desc">Nid oes ap gyda\'r gallu i drin y math hwn o ffeil. \n</string> + <string name="not_exist_file">Dim ffeil</string> + <string name="not_exist_file_desc">Dyw\'r ffeil ddim yn bodoli. \n</string> + <string name="enabling_progress_title">Arhosa\u2026</string> + <string name="enabling_progress_content">Yn troi Bluetooth ymlaen\u2026</string> + <string name="bt_toast_1">Caiff y ffeil ei derbyn. Gwiria\'r cynnydd yn y panel Hysbysiadau.</string> + <string name="bt_toast_2">Ni ellir derbyn y ffeil.</string> + <string name="bt_toast_3">Stopiwyd derbyn y ffeil oddi wrth \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_toast_4">Yn anfon ffeil at \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="bt_toast_5">Yn anfon <xliff:g id="number">%1$s</xliff:g> ffeil at \u0022<xliff:g id="recipient">%2$s</xliff:g>\u0022</string> + <string name="bt_toast_6">Wedi stopio anfon ffeil at \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_1" product="nosdcard">Does dim digon o le yn y storfa USB i gadw\'r ffeil oddi wrth \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_1" product="default">Does dim digon o le ar y cerdyn SD i gadw\'r ffeil oddi wrth \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_2">Lle sydd ei angen: <xliff:g id="size">%1$s</xliff:g></string> + <string name="ErrorTooManyRequests">Mae gormod o geisiadau yn cael eu prosesu. Ceisia eto\'n hwyrach.</string> + <string name="status_pending">Heb ddechrau\'r trosglwyddo ffeil(iau) eto.</string> + <string name="status_running">Mae trosglwyddiad ffeil(iau) ar y gweill.</string> + <string name="status_success">Cwblhawyd y trosglwyddiad ffeil yn llwyddiannus.</string> + <string name="status_not_accept">Ni chefnogir y cynnwys.</string> + <string name="status_forbidden">Dyw\'r ddyfais targed ddim yn caniatáu\'r trosglwyddo.</string> + <string name="status_canceled">Diddymwyd y trosglwyddo gan ddefnyddiwr.</string> + <string name="status_file_error">Problem storfa.</string> + <string name="status_no_sd_card" product="nosdcard">Dim storfa USB.</string> + <string name="status_no_sd_card" product="default">Dim cerdyn SD. Gosoda gerdyn SD i gadw\'r ffeiliau a throsglwyddwyd.</string> + <string name="status_connection_error">Cysylltiad aflwyddiannus.</string> + <string name="status_protocol_error">Methwyd ag ymdrin â\'r cais yn gywir.</string> + <string name="status_unknown_error">Gwall anhysbys.</string> + <string name="btopp_live_folder">Bluetooth wedi\'i derbyn</string> + <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> wedi\'i dderbyn yn gyflawn.</string> + <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> wedi\'i anfon yn gyflawn.</string> + <string name="inbound_history_title">Trosglwyddiadau mewn</string> + <string name="outbound_history_title">Trosglwyddiadau allan</string> + <string name="no_transfers">Does dim hanes trosglwyddo.</string> + <string name="transfer_clear_dlg_msg">Caiff pob eitem ei dileu o\'r rhestr.</string> + <string name="outbound_noti_title">Rhannu Bluetooth: Ffeiliau a anfonwyd</string> + <string name="inbound_noti_title">Rhannu Bluetooth: Ffeiliau wedi\'u derbyn</string> + <plurals name="noti_caption_unsuccessful"> + <item quantity="zero"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + <item quantity="two"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + <item quantity="few"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + <item quantity="many"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> yn aflwyddiannus.</item> + </plurals> + <plurals name="noti_caption_success"> + <item quantity="zero"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + <item quantity="two"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + <item quantity="few"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + <item quantity="many"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> yn llwyddiannus, %2$s</item> + </plurals> + <string name="transfer_menu_clear_all">Clirio\'r rhestr</string> + <string name="transfer_menu_open">Agor</string> + <string name="transfer_menu_clear">Clirio o\'r rhestr</string> + <string name="transfer_clear_dlg_title">Clirio</string> + <string name="bluetooth_share_file_name" translate="false">bluetooth_content_share</string> + <string name="bluetooth_map_settings_save">Cadw</string> + <string name="bluetooth_map_settings_cancel">Diddymu</string> + <string name="bluetooth_map_settings_intro">Dewisa\'r cyfrifon wyt am eu rhannu trwy Bluetooth. Mi fydd dal yn rhaid caniatáu unrhyw fynediad i\'r cyfrifon wrth gysylltu.</string> + <string name="bluetooth_map_settings_count">Slotiau yn weddill:</string> + <string name="bluetooth_map_settings_app_icon">Eicon yr ap</string> + <string name="bluetooth_map_settings_title">Gosodiadau Rhannu Negeseuon Bluetooth</string> + <string name="bluetooth_map_settings_no_account_slots_left">Methu dewis cyfrif. 0 slotiau yn weddill.</string> + <string name="bluetooth_connected">Sain Bluetooth wedi\'i chysylltu</string> + <string name="bluetooth_disconnected">Sain Bluetooth wedi\'i datgysylltu</string> </resources> diff --git a/res/values-cy/strings_pbap.xml b/res/values-cy/strings_pbap.xml index 55f5b837a..46df5d35b 100644 --- a/res/values-cy/strings_pbap.xml +++ b/res/values-cy/strings_pbap.xml @@ -1,6 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <!-- Notification message when a Bluetooth device wants to pair with us --> + <string name="pbap_session_key_dialog_title">Rho\'r allwedd sesiwn ar gyfer %1$s.</string> + <string name="pbap_session_key_dialog_header">Mae angen allwedd sesiwn Bluetooth.</string> + <string name="pbap_acceptance_timeout_message">Daeth yr amser i ben wrth dderbyn cysylltiad â %1$s.</string> + <string name="pbap_authentication_timeout_message">Daeth yr amser i ben wrth roi\'r allwedd sesiwn i %1$s.</string> + <string name="auth_notif_ticker">Cais dilysiad Obex</string> + <string name="auth_notif_title">Allwedd Sesiwn</string> + <string name="auth_notif_message">Rho\'r allwedd sesiwn ar gyfer %1$s.</string> + <string name="defaultname">Cit car</string> + <string name="unknownName">Enw anhysbys</string> + <string name="localPhoneName">Fy enw i</string> + <string name="defaultnumber">000000</string> </resources> diff --git a/res/values-cy/strings_sap.xml b/res/values-cy/strings_sap.xml index d242b5671..d1ffab3e4 100644 --- a/res/values-cy/strings_sap.xml +++ b/res/values-cy/strings_sap.xml @@ -1,3 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="bluetooth_sap_notif_title">Mynediad Bluetooth at SIM</string> + <string name="bluetooth_sap_notif_ticker">Mynediad Bluetooth at SIM</string> + <string name="bluetooth_sap_notif_message">Gofyn i\'r cleient ddatgysylltu?</string> + <string name="bluetooth_sap_notif_disconnecting">Yn aros i\'r cleient ddatgysylltu</string> + <string name="bluetooth_sap_notif_disconnect_button">Datgysylltu</string> + <string name="bluetooth_sap_notif_force_disconnect_button">Gorfodi datgysylltu</string> +</resources> diff --git a/res/values-da/cm_strings.xml b/res/values-da/cm_strings.xml index a0a44b876..a590771c9 100644 --- a/res/values-da/cm_strings.xml +++ b/res/values-da/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Indgående fil fra en anden enhed. Bekræft, at du vil modtage denne fil.</string> - <string name="upload_fail_waiting">Kunne ikke sende filen, prøver igen\u2026</string> + <string name="incoming_file_toast_msg">Indgående fil fra en anden enhed. Bekræft, at du ønsker, at modtage denne fil.</string> + <string name="upload_fail_waiting">Ude af stand til at sende fil, omgør\u2026</string> </resources> diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml index 0f70267fa..bd2a26fa3 100644 --- a/res/values-de/cm_strings.xml +++ b/res/values-de/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Eingehende Datei von einem anderen Gerät. Bestätigen, wenn Sie diese Datei empfangen möchten.</string> - <string name="upload_fail_waiting">Datei kann nicht versendet werden. Erneuter Versuch\u2026</string> + <string name="incoming_file_toast_msg">Eingehende Datei von einem anderen Gerät. Bestätigen, wenn Sie diese Datei empfangen möchten.</string> + <string name="upload_fail_waiting">Datei kann nicht versendet werden. Erneuter Versuch\u2026</string> </resources> diff --git a/res/values-el/cm_strings.xml b/res/values-el/cm_strings.xml index 8869c7889..471b387e3 100644 --- a/res/values-el/cm_strings.xml +++ b/res/values-el/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Το αρχείο δεν στάλθηκε, προσπάθεια ξανά\u2026</string> + <string name="incoming_file_toast_msg">Εισερχόμενο αρχείο από άλλη συσκευή. Επιβεβαιώστε ότι θέλετε να λάβετε αυτό το αρχείο.</string> + <string name="upload_fail_waiting">Το αρχείο δεν στάλθηκε, προσπάθεια ξανά\u2026</string> </resources> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 7c90422cb..193a34f58 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -38,13 +38,13 @@ <string name="incoming_file_confirm_timeout_content" msgid="172779756093975981">"Σημειώθηκε διακοπή κατά την αποδοχή ενός εισερχόμενου αρχείου από τον αποστολέα \"<xliff:g id="SENDER">%1$s</xliff:g>\""</string> <string name="incoming_file_confirm_Notification_title" msgid="5573329005298936903">"Εισερχόμενο αρχείο"</string> <string name="incoming_file_confirm_Notification_content" msgid="3359694069319644738">"Ο χρήστης <xliff:g id="SENDER">%1$s</xliff:g> πρόκειται να στείλει το αρχείο <xliff:g id="FILE">%2$s</xliff:g>"</string> - <string name="notification_receiving" msgid="4674648179652543984">"Κοινή χρήση μέσω Bluetooth: Λήψη του <xliff:g id="FILE">%1$s</xliff:g>"</string> - <string name="notification_received" msgid="3324588019186687985">"Κοινή χρήση μέσω Bluetooth: Ελήφθη το <xliff:g id="FILE">%1$s</xliff:g>"</string> - <string name="notification_received_fail" msgid="3619350997285714746">"Κοινή χρήση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν ελήφθη"</string> - <string name="notification_sending" msgid="3035748958534983833">"Κοινή χρήση μέσω Bluetooth: Αποστολή του <xliff:g id="FILE">%1$s</xliff:g>"</string> - <string name="notification_sent" msgid="9218710861333027778">"Κοινή χρήση μέσω Bluetooth: Εστάλη το <xliff:g id="FILE">%1$s</xliff:g>"</string> + <string name="notification_receiving" msgid="4674648179652543984">"Μοιραστείτε μέσω Bluetooth: Λήψη του <xliff:g id="FILE">%1$s</xliff:g>"</string> + <string name="notification_received" msgid="3324588019186687985">"Μοιραστείτε μέσω Bluetooth: Ελήφθη το <xliff:g id="FILE">%1$s</xliff:g>"</string> + <string name="notification_received_fail" msgid="3619350997285714746">"Μοιραστείτε μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν ελήφθη"</string> + <string name="notification_sending" msgid="3035748958534983833">"Μοιραστείτε μέσω Bluetooth: Αποστολή του <xliff:g id="FILE">%1$s</xliff:g>"</string> + <string name="notification_sent" msgid="9218710861333027778">"Μοιραστείτε μέσω Bluetooth: Εστάλη το <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="notification_sent_complete" msgid="302943281067557969">"Ολοκληρώθηκε το 100%"</string> - <string name="notification_sent_fail" msgid="6696082233774569445">"Κοινή χρήση μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν εστάλη"</string> + <string name="notification_sent_fail" msgid="6696082233774569445">"Μοιραστείτε μέσω Bluetooth: Το αρχείο <xliff:g id="FILE">%1$s</xliff:g> δεν εστάλη"</string> <string name="download_title" msgid="3353228219772092586">"Μεταφορά αρχείου"</string> <string name="download_line1" msgid="4926604799202134144">"Από: \"<xliff:g id="SENDER">%1$s</xliff:g>\""</string> <string name="download_line2" msgid="5876973543019417712">"Αρχείο: <xliff:g id="FILE">%1$s</xliff:g>"</string> diff --git a/res/values-en-rAU/cm_strings.xml b/res/values-en-rAU/cm_strings.xml index e41bf932b..f2953742b 100644 --- a/res/values-en-rAU/cm_strings.xml +++ b/res/values-en-rAU/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Unable to send file, retrying\u2026</string> + <string name="incoming_file_toast_msg">Incoming file from another device. Confirm you want to receive this file.</string> + <string name="upload_fail_waiting">Unable to send file, retrying\u2026</string> </resources> diff --git a/res/values-am/cm_strings.xml b/res/values-en-rCA/cm_strings.xml index 29c1061f9..29c1061f9 100644 --- a/res/values-am/cm_strings.xml +++ b/res/values-en-rCA/cm_strings.xml diff --git a/res/values-en-rGB/cm_strings.xml b/res/values-en-rGB/cm_strings.xml index 29c1061f9..f2953742b 100644 --- a/res/values-en-rGB/cm_strings.xml +++ b/res/values-en-rGB/cm_strings.xml @@ -15,4 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">Incoming file from another device. Confirm you want to receive this file.</string> + <string name="upload_fail_waiting">Unable to send file, retrying\u2026</string> +</resources> diff --git a/res/values-en-rIN/cm_strings.xml b/res/values-en-rIN/cm_strings.xml index e41bf932b..f2953742b 100644 --- a/res/values-en-rIN/cm_strings.xml +++ b/res/values-en-rIN/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Unable to send file, retrying\u2026</string> + <string name="incoming_file_toast_msg">Incoming file from another device. Confirm you want to receive this file.</string> + <string name="upload_fail_waiting">Unable to send file, retrying\u2026</string> </resources> diff --git a/res/values-eo/strings.xml b/res/values-eo/strings.xml index 2c56234fe..9104a0368 100644 --- a/res/values-eo/strings.xml +++ b/res/values-eo/strings.xml @@ -15,105 +15,18 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <!-- string showed on "Share picutre via" dialog --> - <!-- string for "unknown device" --> - <string name="unknown_device">Nekonata aparato</string> - <!-- string for "unknown" phone number" --> - <string name="unknownNumber">Nekonata</string> - <!-- string for "the title of airplane mode error" --> - <string name="airplane_error_title">Aviadila reĝimo</string> - <!-- string for "error message in airplane mode" --> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <!--Line 2 --> - <!-- Label for a cancel button. --> - <string name="bt_enable_cancel">Nuligi</string> - <!-- Label for a confirm button.--> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <!--content --> - <!-- Label for a cancel button. --> - <!-- Label for a confirm button.--> - <!-- Label for timeout OK button.--> - <!-- content for timeout--> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <!-- label for the notification item of received file --> - <!-- label for the notification item of failed receiving file --> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <!-- label for the notification item of sent file --> - <!-- label for the notification item of sent file -status --> - <!-- label for the notification item of failed sending file --> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <!--Line 1 --> - <!--Line 2 --> - <string name="download_line2">Dosiero: <xliff:g id="file">%1$s</xliff:g></string> - <!--Line 3 --> - <!--Line 4 --> - <string name="download_line4"></string> - <!-- Label for a cancel button. --> - <!-- Label for a hide button.--> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Label for ok button.--> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <!-- Label for a OK button.--> - <string name="download_succ_ok">Malfermi</string> - <!-- Bluetooth Upload Progress Dialog --> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <!-- Label for a confirm button.--> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <string name="upload_fail_line1_2">Dosiero: <xliff:g id="file">%1$s</xliff:g></string> - <!-- Label for a try again button.--> - <string name="upload_fail_ok">Reprovi</string> - <!-- Label for a cancel button.--> - <string name="upload_fail_cancel">Fermi</string> - <!-- Bluetooth error dialog --> - <!-- Bluetooth Enabling progress dialog --> - <!-- Bluetooth Toast Message --> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <!-- Bluetooth System Messages --> - <!-- Bluetooth Transfer Failure Reason --> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <string name="status_unknown_error">Nekonata eraro.</string> - <!-- Bluetooth OPP Live Folder --> - <!-- Bluetooth OPP Transfer History --> - <string name="transfer_menu_open">Malfermi</string> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <string name="bluetooth_map_settings_cancel">Nuligi</string> + <string name="unknown_device">Nekonata aparato</string> + <string name="unknownNumber">Nekonata</string> + <string name="airplane_error_title">Aviadila reĝimo</string> + <string name="bt_enable_cancel">Nuligi</string> + <string name="download_line2">Dosiero: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_succ_ok">Malfermi</string> + <string name="upload_fail_line1_2">Dosiero: <xliff:g id="file">%1$s</xliff:g></string> + <string name="upload_fail_ok">Reprovi</string> + <string name="upload_fail_cancel">Fermi</string> + <string name="status_unknown_error">Nekonata eraro.</string> + <string name="transfer_menu_open">Malfermi</string> + <string name="bluetooth_share_file_name" translate="false">bluetooth_content_share</string> + <string name="bluetooth_map_settings_save">Save</string> + <string name="bluetooth_map_settings_cancel">Nuligi</string> </resources> diff --git a/res/values-es-rCO/strings.xml b/res/values-es-rCO/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-es-rCO/strings.xml +++ b/res/values-es-rCO/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-es-rUS/cm_strings.xml b/res/values-es-rUS/cm_strings.xml index a9d0fbc70..9e8d3c2a3 100644 --- a/res/values-es-rUS/cm_strings.xml +++ b/res/values-es-rUS/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">No se pudo enviar el archivo, reintentando\u2026</string> + <string name="incoming_file_toast_msg">Archivo entrante de otro dispositivo. Confirma que quieres recibir este archivo.</string> + <string name="upload_fail_waiting">No se pudo enviar el archivo, reintentando\u2026</string> </resources> diff --git a/res/values-es/cm_strings.xml b/res/values-es/cm_strings.xml index 3e8d83fc7..7d99d363a 100644 --- a/res/values-es/cm_strings.xml +++ b/res/values-es/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">No se puede enviar el archivo, reintentando\u2026</string> + <string name="incoming_file_toast_msg">Archivo entrante desde otro dispositivo. Confirme que desea recibir este archivo.</string> + <string name="upload_fail_waiting">No se puede enviar el archivo, reintentando\u2026</string> </resources> diff --git a/res/values-et-rEE/cm_strings.xml b/res/values-et-rEE/cm_strings.xml index 7ba257875..c49bfd0b6 100644 --- a/res/values-et-rEE/cm_strings.xml +++ b/res/values-et-rEE/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Ei saanud saata faili, proovin uuesti\u2026</string> + <string name="upload_fail_waiting">Ei saanud saata faili, proovin uuesti\u2026</string> </resources> diff --git a/res/values-eu-rES/cm_strings.xml b/res/values-eu-rES/cm_strings.xml index d745f7bf1..ceaa7328e 100644 --- a/res/values-eu-rES/cm_strings.xml +++ b/res/values-eu-rES/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Fitxategi bat dator beste gailu batetik. Berretsi fitxategi hau jasu nahi duzula.</string> - <string name="upload_fail_waiting">Ezin izan da fitxategia bidali, berriro saiatzen\u2026</string> + <string name="incoming_file_toast_msg">Fitxategi bat dator beste gailu batetik. Berretsi fitxategi hau jasu nahi duzula.</string> + <string name="upload_fail_waiting">Ezin izan da fitxategia bidali, berriro saiatzen\u2026</string> </resources> diff --git a/res/values-fa/cm_strings.xml b/res/values-fa/cm_strings.xml index b6ff0d547..8dbd5e601 100644 --- a/res/values-fa/cm_strings.xml +++ b/res/values-fa/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">فایل فرستاده نشد، تلاش مجدد\u2026</string> + <string name="upload_fail_waiting">فایل فرستاده نشد، تلاش مجدد\u2026</string> </resources> diff --git a/res/values-fi/cm_strings.xml b/res/values-fi/cm_strings.xml index bb216876f..e8e2d395b 100644 --- a/res/values-fi/cm_strings.xml +++ b/res/values-fi/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Toisesta laitteesta saapuva tiedosto. Vahvista tiedoston vastaanotto.</string> - <string name="upload_fail_waiting">Tiedoston lähetys epäonnistui, yritetään uudelleen\u2026</string> + <string name="incoming_file_toast_msg">Toisesta laitteesta saapuva tiedosto. Vahvista tiedoston vastaanotto.</string> + <string name="upload_fail_waiting">Tiedoston lähetys epäonnistui, yritetään uudelleen\u2026</string> </resources> diff --git a/res/values-en-rPT/strings.xml b/res/values-fil-rPH/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-en-rPT/strings.xml +++ b/res/values-fil-rPH/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-as-rIN/strings_pbap.xml b/res/values-fil-rPH/strings_pbap.xml index 55f5b837a..55f5b837a 100644 --- a/res/values-as-rIN/strings_pbap.xml +++ b/res/values-fil-rPH/strings_pbap.xml diff --git a/res/values-as-rIN/strings_sap.xml b/res/values-fil-rPH/strings_sap.xml index d242b5671..d242b5671 100644 --- a/res/values-as-rIN/strings_sap.xml +++ b/res/values-fil-rPH/strings_sap.xml diff --git a/res/values-fr-rCA/cm_strings.xml b/res/values-fr-rCA/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-fr-rCA/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml index 557352678..365c820f5 100644 --- a/res/values-fr/cm_strings.xml +++ b/res/values-fr/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Fichier en provenance d\'un autre appareil. Confirmez que vous voulez recevoir ce fichier.</string> - <string name="upload_fail_waiting">Impossible d\'envoyer le fichier, nouvelle tentative\u2026</string> + <string name="incoming_file_toast_msg">Fichier en provenance d\'un autre appareil. Confirmez que vous voulez recevoir ce fichier.</string> + <string name="upload_fail_waiting">Impossible d\'envoyer le fichier, nouvelle tentative\u2026</string> </resources> diff --git a/res/values-frp-rIT/strings.xml b/res/values-frp-rIT/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-frp-rIT/strings.xml +++ b/res/values-frp-rIT/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-fy-rNL/cm_strings.xml b/res/values-fy-rNL/cm_strings.xml index 29c1061f9..76ad47532 100644 --- a/res/values-fy-rNL/cm_strings.xml +++ b/res/values-fy-rNL/cm_strings.xml @@ -15,4 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">Ynkommend bestân fan in oar apparaat ôf. Befêstigje dat jo dit bestân ûntfange wolle.</string> + <string name="upload_fail_waiting">Kin bestân net ferstjoere, opnij probearje\u2026</string> +</resources> diff --git a/res/values-fy-rNL/strings_pbap.xml b/res/values-fy-rNL/strings_pbap.xml deleted file mode 100644 index 55f5b837a..000000000 --- a/res/values-fy-rNL/strings_pbap.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <!-- Notification message when a Bluetooth device wants to pair with us --> -</resources> diff --git a/res/values-fy-rNL/strings_sap.xml b/res/values-fy-rNL/strings_sap.xml deleted file mode 100644 index d242b5671..000000000 --- a/res/values-fy-rNL/strings_sap.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/res/values-ga-rIE/strings.xml b/res/values-ga-rIE/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-ga-rIE/strings.xml +++ b/res/values-ga-rIE/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-gd-rGB/cm_strings.xml b/res/values-gd-rGB/cm_strings.xml index 29c1061f9..38a19e37c 100644 --- a/res/values-gd-rGB/cm_strings.xml +++ b/res/values-gd-rGB/cm_strings.xml @@ -15,4 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="upload_fail_waiting">Cha ghabh am faidhle a chur, a’ feuchainn ris a-rithist...</string> +</resources> diff --git a/res/values-gd-rGB/strings.xml b/res/values-gd-rGB/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-gd-rGB/strings.xml +++ b/res/values-gd-rGB/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-gl-rES/cm_strings.xml b/res/values-gl-rES/cm_strings.xml index 005f57b3e..7aeba0d83 100644 --- a/res/values-gl-rES/cm_strings.xml +++ b/res/values-gl-rES/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Recibindo arquivo doutro dispositivo. Confirme se vostede desexa recibir este arquivo.</string> - <string name="upload_fail_waiting">Non se puido enviar o ficheiro, vólvese tentar\u2026</string> + <string name="incoming_file_toast_msg">Recibindo arquivo doutro dispositivo. Confirme se vostede desexa recibir este arquivo.</string> + <string name="upload_fail_waiting">Non se puido enviar o ficheiro, reintentando\u2026</string> </resources> diff --git a/res/values-gu-rIN/cm_strings.xml b/res/values-gu-rIN/cm_strings.xml index e24cf744d..7218685c7 100644 --- a/res/values-gu-rIN/cm_strings.xml +++ b/res/values-gu-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ફાઇલ મોકલવામાં અક્ષમ, પુનઃપ્રયાસ થાય છે\u2026</string> + <string name="upload_fail_waiting">ફાઇલ મોકલવામાં અક્ષમ, પુનઃપ્રયાસ થાય છે\u2026</string> </resources> diff --git a/res/values-hi/cm_strings.xml b/res/values-hi/cm_strings.xml index f1fea5ee6..c74876641 100644 --- a/res/values-hi/cm_strings.xml +++ b/res/values-hi/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">फ़ाइल नहीं भेज सके, फिर से कोशिश कर रहे हैं\u2026</string> + <string name="upload_fail_waiting">फ़ाइल नहीं भेज सके, फिर से कोशिश कर रहे हैं\u2026</string> </resources> diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index ac0397a5a..d151385da 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -129,5 +129,5 @@ <string name="bluetooth_map_settings_title" msgid="7420332483392851321">"ब्लूटूथ संदेश साझाकरण सेटिंग"</string> <string name="bluetooth_map_settings_no_account_slots_left" msgid="1796029082612965251">"खाता नहीं चुना जा सकता. 0 स्लॉट शेष"</string> <string name="bluetooth_connected" msgid="6718623220072656906">"ब्लूटूथ ऑडियो कनेक्ट किया गया"</string> - <string name="bluetooth_disconnected" msgid="3318303728981478873">"ब्लूटूथ ऑडियो डिस्कनेक्ट किया गया"</string> + <string name="bluetooth_disconnected" msgid="3318303728981478873">"ब्लूटूथ ऑडियो डिसकनेक्ट किया गया"</string> </resources> diff --git a/res/values-hi/strings_sap.xml b/res/values-hi/strings_sap.xml index 0cb376c8c..9e9d76e55 100644 --- a/res/values-hi/strings_sap.xml +++ b/res/values-hi/strings_sap.xml @@ -3,8 +3,8 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="bluetooth_sap_notif_title" msgid="6877860822993195074">"ब्लूटूथ सिम ऐक्सेस"</string> <string name="bluetooth_sap_notif_ticker" msgid="6807778527893726699">"ब्लूटूथ सिम ऐक्सेस"</string> - <string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"डिस्कनेक्ट करने के लिए क्लाइंट से अनुरोध करें?"</string> - <string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"डिस्कनेक्ट करने के लिए क्लाइंट की प्रतीक्षा की जा रही है"</string> - <string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"डिस्कनेक्ट करें"</string> - <string name="bluetooth_sap_notif_force_disconnect_button" msgid="8144086340185532030">"बलपूर्वक डिस्कनेक्ट करें"</string> + <string name="bluetooth_sap_notif_message" msgid="7138657801087500690">"डिसकनेक्ट करने के लिए क्लाइंट से अनुरोध करें?"</string> + <string name="bluetooth_sap_notif_disconnecting" msgid="819150843490233288">"डिसकनेक्ट करने के लिए क्लाइंट की प्रतीक्षा की जा रही है"</string> + <string name="bluetooth_sap_notif_disconnect_button" msgid="3678476872583356919">"डिसकनेक्ट करें"</string> + <string name="bluetooth_sap_notif_force_disconnect_button" msgid="8144086340185532030">"बलपूर्वक डिसकनेक्ट करें"</string> </resources> diff --git a/res/values-hr/cm_strings.xml b/res/values-hr/cm_strings.xml index f9fcdf5ae..a46d34714 100644 --- a/res/values-hr/cm_strings.xml +++ b/res/values-hr/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Dolazna datoteka s drugog uređaja. Potvrdite ako želite primiti ovu datoteku.</string> - <string name="upload_fail_waiting">Nije moguće poslati datoteku, ponovno pokušavanje\u2026</string> + <string name="incoming_file_toast_msg">Dolazna datoteka s drugog uređaja. Potvrdite ako želite primiti ovu datoteku.</string> + <string name="upload_fail_waiting">Nije moguće poslati datoteku, ponovno pokušavanje\u2026</string> </resources> diff --git a/res/values-hu/cm_strings.xml b/res/values-hu/cm_strings.xml index 03ba2edc8..8ba927f19 100644 --- a/res/values-hu/cm_strings.xml +++ b/res/values-hu/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Bejövő fájl egy másik készülékről. Erősítse meg, hogy szeretné-e fogadni.</string> - <string name="upload_fail_waiting">Fájl küldése sikertelen, újraküldés\u2026</string> + <string name="incoming_file_toast_msg">Bejövő fájl egy másik készülékről. Erősítse meg, hogy szeretné-e fogadni.</string> + <string name="upload_fail_waiting">Fájl küldése sikertelen, újraküldés\u2026</string> </resources> diff --git a/res/values-hy-rAM/cm_strings.xml b/res/values-hy-rAM/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-hy-rAM/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml index efef63b5c..a7f644a5a 100644 --- a/res/values-hy-rAM/strings.xml +++ b/res/values-hy-rAM/strings.xml @@ -19,7 +19,7 @@ <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Օգտվել ներբեռնման կառավարչից:"</string> <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Թույլ է տալիս, որ ծրագիրը մատչի BluetoothShare կառավարչին և այն օգտագործի ֆայլեր փոխանցելու համար:"</string> <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"Մուտք bluetooth սարքի ցուցակին:"</string> - <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Թույլ է տալիս, որ ծրագիրը ժամանակավորապես մաքրի Bluetooth սարքի ցուցակը, ինչը թույլ է տալիս, որ այդ սարքը կարողանա ֆայլեր ուղարկել տվյալ սարքին առանց օգտվողի հաստատման:"</string> + <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Թույլ է տալիս, որ ծրագիրը ժամանակավորապես մաքրի Bluetooth սարքի ցուցակը, ինչը թույլ է տալիս, որ այդ սարքը կարողանա ֆայլեր ուղարկել տվյալ սարքին առանց օգտատիրոջ հաստատման:"</string> <string name="bt_share_picker_label" msgid="6268100924487046932">"Bluetooth"</string> <string name="unknown_device" msgid="9221903979877041009">"Անհայտ սարք"</string> <string name="unknownNumber" msgid="4994750948072751566">"Անհայտ"</string> @@ -50,7 +50,7 @@ <string name="download_line2" msgid="5876973543019417712">"Ֆայլ՝ <xliff:g id="FILE">%1$s</xliff:g>"</string> <string name="download_line3" msgid="4384821622908676061">"Ֆայլի չափը՝ <xliff:g id="SIZE">%1$s</xliff:g>"</string> <string name="download_line4" msgid="8535996869722666525"></string> - <string name="download_line5" msgid="3069560415845295386">"Ֆայլը ստացվում է..."</string> + <string name="download_line5" msgid="3069560415845295386">"Ֆայլի ստացում..."</string> <string name="download_cancel" msgid="9177305996747500768">"Դադարեցնել"</string> <string name="download_ok" msgid="5000360731674466039">"Թաքցնել"</string> <string name="incoming_line1" msgid="2127419875681087545">"Ումից"</string> @@ -93,7 +93,7 @@ <string name="status_success" msgid="239573225847565868">"Ֆայլերի փոխանցումը հաջողությամբ ավարտվել է:"</string> <string name="status_not_accept" msgid="1695082417193780738">"Բովանդակությունը չի աջակցվում:"</string> <string name="status_forbidden" msgid="613956401054050725">"Փոխանցումն արգելված է նպատակային սարքի կողմից:"</string> - <string name="status_canceled" msgid="6664490318773098285">"Փոխանցումը չեղարկվել է օգտվողի կողմից:"</string> + <string name="status_canceled" msgid="6664490318773098285">"Փոխանցումը չեղարկվել է օգտատիրոջ կողմից:"</string> <string name="status_file_error" msgid="3671917770630165299">"Կրիչի խնդիր:"</string> <string name="status_no_sd_card" product="nosdcard" msgid="1112125377088421469">"USB կրիչ չկա:"</string> <string name="status_no_sd_card" product="default" msgid="5760944071743325592">"SD քարտ չկա: Տեղադրեք SD քարտ` փոխանցված ֆայլերը պահպանելու համար:"</string> diff --git a/res/values-in/cm_strings.xml b/res/values-in/cm_strings.xml index 1e3de9ded..bfa86487b 100644 --- a/res/values-in/cm_strings.xml +++ b/res/values-in/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Berkas masuk dari perangkat lain. Konfirmasi anda ingin menerima berkas ini.</string> - <string name="upload_fail_waiting">Tidak dapat mengirim berkas, mencoba kembali\u2026</string> + <string name="incoming_file_toast_msg">Berkas masuk dari perangkat lain. Konfirmasi anda ingin menerima berkas ini.</string> + <string name="upload_fail_waiting">Tidak dapat mengirim berkas, mencoba kembali\u2026</string> </resources> diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index fd810468e..6bd88d219 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -16,7 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Akses pengelola unduhan."</string> + <string name="permlab_bluetoothShareManager" msgid="311492132450338925">"Akses pengelola download."</string> <string name="permdesc_bluetoothShareManager" msgid="8930572979123190223">"Izinkan apl mengakses pengelola BluetoothShare dan menggunakannya untuk mentransfer file."</string> <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"Memasukkan akses perangkat bluetooth ke dalam daftar putih."</string> <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"Mengizinkan aplikasi memasukkan perangkat Bluetooth ke dalam daftar putih untuk sementara, yang memungkinkan perangkat tersebut mengirimkan file ke perangkat ini tanpa konfirmasi pengguna."</string> diff --git a/res/values-is-rIS/cm_strings.xml b/res/values-is-rIS/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-is-rIS/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-it/cm_strings.xml b/res/values-it/cm_strings.xml index 1294353f5..afa2cb26f 100644 --- a/res/values-it/cm_strings.xml +++ b/res/values-it/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">File in arrivo da un altro dispositivo. Conferma che vuoi ricevere questo file.</string> - <string name="upload_fail_waiting">Impossibile inviare file, riprovo\u2026</string> + <string name="incoming_file_toast_msg">File in arrivo da un altro dispositivo. Conferma che vuoi ricevere questo file.</string> + <string name="upload_fail_waiting">Impossibile inviare file, riprovo\u2026</string> </resources> diff --git a/res/values-iw/cm_strings.xml b/res/values-iw/cm_strings.xml index 30e8de452..b357baa3a 100644 --- a/res/values-iw/cm_strings.xml +++ b/res/values-iw/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">שליחת הקובץ נכשלה, מנסה שנית\u2026</string> + <string name="incoming_file_toast_msg">מכשיר אחר שולח אליך קובץ. נא אשר את קבלת הקובץ.</string> + <string name="upload_fail_waiting">שליחת הקובץ נכשלה, מנסה שנית\u2026</string> </resources> diff --git a/res/values-ja/cm_strings.xml b/res/values-ja/cm_strings.xml index d6556293c..2dc4e9b61 100644 --- a/res/values-ja/cm_strings.xml +++ b/res/values-ja/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">他の端末からファイルが送信されています。このファイルを受け取るかどうか確認してください。</string> - <string name="upload_fail_waiting">ファイルを送信できませんでした、再試行しています\u2026</string> + <string name="incoming_file_toast_msg">他の端末からファイルが送信されています。このファイルを受け取るかどうか確認してください。</string> + <string name="upload_fail_waiting">ファイルを送信できませんでした、再試行しています...</string> </resources> diff --git a/res/values-ka-rGE/cm_strings.xml b/res/values-ka-rGE/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-ka-rGE/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-kk-rKZ/cm_strings.xml b/res/values-kk-rKZ/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-kk-rKZ/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-km-rKH/cm_strings.xml b/res/values-km-rKH/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-km-rKH/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-kn-rIN/cm_strings.xml b/res/values-kn-rIN/cm_strings.xml index 754e4ce41..1437144e5 100644 --- a/res/values-kn-rIN/cm_strings.xml +++ b/res/values-kn-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ಕಡತ ಕಳುಹಿಸಲು ಸಾಧವಾಗುತ್ತಿಲ್ಲ, ಮರುಪ್ರಯತ್ನಿಸುತ್ತಿದೆ\u2026</string> + <string name="upload_fail_waiting">ಕಡತ ಕಳುಹಿಸಲು ಸಾಧವಾಗುತ್ತಿಲ್ಲ, ಮರುಪ್ರಯತ್ನಿಸುತ್ತಿದೆ\u2026</string> </resources> diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml index 3ad57a976..50e53de59 100644 --- a/res/values-kn-rIN/strings.xml +++ b/res/values-kn-rIN/strings.xml @@ -21,14 +21,14 @@ <string name="permlab_bluetoothWhitelist" msgid="7091552898592306386">"ಶ್ವೇತಪಟ್ಟಿ ಬ್ಲೂಟೂತ್ ಸಾಧನವನ್ನು ಪ್ರವೇಶಿಸಿ."</string> <string name="permdesc_bluetoothWhitelist" msgid="5494513855192170109">"ಬಳಕೆದಾರರ ದೃಢೀಕರಣ ಇಲ್ಲದೆ ಈ ಸಾಧನಕ್ಕೆ ಫೈಲ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಬ್ಲೂಟೂತ್ ಸಾಧನವನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ಶ್ವೇತಪಟ್ಟಿ ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string> <string name="bt_share_picker_label" msgid="6268100924487046932">"ಬ್ಲೂಟೂತ್"</string> - <string name="unknown_device" msgid="9221903979877041009">"ಅಜ್ಞಾತ ಸಾಧನ"</string> - <string name="unknownNumber" msgid="4994750948072751566">"ಅಜ್ಞಾತ"</string> + <string name="unknown_device" msgid="9221903979877041009">"ಅಪರಿಚಿತ ಸಾಧನ"</string> + <string name="unknownNumber" msgid="4994750948072751566">"ಅಪರಿಚಿತ"</string> <string name="airplane_error_title" msgid="2683839635115739939">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್"</string> <string name="airplane_error_msg" msgid="8698965595254137230">"ಏರ್ಪ್ಲೇನ್ ಮೋಡ್ನಲ್ಲಿ ನೀವು ಬ್ಲೂಟೂತ್ ಬಳಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string> <string name="bt_enable_title" msgid="8657832550503456572"></string> <string name="bt_enable_line1" msgid="7203551583048149">"ಬ್ಲೂಟೂತ್ ಸೇವೆಗಳನ್ನು ಬಳಸಲು, ಮೊದಲು ನೀವದನ್ನು ಆನ್ ಮಾಡಬೇಕು."</string> <string name="bt_enable_line2" msgid="4341936569415937994">"ಇದೀಗ ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡುವುದೇ?"</string> - <string name="bt_enable_cancel" msgid="1988832367505151727">"ರದ್ದುಮಾಡು"</string> + <string name="bt_enable_cancel" msgid="1988832367505151727">"ರದ್ದುಮಾಡಿ"</string> <string name="bt_enable_ok" msgid="3432462749994538265">"ಆನ್ ಮಾಡು"</string> <string name="incoming_file_confirm_title" msgid="8139874248612182627">"ಫೈಲ್ ವರ್ಗಾವಣೆ"</string> <string name="incoming_file_confirm_content" msgid="2752605552743148036">"ಒಳಬರುವ ಫೈಲ್ಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದೇ?"</string> @@ -99,7 +99,7 @@ <string name="status_no_sd_card" product="default" msgid="5760944071743325592">"ಯಾವುದೇ SD ಕಾರ್ಡ್ಗಳಿಲ್ಲ. ವರ್ಗಾವಣೆ ಮಾಡಲಾದ ಫೈಲ್ಗಳನ್ನು ಉಳಿಸಲು SD ಕಾರ್ಡ್ವೊಂದನ್ನು ಸೇರಿಸಿ."</string> <string name="status_connection_error" msgid="947681831523219891">"ಸಂಪರ್ಕವು ವಿಫಲವಾಗಿದೆ."</string> <string name="status_protocol_error" msgid="3245444473429269539">"ವಿನಂತಿಯನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಲಾಗುವುದಿಲ್ಲ."</string> - <string name="status_unknown_error" msgid="8156660554237824912">"ಅಜ್ಞಾತ ದೋಷ."</string> + <string name="status_unknown_error" msgid="8156660554237824912">"ಅಪರಿಚಿತ ದೋಷ."</string> <string name="btopp_live_folder" msgid="7967791481444474554">"ಬ್ಲೂಟೂತ್ ಸ್ವೀಕರಿಸಲಾಗಿದೆ"</string> <string name="download_success" msgid="7036160438766730871">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> ಸ್ವೀಕರಿಸುವುದು ಪೂರ್ಣಗೊಂಡಿದೆ."</string> <string name="upload_success" msgid="4014469387779648949">"<xliff:g id="FILE_SIZE">%1$s</xliff:g> ಕಳುಹಿಸುವುದು ಪೂರ್ಣಗೊಂಡಿದೆ."</string> @@ -122,7 +122,7 @@ <string name="transfer_menu_clear" msgid="5854038118831427492">"ಪಟ್ಟಿಯಿಂದ ತೆರವುಗೊಳಿಸಿ"</string> <string name="transfer_clear_dlg_title" msgid="2953444575556460386">"ತೆರವುಗೊಳಿಸು"</string> <string name="bluetooth_map_settings_save" msgid="7635491847388074606">"ಉಳಿಸು"</string> - <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ರದ್ದುಮಾಡು"</string> + <string name="bluetooth_map_settings_cancel" msgid="9205350798049865699">"ರದ್ದುಮಾಡಿ"</string> <string name="bluetooth_map_settings_intro" msgid="6482369468223987562">"ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುವ ಖಾತೆಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಸಂಪರ್ಕಪಡಿಸುವಾಗ ಖಾತೆಗಳಿಗೆ ಯಾವುದೇ ಪ್ರವೇಶವನ್ನು ನೀವು ಈಗಲೂ ಸಮ್ಮತಿಸಬೇಕಾಗುತ್ತದೆ."</string> <string name="bluetooth_map_settings_count" msgid="4557473074937024833">"ಉಳಿದಿರುವ ಸ್ಲಾಟ್ಗಳು:"</string> <string name="bluetooth_map_settings_app_icon" msgid="7105805610929114707">"ಅಪ್ಲಿಕೇಶನ್ ಐಕಾನ್"</string> diff --git a/res/values-kn-rIN/strings_pbap_client.xml b/res/values-kn-rIN/strings_pbap_client.xml index 186b23ae3..ced3f079e 100644 --- a/res/values-kn-rIN/strings_pbap_client.xml +++ b/res/values-kn-rIN/strings_pbap_client.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="pbap_account_type" msgid="6257077123906049322">"com.android.bluetooth.pbapsink"</string> + <string name="pbap_account_type" msgid="6257077123906049322">"com.android.ಬ್ಲೂಟೂತ್.pbapsink"</string> </resources> diff --git a/res/values-ko/cm_strings.xml b/res/values-ko/cm_strings.xml index 6f704e2ec..9ec8bef2a 100644 --- a/res/values-ko/cm_strings.xml +++ b/res/values-ko/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">파일 전송 실패, 재시도 중\u2026</string> + <string name="incoming_file_toast_msg">다른 기기에서 파일을 전송 중입니다. 이 파일을 수신할 것인지 확인하세요.</string> + <string name="upload_fail_waiting">파일 전송 실패, 다시 시도하는 중\u2026</string> </resources> diff --git a/res/values-ku/cm_strings.xml b/res/values-ku/cm_strings.xml index 2852fe0ef..ace94750a 100644 --- a/res/values-ku/cm_strings.xml +++ b/res/values-ku/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ناتوانرێت فایل بنێردرێت، دوبارەهەوڵبەرەوە\u2026</string> + <string name="upload_fail_waiting">ناتوانرێت فایل بنێردرێت، دوبارەهەوڵبەرەوە\u2026</string> </resources> diff --git a/res/values-ku/strings.xml b/res/values-ku/strings.xml index 4b7692679..d4da2a750 100644 --- a/res/values-ku/strings.xml +++ b/res/values-ku/strings.xml @@ -15,188 +15,99 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <string name="permlab_bluetoothShareManager">ڕێگەدانی بەڕێوەبەرایەتی دابەزین.</string> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <string name="permdesc_bluetoothShareManager">ڕێگەدان بە بەرنامەکە بۆ ڕێگە بەشداری + <string name="permlab_bluetoothShareManager">ڕێگەدانی بەڕێوەبەرایەتی دابەزین.</string> + <string name="permdesc_bluetoothShareManager">ڕێگەدان بە بەرنامەکە بۆ ڕێگە بەشداری بەڕێوەبەری بلوتوس و بەکارهێنانی ناردنی پەڕگە.</string> - <string name="permlab_bluetoothWhitelist">ڕێگەکانی ئامێری بلوتوس.</string> - <string name="permdesc_bluetoothWhitelist">بۆ بەرنامە بە شێوەيەكى كاتى ڕێ دەدات بە وهيتێليست + <string name="permlab_bluetoothWhitelist">ڕێگەکانی ئامێری بلوتوس.</string> + <string name="permdesc_bluetoothWhitelist">بۆ بەرنامە بە شێوەيەكى كاتى ڕێ دەدات بە وهيتێليست ئامرازێكى بلوێتوث، ڕێدان بەى ئەوە ئامراز تا بۆ ئەمە ئامرازى فايل بەبێ بەكاربەر بنێرێت دووپات كردن.</string> - <!-- string showed on "Share picutre via" dialog --> - <string name="bt_share_picker_label">بلوتوس</string> - <!-- string for "unknown device" --> - <string name="unknown_device">ئامێری نەناسراو</string> - <!-- string for "unknown" phone number" --> - <string name="unknownNumber">نەناسراو</string> - <!-- string for "the title of airplane mode error" --> - <string name="airplane_error_title">شێوازی فڕۆکە</string> - <!-- string for "error message in airplane mode" --> - <string name="airplane_error_msg">ناتوانی بلوتوس بەکاربهێنی لە باری فڕۆکە.</string> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <string name="bt_enable_line1">بۆ بەکارهێنانی خزمەتگوزاری بلوتوس ئەبێت بلوتوسەکە بکەیتەوە.</string> - <!--Line 2 --> - <string name="bt_enable_line2">ئێستا چالاککردنی بلوتوس?</string> - <!-- Label for a cancel button. --> - <string name="bt_enable_cancel">هەڵوەشاندنەوە</string> - <!-- Label for a confirm button.--> - <string name="bt_enable_ok">کردنە کار</string> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <string name="incoming_file_confirm_title">گواستنهوهی پهڕگه</string> - <!--content --> - <!-- Label for a cancel button. --> - <string name="incoming_file_confirm_cancel">ڕەتکردنەوە</string> - <!-- Label for a confirm button.--> - <string name="incoming_file_confirm_ok">ڕازیبوون</string> - <!-- Label for timeout OK button.--> - <string name="incoming_file_confirm_timeout_ok">باشه</string> - <!-- content for timeout--> - <string name="incoming_file_confirm_timeout_content">کاتەکە بەسەر چووکاتێک پەڕگەکەت قبولکردن هات \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <string name="notification_receiving">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> - <!-- label for the notification item of received file --> - <string name="notification_received">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> - <!-- label for the notification item of failed receiving file --> - <string name="notification_received_fail">بەشداریکردنی بلوتوس: File <xliff:g id="file">%1$s</xliff:g> نەگەیشت</string> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <string name="notification_sending">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> - <!-- label for the notification item of sent file --> - <string name="notification_sent">بەشداریکردنی بلوتوس: گەیشت<xliff:g id="file">%1$s</xliff:g></string> - <!-- label for the notification item of sent file -status --> - <string name="notification_sent_complete">100% تەواوبوو</string> - <!-- label for the notification item of failed sending file --> - <string name="notification_sent_fail">بەشداری بلوتوس: پەڕگە<xliff:g id="file">%1$s</xliff:g> نەگەیشت</string> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <string name="download_title">گواستنهوهی پەڕگە</string> - <!--Line 1 --> - <string name="download_line1">لە: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <!--Line 2 --> - <string name="download_line2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_line3">قەبارەی فایلەکە: <xliff:g id="size">%1$s</xliff:g></string> - <!--Line 4 --> - <string name="download_line4"></string> - <string name="download_line5">وەرگرتنی پەڕگە\u2026</string> - <!-- Label for a cancel button. --> - <string name="download_cancel">وهستاندن</string> - <!-- Label for a hide button.--> - <string name="download_ok">شاردنەوە</string> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <string name="download_fail_line1">فایلەکە نەگەیشت</string> - <!--Line 2 --> - <string name="download_fail_line2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_fail_line3">هۆکار: <xliff:g id="reason">%1$s</xliff:g></string> - <!-- Label for ok button.--> - <string name="download_fail_ok">باشه</string> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <string name="download_succ_line5">فایلەکە گەیشت</string> - <!-- Label for a OK button.--> - <string name="download_succ_ok">کردنهوه</string> - <!-- Bluetooth Upload Progress Dialog --> - <string name="upload_line1">بۆ: \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> - <string name="upload_line3">جۆری پەڕگە: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> - <string name="upload_line5">ناردنی پەڕگە\u2026</string> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <string name="upload_succ_line5">فایلەکە نێردرا</string> - <!-- Label for a confirm button.--> - <string name="upload_succ_ok">باشه</string> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <string name="upload_fail_line1">فایلەکە نەنێردرا بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022.</string> - <string name="upload_fail_line1_2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> - <!-- Label for a try again button.--> - <string name="upload_fail_ok">دوبارە هەوڵبدەرەوە</string> - <!-- Label for a cancel button.--> - <string name="upload_fail_cancel">داخستن</string> - <!-- Bluetooth error dialog --> - <string name="bt_error_btn_ok">باشه</string> - <string name="unknown_file">فایلی نەناسراو</string> - <string name="unknown_file_desc">بەرنامەیەک نیە بۆ هەڵگرتنی ئەم جۆرە فایلە. \n</string> - <string name="not_exist_file">پەڕگە نیە</string> - <string name="not_exist_file_desc">فایلەکە بونی نیە. \n</string> - <!-- Bluetooth Enabling progress dialog --> - <string name="enabling_progress_title">تکایە چاوەڕێبکە\u2026</string> - <string name="enabling_progress_content">چالاککردنی بلوتوس\u2026</string> - <!-- Bluetooth Toast Message --> - <string name="bt_toast_1">فەیلەکە ئەگەیەت. پشکنینی تێبینی.</string> - <string name="bt_toast_2">فایلەکە ناتوانرێت بنێردرێت.</string> - <string name="bt_toast_3">گەیشتنی فایلەکە وەستا لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <string name="bt_toast_4">ناردنی بەرنامەکە بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> - <string name="bt_toast_5">ناردن <xliff:g id="number">%1$s</xliff:g> فایل بۆ \u0022<xliff:g id="recipient">%2$s</xliff:g>\u0022</string> - <string name="bt_toast_6">وەستاندنی فایل ناردن بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <string name="bt_sm_2_1" product="nosdcard">بیرگەی تەواو لەبەردەست نیە بۆ پاشەکەوتکردنی فایلەکە لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <!-- Bluetooth System Messages --> - <string name="bt_sm_2_1" product="default">بیرگەی تەواو لەبەردەست نیە بۆ پاشەکەوتکردنی فایلەکە لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <string name="bt_sm_2_2">بۆشایی پێوستە: <xliff:g id="size">%1$s</xliff:g></string> - <string name="ErrorTooManyRequests">زۆر داواکاری لە ڕێکخەریدان. دواتر هەوڵبدەوە.</string> - <!-- Bluetooth Transfer Failure Reason --> - <string name="status_pending">گواستنەوەی فایلەکە دەستی پێ نەکردوە هێشتا.</string> - <string name="status_running">ڕۆیشتنی پەڕگە ناردنەکە.</string> - <string name="status_success">گواستنەوەی فایلەکە بەسەرکەوتوی تەواوبوو.</string> - <string name="status_not_accept">ناوەڕۆک پاڵپشتی ناکات.</string> - <string name="status_forbidden">گواستنەوەکە قەدەغەکراوە لەلایەن ئامێری نیشانەوە.</string> - <string name="status_canceled">گواستنەوەکە پوچەڵکرایەوە لەلایەن بەکارهێنەرەوە.</string> - <string name="status_file_error">کێشەی بیرگە.</string> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <string name="status_no_sd_card" product="nosdcard">بیرگەی ناوەکی نیە.</string> - <string name="status_no_sd_card" product="default">بیرگەی دەرەکی نیە. بیرگەیەکی تێبکە بۆ گواستنەوەی فایلەکان.</string> - <string name="status_connection_error">بەستنەوەکە سەرکەوتونەبو.</string> - <string name="status_protocol_error">داواکردنەکە ناتوانرێت بەتەواوی بکرێت.</string> - <string name="status_unknown_error">ههڵهی نهزانراو.</string> - <!-- Bluetooth OPP Live Folder --> - <string name="btopp_live_folder">وهرگیراوهکان</string> - <!-- Bluetooth OPP Transfer History --> - <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> گەیشتنەکە تەواوبو.</string> - <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> گەیشتنەکە تەواوبو.</string> - <string name="inbound_history_title">نەبەستنەوەی گواستنەوە</string> - <string name="outbound_history_title">گواستنەوەی بەرەودەرەوە</string> - <string name="no_transfers">تۆماری وهرگیراوهکان بهتاڵه.</string> - <string name="transfer_clear_dlg_msg">هەموو ئامرازەکان پاک ئەکرێنەوە لە خشتەکە.</string> - <string name="outbound_noti_title">بەشداری بلوتوس: فایلەکە نێردرا</string> - <string name="inbound_noti_title">بەشداری بلوتوس: فایلەکە گەیشت</string> - <string name="transfer_menu_clear_all">پاکردنەوەی خشتەکە</string> - <string name="transfer_menu_open">کردنهوه</string> - <string name="transfer_menu_clear">پاکردنەوە لە خشتەکە</string> - <string name="transfer_clear_dlg_title">پاککردنهوه</string> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <string name="bluetooth_map_settings_cancel">هەڵوەشاندنەوە</string> + <string name="bt_share_picker_label">بلوتوس</string> + <string name="unknown_device">ئامێری نەناسراو</string> + <string name="unknownNumber">نەناسراو</string> + <string name="airplane_error_title">شێوازی فڕۆکە</string> + <string name="airplane_error_msg">ناتوانی بلوتوس بەکاربهێنی لە باری فڕۆکە.</string> + <string name="bt_enable_line1">بۆ بەکارهێنانی خزمەتگوزاری بلوتوس ئەبێت بلوتوسەکە بکەیتەوە.</string> + <string name="bt_enable_line2">ئێستا چالاککردنی بلوتوس?</string> + <string name="bt_enable_cancel">هەڵوەشاندنەوە</string> + <string name="bt_enable_ok">کردنە کار</string> + <string name="incoming_file_confirm_title">گواستنهوهی پهڕگه</string> + <string name="incoming_file_confirm_cancel">ڕەتکردنەوە</string> + <string name="incoming_file_confirm_ok">ڕازیبوون</string> + <string name="incoming_file_confirm_timeout_ok">باشه</string> + <string name="incoming_file_confirm_timeout_content">کاتەکە بەسەر چووکاتێک پەڕگەکەت قبولکردن هات \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="notification_receiving">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_received_fail">بەشداریکردنی بلوتوس: File <xliff:g id="file">%1$s</xliff:g> نەگەیشت</string> + <string name="notification_sending">بەشداریکردنی بلوتوس: وەرگرتن<xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent">بەشداریکردنی بلوتوس: گەیشت<xliff:g id="file">%1$s</xliff:g></string> + <string name="notification_sent_complete">100% تەواوبوو</string> + <string name="notification_sent_fail">بەشداری بلوتوس: پەڕگە<xliff:g id="file">%1$s</xliff:g> نەگەیشت</string> + <string name="download_title">گواستنهوهی پەڕگە</string> + <string name="download_line1">لە: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="download_line2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_line3">قەبارەی فایلەکە: <xliff:g id="size">%1$s</xliff:g></string> + <string name="download_line5">وەرگرتنی پەڕگە\u2026</string> + <string name="download_cancel">وهستاندن</string> + <string name="download_ok">شاردنەوە</string> + <string name="download_fail_line1">فایلەکە نەگەیشت</string> + <string name="download_fail_line2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_fail_line3">هۆکار: <xliff:g id="reason">%1$s</xliff:g></string> + <string name="download_fail_ok">باشه</string> + <string name="download_succ_line5">فایلەکە گەیشت</string> + <string name="download_succ_ok">کردنهوه</string> + <string name="upload_line1">بۆ: \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="upload_line3">جۆری پەڕگە: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> + <string name="upload_line5">ناردنی پەڕگە\u2026</string> + <string name="upload_succ_line5">فایلەکە نێردرا</string> + <string name="upload_succ_ok">باشه</string> + <string name="upload_fail_line1">فایلەکە نەنێردرا بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022.</string> + <string name="upload_fail_line1_2">پەڕگە: <xliff:g id="file">%1$s</xliff:g></string> + <string name="upload_fail_ok">دوبارە هەوڵبدەرەوە</string> + <string name="upload_fail_cancel">داخستن</string> + <string name="bt_error_btn_ok">باشه</string> + <string name="unknown_file">فایلی نەناسراو</string> + <string name="unknown_file_desc">بەرنامەیەک نیە بۆ هەڵگرتنی ئەم جۆرە فایلە. \n</string> + <string name="not_exist_file">پەڕگە نیە</string> + <string name="not_exist_file_desc">فایلەکە بونی نیە. \n</string> + <string name="enabling_progress_title">تکایە چاوەڕێبکە\u2026</string> + <string name="enabling_progress_content">چالاککردنی بلوتوس\u2026</string> + <string name="bt_toast_1">فەیلەکە ئەگەیەت. پشکنینی تێبینی.</string> + <string name="bt_toast_2">فایلەکە ناتوانرێت بنێردرێت.</string> + <string name="bt_toast_3">گەیشتنی فایلەکە وەستا لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_toast_4">ناردنی بەرنامەکە بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="bt_toast_5">ناردن <xliff:g id="number">%1$s</xliff:g> فایل بۆ \u0022<xliff:g id="recipient">%2$s</xliff:g>\u0022</string> + <string name="bt_toast_6">وەستاندنی فایل ناردن بۆ \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_1" product="nosdcard">بیرگەی تەواو لەبەردەست نیە بۆ پاشەکەوتکردنی فایلەکە لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_1" product="default">بیرگەی تەواو لەبەردەست نیە بۆ پاشەکەوتکردنی فایلەکە لە \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="bt_sm_2_2">بۆشایی پێوستە: <xliff:g id="size">%1$s</xliff:g></string> + <string name="ErrorTooManyRequests">زۆر داواکاری لە ڕێکخەریدان. دواتر هەوڵبدەوە.</string> + <string name="status_pending">گواستنەوەی فایلەکە دەستی پێ نەکردوە هێشتا.</string> + <string name="status_running">ڕۆیشتنی پەڕگە ناردنەکە.</string> + <string name="status_success">گواستنەوەی فایلەکە بەسەرکەوتوی تەواوبوو.</string> + <string name="status_not_accept">ناوەڕۆک پاڵپشتی ناکات.</string> + <string name="status_forbidden">گواستنەوەکە قەدەغەکراوە لەلایەن ئامێری نیشانەوە.</string> + <string name="status_canceled">گواستنەوەکە پوچەڵکرایەوە لەلایەن بەکارهێنەرەوە.</string> + <string name="status_file_error">کێشەی بیرگە.</string> + <string name="status_no_sd_card" product="nosdcard">بیرگەی ناوەکی نیە.</string> + <string name="status_no_sd_card" product="default">بیرگەی دەرەکی نیە. بیرگەیەکی تێبکە بۆ گواستنەوەی فایلەکان.</string> + <string name="status_connection_error">بەستنەوەکە سەرکەوتونەبو.</string> + <string name="status_protocol_error">داواکردنەکە ناتوانرێت بەتەواوی بکرێت.</string> + <string name="status_unknown_error">ههڵهی نهزانراو.</string> + <string name="btopp_live_folder">وهرگیراوهکان</string> + <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> گەیشتنەکە تەواوبو.</string> + <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> گەیشتنەکە تەواوبو.</string> + <string name="inbound_history_title">نەبەستنەوەی گواستنەوە</string> + <string name="outbound_history_title">گواستنەوەی بەرەودەرەوە</string> + <string name="no_transfers">تۆماری وهرگیراوهکان بهتاڵه.</string> + <string name="transfer_clear_dlg_msg">هەموو ئامرازەکان پاک ئەکرێنەوە لە خشتەکە.</string> + <string name="outbound_noti_title">بەشداری بلوتوس: فایلەکە نێردرا</string> + <string name="inbound_noti_title">بەشداری بلوتوس: فایلەکە گەیشت</string> + <string name="transfer_menu_clear_all">پاکردنەوەی خشتەکە</string> + <string name="transfer_menu_open">کردنهوه</string> + <string name="transfer_menu_clear">پاکردنەوە لە خشتەکە</string> + <string name="transfer_clear_dlg_title">پاککردنهوه</string> + <string name="bluetooth_map_settings_cancel">هەڵوەشاندنەوە</string> </resources> diff --git a/res/values-ku/strings_pbap.xml b/res/values-ku/strings_pbap.xml index a0f50fdfd..7c06a5640 100644 --- a/res/values-ku/strings_pbap.xml +++ b/res/values-ku/strings_pbap.xml @@ -1,17 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="pbap_session_key_dialog_title">کلیلی تر بنوسە بۆ %1$s</string> - <string name="pbap_session_key_dialog_header">کلیلێکی تر پێویستە بۆ بلوتوس</string> - <string name="pbap_acceptance_timeout_message">کات تهواو بوو بۆ پهیوهندی کردن لهگهڵ %1$s</string> - <string name="pbap_authentication_timeout_message">کات تهواو بوو بۆ پهیوهندی کردن لهگهڵ %1$s</string> - <string name="auth_notif_ticker">داواکاری ناساندنی ئۆبیکس</string> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <string name="auth_notif_title">کلیلی تر</string> - <!-- Notification message when a Bluetooth device wants to pair with us --> - <string name="auth_notif_message">کلیلی تر بنووسه بۆ %1$s</string> - <string name="defaultname">کارکیت</string> - <string name="unknownName">ناوی نهزانراو</string> - <string name="localPhoneName">ناوی من</string> - <string name="defaultnumber">000000</string> + <string name="pbap_session_key_dialog_title">کلیلی تر بنوسە بۆ %1$s</string> + <string name="pbap_session_key_dialog_header">کلیلێکی تر پێویستە بۆ بلوتوس</string> + <string name="pbap_acceptance_timeout_message">کات تهواو بوو بۆ پهیوهندی کردن لهگهڵ %1$s</string> + <string name="pbap_authentication_timeout_message">کات تهواو بوو بۆ پهیوهندی کردن لهگهڵ %1$s</string> + <string name="auth_notif_ticker">داواکاری ناساندنی ئۆبیکس</string> + <string name="auth_notif_title">کلیلی تر</string> + <string name="auth_notif_message">کلیلی تر بنووسه بۆ %1$s</string> + <string name="defaultname">کارکیت</string> + <string name="unknownName">ناوی نهزانراو</string> + <string name="localPhoneName">ناوی من</string> + <string name="defaultnumber">000000</string> </resources> diff --git a/res/values-ku/strings_sap.xml b/res/values-ku/strings_sap.xml deleted file mode 100644 index d242b5671..000000000 --- a/res/values-ku/strings_sap.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/res/values-ky-rKG/cm_strings.xml b/res/values-ky-rKG/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-ky-rKG/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-lb/cm_strings.xml b/res/values-lb/cm_strings.xml index b8fcc81e8..49ec7ded6 100644 --- a/res/values-lb/cm_strings.xml +++ b/res/values-lb/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Konnt de Fichier net schécken, gëtt nees probéiert\u2026</string> + <string name="upload_fail_waiting">Konnt de Fichier net schécken, gëtt nees probéiert\u2026</string> </resources> diff --git a/res/values-lb/strings.xml b/res/values-lb/strings.xml index 0ca8c49fa..0ed60ccc9 100644 --- a/res/values-lb/strings.xml +++ b/res/values-lb/strings.xml @@ -15,197 +15,109 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <string name="permlab_bluetoothShareManager">Zougrëff op den Download-Manager</string> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <string name="permdesc_bluetoothShareManager">Erlaabt der App, op de BluetoothShare-Manager zouzegräifen an e fir Fichiersiwwerdroungen ze benotzen.</string> - <string name="permlab_bluetoothWhitelist">Bluetooth-Apparat op d\'Zougrëffslëscht setzen</string> - <string name="permdesc_bluetoothWhitelist">Erlaabt der App, temporär e Bluetooth-Apparat op d\'wäiss Lëscht ze setzen, sou datt vun deem Apparat e Fichier kann empfaange ginn ouni datt de Benotzer d\'Iwwerdroung bestätege muss.</string> - <!-- string showed on "Share picutre via" dialog --> - <string name="bt_share_picker_label">Bluetooth</string> - <!-- string for "unknown device" --> - <string name="unknown_device">Onbekannten Apparat</string> - <!-- string for "unknown" phone number" --> - <string name="unknownNumber">Onbekannt</string> - <!-- string for "the title of airplane mode error" --> - <string name="airplane_error_title">Fligermodus</string> - <!-- string for "error message in airplane mode" --> - <string name="airplane_error_msg">Du kanns Bluetooth net am Fligermodus benotzen.</string> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <string name="bt_enable_line1">Fir Bluetooth-Servicer ze benotze muss du fir d\'éischt Bluetooth uschalten.</string> - <!--Line 2 --> - <string name="bt_enable_line2">Bluetooth elo uschalten?</string> - <!-- Label for a cancel button. --> - <string name="bt_enable_cancel">Ofbriechen</string> - <!-- Label for a confirm button.--> - <string name="bt_enable_ok">Uschalten</string> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <string name="incoming_file_confirm_title">Fichiersiwwerdroung</string> - <!--content --> - <string name="incoming_file_confirm_content">Erakommende Fichier acceptéieren?</string> - <!-- Label for a cancel button. --> - <string name="incoming_file_confirm_cancel">Refuséieren</string> - <!-- Label for a confirm button.--> - <string name="incoming_file_confirm_ok">Acceptéieren</string> - <!-- Label for timeout OK button.--> - <string name="incoming_file_confirm_timeout_ok">OK</string> - <!-- content for timeout--> - <string name="incoming_file_confirm_timeout_content">D\'Zäit ass beim Empfänke vun engem Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ofgelaf</string> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <string name="notification_receiving">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> gëtt empfaangen</string> - <!-- label for the notification item of received file --> - <string name="notification_received">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> empfaangen</string> - <!-- label for the notification item of failed receiving file --> - <string name="notification_received_fail">Bluetooth-Fräigab: Fichier <xliff:g id="file">%1$s</xliff:g> net empfaangen</string> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <string name="notification_sending">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> gëtt geschéckt</string> - <!-- label for the notification item of sent file --> - <string name="notification_sent">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> geschéckt</string> - <!-- label for the notification item of sent file -status --> - <string name="notification_sent_complete">100 % ofgeschloss</string> - <!-- label for the notification item of failed sending file --> - <string name="notification_sent_fail">Bluetooth-Fräigab: Fichier <xliff:g id="file">%1$s</xliff:g> net geschéckt</string> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <string name="download_title">Fichiersiwwerdroung</string> - <!--Line 1 --> - <string name="download_line1">Vum: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> - <!--Line 2 --> - <string name="download_line2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_line3">Fichiersgréisst: <xliff:g id="size">%1$s</xliff:g></string> - <!--Line 4 --> - <string name="download_line4"></string> - <string name="download_line5">Fichier gëtt empfaangen\u2026</string> - <!-- Label for a cancel button. --> - <string name="download_cancel">Stoppen</string> - <!-- Label for a hide button.--> - <string name="download_ok">Verstoppen</string> - <!--Line 1 --> - <string name="incoming_line1">Vum</string> - <!--Line 2 --> - <string name="incoming_line2">Fichiersnumm</string> - <!--Line 3 --> - <string name="incoming_line3">Gréisst</string> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <string name="download_fail_line1">Fichier net empfaangen</string> - <!--Line 2 --> - <string name="download_fail_line2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_fail_line3">Grond: <xliff:g id="reason">%1$s</xliff:g></string> - <!-- Label for ok button.--> - <string name="download_fail_ok">OK</string> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <string name="download_succ_line5">Fichier empfaangen</string> - <!-- Label for a OK button.--> - <string name="download_succ_ok">Opmaachen</string> - <!-- Bluetooth Upload Progress Dialog --> - <string name="upload_line1">Un: \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> - <string name="upload_line3">Fichierstyp: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> - <string name="upload_line5">Fichier gëtt geschéckt\u2026</string> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <string name="upload_succ_line5">Fichier geschéckt</string> - <!-- Label for a confirm button.--> - <string name="upload_succ_ok">OK</string> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <string name="upload_fail_line1">De Fichier gouf net un den/d\' \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022 geschéckt.</string> - <string name="upload_fail_line1_2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> - <!-- Label for a try again button.--> - <string name="upload_fail_ok">Probéier nees</string> - <!-- Label for a cancel button.--> - <string name="upload_fail_cancel">Zoumaachen</string> - <!-- Bluetooth error dialog --> - <string name="bt_error_btn_ok">OK</string> - <string name="unknown_file">Onbekannte Fichier</string> - <string name="unknown_file_desc">Et gëtt keng App déi mat dësem Typ vu Fichier kann ëmgoen.\n</string> - <string name="not_exist_file">Kee Fichier</string> - <string name="not_exist_file_desc">De Fichier existéiert net. \n</string> - <!-- Bluetooth Enabling progress dialog --> - <string name="enabling_progress_title">Waart w.e.g.\u2026</string> - <string name="enabling_progress_content">Bluetooth gëtt ugemaach\u2026</string> - <!-- Bluetooth Toast Message --> - <string name="bt_toast_1">De Fichier gëtt empfaangen. De Fortschrëtt gëtt am Notifikatiouns-Panneau ugewisen.</string> - <string name="bt_toast_2">De Fichier kann net empfaange ginn.</string> - <string name="bt_toast_3">D\'Empfänke vum Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 gouf gestoppt</string> - <string name="bt_toast_4">Fichier gëtt un den Apparat \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022 geschéckt</string> - <string name="bt_toast_5"><xliff:g id="number">%1$s</xliff:g> Fichiere ginn un den Apparat \u0022<xliff:g id="recipient">%2$s</xliff:g>\u0022 geschéckt</string> - <string name="bt_toast_6">D\'Schécke vum Fichier un den Apparat \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 gouf gestoppt</string> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <string name="bt_sm_2_1" product="nosdcard">Et ass net genuch Plaz um USB-Späicher fir de Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ze späicheren</string> - <!-- Bluetooth System Messages --> - <string name="bt_sm_2_1" product="default">Et ass net genuch Späicherplaz op der SD-Kaart fir de Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ze späicheren</string> - <string name="bt_sm_2_2">Néideg Plaz: <xliff:g id="size">%1$s</xliff:g></string> - <string name="ErrorTooManyRequests">Et ginn ze vill Ufroe beaarbecht. Probéier méi spéit nees.</string> - <!-- Bluetooth Transfer Failure Reason --> - <string name="status_pending">Iwwerdroung vu Fichieren nach net gestart.</string> - <string name="status_running">Iwwerdroung vu Fichiere leeft.</string> - <string name="status_success">Iwwerdroung vu Fichieren erfollegräich ofgeschloss.</string> - <string name="status_not_accept">Inhalt net ënnerstëtzt.</string> - <string name="status_forbidden">Iwwerdroung duerch den Zilapparat verbueden.</string> - <string name="status_canceled">Iwwerdroung duerch de Benotzer ofgebrach.</string> - <string name="status_file_error">Späicherproblem.</string> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <string name="status_no_sd_card" product="nosdcard">Keen USB-Späicher.</string> - <string name="status_no_sd_card" product="default">Keng SD-Kaart. Schléiss eng SD-Kaart un, fir déi transferéiert Fichieren ze späicheren.</string> - <string name="status_connection_error">Connectioun feelgeschloen.</string> - <string name="status_protocol_error">D\'Ufro kann net korrekt behandelt ginn.</string> - <string name="status_unknown_error">Onbekannte Feeler.</string> - <!-- Bluetooth OPP Live Folder --> - <string name="btopp_live_folder">Bluetooth empfaangen</string> - <!-- Bluetooth OPP Transfer History --> - <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> vollstänneg empfaangen.</string> - <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> vollstänneg geschéckt.</string> - <string name="inbound_history_title">Erakommend Iwwerdroungen</string> - <string name="outbound_history_title">Erausgoend Iwwerdroungen</string> - <string name="no_transfers">Den Iwwerdroungshistorique ass eidel.</string> - <string name="transfer_clear_dlg_msg">All d\'Elementer ginn aus der Lëscht erausgeholl.</string> - <string name="outbound_noti_title">Bluetooth-Fräigab: Geschéckt Fichieren</string> - <string name="inbound_noti_title">Bluetooth-Fräigab: Emfaange Fichieren</string> - <plurals name="noti_caption_unsuccessful"> - <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> net erfollegräich.</item> - <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> net erfollegräich.</item> - </plurals> - <plurals name="noti_caption_success"> - <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> erfollegräich, %2$s</item> - <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> erfollegräich, %2$s</item> - </plurals> - <string name="transfer_menu_clear_all">Lëscht eidel maachen</string> - <string name="transfer_menu_open">Opmaachen</string> - <string name="transfer_menu_clear">Aus der Lëscht ewechhuelen</string> - <string name="transfer_clear_dlg_title">Eidel maachen</string> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <string name="bluetooth_map_settings_save">Späicheren</string> - <string name="bluetooth_map_settings_cancel">Ofbriechen</string> - <string name="bluetooth_map_settings_app_icon">App-Symbol</string> + <string name="permlab_bluetoothShareManager">Zougrëff op den Download-Manager</string> + <string name="permdesc_bluetoothShareManager">Erlaabt der App, op de BluetoothShare-Manager zouzegräifen an e fir Fichiersiwwerdroungen ze benotzen.</string> + <string name="permlab_bluetoothWhitelist">Bluetooth-Apparat op d\'Zougrëffslëscht setzen</string> + <string name="permdesc_bluetoothWhitelist">Erlaabt der App, temporär e Bluetooth-Apparat op d\'wäiss Lëscht ze setzen, sou datt vun deem Apparat e Fichier kann empfaange ginn ouni datt de Benotzer d\'Iwwerdroung bestätege muss.</string> + <string name="bt_share_picker_label">Bluetooth</string> + <string name="unknown_device">Onbekannten Apparat</string> + <string name="unknownNumber">Onbekannt</string> + <string name="airplane_error_title">Fligermodus</string> + <string name="airplane_error_msg">Du kanns Bluetooth net am Fligermodus benotzen.</string> + <string name="bt_enable_line1">Fir Bluetooth-Servicer ze benotze muss du fir d\'éischt Bluetooth uschalten.</string> + <string name="bt_enable_line2">Bluetooth elo uschalten?</string> + <string name="bt_enable_cancel">Ofbriechen</string> + <string name="bt_enable_ok">Uschalten</string> + <string name="incoming_file_confirm_title">Fichiersiwwerdroung</string> + <string name="incoming_file_confirm_content">Erakommende Fichier acceptéieren?</string> + <string name="incoming_file_confirm_cancel">Refuséieren</string> + <string name="incoming_file_confirm_ok">Acceptéieren</string> + <string name="incoming_file_confirm_timeout_ok">OK</string> + <string name="incoming_file_confirm_timeout_content">D\'Zäit ass beim Empfänke vun engem Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ofgelaf</string> + <string name="incoming_file_confirm_Notification_title">Erakommende Fichier</string> + <string name="notification_receiving">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> gëtt empfaangen</string> + <string name="notification_received">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> empfaangen</string> + <string name="notification_received_fail">Bluetooth-Fräigab: Fichier <xliff:g id="file">%1$s</xliff:g> net empfaangen</string> + <string name="notification_sending">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> gëtt geschéckt</string> + <string name="notification_sent">Bluetooth-Fräigab: <xliff:g id="file">%1$s</xliff:g> geschéckt</string> + <string name="notification_sent_complete">100 % ofgeschloss</string> + <string name="notification_sent_fail">Bluetooth-Fräigab: Fichier <xliff:g id="file">%1$s</xliff:g> net geschéckt</string> + <string name="download_title">Fichiersiwwerdroung</string> + <string name="download_line1">Vum: \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022</string> + <string name="download_line2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_line3">Fichiersgréisst: <xliff:g id="size">%1$s</xliff:g></string> + <string name="download_line5">Fichier gëtt empfaangen\u2026</string> + <string name="download_cancel">Stoppen</string> + <string name="download_ok">Verstoppen</string> + <string name="incoming_line1">Vum</string> + <string name="incoming_line2">Fichiersnumm</string> + <string name="incoming_line3">Gréisst</string> + <string name="download_fail_line1">Fichier net empfaangen</string> + <string name="download_fail_line2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> + <string name="download_fail_line3">Grond: <xliff:g id="reason">%1$s</xliff:g></string> + <string name="download_fail_ok">OK</string> + <string name="download_succ_line5">Fichier empfaangen</string> + <string name="download_succ_ok">Opmaachen</string> + <string name="upload_line1">Un: \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022</string> + <string name="upload_line3">Fichierstyp: <xliff:g id="type">%1$s</xliff:g> (<xliff:g id="size">%2$s</xliff:g>)</string> + <string name="upload_line5">Fichier gëtt geschéckt\u2026</string> + <string name="upload_succ_line5">Fichier geschéckt</string> + <string name="upload_succ_ok">OK</string> + <string name="upload_fail_line1">De Fichier gouf net un den/d\' \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022 geschéckt.</string> + <string name="upload_fail_line1_2">Fichier: <xliff:g id="file">%1$s</xliff:g></string> + <string name="upload_fail_ok">Probéier nees</string> + <string name="upload_fail_cancel">Zoumaachen</string> + <string name="bt_error_btn_ok">OK</string> + <string name="unknown_file">Onbekannte Fichier</string> + <string name="unknown_file_desc">Et gëtt keng App déi mat dësem Typ vu Fichier kann ëmgoen.\n</string> + <string name="not_exist_file">Kee Fichier</string> + <string name="not_exist_file_desc">De Fichier existéiert net. \n</string> + <string name="enabling_progress_title">Waart w.e.g.\u2026</string> + <string name="enabling_progress_content">Bluetooth gëtt ugemaach\u2026</string> + <string name="bt_toast_1">De Fichier gëtt empfaangen. De Fortschrëtt gëtt am Notifikatiouns-Panneau ugewisen.</string> + <string name="bt_toast_2">De Fichier kann net empfaange ginn.</string> + <string name="bt_toast_3">D\'Empfänke vum Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 gouf gestoppt</string> + <string name="bt_toast_4">Fichier gëtt un den Apparat \u0022<xliff:g id="recipient">%1$s</xliff:g>\u0022 geschéckt</string> + <string name="bt_toast_5"><xliff:g id="number">%1$s</xliff:g> Fichiere ginn un den Apparat \u0022<xliff:g id="recipient">%2$s</xliff:g>\u0022 geschéckt</string> + <string name="bt_toast_6">D\'Schécke vum Fichier un den Apparat \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 gouf gestoppt</string> + <string name="bt_sm_2_1" product="nosdcard">Et ass net genuch Plaz um USB-Späicher fir de Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ze späicheren</string> + <string name="bt_sm_2_1" product="default">Et ass net genuch Späicherplaz op der SD-Kaart fir de Fichier vum \u0022<xliff:g id="sender">%1$s</xliff:g>\u0022 ze späicheren</string> + <string name="bt_sm_2_2">Néideg Plaz: <xliff:g id="size">%1$s</xliff:g></string> + <string name="ErrorTooManyRequests">Et ginn ze vill Ufroe beaarbecht. Probéier méi spéit nees.</string> + <string name="status_pending">Iwwerdroung vu Fichieren nach net gestart.</string> + <string name="status_running">Iwwerdroung vu Fichiere leeft.</string> + <string name="status_success">Iwwerdroung vu Fichieren erfollegräich ofgeschloss.</string> + <string name="status_not_accept">Inhalt net ënnerstëtzt.</string> + <string name="status_forbidden">Iwwerdroung duerch den Zilapparat verbueden.</string> + <string name="status_canceled">Iwwerdroung duerch de Benotzer ofgebrach.</string> + <string name="status_file_error">Späicherproblem.</string> + <string name="status_no_sd_card" product="nosdcard">Keen USB-Späicher.</string> + <string name="status_no_sd_card" product="default">Keng SD-Kaart. Schléiss eng SD-Kaart un, fir déi transferéiert Fichieren ze späicheren.</string> + <string name="status_connection_error">Connectioun feelgeschloen.</string> + <string name="status_protocol_error">D\'Ufro kann net korrekt behandelt ginn.</string> + <string name="status_unknown_error">Onbekannte Feeler.</string> + <string name="btopp_live_folder">Bluetooth empfaangen</string> + <string name="download_success"> <xliff:g id="file_size">%1$s</xliff:g> vollstänneg empfaangen.</string> + <string name="upload_success"> <xliff:g id="file_size">%1$s</xliff:g> vollstänneg geschéckt.</string> + <string name="inbound_history_title">Erakommend Iwwerdroungen</string> + <string name="outbound_history_title">Erausgoend Iwwerdroungen</string> + <string name="no_transfers">Den Iwwerdroungshistorique ass eidel.</string> + <string name="transfer_clear_dlg_msg">All d\'Elementer ginn aus der Lëscht erausgeholl.</string> + <string name="outbound_noti_title">Bluetooth-Fräigab: Geschéckt Fichieren</string> + <string name="inbound_noti_title">Bluetooth-Fräigab: Emfaange Fichieren</string> + <plurals name="noti_caption_unsuccessful"> + <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> net erfollegräich.</item> + <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> net erfollegräich.</item> + </plurals> + <plurals name="noti_caption_success"> + <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> erfollegräich, %2$s</item> + <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> erfollegräich, %2$s</item> + </plurals> + <string name="transfer_menu_clear_all">Lëscht eidel maachen</string> + <string name="transfer_menu_open">Opmaachen</string> + <string name="transfer_menu_clear">Aus der Lëscht ewechhuelen</string> + <string name="transfer_clear_dlg_title">Eidel maachen</string> + <string name="bluetooth_map_settings_save">Späicheren</string> + <string name="bluetooth_map_settings_cancel">Ofbriechen</string> + <string name="bluetooth_map_settings_app_icon">App-Symbol</string> </resources> diff --git a/res/values-lb/strings_pbap.xml b/res/values-lb/strings_pbap.xml index 46ecc28cd..ee3b27c16 100644 --- a/res/values-lb/strings_pbap.xml +++ b/res/values-lb/strings_pbap.xml @@ -1,17 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="pbap_session_key_dialog_title">Sëtzungsschlëssel fir %1$s aginn</string> - <string name="pbap_session_key_dialog_header">Bluetooth-Sëtzungsschlëssel néideg</string> - <string name="pbap_acceptance_timeout_message">Beim Acceptéiere vun der Connectioun mat %1$s ass d\'Zäit ofgelaf</string> - <string name="pbap_authentication_timeout_message">Beim Agi vum Sëtzungsschlëssel mat %1$s ass d\'Zäit ofgelaf</string> - <string name="auth_notif_ticker">Obex-Authentifizéierungs-Ufro</string> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <string name="auth_notif_title">Sëtzungsschlëssel</string> - <!-- Notification message when a Bluetooth device wants to pair with us --> - <string name="auth_notif_message">Sëtzungsschlëssel fir %1$s aginn</string> - <string name="defaultname">Fräispriechanlag</string> - <string name="unknownName">Onbekannten Numm</string> - <string name="localPhoneName">Mäin Numm</string> - <string name="defaultnumber">000000</string> + <string name="pbap_session_key_dialog_title">Sëtzungsschlëssel fir %1$s aginn</string> + <string name="pbap_session_key_dialog_header">Bluetooth-Sëtzungsschlëssel néideg</string> + <string name="pbap_acceptance_timeout_message">Beim Acceptéiere vun der Connectioun mat %1$s ass d\'Zäit ofgelaf</string> + <string name="pbap_authentication_timeout_message">Beim Agi vum Sëtzungsschlëssel mat %1$s ass d\'Zäit ofgelaf</string> + <string name="auth_notif_ticker">Obex-Authentifizéierungs-Ufro</string> + <string name="auth_notif_title">Sëtzungsschlëssel</string> + <string name="auth_notif_message">Sëtzungsschlëssel fir %1$s aginn</string> + <string name="defaultname">Fräispriechanlag</string> + <string name="unknownName">Onbekannten Numm</string> + <string name="localPhoneName">Mäin Numm</string> + <string name="defaultnumber">000000</string> </resources> diff --git a/res/values-lb/strings_sap.xml b/res/values-lb/strings_sap.xml deleted file mode 100644 index d242b5671..000000000 --- a/res/values-lb/strings_sap.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/res/values-lo-rLA/cm_strings.xml b/res/values-lo-rLA/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-lo-rLA/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-lt/cm_strings.xml b/res/values-lt/cm_strings.xml index 6881aa5a8..80caaa9df 100644 --- a/res/values-lt/cm_strings.xml +++ b/res/values-lt/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Nepavyko išsiųsti failo, bandoma dar kartą\u2026</string> + <string name="upload_fail_waiting">Nepavyko išsiųsti failo, bandoma dar kartą\u2026</string> </resources> diff --git a/res/values-lv/cm_strings.xml b/res/values-lv/cm_strings.xml index ee7147bf9..a0320082d 100644 --- a/res/values-lv/cm_strings.xml +++ b/res/values-lv/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Neizdevās nosūtīt failu, atkārtoju\u2026</string> + <string name="upload_fail_waiting">Neizdevās nosūtīt failu, atkārtoju\u2026</string> </resources> diff --git a/res/values-mk-rMK/cm_strings.xml b/res/values-mk-rMK/cm_strings.xml index 29c1061f9..253a35f6b 100644 --- a/res/values-mk-rMK/cm_strings.xml +++ b/res/values-mk-rMK/cm_strings.xml @@ -15,4 +15,6 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">Дојдовен фајл од друг уред. Потврдете ако сакате да ја примите оваа датотека.</string> +</resources> diff --git a/res/values-ml-rIN/cm_strings.xml b/res/values-ml-rIN/cm_strings.xml index a34e1d793..da555112e 100644 --- a/res/values-ml-rIN/cm_strings.xml +++ b/res/values-ml-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ഫയൽ അയക്കാൻ കഴിയുന്നില്ല, വീണ്ടും ശ്രമിക്കുന്നു\u2026</string> + <string name="upload_fail_waiting">ഫയൽ അയക്കാൻ കഴിയുന്നില്ല, വീണ്ടും ശ്രമിക്കുന്നു\u2026</string> </resources> diff --git a/res/values-mn-rMN/cm_strings.xml b/res/values-mn-rMN/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-mn-rMN/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-mr-rIN/cm_strings.xml b/res/values-mr-rIN/cm_strings.xml index 2dfdd293c..91b6b28e3 100644 --- a/res/values-mr-rIN/cm_strings.xml +++ b/res/values-mr-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">फाइल पाठवण्यात अक्षम, पुन्हा प्रयत्न करत आहे\u2026</string> + <string name="upload_fail_waiting">फाइल पाठवण्यात अक्षम, पुन्हा प्रयत्न करत आहे\u2026</string> </resources> diff --git a/res/values-ms-rMY/cm_strings.xml b/res/values-ms-rMY/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-ms-rMY/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-my-rMM/cm_strings.xml b/res/values-my-rMM/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-my-rMM/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-nb/cm_strings.xml b/res/values-nb/cm_strings.xml index db24eaa2c..5c6950cce 100644 --- a/res/values-nb/cm_strings.xml +++ b/res/values-nb/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Innkommende fil fra en annen enhet. Bekreft at du vil motta denne filen.</string> - <string name="upload_fail_waiting">Kan ikke sende filen, prøver på nytt\u2026</string> + <string name="incoming_file_toast_msg">Innkommende fil fra en annen enhet. Bekreft at du vil motta denne filen.</string> + <string name="upload_fail_waiting">Kan ikke sende filen, prøver på nytt\u2026</string> </resources> diff --git a/res/values-ne-rNP/cm_strings.xml b/res/values-ne-rNP/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-ne-rNP/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-nl/cm_strings.xml b/res/values-nl/cm_strings.xml index 321a74163..5cb2a6607 100644 --- a/res/values-nl/cm_strings.xml +++ b/res/values-nl/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Inkomend bestand vanaf een ander apparaat. Bevestig dat u dit bestand wilt ontvangen.</string> - <string name="upload_fail_waiting">Kan bestand niet verzenden, opnieuw proberen\u2026</string> + <string name="incoming_file_toast_msg">Inkomend bestand vanaf een ander apparaat. Bevestig dat u dit bestand wilt ontvangen.</string> + <string name="upload_fail_waiting">Kan bestand niet verzenden, opnieuw proberen\u2026</string> </resources> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 21fff3363..95e58fad3 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -91,7 +91,7 @@ <string name="status_pending" msgid="2503691772030877944">"Bestandsoverdracht nog niet gestart."</string> <string name="status_running" msgid="6562808920311008696">"Bestandsoverdracht wordt uitgevoerd."</string> <string name="status_success" msgid="239573225847565868">"Bestandsoverdracht is voltooid."</string> - <string name="status_not_accept" msgid="1695082417193780738">"Inhoud wordt niet ondersteund."</string> + <string name="status_not_accept" msgid="1695082417193780738">"Content wordt niet ondersteund."</string> <string name="status_forbidden" msgid="613956401054050725">"Overdracht wordt niet toegestaan door het doelapparaat."</string> <string name="status_canceled" msgid="6664490318773098285">"Overdracht geannuleerd door gebruiker."</string> <string name="status_file_error" msgid="3671917770630165299">"Probleem met opslagruimte."</string> diff --git a/res/values-oc-rFR/strings.xml b/res/values-oc-rFR/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-oc-rFR/strings.xml +++ b/res/values-oc-rFR/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-or-rIN/cm_strings.xml b/res/values-or-rIN/cm_strings.xml index d093caade..83f01505b 100644 --- a/res/values-or-rIN/cm_strings.xml +++ b/res/values-or-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ଫାଇଲ୍ ପଠାଇବା ପାଇଁ ଅଷମ ହେଉଛୁ, ପୁନର୍ବାର ଚେଷ୍ଟା କରୁଛି\u2026</string> + <string name="upload_fail_waiting">ଫାଇଲ୍ ପଠାଇବା ପାଇଁ ଅଷମ ହେଉଛୁ, ପୁନର୍ବାର ଚେଷ୍ଟା କରୁଛି\u2026</string> </resources> diff --git a/res/values-or-rIN/strings.xml b/res/values-or-rIN/strings.xml deleted file mode 100644 index 1b6ab882a..000000000 --- a/res/values-or-rIN/strings.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- Copyright (C) 2007 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <!-- string showed on "Share picutre via" dialog --> - <!-- string for "unknown device" --> - <!-- string for "unknown" phone number" --> - <!-- string for "the title of airplane mode error" --> - <!-- string for "error message in airplane mode" --> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <!--Line 2 --> - <!-- Label for a cancel button. --> - <!-- Label for a confirm button.--> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <!--content --> - <!-- Label for a cancel button. --> - <!-- Label for a confirm button.--> - <!-- Label for timeout OK button.--> - <!-- content for timeout--> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <!-- label for the notification item of received file --> - <!-- label for the notification item of failed receiving file --> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <!-- label for the notification item of sent file --> - <!-- label for the notification item of sent file -status --> - <!-- label for the notification item of failed sending file --> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!--Line 4 --> - <string name="download_line4"></string> - <!-- Label for a cancel button. --> - <!-- Label for a hide button.--> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Label for ok button.--> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <!-- Label for a OK button.--> - <!-- Bluetooth Upload Progress Dialog --> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <!-- Label for a confirm button.--> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <!-- Label for a try again button.--> - <!-- Label for a cancel button.--> - <!-- Bluetooth error dialog --> - <!-- Bluetooth Enabling progress dialog --> - <!-- Bluetooth Toast Message --> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <!-- Bluetooth System Messages --> - <!-- Bluetooth Transfer Failure Reason --> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <!-- Bluetooth OPP Live Folder --> - <!-- Bluetooth OPP Transfer History --> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> -</resources> diff --git a/res/values-or-rIN/strings_pbap.xml b/res/values-or-rIN/strings_pbap.xml deleted file mode 100644 index 55f5b837a..000000000 --- a/res/values-or-rIN/strings_pbap.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <!-- Notification message when a Bluetooth device wants to pair with us --> -</resources> diff --git a/res/values-or-rIN/strings_sap.xml b/res/values-or-rIN/strings_sap.xml deleted file mode 100644 index d242b5671..000000000 --- a/res/values-or-rIN/strings_sap.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/res/values-pa-rIN/cm_strings.xml b/res/values-pa-rIN/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-pa-rIN/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-pl/cm_strings.xml b/res/values-pl/cm_strings.xml index 15276e71a..d021650c1 100644 --- a/res/values-pl/cm_strings.xml +++ b/res/values-pl/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Przychodzący plik z innego urządzenia. Potwierdź, że chcesz otrzymać ten plik.</string> - <string name="upload_fail_waiting">Nie można wysłać pliku, ponawianie\u2026</string> + <string name="incoming_file_toast_msg">Przychodzący plik z innego urządzenia. Potwierdź, że chcesz otrzymać ten plik.</string> + <string name="upload_fail_waiting">Nie można wysłać pliku, ponawianie\u2026</string> </resources> diff --git a/res/values-pt-rBR/cm_strings.xml b/res/values-pt-rBR/cm_strings.xml index d67b8b941..4556c0501 100644 --- a/res/values-pt-rBR/cm_strings.xml +++ b/res/values-pt-rBR/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Recebendo arquivo de outro dispositivo. Confirme que você deseja receber este arquivo.</string> - <string name="upload_fail_waiting">Impossível enviar arquivo, tentando novamente\u2026</string> + <string name="incoming_file_toast_msg">Recebendo arquivo de outro dispositivo. Confirme que você deseja receber este arquivo.</string> + <string name="upload_fail_waiting">Impossível enviar arquivo, tentando novamente\u2026</string> </resources> diff --git a/res/values-pt-rPT/cm_strings.xml b/res/values-pt-rPT/cm_strings.xml index f32162308..4700a5be2 100644 --- a/res/values-pt-rPT/cm_strings.xml +++ b/res/values-pt-rPT/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">A receber ficheiro de outro dispositivo. Confirme que quer receber este ficheiro.</string> - <string name="upload_fail_waiting">Não foi possível enviar o ficheiro. A tentar novamente\u2026</string> + <string name="incoming_file_toast_msg">A receber ficheiro de outro dispositivo. Confirme que quer receber este ficheiro.</string> + <string name="upload_fail_waiting">Não foi possível enviar o ficheiro. A tentar novamente\u2026</string> </resources> diff --git a/res/values-as-rIN/strings.xml b/res/values-rm-rCH/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-as-rIN/strings.xml +++ b/res/values-rm-rCH/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-en-rPT/strings_pbap.xml b/res/values-rm-rCH/strings_pbap.xml index 55f5b837a..55f5b837a 100644 --- a/res/values-en-rPT/strings_pbap.xml +++ b/res/values-rm-rCH/strings_pbap.xml diff --git a/res/values-en-rPT/strings_sap.xml b/res/values-rm-rCH/strings_sap.xml index d242b5671..d242b5671 100644 --- a/res/values-en-rPT/strings_sap.xml +++ b/res/values-rm-rCH/strings_sap.xml diff --git a/res/values-rm/cm_strings.xml b/res/values-rm/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-rm/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-ro/cm_strings.xml b/res/values-ro/cm_strings.xml index b30416bde..f172f5c35 100644 --- a/res/values-ro/cm_strings.xml +++ b/res/values-ro/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Imposibil de transmis fișierul, se reîncearcă\u2026</string> + <string name="incoming_file_toast_msg">Un fişier de la alt dispozitiv se află în curs de primire. Confirmaţi dacă doriţi primirea acestuia.</string> + <string name="upload_fail_waiting">Imposibil de transmis fișierul, se reîncearcă\u2026</string> </resources> diff --git a/res/values-ru/cm_strings.xml b/res/values-ru/cm_strings.xml index 4948da05b..651d8ff0b 100644 --- a/res/values-ru/cm_strings.xml +++ b/res/values-ru/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Входящий файл с другого устройства. Подтвердите, что вы хотите получить этот файл.</string> - <string name="upload_fail_waiting">Не удалось отправить файл. Повторная попытка\u2026</string> + <string name="incoming_file_toast_msg">Входящий файл с другого устройства. Подтвердите, что вы хотите получить этот файл.</string> + <string name="upload_fail_waiting">Не удалось отправить файл. Повторная попытка\u2026</string> </resources> diff --git a/res/values-es-rMX/cm_strings.xml b/res/values-sc-rIT/cm_strings.xml index 29c1061f9..5dd2bc886 100644 --- a/res/values-es-rMX/cm_strings.xml +++ b/res/values-sc-rIT/cm_strings.xml @@ -15,4 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">B\'est unu documentu in arrivu dae un\'àteru dispositivu. Cunfirma chi lu cheres retzire.</string> + <string name="upload_fail_waiting">Impossìbile imbiare su documentu, torrende a proare\u2026</string> +</resources> diff --git a/res/values-si-rLK/cm_strings.xml b/res/values-si-rLK/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-si-rLK/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-sk/cm_strings.xml b/res/values-sk/cm_strings.xml index cdf71ed08..31b29f46b 100644 --- a/res/values-sk/cm_strings.xml +++ b/res/values-sk/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Prichádzajúci súbor z iného zariadenia. Potvrďte, či chcete prijať tento súbor.</string> - <string name="upload_fail_waiting">Nepodarilo sa poslať súbor, opakovanie\u2026</string> + <string name="incoming_file_toast_msg">Prichádzajúci súbor z iného zariadenia. Potvrďte, či chcete prijať tento súbor.</string> + <string name="upload_fail_waiting">Nepodarilo sa poslať súbor, opakovanie\u2026</string> </resources> diff --git a/res/values-sl/cm_strings.xml b/res/values-sl/cm_strings.xml index ba5cb7b85..f1f43502f 100644 --- a/res/values-sl/cm_strings.xml +++ b/res/values-sl/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">Prihaja datoteka iz druge naprave. Potrdite, če jo želite prejeti.</string> - <string name="upload_fail_waiting">Datoteke ni mogoče poslati, ponovno poskušanje \u2026</string> + <string name="incoming_file_toast_msg">Prihaja datoteka iz druge naprave. Potrdite, če jo želite prejeti.</string> + <string name="upload_fail_waiting">Datoteke ni mogoče poslati, ponovno poskušanje \u2026</string> </resources> diff --git a/res/values-sq-rAL/cm_strings.xml b/res/values-sq-rAL/cm_strings.xml index 29c1061f9..289cd7660 100644 --- a/res/values-sq-rAL/cm_strings.xml +++ b/res/values-sq-rAL/cm_strings.xml @@ -15,4 +15,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<resources></resources> +<resources> + <string name="incoming_file_toast_msg">Është duke ju ardhur një skedar nga një pajisje tjetër. Jep konfirmim që dëshiron ta marrësh këtë skedar.</string> + <string name="upload_fail_waiting">Dërgimi i dokumentit nuk është i mundur! Duke provuar përsëri\u2026</string> +</resources> diff --git a/res/values-en-rPT/cm_strings.xml b/res/values-sr-rCS/cm_strings.xml index 29c1061f9..29c1061f9 100644 --- a/res/values-en-rPT/cm_strings.xml +++ b/res/values-sr-rCS/cm_strings.xml diff --git a/res/values-es-rMX/strings.xml b/res/values-sr-rCS/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-es-rMX/strings.xml +++ b/res/values-sr-rCS/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-eo/strings_pbap.xml b/res/values-sr-rCS/strings_pbap.xml index 55f5b837a..55f5b837a 100644 --- a/res/values-eo/strings_pbap.xml +++ b/res/values-sr-rCS/strings_pbap.xml diff --git a/res/values-eo/strings_sap.xml b/res/values-sr-rCS/strings_sap.xml index d242b5671..d242b5671 100644 --- a/res/values-eo/strings_sap.xml +++ b/res/values-sr-rCS/strings_sap.xml diff --git a/res/values-sr/cm_strings.xml b/res/values-sr/cm_strings.xml index 0ae5bba74..8c2f5fbe9 100644 --- a/res/values-sr/cm_strings.xml +++ b/res/values-sr/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Није могуће послати датотеку, понављам\u2026</string> + <string name="incoming_file_toast_msg">Датотека се шаље са другог уређаја. Потврдите ако желите да је примите.</string> + <string name="upload_fail_waiting">Не могу да пошаљем датотеку. Покушавам поново\u2026</string> </resources> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 03fed95d3..7228cfe2c 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -69,7 +69,7 @@ <string name="upload_succ_ok" msgid="7705428476405478828">"Потврди"</string> <string name="upload_fail_line1" msgid="7899394672421491701">"Датотека није послата на <xliff:g id="RECIPIENT">%1$s</xliff:g>."</string> <string name="upload_fail_line1_2" msgid="2108129204050841798">"Датотека: <xliff:g id="FILE">%1$s</xliff:g>"</string> - <string name="upload_fail_ok" msgid="5807702461606714296">"Покушај поново"</string> + <string name="upload_fail_ok" msgid="5807702461606714296">"Пробај поново"</string> <string name="upload_fail_cancel" msgid="9118496285835687125">"Затвори"</string> <string name="bt_error_btn_ok" msgid="5965151173011534240">"Потврди"</string> <string name="unknown_file" msgid="6092727753965095366">"Непозната датотека"</string> @@ -87,7 +87,7 @@ <string name="bt_sm_2_1" product="nosdcard" msgid="352165168004521000">"Нема довољно простора у USB меморији да би се сачувала датотека пошиљаоца „<xliff:g id="SENDER">%1$s</xliff:g>“"</string> <string name="bt_sm_2_1" product="default" msgid="1989018443456803630">"Нема довољно простора на SD картици да би се сачувала датотека пошиљаоца „<xliff:g id="SENDER">%1$s</xliff:g>“"</string> <string name="bt_sm_2_2" msgid="2965243265852680543">"Потребан простор: <xliff:g id="SIZE">%1$s</xliff:g>"</string> - <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Превише захтева се обрађује. Покушајте поново касније."</string> + <string name="ErrorTooManyRequests" msgid="8578277541472944529">"Превише захтева се обрађује. Пробајте поново касније."</string> <string name="status_pending" msgid="2503691772030877944">"Пренос датотеке још није почео."</string> <string name="status_running" msgid="6562808920311008696">"Пренос датотеке је у току."</string> <string name="status_success" msgid="239573225847565868">"Пренос датотеке је довршен."</string> diff --git a/res/values-sv/cm_strings.xml b/res/values-sv/cm_strings.xml index 016430116..c5af0f375 100644 --- a/res/values-sv/cm_strings.xml +++ b/res/values-sv/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Kunde inte skicka filen, försöker igen\u2026</string> + <string name="upload_fail_waiting">Kunde inte skicka filen, försöker igen\u2026</string> </resources> diff --git a/res/values-sw/cm_strings.xml b/res/values-sw/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-sw/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-ta-rIN/cm_strings.xml b/res/values-ta-rIN/cm_strings.xml index 65bc2ef0f..b7c055b64 100644 --- a/res/values-ta-rIN/cm_strings.xml +++ b/res/values-ta-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">கோப்பை அனுப்ப முடியவில்லை, மறுமுயற்சிசெய்கிறது\u2026</string> + <string name="upload_fail_waiting">கோப்பை அனுப்ப முடியவில்லை, மறுமுயற்சிசெய்கிறது\u2026</string> </resources> diff --git a/res/values-te-rIN/cm_strings.xml b/res/values-te-rIN/cm_strings.xml index 0f2045231..20028f868 100644 --- a/res/values-te-rIN/cm_strings.xml +++ b/res/values-te-rIN/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ఫైలును పంపడం కుదరలేదు, తిరిగి ప్రయత్నించబడుతోంది\u2026</string> + <string name="upload_fail_waiting">ఫైలును పంపడం కుదరలేదు, తిరిగి ప్రయత్నించబడుతోంది\u2026</string> </resources> diff --git a/res/values-th/cm_strings.xml b/res/values-th/cm_strings.xml index 02cb44a81..7bbac5974 100644 --- a/res/values-th/cm_strings.xml +++ b/res/values-th/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ไม่สามารถส่งไฟล์ได้ กำลังลองอีกครั้ง\u2026</string> + <string name="incoming_file_toast_msg">มีไฟล์ส่งมาจากอุปกรณ์อื่น ยืนยันต้องการรับไฟล์นี้</string> + <string name="upload_fail_waiting">ไม่สามารถส่งไฟล์ได้ กำลังลองอีกครั้ง\u2026</string> </resources> diff --git a/res/values-tr/cm_strings.xml b/res/values-tr/cm_strings.xml index e6f18af5f..2765cb754 100644 --- a/res/values-tr/cm_strings.xml +++ b/res/values-tr/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Dosya gönderilemedi, yeniden deneniyor\u2026</string> + <string name="incoming_file_toast_msg">Başka bir cihazdan gelen dosya. Bu dosyayı almak istediğinizi onaylayın.</string> + <string name="upload_fail_waiting">Dosya gönderilemedi, yeniden deneniyor\u2026</string> </resources> diff --git a/res/values-ug/cm_strings.xml b/res/values-ug/cm_strings.xml index 9d1b2ce1b..2c623b685 100644 --- a/res/values-ug/cm_strings.xml +++ b/res/values-ug/cm_strings.xml @@ -16,5 +16,5 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">ھۆججەتنى يوللىيالمىدى، قايتا سىناۋاتىدۇ\u2026</string> + <string name="upload_fail_waiting">ھۆججەتنى يوللىيالمىدى، قايتا سىناۋاتىدۇ\u2026</string> </resources> diff --git a/res/values-ug/strings.xml b/res/values-ug/strings.xml index 455b59792..cdeb8a843 100644 --- a/res/values-ug/strings.xml +++ b/res/values-ug/strings.xml @@ -15,183 +15,94 @@ limitations under the License. --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- - This is the short description of a permission associated with the - Bluetooth Share Manager. It is displayed as part of the description of - any application that was granted that permission. This specific - permission controls access to the Bluetooth Share Manager by - applications that initiate Bluetooth share. - --> - <string name="permlab_bluetoothShareManager">چۈشۈرۈش باشقۇرغۇچنى زىيارەت.</string> - <!-- - This is the long description of a permission associated with the - Android Download Manager. It is displayed as part of the description - of any application that was granted that permission. This specific - permission controls access to the Download Manager by applications - that initiate downloads. - --> - <string name="permdesc_bluetoothShareManager">ئەپنىڭ كۆكچىش ھەمبەھىر باشقۇرغۇچنى زىيارەت قىلىشقا يول قويىدۇ ھەمدە شۇ باشقۇرغۇچنى ئىشلىتىپ ھۆججەت يوللايدۇ.</string> - <string name="permlab_bluetoothWhitelist">ئاق تىزىمدىكى كۆكچىش ئۈسكۈنە زىيارىتى.</string> - <string name="permdesc_bluetoothWhitelist">كۆكچىش ئۈسكۈنىسىنى زىيارەت ھوقۇقى ئاق تىزىملىكىگە كىرگۈزۈشكە يول قويىدۇ، شۇ ئارقىلىق ئىشلەتكۈچىنىڭ جەزملىشى بولمىغان ئەھۋالدا ھۆججەتنى بۇ ئۈسكۈنىگە يوللايدۇ.</string> - <!-- string showed on "Share picutre via" dialog --> - <string name="bt_share_picker_label">كۆكچىش</string> - <!-- string for "unknown device" --> - <string name="unknown_device">يوچۇن ئۈسكۈنە</string> - <!-- string for "unknown" phone number" --> - <string name="unknownNumber">يوچۇن</string> - <!-- string for "the title of airplane mode error" --> - <string name="airplane_error_title">ئايروپىلان ھالىتى</string> - <!-- string for "error message in airplane mode" --> - <string name="airplane_error_msg">ئايروپىلان ھالىتىدە كۆكچىش ئىشلىتەلمەيسىز.</string> - <!-- Activate Bluetooth Confirmation Dialog --> - <!--Title --> - <string name="bt_enable_title"></string> - <!--Line 1 --> - <string name="bt_enable_line1">كۆكچىش مۇلازىمىتى ئىشلىتىشتە ئالدى بىلەن كۆكچىشنى ئېچىشىڭىز لازىم.</string> - <!--Line 2 --> - <string name="bt_enable_line2">ھازىر كۆكچىشنى ئاچامدۇ؟</string> - <!-- Label for a cancel button. --> - <string name="bt_enable_cancel">ۋاز كەچ</string> - <!-- Label for a confirm button.--> - <string name="bt_enable_ok">ئاچ</string> - <!-- Bluetooth File Transfer Acceptance Dialog --> - <!--Title --> - <string name="incoming_file_confirm_title">ھۆججەت يوللاش</string> - <!--content --> - <!-- Label for a cancel button. --> - <string name="incoming_file_confirm_cancel">قوشۇلما</string> - <!-- Label for a confirm button.--> - <string name="incoming_file_confirm_ok">قوشۇل</string> - <!-- Label for timeout OK button.--> - <string name="incoming_file_confirm_timeout_ok">جەزملە</string> - <!-- content for timeout--> - <string name="incoming_file_confirm_timeout_content">\"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى قوبۇل قىلىۋاتقاندا ۋاقىت ھالقىدى</string> - <!-- Bluetooth File Transfer Acceptance Notification item --> - <!-- Inbound File Transfer Progress Notification item --> - <!-- label for the notification item of receiving file --> - <string name="notification_receiving">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> قوبۇللاۋاتىدۇ</string> - <!-- label for the notification item of received file --> - <string name="notification_received">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> قوبۇللىدى</string> - <!-- label for the notification item of failed receiving file --> - <string name="notification_received_fail">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> ھۆججەتنى قوبۇللىمىدى</string> - <!-- Outbound File Transfer Progress Notification item --> - <!-- label for the notification item of sending file --> - <string name="notification_sending">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> يوللاۋاتىدۇ</string> - <!-- label for the notification item of sent file --> - <string name="notification_sent">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> يوللاندى</string> - <!-- label for the notification item of sent file -status --> - <string name="notification_sent_complete">100% تامام</string> - <!-- label for the notification item of failed sending file --> - <string name="notification_sent_fail">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> ھۆججەت يوللانمىدى</string> - <!-- Bluetooth Download Progress Dialog --> - <!--Title --> - <string name="download_title">ھۆججەت يوللاش</string> - <!--Line 1 --> - <string name="download_line1">ئورنى: \"<xliff:g id="SENDER">%1$s</xliff:g></string> - <!--Line 2 --> - <string name="download_line2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_line3">ھۆججەت چوڭلۇقى: <xliff:g id="SIZE">%1$s</xliff:g></string> - <!--Line 4 --> - <string name="download_line4"></string> - <string name="download_line5">ھۆججەت قوبۇللاۋاتىدۇ…</string> - <!-- Label for a cancel button. --> - <string name="download_cancel">توختا</string> - <!-- Label for a hide button.--> - <string name="download_ok">يوشۇر</string> - <!--Line 1 --> - <!--Line 2 --> - <!--Line 3 --> - <!-- Bluetooth failed Download Dialog --> - <!--Line 1 --> - <string name="download_fail_line1">ھۆججەت قوبۇللانمىدى</string> - <!--Line 2 --> - <string name="download_fail_line2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> - <!--Line 3 --> - <string name="download_fail_line3">سەۋەب: <xliff:g id="REASON">%1$s</xliff:g></string> - <!-- Label for ok button.--> - <string name="download_fail_ok">جەزملە</string> - <!-- Bluetooth Successful Download Dialog --> - <!--Line 4 in "Bluetooth Download Progress Dialog" --> - <string name="download_succ_line5">ھۆججەت قوبۇللاندى</string> - <!-- Label for a OK button.--> - <string name="download_succ_ok">ئاچ</string> - <!-- Bluetooth Upload Progress Dialog --> - <string name="upload_line1">ئورنى: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\"</string> - <string name="upload_line3">ھۆججەت تىپى: <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)</string> - <string name="upload_line5">ھۆججەت يوللاۋاتىدۇ…</string> - <!-- Bluetooth Successful Upload Progress Dialog --> - <!--Line 4 --> - <string name="upload_succ_line5">ھۆججەت يوللاندى</string> - <!-- Label for a confirm button.--> - <string name="upload_succ_ok">جەزملە</string> - <!-- Bluetooth Failed Upload File Transfer Dialog --> - <string name="upload_fail_line1">بۇ ھۆججەتنى \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا يوللىيالمىدى.</string> - <string name="upload_fail_line1_2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> - <!-- Label for a try again button.--> - <string name="upload_fail_ok">قايتا سىنا</string> - <!-- Label for a cancel button.--> - <string name="upload_fail_cancel">ياپ</string> - <!-- Bluetooth error dialog --> - <string name="bt_error_btn_ok">جەزملە</string> - <string name="unknown_file">يوچۇن ھۆججەت</string> - <string name="unknown_file_desc">بۇ تىپتىكى ھۆججەتنى بىر تەرەپ قىلىدىغان ئەپ تېپىلمىدى. \n</string> - <string name="not_exist_file"> ھۆججەت يوق</string> - <string name="not_exist_file_desc">ھۆججەت مەۋجۇت ئەمەس. \n</string> - <!-- Bluetooth Enabling progress dialog --> - <string name="enabling_progress_title">سەل كۈتۈڭ…</string> - <string name="enabling_progress_content">كۆكچىشنى ئېچىۋاتىدۇ…</string> - <!-- Bluetooth Toast Message --> - <string name="bt_toast_1">ھۆججەت قوبۇل قىلماقچى. ئۇقتۇرۇش تاختىسىدىن جەريانىنى تەكشۈرۈڭ.</string> - <string name="bt_toast_2">بۇ ھۆججەتنى قوبۇل قىلالمايدۇ.</string> - <string name="bt_toast_3">\"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن ھۆججەت قوبۇللاشنى توختاتتى</string> - <string name="bt_toast_4">\"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا ھۆججەت يوللاۋاتىدۇ</string> - <string name="bt_toast_5"><xliff:g id="NUMBER">%1$s</xliff:g> ھۆججەتنى "<xliff:g id="RECIPIENT">%2$s</xliff:g>\" غا يوللاۋاتىدۇ</string> - <string name="bt_toast_6">\"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا ھۆججەت يوللاش توختىدى</string> - <!-- Bluetooth System Messages [CHAR LIMIT=NONE] --> - <string name="bt_sm_2_1" product="nosdcard">بۇ USB ساقلىغۇچتا \"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى ساقلاشقا يېتەرلىك بوشلۇق يوق</string> - <!-- Bluetooth System Messages --> - <string name="bt_sm_2_1" product="default">SD كارتادا \"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى ساقلاشقا يېتەرلىك بوشلۇق يوق</string> - <string name="bt_sm_2_2">كېتەرلىك بوشلۇق: <xliff:g id="SIZE">%1$s</xliff:g></string> - <string name="ErrorTooManyRequests">بىر تەرەپ قىلىۋاتقان ئىلتىماس بەك كۆپ. سەل تۇرۇپ قايتا سىناڭ.</string> - <!-- Bluetooth Transfer Failure Reason --> - <string name="status_pending">ھۆججەت يوللاش باشلانمىدى</string> - <string name="status_running">ھۆججەت يوللىنىۋاتىدۇ.</string> - <string name="status_success">ھۆججەت يوللاش مۇۋەپپەقىيەتلىك تاماملاندى.</string> - <string name="status_not_accept">مەزمۇننى قوللىمايدۇ.</string> - <string name="status_forbidden">نىشان ئۈسكۈنە يوللاشنى چەكلەيدۇ.</string> - <string name="status_canceled">ئىشلەتكۈچى يوللاشتىن ۋاز كەچتى.</string> - <string name="status_file_error">ساقلاش مەسىلىسى</string> - <!-- Shown when USB storage cannot be found. [CHAR LIMIT=NONE] --> - <string name="status_no_sd_card" product="nosdcard">USB ساقلىغۇچ يوق.</string> - <string name="status_no_sd_card" product="default">SD كارتا يوق. يوللىغان ھۆججەتنى ساقلايدىغان SD كارتىنى قىستۇرۇڭ.</string> - <string name="status_connection_error">مۇۋەپپەقىيەتلىك باغلىنالمىدى.</string> - <string name="status_protocol_error">ئىلتىماسنى توغرا بىر تەرەپ قىلالمايدۇ.</string> - <string name="status_unknown_error">يوچۇن خاتالىق.</string> - <!-- Bluetooth OPP Live Folder --> - <string name="btopp_live_folder">كۆكچىش قوبۇللىدى</string> - <!-- Bluetooth OPP Transfer History --> - <string name="download_success"><xliff:g id="FILE_SIZE">%1$s</xliff:g> قوبۇللاش تاماملاندى.</string> - <string name="upload_success"><xliff:g id="FILE_SIZE">%1$s</xliff:g> يوللاش تاماملاندى.</string> - <string name="inbound_history_title">يوللاشنىڭ كىرگەن ئىزلىرى</string> - <string name="outbound_history_title">يوللاشنىڭ چىققان ئىزلىرى</string> - <string name="no_transfers">توركۆرگۈ تارىخ خاتىرىسى بوش.</string> - <string name="transfer_clear_dlg_msg">ھەممە تۈرلەر تىزىملىكتىن ئۆچۈرۈلىدۇ.</string> - <string name="outbound_noti_title">كۆكچىش ھەمبەھىر: يوللانغان ھۆججەتلەر</string> - <string name="inbound_noti_title">كۆكچىش ھەمبەھىر: قوبۇللىغان ھۆججەتلەر</string> - <string name="transfer_menu_clear_all">تىزىملىكنى تازىلا</string> - <string name="transfer_menu_open">ئاچ</string> - <string name="transfer_menu_clear">تىزىملىكتىن تازىلا</string> - <string name="transfer_clear_dlg_title">تازىلا</string> - <!-- Do not translate. file name used for sharing. --> - <!-- Used to run Bluetooth.apk in another process if needed --> - <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> - <string name="bluetooth_map_settings_cancel">ۋاز كەچ</string> + <string name="permlab_bluetoothShareManager">چۈشۈرۈش باشقۇرغۇچنى زىيارەت.</string> + <string name="permdesc_bluetoothShareManager">ئەپنىڭ كۆكچىش ھەمبەھىر باشقۇرغۇچنى زىيارەت قىلىشقا يول قويىدۇ ھەمدە شۇ باشقۇرغۇچنى ئىشلىتىپ ھۆججەت يوللايدۇ.</string> + <string name="permlab_bluetoothWhitelist">ئاق تىزىمدىكى كۆكچىش ئۈسكۈنە زىيارىتى.</string> + <string name="permdesc_bluetoothWhitelist">كۆكچىش ئۈسكۈنىسىنى زىيارەت ھوقۇقى ئاق تىزىملىكىگە كىرگۈزۈشكە يول قويىدۇ، شۇ ئارقىلىق ئىشلەتكۈچىنىڭ جەزملىشى بولمىغان ئەھۋالدا ھۆججەتنى بۇ ئۈسكۈنىگە يوللايدۇ.</string> + <string name="bt_share_picker_label">كۆكچىش</string> + <string name="unknown_device">يوچۇن ئۈسكۈنە</string> + <string name="unknownNumber">يوچۇن</string> + <string name="airplane_error_title">ئايروپىلان ھالىتى</string> + <string name="airplane_error_msg">ئايروپىلان ھالىتىدە كۆكچىش ئىشلىتەلمەيسىز.</string> + <string name="bt_enable_line1">كۆكچىش مۇلازىمىتى ئىشلىتىشتە ئالدى بىلەن كۆكچىشنى ئېچىشىڭىز لازىم.</string> + <string name="bt_enable_line2">ھازىر كۆكچىشنى ئاچامدۇ؟</string> + <string name="bt_enable_cancel">ۋاز كەچ</string> + <string name="bt_enable_ok">ئاچ</string> + <string name="incoming_file_confirm_title">ھۆججەت يوللاش</string> + <string name="incoming_file_confirm_cancel">قوشۇلما</string> + <string name="incoming_file_confirm_ok">قوشۇل</string> + <string name="incoming_file_confirm_timeout_ok">جەزملە</string> + <string name="incoming_file_confirm_timeout_content">\"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى قوبۇل قىلىۋاتقاندا ۋاقىت ھالقىدى</string> + <string name="notification_receiving">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> قوبۇللاۋاتىدۇ</string> + <string name="notification_received">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> قوبۇللىدى</string> + <string name="notification_received_fail">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> ھۆججەتنى قوبۇللىمىدى</string> + <string name="notification_sending">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> يوللاۋاتىدۇ</string> + <string name="notification_sent">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> يوللاندى</string> + <string name="notification_sent_complete">100% تامام</string> + <string name="notification_sent_fail">كۆكچىش ھەمبەھىر: <xliff:g id="FILE">%1$s</xliff:g> ھۆججەت يوللانمىدى</string> + <string name="download_title">ھۆججەت يوللاش</string> + <string name="download_line1">ئورنى: \"<xliff:g id="SENDER">%1$s</xliff:g></string> + <string name="download_line2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> + <string name="download_line3">ھۆججەت چوڭلۇقى: <xliff:g id="SIZE">%1$s</xliff:g></string> + <string name="download_line5">ھۆججەت قوبۇللاۋاتىدۇ…</string> + <string name="download_cancel">توختا</string> + <string name="download_ok">يوشۇر</string> + <string name="download_fail_line1">ھۆججەت قوبۇللانمىدى</string> + <string name="download_fail_line2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> + <string name="download_fail_line3">سەۋەب: <xliff:g id="REASON">%1$s</xliff:g></string> + <string name="download_fail_ok">جەزملە</string> + <string name="download_succ_line5">ھۆججەت قوبۇللاندى</string> + <string name="download_succ_ok">ئاچ</string> + <string name="upload_line1">ئورنى: \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\"</string> + <string name="upload_line3">ھۆججەت تىپى: <xliff:g id="TYPE">%1$s</xliff:g> (<xliff:g id="SIZE">%2$s</xliff:g>)</string> + <string name="upload_line5">ھۆججەت يوللاۋاتىدۇ…</string> + <string name="upload_succ_line5">ھۆججەت يوللاندى</string> + <string name="upload_succ_ok">جەزملە</string> + <string name="upload_fail_line1">بۇ ھۆججەتنى \"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا يوللىيالمىدى.</string> + <string name="upload_fail_line1_2">ھۆججەت: <xliff:g id="FILE">%1$s</xliff:g></string> + <string name="upload_fail_ok">قايتا سىنا</string> + <string name="upload_fail_cancel">ياپ</string> + <string name="bt_error_btn_ok">جەزملە</string> + <string name="unknown_file">يوچۇن ھۆججەت</string> + <string name="unknown_file_desc">بۇ تىپتىكى ھۆججەتنى بىر تەرەپ قىلىدىغان ئەپ تېپىلمىدى. \n</string> + <string name="not_exist_file"> ھۆججەت يوق</string> + <string name="not_exist_file_desc">ھۆججەت مەۋجۇت ئەمەس. \n</string> + <string name="enabling_progress_title">سەل كۈتۈڭ…</string> + <string name="enabling_progress_content">كۆكچىشنى ئېچىۋاتىدۇ…</string> + <string name="bt_toast_1">ھۆججەت قوبۇل قىلماقچى. ئۇقتۇرۇش تاختىسىدىن جەريانىنى تەكشۈرۈڭ.</string> + <string name="bt_toast_2">بۇ ھۆججەتنى قوبۇل قىلالمايدۇ.</string> + <string name="bt_toast_3">\"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن ھۆججەت قوبۇللاشنى توختاتتى</string> + <string name="bt_toast_4">\"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا ھۆججەت يوللاۋاتىدۇ</string> + <string name="bt_toast_5"><xliff:g id="NUMBER">%1$s</xliff:g> ھۆججەتنى "<xliff:g id="RECIPIENT">%2$s</xliff:g>\" غا يوللاۋاتىدۇ</string> + <string name="bt_toast_6">\"<xliff:g id="RECIPIENT">%1$s</xliff:g>\" غا ھۆججەت يوللاش توختىدى</string> + <string name="bt_sm_2_1" product="nosdcard">بۇ USB ساقلىغۇچتا \"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى ساقلاشقا يېتەرلىك بوشلۇق يوق</string> + <string name="bt_sm_2_1" product="default">SD كارتادا \"<xliff:g id="SENDER">%1$s</xliff:g>\" دىن كەلگەن ھۆججەتنى ساقلاشقا يېتەرلىك بوشلۇق يوق</string> + <string name="bt_sm_2_2">كېتەرلىك بوشلۇق: <xliff:g id="SIZE">%1$s</xliff:g></string> + <string name="ErrorTooManyRequests">بىر تەرەپ قىلىۋاتقان ئىلتىماس بەك كۆپ. سەل تۇرۇپ قايتا سىناڭ.</string> + <string name="status_pending">ھۆججەت يوللاش باشلانمىدى</string> + <string name="status_running">ھۆججەت يوللىنىۋاتىدۇ.</string> + <string name="status_success">ھۆججەت يوللاش مۇۋەپپەقىيەتلىك تاماملاندى.</string> + <string name="status_not_accept">مەزمۇننى قوللىمايدۇ.</string> + <string name="status_forbidden">نىشان ئۈسكۈنە يوللاشنى چەكلەيدۇ.</string> + <string name="status_canceled">ئىشلەتكۈچى يوللاشتىن ۋاز كەچتى.</string> + <string name="status_file_error">ساقلاش مەسىلىسى</string> + <string name="status_no_sd_card" product="nosdcard">USB ساقلىغۇچ يوق.</string> + <string name="status_no_sd_card" product="default">SD كارتا يوق. يوللىغان ھۆججەتنى ساقلايدىغان SD كارتىنى قىستۇرۇڭ.</string> + <string name="status_connection_error">مۇۋەپپەقىيەتلىك باغلىنالمىدى.</string> + <string name="status_protocol_error">ئىلتىماسنى توغرا بىر تەرەپ قىلالمايدۇ.</string> + <string name="status_unknown_error">يوچۇن خاتالىق.</string> + <string name="btopp_live_folder">كۆكچىش قوبۇللىدى</string> + <string name="download_success"><xliff:g id="FILE_SIZE">%1$s</xliff:g> قوبۇللاش تاماملاندى.</string> + <string name="upload_success"><xliff:g id="FILE_SIZE">%1$s</xliff:g> يوللاش تاماملاندى.</string> + <string name="inbound_history_title">يوللاشنىڭ كىرگەن ئىزلىرى</string> + <string name="outbound_history_title">يوللاشنىڭ چىققان ئىزلىرى</string> + <string name="no_transfers">توركۆرگۈ تارىخ خاتىرىسى بوش.</string> + <string name="transfer_clear_dlg_msg">ھەممە تۈرلەر تىزىملىكتىن ئۆچۈرۈلىدۇ.</string> + <string name="outbound_noti_title">كۆكچىش ھەمبەھىر: يوللانغان ھۆججەتلەر</string> + <string name="inbound_noti_title">كۆكچىش ھەمبەھىر: قوبۇللىغان ھۆججەتلەر</string> + <string name="transfer_menu_clear_all">تىزىملىكنى تازىلا</string> + <string name="transfer_menu_open">ئاچ</string> + <string name="transfer_menu_clear">تىزىملىكتىن تازىلا</string> + <string name="transfer_clear_dlg_title">تازىلا</string> + <string name="bluetooth_map_settings_cancel">ۋاز كەچ</string> </resources> diff --git a/res/values-ug/strings_pbap.xml b/res/values-ug/strings_pbap.xml index f211002c6..c157037ff 100644 --- a/res/values-ug/strings_pbap.xml +++ b/res/values-ug/strings_pbap.xml @@ -1,17 +1,15 @@ <?xml version="1.0" encoding="utf-8"?> <!--Generated by crowdin.com--> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="pbap_session_key_dialog_title">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈڭ</string> - <string name="pbap_session_key_dialog_header">كۆكچىش سۆزلىشىش ئاچقۇچى زۆرۈر</string> - <string name="pbap_acceptance_timeout_message">%1$s نىڭ بىلەن بولغان باغلىنىشقا قوشۇلۇش ۋاقىت ھالقىدى</string> - <string name="pbap_authentication_timeout_message">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈشتە ۋاقىت ھالقىدى</string> - <string name="auth_notif_ticker">Obex سالاھىيەت دەلىللەش ئىلتىماسى</string> - <!-- Notification title when a Bluetooth device wants to pair with us --> - <string name="auth_notif_title">سۆزلىشىش ئاچقۇچى</string> - <!-- Notification message when a Bluetooth device wants to pair with us --> - <string name="auth_notif_message">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈڭ</string> - <string name="defaultname">ماشىنا يۈرۈشلۈكى</string> - <string name="unknownName">يوچۇن ئات</string> - <string name="localPhoneName">ئاتىم</string> - <string name="defaultnumber">000000</string> + <string name="pbap_session_key_dialog_title">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈڭ</string> + <string name="pbap_session_key_dialog_header">كۆكچىش سۆزلىشىش ئاچقۇچى زۆرۈر</string> + <string name="pbap_acceptance_timeout_message">%1$s نىڭ بىلەن بولغان باغلىنىشقا قوشۇلۇش ۋاقىت ھالقىدى</string> + <string name="pbap_authentication_timeout_message">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈشتە ۋاقىت ھالقىدى</string> + <string name="auth_notif_ticker">Obex سالاھىيەت دەلىللەش ئىلتىماسى</string> + <string name="auth_notif_title">سۆزلىشىش ئاچقۇچى</string> + <string name="auth_notif_message">%1$s سۆزلىشىش ئاچقۇچىنى كىرگۈزۈڭ</string> + <string name="defaultname">ماشىنا يۈرۈشلۈكى</string> + <string name="unknownName">يوچۇن ئات</string> + <string name="localPhoneName">ئاتىم</string> + <string name="defaultnumber">000000</string> </resources> diff --git a/res/values-ug/strings_sap.xml b/res/values-ug/strings_sap.xml deleted file mode 100644 index d242b5671..000000000 --- a/res/values-ug/strings_sap.xml +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"></resources> diff --git a/res/values-uk/cm_strings.xml b/res/values-uk/cm_strings.xml index 9c4f5d661..b70d53191 100644 --- a/res/values-uk/cm_strings.xml +++ b/res/values-uk/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Не вдається надіслати файл, повторна спроба\u2026</string> + <string name="incoming_file_toast_msg">Вхідний файл з іншого пристрою. Підтвердіть, що хочете отримати цей файл.</string> + <string name="upload_fail_waiting">Не вдається надіслати файл, повторна спроба\u2026</string> </resources> diff --git a/res/values-ur-rPK/cm_strings.xml b/res/values-ur-rPK/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-ur-rPK/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-uz-rUZ/cm_strings.xml b/res/values-uz-rUZ/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-uz-rUZ/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-eo/cm_strings.xml b/res/values-vec-rIT/cm_strings.xml index 29c1061f9..29c1061f9 100644 --- a/res/values-eo/cm_strings.xml +++ b/res/values-vec-rIT/cm_strings.xml diff --git a/res/values-fy-rNL/strings.xml b/res/values-vec-rIT/strings.xml index 1b6ab882a..906d6536d 100644 --- a/res/values-fy-rNL/strings.xml +++ b/res/values-vec-rIT/strings.xml @@ -36,7 +36,6 @@ <!-- string for "error message in airplane mode" --> <!-- Activate Bluetooth Confirmation Dialog --> <!--Title --> - <string name="bt_enable_title"></string> <!--Line 1 --> <!--Line 2 --> <!-- Label for a cancel button. --> @@ -64,7 +63,6 @@ <!--Line 2 --> <!--Line 3 --> <!--Line 4 --> - <string name="download_line4"></string> <!-- Label for a cancel button. --> <!-- Label for a hide button.--> <!--Line 1 --> @@ -97,11 +95,5 @@ <!-- Do not translate. file name used for sharing. --> <!-- Used to run Bluetooth.apk in another process if needed --> <!-- Do not translate. android:sharedUserId string of this application. --> - <string name="sharedUserId" translate="false"> - <xliff:g id="x"></xliff:g> - </string> <!-- Do not translate. android:process of this application. --> - <string name="process" translate="false"> - <xliff:g id="x"></xliff:g> - </string> </resources> diff --git a/res/values-es-rMX/strings_pbap.xml b/res/values-vec-rIT/strings_pbap.xml index 55f5b837a..55f5b837a 100644 --- a/res/values-es-rMX/strings_pbap.xml +++ b/res/values-vec-rIT/strings_pbap.xml diff --git a/res/values-es-rMX/strings_sap.xml b/res/values-vec-rIT/strings_sap.xml index d242b5671..d242b5671 100644 --- a/res/values-es-rMX/strings_sap.xml +++ b/res/values-vec-rIT/strings_sap.xml diff --git a/res/values-vi/cm_strings.xml b/res/values-vi/cm_strings.xml index 08ac44798..b080d4f25 100644 --- a/res/values-vi/cm_strings.xml +++ b/res/values-vi/cm_strings.xml @@ -16,5 +16,6 @@ limitations under the License. --> <resources> - <string name="upload_fail_waiting">Không thể gửi tập tin, đang thử lại\u2026</string> + <string name="incoming_file_toast_msg">Tập tin từ một thiết bị khác. Xác nhận bạn muốn nhận tập tin này.</string> + <string name="upload_fail_waiting">Không thể gửi tập tin, đang thử lại\u2026</string> </resources> diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml index e0aa7122d..9683effdd 100644 --- a/res/values-zh-rCN/cm_strings.xml +++ b/res/values-zh-rCN/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">另一台设备尝试传入文件。请确认您是否要接受此文件。</string> - <string name="upload_fail_waiting">无法发送文件,正在重试\u2026</string> + <string name="incoming_file_toast_msg">另一台设备尝试传入文件。请您确认是否接收此文件。</string> + <string name="upload_fail_waiting">无法发送文件,正在重试\u2026</string> </resources> diff --git a/res/values-zh-rHK/cm_strings.xml b/res/values-zh-rHK/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-zh-rHK/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/res/values-zh-rTW/cm_strings.xml b/res/values-zh-rTW/cm_strings.xml index 3184150c2..26433f14f 100644 --- a/res/values-zh-rTW/cm_strings.xml +++ b/res/values-zh-rTW/cm_strings.xml @@ -16,6 +16,6 @@ limitations under the License. --> <resources> - <string name="incoming_file_toast_msg">有另一台裝置嘗試傳送檔案,請確認是否要接受此檔案。</string> - <string name="upload_fail_waiting">無法傳送檔案,正在重試\u2026</string> + <string name="incoming_file_toast_msg">有另一台裝置嘗試傳送檔案,請確認是否要接受此檔案。</string> + <string name="upload_fail_waiting">無法傳送檔案,正在重試\u2026</string> </resources> diff --git a/res/values-zu/cm_strings.xml b/res/values-zu/cm_strings.xml deleted file mode 100644 index 29c1061f9..000000000 --- a/res/values-zu/cm_strings.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.com--> -<!-- - Copyright (C) 2015-2016 The CyanogenMod Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<resources></resources> diff --git a/src/com/android/bluetooth/avrcp/Avrcp.java b/src/com/android/bluetooth/avrcp/Avrcp.java index 82dfacec2..48982bc60 100644 --- a/src/com/android/bluetooth/avrcp/Avrcp.java +++ b/src/com/android/bluetooth/avrcp/Avrcp.java @@ -300,7 +300,6 @@ public final class Avrcp { private boolean isMusicAppResponsePending; private boolean isBrowsingSupported; private boolean isAbsoluteVolumeSupportingDevice; - private boolean isActiveDevice; private int mRemoteVolume; private int mLastRemoteVolume; @@ -341,7 +340,6 @@ public final class Avrcp { isMusicAppResponsePending = false; isBrowsingSupported = false; isAbsoluteVolumeSupportingDevice = false; - isActiveDevice = false; mRemoteVolume = -1; mInitialRemoteVolume = -1; mLastRemoteVolume = -1; @@ -1206,12 +1204,6 @@ public final class Avrcp { msg.arg2 == AVRC_RSP_CHANGED || msg.arg2 == AVRC_RSP_INTERIM)) { /* If the volume has successfully changed */ - if (!deviceFeatures[deviceIndex].isActiveDevice && - (msg.arg2 == AVRC_RSP_CHANGED || msg.arg2 == AVRC_RSP_INTERIM)) { - Log.d(TAG, "Do not change volume from an inactive device"); - break; - } - deviceFeatures[deviceIndex].mLocalVolume = volIndex; if (deviceFeatures[deviceIndex].mLastLocalVolume != -1 && msg.arg2 == AVRC_RSP_ACCEPT) { @@ -1268,83 +1260,85 @@ public final class Avrcp { if (DEBUG) Log.v(TAG, "ignore MESSAGE_ADJUST_VOLUME"); break; } - - if (mA2dpService.isMulticastFeatureEnabled() && - areMultipleDevicesConnected()) { - if (DEBUG) Log.v(TAG, "Volume change not entertained as multicast is enabled & multiple devices are connected"); - break; - } + List<BluetoothDevice> playingDevice = mA2dpService.getA2dpPlayingDevice(); if (DEBUG) Log.d(TAG, "MESSAGE_ADJUST_VOLUME: direction=" + msg.arg1); - for (int i = 0; i < maxAvrcpConnections; i++) { - if (deviceFeatures[i].mCurrentDevice != null && - deviceFeatures[i].isActiveDevice) { - deviceIndex = i; - if ((deviceFeatures[deviceIndex].mVolCmdAdjustInProgress) || - (deviceFeatures[deviceIndex].mVolCmdSetInProgress)){ - if (DEBUG) - Log.w(TAG, "already a volume command in progress" + - "for this device."); - continue; - } - if (deviceFeatures[deviceIndex].mInitialRemoteVolume == -1) { - if (DEBUG) Log.d(TAG, "remote never tell us initial volume, black list it."); - blackListCurrentDevice(deviceIndex); - break; - } - // Wait on verification on volume from device, before changing the volume. - if (deviceFeatures[deviceIndex].mRemoteVolume != -1 && - (msg.arg1 == -1 || msg.arg1 == 1)) { - int setVol = -1; - int targetVolIndex = -1; - if (deviceFeatures[deviceIndex].mLocalVolume == 0 && msg.arg1 == -1) { - if (DEBUG) Log.w(TAG, "No need to Vol down from 0."); - break; - } - if (deviceFeatures[deviceIndex].mLocalVolume == - mAudioStreamMax && msg.arg1 == 1) { - if (DEBUG) Log.w(TAG, "No need to Vol up from max."); - break; - } - - targetVolIndex = deviceFeatures[deviceIndex].mLocalVolume + msg.arg1; - if (DEBUG) Log.d(TAG, "Adjusting volume to " + targetVolIndex); - - Integer j; - synchronized (deviceFeatures[deviceIndex].mVolumeMapping) { - j = deviceFeatures[deviceIndex].mVolumeMapping.get(targetVolIndex); - } - if (j != null) { - /* if we already know this volume mapping, use it */ - setVol = j.byteValue(); - if (setVol == deviceFeatures[deviceIndex].mRemoteVolume) { - if (DEBUG) Log.d(TAG, "got same volume from mapping for " + - targetVolIndex + ", ignore."); - setVol = -1; - } - if (DEBUG) Log.d(TAG, "set volume from mapping " + targetVolIndex + "-" + setVol); - } - if (setVol == -1) { - /* otherwise use phone steps */ - setVol = Math.min(AVRCP_MAX_VOL, - convertToAvrcpVolume(Math.max(0, targetVolIndex))); - if (DEBUG) Log.d(TAG, "set volume from local volume "+ targetVolIndex+"-"+ setVol); - } - boolean isSetVol = setVolumeNative(setVol , - getByteAddress(deviceFeatures[deviceIndex].mCurrentDevice)); - if (isSetVol) { - sendMessageDelayed(obtainMessage(MESSAGE_ABS_VOL_TIMEOUT, - 0, 0, deviceFeatures[deviceIndex].mCurrentDevice), CMD_TIMEOUT_DELAY); - deviceFeatures[deviceIndex].mVolCmdAdjustInProgress = true; - deviceFeatures[deviceIndex].mLastDirection = msg.arg1; - deviceFeatures[deviceIndex].mLastRemoteVolume = setVol; - deviceFeatures[deviceIndex].mLastLocalVolume = targetVolIndex; - } else { - if (DEBUG) Log.d(TAG, "adjustVolumeNative failed"); - } + for (int i = 0; i < playingDevice.size(); i++) { + Log.v(TAG, "event for device address " + + playingDevice.get(i).getAddress()); + deviceIndex = getIndexForDevice(playingDevice.get(i)); + if (deviceIndex == INVALID_DEVICE_INDEX) { + Log.e(TAG,"Unkown playing device"); + sendAdjustVolume(msg.arg1); + continue; + } + if ((deviceFeatures[deviceIndex].mVolCmdAdjustInProgress) || + (deviceFeatures[deviceIndex].mVolCmdSetInProgress)){ + if (DEBUG) + Log.w(TAG, "already a volume command in progress" + + "for this device."); + continue; + } + if (deviceFeatures[deviceIndex].mInitialRemoteVolume == -1) { + if (DEBUG) Log.d(TAG, "remote never tell us initial volume, black list it."); + blackListCurrentDevice(deviceIndex); + break; + } + // Wait on verification on volume from device, before changing the volume. + if (deviceFeatures[deviceIndex].mRemoteVolume != -1 && + (msg.arg1 == -1 || msg.arg1 == 1)) { + int setVol = -1; + int targetVolIndex = -1; + if (deviceFeatures[deviceIndex].mLocalVolume == 0 && msg.arg1 == -1) { + if (DEBUG) Log.w(TAG, "No need to Vol down from 0."); + break; + } + if (deviceFeatures[deviceIndex].mLocalVolume == + mAudioStreamMax && msg.arg1 == 1) { + if (DEBUG) Log.w(TAG, "No need to Vol up from max."); + break; + } + + targetVolIndex = deviceFeatures[deviceIndex].mLocalVolume + msg.arg1; + if (DEBUG) Log.d(TAG, "Adjusting volume to " + targetVolIndex); + + Integer j; + synchronized (deviceFeatures[deviceIndex].mVolumeMapping) { + j = deviceFeatures[deviceIndex].mVolumeMapping.get(targetVolIndex); + } + + if (j != null) { + /* if we already know this volume mapping, use it */ + setVol = j.byteValue(); + if (setVol == deviceFeatures[deviceIndex].mRemoteVolume) { + if (DEBUG) Log.d(TAG, "got same volume from mapping for " + + targetVolIndex + ", ignore."); + setVol = -1; + } + if (DEBUG) Log.d(TAG, "set volume from mapping " + targetVolIndex + "-" + setVol); + } + + if (setVol == -1) { + /* otherwise use phone steps */ + setVol = Math.min(AVRCP_MAX_VOL, + convertToAvrcpVolume(Math.max(0, targetVolIndex))); + if (DEBUG) Log.d(TAG, "set volume from local volume "+ targetVolIndex+"-"+ setVol); + } + + boolean isSetVol = setVolumeNative(setVol , + getByteAddress(deviceFeatures[deviceIndex].mCurrentDevice)); + if (isSetVol) { + sendMessageDelayed(obtainMessage(MESSAGE_ABS_VOL_TIMEOUT, + 0, 0, deviceFeatures[deviceIndex].mCurrentDevice), CMD_TIMEOUT_DELAY); + deviceFeatures[deviceIndex].mVolCmdAdjustInProgress = true; + deviceFeatures[deviceIndex].mLastDirection = msg.arg1; + deviceFeatures[deviceIndex].mLastRemoteVolume = setVol; + deviceFeatures[deviceIndex].mLastLocalVolume = targetVolIndex; } else { - Log.e(TAG, "Unknown direction in MESSAGE_ADJUST_VOLUME"); + if (DEBUG) Log.d(TAG, "adjustVolumeNative failed"); } + } else { + Log.e(TAG, "Unknown direction in MESSAGE_ADJUST_VOLUME"); } } break; @@ -1355,46 +1349,46 @@ public final class Avrcp { if (DEBUG) Log.v(TAG, "ignore MESSAGE_SET_ABSOLUTE_VOLUME"); break; } - if (mA2dpService.isMulticastFeatureEnabled() && - areMultipleDevicesConnected()) { - if (DEBUG) Log.v(TAG, "Volume change not entertained as multicast is enabled & multiple devices are connected"); - break; - } if (DEBUG) Log.v(TAG, "MESSAGE_SET_ABSOLUTE_VOLUME"); - + List<BluetoothDevice> playingDevice = mA2dpService.getA2dpPlayingDevice(); + if (playingDevice.size() == 0) { + Log.e(TAG,"Volume cmd without a2dp playing"); + } int avrcpVolume = convertToAvrcpVolume(msg.arg1); avrcpVolume = Math.min(AVRCP_MAX_VOL, Math.max(0, avrcpVolume)); - for (int i = 0; i < maxAvrcpConnections; i++) { - if (deviceFeatures[i].mCurrentDevice != null && - deviceFeatures[i].isActiveDevice) { - - deviceIndex = i; - - if ((deviceFeatures[deviceIndex].mVolCmdSetInProgress) || - (deviceFeatures[deviceIndex].mVolCmdAdjustInProgress)){ - if (DEBUG) - Log.w(TAG, "There is already a volume command in progress."); - continue; - } - if (deviceFeatures[deviceIndex].mInitialRemoteVolume == -1) { - if (DEBUG) Log.d(TAG, "remote never tell us initial volume, black list it."); - blackListCurrentDevice(deviceIndex); - break; - } - Log.v(TAG, "event for device address " + (String)msg.obj); - boolean isSetVol = setVolumeNative(avrcpVolume , - getByteAddress(deviceFeatures[deviceIndex].mCurrentDevice)); - if (isSetVol) { - sendMessageDelayed(obtainMessage(MESSAGE_ABS_VOL_TIMEOUT, - 0, 0, deviceFeatures[deviceIndex].mCurrentDevice), - CMD_TIMEOUT_DELAY); - deviceFeatures[deviceIndex].mVolCmdSetInProgress = true; - deviceFeatures[deviceIndex].mLastRemoteVolume = avrcpVolume; - deviceFeatures[deviceIndex].mLastLocalVolume = msg.arg1; - } else { - if (DEBUG) Log.d(TAG, "setVolumeNative failed"); - } + for (int i = 0; i < playingDevice.size(); i++) { + deviceIndex = getIndexForDevice(playingDevice.get(i)); + if (deviceIndex == INVALID_DEVICE_INDEX) { + Log.e(TAG,"Unkown playing device for SetAbsVol"); + sendSetAbsoluteVolume(msg.arg1); + continue; + } + Log.v(TAG, "event for device address " + + playingDevice.get(i).getAddress()); + if ((deviceFeatures[deviceIndex].mVolCmdSetInProgress) || + (deviceFeatures[deviceIndex].mVolCmdAdjustInProgress)){ + if (DEBUG) + Log.w(TAG, "There is already a volume command in progress."); + continue; + } + if (deviceFeatures[deviceIndex].mInitialRemoteVolume == -1) { + if (DEBUG) Log.d(TAG, "remote never tell us initial volume, black list it."); + blackListCurrentDevice(deviceIndex); + break; + } + Log.v(TAG, "event for device address " + (String)msg.obj); + boolean isSetVol = setVolumeNative(avrcpVolume , + getByteAddress(deviceFeatures[deviceIndex].mCurrentDevice)); + if (isSetVol) { + sendMessageDelayed(obtainMessage(MESSAGE_ABS_VOL_TIMEOUT, + 0, 0, deviceFeatures[deviceIndex].mCurrentDevice), + CMD_TIMEOUT_DELAY); + deviceFeatures[deviceIndex].mVolCmdSetInProgress = true; + deviceFeatures[deviceIndex].mLastRemoteVolume = avrcpVolume; + deviceFeatures[deviceIndex].mLastLocalVolume = msg.arg1; + } else { + if (DEBUG) Log.d(TAG, "setVolumeNative failed"); } } break; @@ -1641,6 +1635,7 @@ public final class Avrcp { private void updateA2dpAudioState(int state, BluetoothDevice device) { boolean isPlaying = (state == BluetoothA2dp.STATE_PLAYING); + Log.v(TAG,"updateA2dpAudioState"); if ((isPlaying) && !mAudioManager.isMusicActive()) { /* Play state to be updated only for music streaming, not touchtone */ @@ -1652,21 +1647,14 @@ public final class Avrcp { (device.equals(deviceFeatures[i].mCurrentDevice))) { PlaybackState.Builder builder = new PlaybackState.Builder(); if (isPlaying) { - deviceFeatures[i].isActiveDevice = true; builder.setState(PlaybackState.STATE_PLAYING, PlaybackState.PLAYBACK_POSITION_UNKNOWN, 1.0f); - Log.v(TAG,"updateA2dpAudioState: Active device is set true at index = " + i); } else { builder.setState(PlaybackState.STATE_PAUSED, PlaybackState.PLAYBACK_POSITION_UNKNOWN, 0.0f); } updatePlaybackState(builder.build(), device); - } - - if (!device.equals(deviceFeatures[i].mCurrentDevice) && - deviceFeatures[i].isActiveDevice && isPlaying) { - deviceFeatures[i].isActiveDevice = false; - Log.v(TAG,"updateA2dpAudioState: Active device is set false at index = " + i); + break; } } } @@ -3575,7 +3563,7 @@ public final class Avrcp { attrs[i] == MEDIA_ATTR_NUM_TRACKS) cachereq = true; } - if (scope == SCOPE_NOW_PLAYING && cachereq) { + if (mMediaController != null && scope == SCOPE_NOW_PLAYING && cachereq) { Log.v(TAG,"scope now playing, caching req"); mMediaController.getTransportControls().getRemoteControlClientNowPlayingEntries(); mCachedRequest = new CachedRequest((long)0, (long)0, numAttr, attrs, size, false, @@ -5146,13 +5134,8 @@ public final class Avrcp { * returns true only when both playing devices support absolute volume */ public boolean isAbsoluteVolumeSupported() { - if (mA2dpService.isMulticastFeatureEnabled() && - areMultipleDevicesConnected()) { - if (DEBUG) Log.v(TAG, "isAbsoluteVolumeSupported : Absolute volume false multicast is enabled & multiple devices are connected"); - return false; - } List<Byte> absVolumeSupported = new ArrayList<Byte>(); - for (int i = 0; i < maxAvrcpConnections; i++) { + for (int i = 0; i < maxAvrcpConnections; i++ ) { if (deviceFeatures[i].mCurrentDevice != null) { // add 1 in byte list if absolute volume is supported // add 0 in byte list if absolute volume not supported @@ -5554,7 +5537,6 @@ public final class Avrcp { for (int i = 0; i < maxAvrcpConnections; i++ ) { if (deviceFeatures[i].mCurrentDevice == null) { deviceFeatures[i].mCurrentDevice = device; - deviceFeatures[i].isActiveDevice = true; /*Playstate is explicitly updated here to take care of cases where play state update is missed because of that happening even before Avrcp connects*/ @@ -5577,19 +5559,9 @@ public final class Avrcp { Log.i(TAG,"play status updated on Avrcp connection as: " + deviceFeatures[i].mCurrentPlayState); Log.i(TAG,"device added at " + i); - Log.i(TAG,"Active device set to true at index = " + i); break; } } - - for (int i = 0; i < maxAvrcpConnections; i++ ) { - if (deviceFeatures[i].mCurrentDevice != null && - !(deviceFeatures[i].mCurrentDevice.equals(device)) && - deviceFeatures[i].isActiveDevice) { - deviceFeatures[i].isActiveDevice = false; - Log.i(TAG,"Active device set to false at index = " + i); - } - } } public boolean isAvrcpConnected() { @@ -5642,7 +5614,6 @@ public final class Avrcp { deviceFeatures[index].mMediaUri = Uri.EMPTY; deviceFeatures[index].isMusicAppResponsePending = false; deviceFeatures[index].isBrowsingSupported = false; - deviceFeatures[index].isActiveDevice = false; deviceFeatures[index].isAbsoluteVolumeSupportingDevice = false; } /** @@ -5665,16 +5636,7 @@ public final class Avrcp { Log.i(TAG,"clearing mBrowserDevice on disconnect"); mBrowserDevice = null; } - } - /* Multicast scenario both abs vol supported - Active device got disconnected so make other - device which is left supporting absolute - volume as active device - */ - if (deviceFeatures[i].mCurrentDevice != null && - !(deviceFeatures[i].mCurrentDevice.equals(device))) { - deviceFeatures[i].isActiveDevice = true; - Log.i(TAG,"setAvrcpDisconnectedDevice : Active device changed to index = " + i); + break; } } mAudioManager.avrcpSupportsAbsoluteVolume(device.getAddress(), diff --git a/src/com/android/bluetooth/btservice/AdapterService.java b/src/com/android/bluetooth/btservice/AdapterService.java index f4d029796..4104d4220 100644 --- a/src/com/android/bluetooth/btservice/AdapterService.java +++ b/src/com/android/bluetooth/btservice/AdapterService.java @@ -1188,6 +1188,12 @@ public class AdapterService extends Service { return service.getBondState(device); } + public long getSupportedProfiles() { + AdapterService service = getService(); + if (service == null) return 0; + return service.getSupportedProfiles(); + } + public int getConnectionState(BluetoothDevice device) { AdapterService service = getService(); if (service == null) return 0; @@ -2189,6 +2195,10 @@ public class AdapterService extends Service { return deviceProp.getBondState(); } + long getSupportedProfiles() { + return Config.getSupportedProfilesBitMask(); + } + int getConnectionState(BluetoothDevice device) { enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission"); byte[] addr = Utils.getBytesFromAddress(device.getAddress()); @@ -2258,6 +2268,12 @@ public class AdapterService extends Service { return false; } + if (pinCode.length != len) { + android.util.EventLog.writeEvent(0x534e4554, "139287605", -1, + "PIN code length mismatch"); + return false; + } + byte[] addr = Utils.getBytesFromAddress(device.getAddress()); return pinReplyNative(addr, accept, len, pinCode); } @@ -2269,6 +2285,12 @@ public class AdapterService extends Service { return false; } + if (passkey.length != len) { + android.util.EventLog.writeEvent(0x534e4554, "139287605", -1, + "Passkey length mismatch"); + return false; + } + byte[] addr = Utils.getBytesFromAddress(device.getAddress()); return sspReplyNative(addr, AbstractionLayer.BT_SSP_VARIANT_PASSKEY_ENTRY, accept, Utils.byteArrayToInt(passkey)); @@ -2704,28 +2726,6 @@ public class AdapterService extends Service { return getResources().getInteger(R.integer.config_bluetooth_operating_voltage_mv) / 1000.0; } - private String getStateString() { - int state = getState(); - switch (state) { - case BluetoothAdapter.STATE_OFF: - return "STATE_OFF"; - case BluetoothAdapter.STATE_TURNING_ON: - return "STATE_TURNING_ON"; - case BluetoothAdapter.STATE_ON: - return "STATE_ON"; - case BluetoothAdapter.STATE_TURNING_OFF: - return "STATE_TURNING_OFF"; - case BluetoothAdapter.STATE_BLE_TURNING_ON: - return "STATE_BLE_TURNING_ON"; - case BluetoothAdapter.STATE_BLE_ON: - return "STATE_BLE_ON"; - case BluetoothAdapter.STATE_BLE_TURNING_OFF: - return "STATE_BLE_TURNING_OFF"; - default: - return "UNKNOWN STATE: " + state; - } - } - @Override protected void dump(FileDescriptor fd, PrintWriter writer, String[] args) { enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, TAG); @@ -2743,20 +2743,6 @@ public class AdapterService extends Service { } } - long onDuration = System.currentTimeMillis() - mBluetoothStartTime; - String onDurationString = String.format("%02d:%02d:%02d.%03d", - (int)(onDuration / (1000 * 60 * 60)), - (int)((onDuration / (1000 * 60)) % 60), - (int)((onDuration / 1000) % 60), - (int)(onDuration % 1000)); - - writer.println("Bluetooth Status"); - writer.println(" enabled: " + isEnabled()); - writer.println(" state: " + getStateString()); - writer.println(" address: " + getAddress()); - writer.println(" name: " + getName()); - writer.println(" time since enabled: " + onDurationString + "\n"); - writer.println("Bonded devices:"); for (BluetoothDevice device : getBondedDevices()) { writer.println(" " + device.getAddress() + diff --git a/src/com/android/bluetooth/btservice/Config.java b/src/com/android/bluetooth/btservice/Config.java index 3254feb01..723a494f6 100644 --- a/src/com/android/bluetooth/btservice/Config.java +++ b/src/com/android/bluetooth/btservice/Config.java @@ -104,9 +104,7 @@ public class Config { profiles.add(PROFILE_SERVICES[i]); } } - int totalProfiles = profiles.size(); - SUPPORTED_PROFILES = new Class[totalProfiles]; - profiles.toArray(SUPPORTED_PROFILES); + SUPPORTED_PROFILES = profiles.toArray(new Class[profiles.size()]); } @SuppressWarnings("rawtypes") @@ -135,7 +133,36 @@ public class Config { return SUPPORTED_PROFILES; } + static long getSupportedProfilesBitMask() { + long mask = 0; + for (final Class profileClass : getSupportedProfiles()) { + final int profileIndex = getProfileIndex(profileClass); + + if (profileIndex != -1) { + mask |= 1 << getProfileIndex(profileClass); + } + } + + return mask; + } + private static boolean isProfileDisabled(Context context, Class profile) { + final int profileIndex = getProfileIndex(profile); + + if (profileIndex == -1) { + Log.w(TAG, "Could not find profile bit mask"); + return false; + } + + final ContentResolver resolver = context.getContentResolver(); + final long disabledProfilesBitMask = Settings.Global.getLong(resolver, + Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); + final long profileBit = 1 << profileIndex; + + return (disabledProfilesBitMask & profileBit) != 0; + } + + private static int getProfileIndex(Class profile) { int profileIndex = -1; if (profile == HeadsetService.class) { @@ -164,16 +191,6 @@ public class Config { profileIndex = BluetoothProfile.PBAP_CLIENT; } - if (profileIndex == -1) { - Log.d(TAG, "Could not find profile bit mask"); - return false; - } - - final ContentResolver resolver = context.getContentResolver(); - final long disabledProfilesBitMask = Settings.Global.getLong(resolver, - Settings.Global.BLUETOOTH_DISABLED_PROFILES, 0); - long profileBit = 1 << profileIndex; - - return (disabledProfilesBitMask & profileBit) != 0; + return profileIndex; } } diff --git a/src/com/android/bluetooth/btservice/RemoteDevices.java b/src/com/android/bluetooth/btservice/RemoteDevices.java index 94c469d8f..08f694324 100644 --- a/src/com/android/bluetooth/btservice/RemoteDevices.java +++ b/src/com/android/bluetooth/btservice/RemoteDevices.java @@ -245,8 +245,9 @@ final class RemoteDevices { DeviceProperties prop = getDeviceProperties(device); Intent intent = new Intent(BluetoothDevice.ACTION_UUID); intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device); - intent.putExtra(BluetoothDevice.EXTRA_UUID, prop == null? null: prop.mUuids); - mAdapterService.initProfilePriorities(device, prop == null? null: prop.mUuids); + intent.putExtra(BluetoothDevice.EXTRA_UUID, prop == null ? null : prop.mUuids); + mAdapterService.initProfilePriorities(device, prop == null ? null : prop.mUuids); + mAdapterService.sendBroadcast(intent, AdapterService.BLUETOOTH_ADMIN_PERM); //Remove the outstanding UUID request diff --git a/src/com/android/bluetooth/btservice/bluetooth.proto b/src/com/android/bluetooth/btservice/bluetooth.proto index 77ded7807..c616c10a2 100644 --- a/src/com/android/bluetooth/btservice/bluetooth.proto +++ b/src/com/android/bluetooth/btservice/bluetooth.proto @@ -28,6 +28,18 @@ message BluetoothLog { // Number of bonded devices. optional int32 num_bonded_devices = 5; + + // Number of BluetoothSession including discarded ones beyond capacity + optional int64 num_bluetooth_session = 6; + + // Number of PairEvent including discarded ones beyond capacity + optional int64 num_pair_event = 7; + + // Number of WakeEvent including discarded ones beyond capacity + optional int64 num_wake_event = 8; + + // Number of ScanEvent including discarded ones beyond capacity + optional int64 num_scan_event = 9; } // The information about the device. @@ -82,7 +94,7 @@ message BluetoothSession { // The information about the RFComm session. optional RFCommSession rfcomm_session = 6; - // The information about the A2DP session. + // The information about the A2DP audio session. optional A2DPSession a2dp_session = 7; } @@ -95,7 +107,7 @@ message RFCommSession { optional int32 tx_bytes = 2; } -// Session information that gets logged for every A2DP session. +// Session information that gets logged for A2DP session. message A2DPSession { // Media timer in milliseconds. @@ -118,6 +130,9 @@ message A2DPSession { // Buffer underruns count. optional int32 buffer_underruns_count = 7; + + // Total audio time in this A2DP session + optional int64 audio_duration_millis = 8; } message PairEvent { diff --git a/src/com/android/bluetooth/gatt/AdvertiseManager.java b/src/com/android/bluetooth/gatt/AdvertiseManager.java index 3fb4aa945..4e6055fc8 100644 --- a/src/com/android/bluetooth/gatt/AdvertiseManager.java +++ b/src/com/android/bluetooth/gatt/AdvertiseManager.java @@ -157,7 +157,7 @@ class AdvertiseManager { } } - private AdvertiseClient getAdvertiseClient(int clientIf) { + public AdvertiseClient getAdvertiseClient(int clientIf) { for (AdvertiseClient client : mAdvertiseClients) { if (client.clientIf == clientIf) { return client; @@ -316,6 +316,9 @@ class AdvertiseManager { return false; } setAdvertisingData(client, client.advertiseData, false); + if (client.scanResponse != null) { + setAdvertisingData(client, client.scanResponse, true); + } return true; } diff --git a/src/com/android/bluetooth/gatt/AppScanStats.java b/src/com/android/bluetooth/gatt/AppScanStats.java index e73f41512..7eed888b5 100644 --- a/src/com/android/bluetooth/gatt/AppScanStats.java +++ b/src/com/android/bluetooth/gatt/AppScanStats.java @@ -64,6 +64,9 @@ import com.android.bluetooth.btservice.BluetoothProto; // earliest recorded scan exits this window. static final long EXCESSIVE_SCANNING_PERIOD_MS = 30 * 1000; + // Maximum msec before scan gets downgraded to opportunistic + static final int SCAN_TIMEOUT_MS = 30 * 60 * 1000; + String appName; int scansStarted = 0; int scansStopped = 0; @@ -160,6 +163,14 @@ import com.android.bluetooth.btservice.BluetoothProto; EXCESSIVE_SCANNING_PERIOD_MS; } + synchronized boolean isScanningTooLong() { + if (lastScans.isEmpty() || !isScanning) { + return false; + } + + return (System.currentTimeMillis() - startTime) > SCAN_TIMEOUT_MS; + } + // This function truncates the app name for privacy reasons. Apps with // four part package names or more get truncated to three parts, and apps // with three part package names names get truncated to two. Apps with two diff --git a/src/com/android/bluetooth/gatt/GattService.java b/src/com/android/bluetooth/gatt/GattService.java index f8bef759d..3f004b417 100644 --- a/src/com/android/bluetooth/gatt/GattService.java +++ b/src/com/android/bluetooth/gatt/GattService.java @@ -1435,6 +1435,12 @@ public class GattService extends ProfileService { if (DBG) Log.d(TAG, "unregisterClient() - clientIf=" + clientIf); mClientMap.remove(clientIf); + + AdvertiseClient client = mAdvertiseManager.getAdvertiseClient(clientIf); + if (client != null && !client.appDied) { + stopMultiAdvertising(client); + } + gattClientUnregisterAppNative(clientIf); } diff --git a/src/com/android/bluetooth/gatt/ScanManager.java b/src/com/android/bluetooth/gatt/ScanManager.java index 9ed405901..4e69c08cf 100644 --- a/src/com/android/bluetooth/gatt/ScanManager.java +++ b/src/com/android/bluetooth/gatt/ScanManager.java @@ -70,9 +70,6 @@ public class ScanManager { private static final int MSG_FLUSH_BATCH_RESULTS = 2; private static final int MSG_SCAN_TIMEOUT = 3; - // Maximum msec before scan gets downgraded to opportunistic - private static final int SCAN_TIMEOUT_MS = 30 * 60 * 1000; - private static final String ACTION_REFRESH_BATCHED_SCAN = "com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN"; @@ -209,7 +206,7 @@ public class ScanManager { handleFlushBatchResults(client); break; case MSG_SCAN_TIMEOUT: - mScanNative.regularScanTimeout(); + mScanNative.regularScanTimeout(client); break; default: // Shouldn't happen. @@ -244,8 +241,7 @@ public class ScanManager { Message msg = mHandler.obtainMessage(MSG_SCAN_TIMEOUT); msg.obj = client; // Only one timeout message should exist at any time - mHandler.removeMessages(MSG_SCAN_TIMEOUT); - mHandler.sendMessageDelayed(msg, SCAN_TIMEOUT_MS); + mHandler.sendMessageDelayed(msg, AppScanStats.SCAN_TIMEOUT_MS); } } @@ -689,14 +685,12 @@ public class ScanManager { removeScanFilters(client.clientIf); } - void regularScanTimeout() { - for (ScanClient client : mRegularScanClients) { - if (!isExemptFromScanDowngrade(client)) { - Log.w(TAG, "Moving scan client to opportunistic (clientIf " - + client.clientIf + ")"); - setOpportunisticScanClient(client); - client.stats.setScanTimeout(); - } + void regularScanTimeout(ScanClient client) { + if (!isExemptFromScanDowngrade(client) && client.stats.isScanningTooLong()) { + Log.w(TAG, + "Moving scan client to opportunistic (clientIf " + client.clientIf + ")"); + setOpportunisticScanClient(client); + client.stats.setScanTimeout(); } // The scan should continue for background scans diff --git a/src/com/android/bluetooth/hfpclient/HeadsetClientService.java b/src/com/android/bluetooth/hfpclient/HeadsetClientService.java index 31125c0fa..da41175c9 100644 --- a/src/com/android/bluetooth/hfpclient/HeadsetClientService.java +++ b/src/com/android/bluetooth/hfpclient/HeadsetClientService.java @@ -93,7 +93,9 @@ public class HeadsetClientService extends ProfileService { } catch (Exception e) { Log.w(TAG, "Unable to unregister broadcast receiver", e); } - mStateMachine.doQuit(); + if (mStateMachine != null) { + mStateMachine.doQuit(); + } // Stop the HfpClientConnectionService. Intent stopIntent = new Intent(this, HfpClientConnectionService.class); @@ -168,6 +170,8 @@ public class HeadsetClientService extends ProfileService { if (mService != null && mService.isAvailable()) { return mService; } + + Log.e(TAG, "HeadsetClientService is not available."); return null; } @@ -489,6 +493,7 @@ public class HeadsetClientService extends ProfileService { "Need BLUETOOTH ADMIN permission"); if (getPriority(device) == BluetoothProfile.PRIORITY_OFF) { + Log.w(TAG, "Connection not allowed: <" + device.getAddress() + "> is PRIORITY_OFF"); return false; } @@ -503,6 +508,7 @@ public class HeadsetClientService extends ProfileService { int connectionState = mStateMachine.getConnectionState(device); if (connectionState == BluetoothProfile.STATE_CONNECTED || connectionState == BluetoothProfile.STATE_CONNECTING) { + Log.w(TAG, "Unable to connect: state is CONNECTING or CONNECTED."); return false; } diff --git a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java index 76ef46301..66e25c811 100755 --- a/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java +++ b/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.java @@ -1036,6 +1036,14 @@ final class HeadsetClientStateMachine extends StateMachine { return; } + if (flag == BluetoothHeadsetClient.CALL_ACCEPT_HOLD) { + // HFP is disabled when a call is put on hold to ensure correct audio routing for + // cellular calls accepted while an HFP call is in progress. Reenable HFP when the HFP + // call is put off hold. + Log.d(TAG,"hfp_enable=true"); + mAudioManager.setParameters("hfp_enable=true"); + } + if (handleCallActionNative(action, 0)) { addQueuedAction(ACCEPT_CALL, action); } else { @@ -1103,6 +1111,11 @@ final class HeadsetClientStateMachine extends StateMachine { action = HeadsetClientHalConstants.CALL_ACTION_CHLD_2; } + // Set HFP enable to false in case the call is being held to accept a cellular call. This + // allows the cellular call's audio to be correctly routed. + Log.d(TAG,"hfp_enable=false"); + mAudioManager.setParameters("hfp_enable=false"); + if (handleCallActionNative(action, 0)) { addQueuedAction(HOLD_CALL, action); } else { diff --git a/src/com/android/bluetooth/map/BluetoothMapContent.java b/src/com/android/bluetooth/map/BluetoothMapContent.java index 4f42bfb58..0bff19bd6 100755 --- a/src/com/android/bluetooth/map/BluetoothMapContent.java +++ b/src/com/android/bluetooth/map/BluetoothMapContent.java @@ -1658,10 +1658,8 @@ public class BluetoothMapContent { private String setWhereFilterFolderType(BluetoothMapFolderElement folderElement, FilterInfo fi) { - String where = ""; - if(folderElement.shouldIgnore()) { - where = "1=1"; - } else { + String where = "1=1"; + if (!folderElement.shouldIgnore()) { if (fi.mMsgType == FilterInfo.TYPE_SMS) { where = setWhereFilterFolderTypeSms(folderElement.getName()); } else if (fi.mMsgType == FilterInfo.TYPE_MMS) { @@ -1672,6 +1670,7 @@ public class BluetoothMapContent { where = setWhereFilterFolderTypeIm(folderElement.getFolderId()); } } + return where; } diff --git a/src/com/android/bluetooth/opp/BluetoothOppHandoverReceiver.java b/src/com/android/bluetooth/opp/BluetoothOppHandoverReceiver.java index 38873da12..bcf4f8d37 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppHandoverReceiver.java +++ b/src/com/android/bluetooth/opp/BluetoothOppHandoverReceiver.java @@ -58,7 +58,7 @@ public class BluetoothOppHandoverReceiver extends BroadcastReceiver { Thread t = new Thread(new Runnable() { public void run() { BluetoothOppManager.getInstance(context).saveSendingFileInfo(finalType, - finalUris, true); + finalUris, true /* isHandover */, true /* fromExternal */); BluetoothOppManager.getInstance(context).startTransfer(device); } }); diff --git a/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java b/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java index 4bbda4eb8..93b408b4d 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java +++ b/src/com/android/bluetooth/opp/BluetoothOppLauncherActivity.java @@ -117,7 +117,8 @@ public class BluetoothOppLauncherActivity extends Activity { Thread t = new Thread(new Runnable() { public void run() { BluetoothOppManager.getInstance(BluetoothOppLauncherActivity.this) - .saveSendingFileInfo(type,stream.toString(), false); + .saveSendingFileInfo(type,stream.toString(), + false /* isHandover */, true /* fromExternal */); //Done getting file info..Launch device picker and finish this activity launchDevicePicker(); finish(); @@ -133,7 +134,8 @@ public class BluetoothOppLauncherActivity extends Activity { Thread t = new Thread(new Runnable() { public void run() { BluetoothOppManager.getInstance(BluetoothOppLauncherActivity.this) - .saveSendingFileInfo(type,fileUri.toString(), false); + .saveSendingFileInfo(type,fileUri.toString(), + false /* isHandover */, false /* fromExternal */); //Done getting file info..Launch device picker //and finish this activity launchDevicePicker(); @@ -161,7 +163,8 @@ public class BluetoothOppLauncherActivity extends Activity { Thread t = new Thread(new Runnable() { public void run() { BluetoothOppManager.getInstance(BluetoothOppLauncherActivity.this) - .saveSendingFileInfo(mimeType,uris, false); + .saveSendingFileInfo(mimeType,uris, + false /* isHandover */, true /* fromExternal */); //Done getting file info..Launch device picker //and finish this activity launchDevicePicker(); @@ -225,14 +228,14 @@ public class BluetoothOppLauncherActivity extends Activity { final ContentResolver resolver = this.getContentResolver(); // Check if airplane mode is on - final boolean isAirplaneModeOn = Settings.System.getInt(resolver, + final boolean isAirplaneModeOn = Settings.Global.getInt(resolver, Settings.Global.AIRPLANE_MODE_ON, 0) == 1; if (!isAirplaneModeOn) { return true; } // Check if airplane mode matters - final String airplaneModeRadios = Settings.System.getString(resolver, + final String airplaneModeRadios = Settings.Global.getString(resolver, Settings.Global.AIRPLANE_MODE_RADIOS); final boolean isAirplaneSensitive = airplaneModeRadios == null ? true : airplaneModeRadios.contains(Settings.Global.RADIO_BLUETOOTH); diff --git a/src/com/android/bluetooth/opp/BluetoothOppManager.java b/src/com/android/bluetooth/opp/BluetoothOppManager.java index 82c6e16cf..ab3aa985a 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppManager.java +++ b/src/com/android/bluetooth/opp/BluetoothOppManager.java @@ -248,14 +248,15 @@ public class BluetoothOppManager { if (V) Log.v(TAG, "Application data stored to SharedPreference! "); } - public void saveSendingFileInfo(String mimeType, String uriString, boolean isHandover) { + public void saveSendingFileInfo(String mimeType, String uriString, boolean isHandover, + boolean fromExternal) { synchronized (BluetoothOppManager.this) { mMultipleFlag = false; mMimeTypeOfSendingFile = mimeType; mIsHandoverInitiated = isHandover; Uri uri = Uri.parse(uriString); BluetoothOppSendFileInfo sendFileInfo = - BluetoothOppSendFileInfo.generateFileInfo(mContext, uri, mimeType); + BluetoothOppSendFileInfo.generateFileInfo(mContext, uri, mimeType, fromExternal); uri = BluetoothOppUtility.generateUri(uri, sendFileInfo); BluetoothOppUtility.putSendFileInfo(uri, sendFileInfo); mUriOfSendingFile = uri.toString(); @@ -263,7 +264,8 @@ public class BluetoothOppManager { } } - public void saveSendingFileInfo(String mimeType, ArrayList<Uri> uris, boolean isHandover) { + public void saveSendingFileInfo(String mimeType, ArrayList<Uri> uris, boolean isHandover, + boolean fromExternal) { synchronized (BluetoothOppManager.this) { mMultipleFlag = true; mMimeTypeOfSendingFiles = mimeType; @@ -271,7 +273,7 @@ public class BluetoothOppManager { mIsHandoverInitiated = isHandover; for (Uri uri : uris) { BluetoothOppSendFileInfo sendFileInfo = - BluetoothOppSendFileInfo.generateFileInfo(mContext, uri, mimeType); + BluetoothOppSendFileInfo.generateFileInfo(mContext, uri, mimeType, fromExternal); uri = BluetoothOppUtility.generateUri(uri, sendFileInfo); mUrisOfSendingFiles.add(uri); BluetoothOppUtility.putSendFileInfo(uri, sendFileInfo); diff --git a/src/com/android/bluetooth/opp/BluetoothOppSendFileInfo.java b/src/com/android/bluetooth/opp/BluetoothOppSendFileInfo.java index f60f06cab..3cd3ca933 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppSendFileInfo.java +++ b/src/com/android/bluetooth/opp/BluetoothOppSendFileInfo.java @@ -39,6 +39,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteException; import android.net.Uri; import android.provider.OpenableColumns; +import android.util.EventLog; import android.util.Log; import java.io.File; @@ -97,8 +98,8 @@ public class BluetoothOppSendFileInfo { mStatus = status; } - public static BluetoothOppSendFileInfo generateFileInfo(Context context, Uri uri, - String type) { + public static BluetoothOppSendFileInfo generateFileInfo( + Context context, Uri uri, String type, boolean fromExternal) { ContentResolver contentResolver = context.getContentResolver(); String scheme = uri.getScheme(); String fileName = null; @@ -142,6 +143,16 @@ public class BluetoothOppSendFileInfo { fileName = uri.getLastPathSegment(); } } else if ("file".equals(scheme)) { + if (uri.getPath() == null) { + Log.e(TAG, "Invalid URI path: " + uri); + return SEND_FILE_INFO_ERROR; + } + if (fromExternal && !BluetoothOppUtility.isInExternalStorageDir(uri)) { + EventLog.writeEvent(0x534e4554, "35310991", -1, uri.getPath()); + Log.e(TAG, + "File based URI not in Environment.getExternalStorageDirectory() is not allowed."); + return SEND_FILE_INFO_ERROR; + } fileName = uri.getLastPathSegment(); contentType = type; File f = new File(uri.getPath()); diff --git a/src/com/android/bluetooth/opp/BluetoothOppTransferActivity.java b/src/com/android/bluetooth/opp/BluetoothOppTransferActivity.java index 6883523ad..d93c9172c 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppTransferActivity.java +++ b/src/com/android/bluetooth/opp/BluetoothOppTransferActivity.java @@ -402,7 +402,7 @@ public class BluetoothOppTransferActivity extends AlertActivity implements public void run() { BluetoothOppSendFileInfo sendFileInfo = BluetoothOppSendFileInfo.generateFileInfo(BluetoothOppTransferActivity.this, - uri, mTransInfo.mFileType); + uri, mTransInfo.mFileType, false); uri = BluetoothOppUtility.generateUri(uri, sendFileInfo); BluetoothOppUtility.putSendFileInfo(uri, sendFileInfo); mTransInfo.mFileUri = uri.toString(); diff --git a/src/com/android/bluetooth/opp/BluetoothOppUtility.java b/src/com/android/bluetooth/opp/BluetoothOppUtility.java index 15f4a8932..407c17355 100644 --- a/src/com/android/bluetooth/opp/BluetoothOppUtility.java +++ b/src/com/android/bluetooth/opp/BluetoothOppUtility.java @@ -39,6 +39,7 @@ import com.google.android.collect.Lists; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.net.Uri; +import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.ActivityNotFoundException; @@ -47,6 +48,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.database.Cursor; import android.database.sqlite.SQLiteException; +import android.os.Environment; import android.util.Log; import java.io.File; @@ -67,6 +69,10 @@ public class BluetoothOppUtility { private static final ConcurrentHashMap<Uri, BluetoothOppSendFileInfo> sSendFileMap = new ConcurrentHashMap<Uri, BluetoothOppSendFileInfo>(); + public static boolean isBluetoothShareUri(Uri uri) { + return uri.toString().startsWith(BluetoothShare.CONTENT_URI.toString()); + } + public static BluetoothOppTransferInfo queryRecord(Context context, Uri uri) { BluetoothOppTransferInfo info = new BluetoothOppTransferInfo(); Cursor cursor; @@ -192,6 +198,11 @@ public class BluetoothOppUtility { return; } + if (!isBluetoothShareUri(uri)) { + Log.e(TAG, "Trying to open a file that wasn't transfered over Bluetooth"); + return; + } + File f = new File(fileName); if (!f.exists()) { Intent in = new Intent(context, BluetoothOppBtErrorActivity.class); @@ -207,14 +218,6 @@ public class BluetoothOppUtility { return; } - CustomIntent activityIntent = new CustomIntent(Intent.ACTION_VIEW); - if ("application/vnd.android.package-archive".equals(mimetype)) { - // PackageInstaller doesn't like content URIs, so open file - activityIntent.setDataAndType(Uri.fromFile(f), mimetype); - context.startActivity(activityIntent); - return; - } - Uri path = FileProvider.getUriForFile(context, "com.google.android.bluetooth.fileprovider", f); // If there is no scheme, then it must be a file @@ -223,23 +226,15 @@ public class BluetoothOppUtility { } if (isRecognizedFileType(context, path, mimetype)) { + CustomIntent activityIntent = new CustomIntent(Intent.ACTION_VIEW); activityIntent.setDataAndTypeAndNormalize(path, mimetype); List<ResolveInfo> resInfoList = context.getPackageManager() .queryIntentActivities(activityIntent, PackageManager.MATCH_DEFAULT_ONLY); - // Grant permissions for any app that can handle a file to access it - for (ResolveInfo resolveInfo : resInfoList) { - String packageName = resolveInfo.activityInfo.packageName; - context.grantUriPermission(packageName, path, - Intent.FLAG_GRANT_WRITE_URI_PERMISSION | - Intent.FLAG_GRANT_READ_URI_PERMISSION); - } - activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - activityIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - activityIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); + activityIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); try { if (V) Log.d(TAG, "ACTION_VIEW intent sent out: " + path + " / " + mimetype); @@ -397,6 +392,42 @@ public class BluetoothOppUtility { } } + /** + * Checks if the URI is in Environment.getExternalStorageDirectory() as it + * is the only directory that is possibly readable by both the sender and + * the Bluetooth process. + */ + static boolean isInExternalStorageDir(Uri uri) { + if (!ContentResolver.SCHEME_FILE.equals(uri.getScheme())) { + Log.e(TAG, "Not a file URI: " + uri); + return false; + } + final File file = new File(uri.getCanonicalUri().getPath()); + return isSameOrSubDirectory(Environment.getExternalStorageDirectory(), file); + } + + /** + * Checks, whether the child directory is the same as, or a sub-directory of the base + * directory. Neither base nor child should be null. + */ + static boolean isSameOrSubDirectory(File base, File child) { + try { + base = base.getCanonicalFile(); + child = child.getCanonicalFile(); + File parentFile = child; + while (parentFile != null) { + if (base.equals(parentFile)) { + return true; + } + parentFile = parentFile.getParentFile(); + } + return false; + } catch (IOException ex) { + Log.e(TAG, "Error while accessing file", ex); + return false; + } + } + // Custom class to remove special characters from Intent.toString() static class CustomIntent extends Intent { |