Enhanced MMS configuration prompts and processing.

1) Added a new message status to MmsDatabase to
   signify a pending MMS download which requires
   APN settings.

2) Added a database method to query MMS messages
   based on status.

3) Added login to SendReceiveService for processing
   of MMS pending APN information.

4) Moved all APN/MMS settings into ApnPreferencesActivity
   and transformed PromptApnActivity into a simple
   informational activity.

5) Added logic to check for APN settings on send and
   receive of all MMS (media, group, email) and direct
   user to PromptApnActivity then ApnPreferencesActivity
   if necessary.

6) Vocab/grammar adjustments.
master
rhodey 2013-09-16 00:55:01 -07:00 committed by Moxie Marlinspike
parent f3fdde6040
commit 2c2a03e5e2
37 changed files with 573 additions and 439 deletions

View File

@ -75,12 +75,15 @@
<activity android:name=".ImportExportActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".PromptApnActivity"
<activity android:name=".PromptMmsActivity"
android:label="Configure MMS Settings"
android:windowSoftInputMode="stateUnchanged"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ConversationListActivity"
<activity android:name=".MmsPreferencesActivity"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ConversationListActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:uiOptions="splitActionBarWhenNarrow"

View File

@ -23,44 +23,13 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dip"
android:text="@string/prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier"/>
android:text="@string/prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages"/>
<TextView style="@style/Registration.Description"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dip"
android:text="@string/prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below"/>
<TextView style="@style/Registration.Label"
android:layout_width="fill_parent"
android:text="@string/prompt_apn_activity__mmsc_url_required"/>
<EditText android:id="@+id/mmsc_url"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:layout_marginBottom="10dip" />
<TextView style="@style/Registration.Label"
android:layout_width="fill_parent"
android:text="@string/prompt_apn_activity__mms_proxy_host_optional"/>
<EditText android:id="@+id/mms_proxy_host"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:layout_marginBottom="10dip" />
<TextView style="@style/Registration.Label"
android:layout_width="fill_parent"
android:text="@string/prompt_apn_activity__mms_proxy_port_optional"/>
<EditText android:id="@+id/mms_proxy_port"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:inputType="number"
android:singleLine="true" />
android:text="@string/prompt_mms_activity__to_send_media_and_group_messages_click_ok"/>
<LinearLayout android:orientation="horizontal"
android:gravity="center"

View File

@ -115,10 +115,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">يجب أن تحدد كلمة سرية</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">عبارة سرية غير صحيحة!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">يجب أن تحدد عنوان أو رابط لمركز رسائل الوسائط المتعددة.</string>
<string name="PromptApnActivity_mms_settings_updated">تم تعديل اعدادات رسائل الوسائط المتعددة</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">يمكنك تعديل هذه البيانات من اعدادات تكست سكيور بأي وقت.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">يجب أن تحدد عنوان أو رابط لمركز رسائل الوسائط المتعددة.</string>
<string name="PromptMmsActivity_mms_settings_updated">تم تعديل اعدادات رسائل الوسائط المتعددة</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">يمكنك تعديل هذه البيانات من اعدادات تكست سكيور بأي وقت.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">المفتاح لجهة الاتصال هذه مختلف عن المرة السابقة. هذا قد يعني ان هناك محاولة لاعتراض اتصالاتك، أو ان جهة الاتصال قام\قامت بإعادة تنصيب تكست سيكيور لديهم.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">ربما تود التحقق من جهة الاتصال هذه</string>
@ -238,11 +238,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">العبارة السرية لتكست سيكيور</string>
<string name="prompt_passphrase_activity__unlock">فتح القفل</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">تكست سيكيور يحتاج لإعدادات الشبكة APN لتوصيل رسائل الوسائط المتعددة. جهازك لا يوفر هذه المعلومة.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">لإرسال رسائل الوسائط المتعددة، يجب عليك اكمال اعدادات الشبكة APN. تحتاج لادخال هذه المعلومة مرة واحدة فقط.</string>
<string name="prompt_apn_activity__mmsc_url_required">عنوان مركز رسائل الوسائط المتعددة (الزامي)</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">عنوان بروكسي مركز رسائل الوسائط المتعددة (اختياري):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">منفذ بروكسي مركز رسائل الوسائط المتعددة (اختياري):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">تكست سيكيور يحتاج لإعدادات الشبكة APN لتوصيل رسائل الوسائط المتعددة. جهازك لا يوفر هذه المعلومة.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">لإرسال رسائل الوسائط المتعددة، يجب عليك اكمال اعدادات الشبكة APN. تحتاج لادخال هذه المعلومة مرة واحدة فقط.</string>
<string name="prompt_mms_activity__mmsc_url_required">عنوان مركز رسائل الوسائط المتعددة (الزامي)</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">عنوان بروكسي مركز رسائل الوسائط المتعددة (اختياري):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">منفذ بروكسي مركز رسائل الوسائط المتعددة (اختياري):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">انتهاء</string>
<!--recipients_panel-->
@ -325,8 +325,8 @@
<string name="preferences__advanced">متقدم</string>
<string name="preferences__passphrase">العبارة السرية</string>
<string name="preferences__advanced_mms_access_point_names">مركز رسائل الوسائط المتعددة الاحتياطي</string>
<string name="preferences__enable_fallback_mmsc">شغل مركز رسائل الوسائط المتعددة الاحتياطي</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">استخدم مركز رسائل الوسائط المتعددة هنا اذا لم تتوفر بيناتات اتصال النظام APN</string>
<string name="preferences__enable_manual_mms">شغل مركز رسائل الوسائط المتعددة الاحتياطي</string>
<string name="preferences__override_system_mms_settings">استخدم مركز رسائل الوسائط المتعددة هنا اذا لم تتوفر بيناتات اتصال النظام APN</string>
<string name="preferences__mmsc_url_required">عنوان مركز رسائل الوسائط المتعددة (الزامي)</string>
<string name="preferences__mms_proxy_host_optional">عنوان بروكسي رسائل الوسائط المتعددة (غير الزامي)</string>
<string name="preferences__mms_proxy_port_optional">منفذ او بورت بروكسي الرسائل الوسائط المتعددة (غير الزامي)</string>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Sie müssen ein Passwort angeben</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Ungültiges Passwort!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Sie müssen eine MMSC URL für Ihren Provider angeben.</string>
<string name="PromptApnActivity_mms_settings_updated">MMS Einstellungen aktualisiert</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Sie können diese Werte jederzeit in den TextSecure Einstellungen ändern.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Sie müssen eine MMSC URL für Ihren Provider angeben.</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS Einstellungen aktualisiert</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Sie können diese Werte jederzeit in den TextSecure Einstellungen ändern.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">Die Signatur dieses Schlüsselaustauschs ist eine andere als die schon von diesem Kontakt erhaltenen.\nDas könnte bedeuten, dass jemand versucht, Ihr Gespräch abzufangen oder\nauch nur, dass dieser Kontakt TextSecure neu installiert hat und nun einen neuen Schlüssel benutzt.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Sie können diesen Kontakt überprüfen.</string>
@ -251,11 +251,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">TEXTSECURE PASSWORT</string>
<string name="prompt_passphrase_activity__unlock">Entsperren</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure benötigt APN-Parameter, um MMS über den Mobilfunkanbieter zu senden. Ihr Gerät stellt diese Informationen nicht bereit, was gelegentlich auf gesperrte Geräte oder restriktive Konfigurationen hindeutet.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Um MMS zu verschicken, tragen Sie bitte die nötige APN Information ein. Die Werte für das Netzwerk können normalerweise gefunden werden, indem man nach \'&amp;lt;Ihr Netzwerk&amp;gt; APN\' sucht. Das müssen Sie nur einmal tun.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (BENÖTIGT):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONAL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PROXY PORT (OPTIONAL):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure benötigt APN-Parameter, um MMS über den Mobilfunkanbieter zu senden. Ihr Gerät stellt diese Informationen nicht bereit, was gelegentlich auf gesperrte Geräte oder restriktive Konfigurationen hindeutet.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Um MMS zu verschicken, tragen Sie bitte die nötige APN Information ein. Die Werte für das Netzwerk können normalerweise gefunden werden, indem man nach \'&amp;lt;Ihr Netzwerk&amp;gt; APN\' sucht. Das müssen Sie nur einmal tun.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (BENÖTIGT):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONAL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PROXY PORT (OPTIONAL):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Vollständig</string>
<!--recipients_panel-->
@ -340,8 +340,8 @@
<string name="preferences__advanced">Weitere Einstellungen</string>
<string name="preferences__passphrase">Passwort</string>
<string name="preferences__advanced_mms_access_point_names">Ersatz für MMSC</string>
<string name="preferences__enable_fallback_mmsc">Ersatz für MMSC aktivieren</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Benutzen Sie die hier konfigurierten MMSC-Daten, falls keine System APN-Daten vorliegen,</string>
<string name="preferences__enable_manual_mms">Ersatz für MMSC aktivieren</string>
<string name="preferences__override_system_mms_settings">Benutzen Sie die hier konfigurierten MMSC-Daten, falls keine System APN-Daten vorliegen,</string>
<string name="preferences__mmsc_url_required">MMSC URL (Benötigt)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxy Host (Optional)</string>
<string name="preferences__mms_proxy_port_optional">MMS Proxy Port (Optional)</string>

File diff suppressed because one or more lines are too long

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Debes especificar una contraseña</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Frase de contraseña inválida</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Debes especificar una URL MMSC para tu operador.</string>
<string name="PromptApnActivity_mms_settings_updated">Configuración MMS Actualizada</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Puedes modificar estos valores en el menú de configuración de TextSecure en cualquier momento.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Debes especificar una URL MMSC para tu operador.</string>
<string name="PromptMmsActivity_mms_settings_updated">Configuración MMS Actualizada</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Puedes modificar estos valores en el menú de configuración de TextSecure en cualquier momento.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">La firma en este intercambio de claves es diferente de lo que previamente ha recibido de este contacto. Esto podría significar que alguien está intentando interceptar las comunicaciones o que este contacto simplemente reinstaló TextSecure y ahora tiene una nueva clave de identidad.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Puede que desees verificar⏎\neste contacto.⏎</string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">FRASE DE CONTRASEÑA DE TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Desbloquear</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure necesita las opciones de APN para enviar mensajes multimedia por tu operador móvil. Tu dispositivo no proporciona esta información, lo que sería porque tu dispositivo está bloqueado o presenta otra configuración restrictiva.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Para enviar mensajes multimedia, por favor completa la información APN necesaria abajo. Los valores para tu proveedor pueden por lo general ser encontrados buscando \'&amp;lt;tu operador&amp;gt; APN\'. Solo necesitarás hacer esto una única vez.</string>
<string name="prompt_apn_activity__mmsc_url_required">URL MMSC (REQUERIDA):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY HOST (OPCIONAL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">PUERTO PROXY MMS (OPCIONAL):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure necesita las opciones de APN para enviar mensajes multimedia por tu operador móvil. Tu dispositivo no proporciona esta información, lo que sería porque tu dispositivo está bloqueado o presenta otra configuración restrictiva.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Para enviar mensajes multimedia, por favor completa la información APN necesaria abajo. Los valores para tu proveedor pueden por lo general ser encontrados buscando \'&amp;lt;tu operador&amp;gt; APN\'. Solo necesitarás hacer esto una única vez.</string>
<string name="prompt_mms_activity__mmsc_url_required">URL MMSC (REQUERIDA):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY HOST (OPCIONAL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">PUERTO PROXY MMS (OPCIONAL):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Completo</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">Avanzado</string>
<string name="preferences__passphrase">Frase de contraseña</string>
<string name="preferences__advanced_mms_access_point_names">Fallback MMSC</string>
<string name="preferences__enable_fallback_mmsc">Activar Fallback MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Usar la información MMSC configurada aquí cuando el sistema de información APN no está disponible.</string>
<string name="preferences__enable_manual_mms">Activar Fallback MMSC</string>
<string name="preferences__override_system_mms_settings">Usar la información MMSC configurada aquí cuando el sistema de información APN no está disponible.</string>
<string name="preferences__mmsc_url_required">MMSC URL (Requerido)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxy Host (Opcional)</string>
<string name="preferences__mms_proxy_port_optional">Puerto de Proxy MMS (Opcional)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Vous devez renseigner un mot de passe</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Phrase de passe incorrecte !</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Vous devez indiquer une URL MMSC de votre opérateur.</string>
<string name="PromptApnActivity_mms_settings_updated">Paramètres MMS mis à jour</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Vous pouvez modifier ces valeurs depuis le menu des paramètres de TextSecure à tout moment.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Vous devez indiquer une URL MMSC de votre opérateur.</string>
<string name="PromptMmsActivity_mms_settings_updated">Paramètres MMS mis à jour</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Vous pouvez modifier ces valeurs depuis le menu des paramètres de TextSecure à tout moment.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">La\nsignature de cet échange de clé est différente de celle que vous avez précédemment reçue de ce\ncontact. Cela peut signifier soit que quelquun essaie dintercepter votre communication, soit\nque ce contact a simplement réinstallé TextSecure et a maintenant une nouvelle clé didentité.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Peut-être devriez-vous\nvérifier ce contact.</string>
@ -251,11 +251,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">PHRASE DE PASSE TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Déverrouiller</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure nécessite que les paramètres APN distribuent les messages multimédia via votre opérateur mobile. Votre appareil ne rend pas ces informations disponibles, ce qui est parfois le cas des appareils verrouillés et dautres configurations restrictives.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Pour envoyer des messages multimédia, merci de compléter les informations sur lAPN ci-dessous. Les valeurs de votre opérateur peuvent généralement être trouvées en cherchant \'APN &amp;lt;votre opérateur&amp;gt;\'. Vous aurez besoin de faire cela une seule fois.</string>
<string name="prompt_apn_activity__mmsc_url_required">URL MMSC (OBLIGATOIRE) :</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">HÔTE PROXY MMS (OPTIONNEL) :</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">PORT PROXY MMS (OPTIONNEL) :</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure nécessite que les paramètres APN distribuent les messages multimédia via votre opérateur mobile. Votre appareil ne rend pas ces informations disponibles, ce qui est parfois le cas des appareils verrouillés et dautres configurations restrictives.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Pour envoyer des messages multimédia, merci de compléter les informations sur lAPN ci-dessous. Les valeurs de votre opérateur peuvent généralement être trouvées en cherchant \'APN &amp;lt;votre opérateur&amp;gt;\'. Vous aurez besoin de faire cela une seule fois.</string>
<string name="prompt_mms_activity__mmsc_url_required">URL MMSC (OBLIGATOIRE) :</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">HÔTE PROXY MMS (OPTIONNEL) :</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">PORT PROXY MMS (OPTIONNEL) :</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Compléter</string>
<!--recipients_panel-->
@ -340,8 +340,8 @@
<string name="preferences__advanced">Avancé</string>
<string name="preferences__passphrase">Phrase de passe</string>
<string name="preferences__advanced_mms_access_point_names">MMSC par défaut</string>
<string name="preferences__enable_fallback_mmsc">Activer le MMSC par défaut</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Utiliser les informations MMSC configurée ici lorsque les informations APN ne sont pas disponibles</string>
<string name="preferences__enable_manual_mms">Activer le MMSC par défaut</string>
<string name="preferences__override_system_mms_settings">Utiliser les informations MMSC configurée ici lorsque les informations APN ne sont pas disponibles</string>
<string name="preferences__mmsc_url_required">URL MMSC (Obligatoire)</string>
<string name="preferences__mms_proxy_host_optional">Hôte Proxy MMS (Optionnel)</string>
<string name="preferences__mms_proxy_port_optional">Port Proxy MMS (Optionnel)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">אתה חייב לציין סיסמה</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">סיסמה שגויה!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">אתה חייב לציין כתובת MMSC עבור ספק השירות שלך.</string>
<string name="PromptApnActivity_mms_settings_updated">הגדרות ה-MMS עודכנו</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">אתה יכול לערוך את הערכים האלו מתפריט ההגדרות של TextSecure בכל זמן.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">אתה חייב לציין כתובת MMSC עבור ספק השירות שלך.</string>
<string name="PromptMmsActivity_mms_settings_updated">הגדרות ה-MMS עודכנו</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">אתה יכול לערוך את הערכים האלו מתפריט ההגדרות של TextSecure בכל זמן.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">החתימה\nעל החלפת המפתח הזאת שונה ממה שקיבלת בעבר מאיש הקשר הזה.\nזה יכול להעיד שמישהו מנסה ליירט את התקשורת שלך\nאו\nשאיש הקשר פשוט התקין מחדש את TextSecure ועכשיו יש לו מפתח זהות חדש.\n</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">ייתכן שתרצה לאמת\nאת איש הקשר הזה.\n</string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">סיסמת TextSecure</string>
<string name="prompt_passphrase_activity__unlock">פתח</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure חייבת הגדרות APN כדי לשלוח הודעות מולטימדיה דרך ספק השירות שלך. המכשיר שלך לא מספק את המידע הזה, זה קורה לעיתים במכשירים נעולים או קונפיגורציות מוגבלות אחרות.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">כדי לשלוח הודעות מולטימדיה, בבקשה השלם את מידע ה-APN הנצרך למטה. את הערכים עבור ספק השירות שלך אתה יכול למצוא בד\"כ ע\"י חיפוש \'&amp;lt;your carrier&amp;gt; APN\'. אתה תצטרך להשלים מידע זה רק פעם אחת.</string>
<string name="prompt_apn_activity__mmsc_url_required">כתובת MMSC (חובה):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">שרת Proxy של MMS (לא חובה):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">פתחת ה-Proxy של שרת ה-MMS (לא חובה):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure חייבת הגדרות APN כדי לשלוח הודעות מולטימדיה דרך ספק השירות שלך. המכשיר שלך לא מספק את המידע הזה, זה קורה לעיתים במכשירים נעולים או קונפיגורציות מוגבלות אחרות.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">כדי לשלוח הודעות מולטימדיה, בבקשה השלם את מידע ה-APN הנצרך למטה. את הערכים עבור ספק השירות שלך אתה יכול למצוא בד\"כ ע\"י חיפוש \'&amp;lt;your carrier&amp;gt; APN\'. אתה תצטרך להשלים מידע זה רק פעם אחת.</string>
<string name="prompt_mms_activity__mmsc_url_required">כתובת MMSC (חובה):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">שרת Proxy של MMS (לא חובה):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">פתחת ה-Proxy של שרת ה-MMS (לא חובה):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">השלם</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">מתקדם</string>
<string name="preferences__passphrase">סיסמה</string>
<string name="preferences__advanced_mms_access_point_names">נסיגה ל-MMSC</string>
<string name="preferences__enable_fallback_mmsc">אפשר נסיגה ל-MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">השתמש במידע ה-MMSC המוגדר כאן כשמידע ה-APN של המערכת לא זמין.</string>
<string name="preferences__enable_manual_mms">אפשר נסיגה ל-MMSC</string>
<string name="preferences__override_system_mms_settings">השתמש במידע ה-MMSC המוגדר כאן כשמידע ה-APN של המערכת לא זמין.</string>
<string name="preferences__mmsc_url_required">כתובת MMSC (חובה)</string>
<string name="preferences__mms_proxy_host_optional">שרת Proxy של MMS (לא חובה)</string>
<string name="preferences__mms_proxy_port_optional">יציאת MMS (לא חובה)</string>

View File

@ -92,10 +92,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Devi creare un password</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Password errata!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Devi specificare un MMSC URL per il tuo provider.</string>
<string name="PromptApnActivity_mms_settings_updated">Impostazioni MMS aggiornate.</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Puoi modificare questi valori dalle impostazioni di TextSecure in ogni momento.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Devi specificare un MMSC URL per il tuo provider.</string>
<string name="PromptMmsActivity_mms_settings_updated">Impostazioni MMS aggiornate.</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Puoi modificare questi valori dalle impostazioni di TextSecure in ogni momento.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">La\nfirma su questo scambio di chiavi è differente di quella ricevuta precedentemente. Questo potrebbe significare che qualcuno stà cercando di intercettare la tua comunicazione\no\nche il contatto ha reinstallato TextSecure e ora ha una nuova chiave.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Dovresti verificare\nquesto contatto.</string>
@ -210,11 +210,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">PASSWORD TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Sblocca</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure richiede le impostazioni del APN per inviare messaggi multimediali ( MMS ) con il tuo provider. Il tuo dispositivo non ha queste impostazioni disponibili, il che è occasionalmente vero per device con operatore bloccato o altre configurazioni restrittive.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Per inviare messaggi multimediali ( MMS ), completare le informazioni APN necessarie. I valori del vostro operatore generalmente si trovano cercando \'&amp;lt;yourcarrier&amp;gt; APN\'. L\'operazione dovrà essere effettuata solo una volta.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL ( RICHIESTO )</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS INDIRIZZO PROXY ( OPZIONALE )</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PORTA PROXY ( OPZIONALE )</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure richiede le impostazioni del APN per inviare messaggi multimediali ( MMS ) con il tuo provider. Il tuo dispositivo non ha queste impostazioni disponibili, il che è occasionalmente vero per device con operatore bloccato o altre configurazioni restrittive.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Per inviare messaggi multimediali ( MMS ), completare le informazioni APN necessarie. I valori del vostro operatore generalmente si trovano cercando \'&amp;lt;yourcarrier&amp;gt; APN\'. L\'operazione dovrà essere effettuata solo una volta.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL ( RICHIESTO )</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS INDIRIZZO PROXY ( OPZIONALE )</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PORTA PROXY ( OPZIONALE )</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Completato</string>
<!--recipients_panel-->
@ -294,8 +294,8 @@
<string name="preferences__advanced">Avanzate</string>
<string name="preferences__passphrase">Passphrase</string>
<string name="preferences__advanced_mms_access_point_names">Fallback MMSC</string>
<string name="preferences__enable_fallback_mmsc">Fallback MMSC Abilitato</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Usa le informazioni MMSC impostate quì quando l\'APN di sistema non è disponibile</string>
<string name="preferences__enable_manual_mms">Fallback MMSC Abilitato</string>
<string name="preferences__override_system_mms_settings">Usa le informazioni MMSC impostate quì quando l\'APN di sistema non è disponibile</string>
<string name="preferences__mmsc_url_required">URL MMSC (Richiesto)</string>
<string name="preferences__mms_proxy_host_optional">MMS - Indirizzo Proxy ( Opzionale )</string>
<string name="preferences__mms_proxy_port_optional">MMS - Porta Proxy ( Opzionale )</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">パスワードを指定して下さい</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">無効なパスワードです。</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">お使いの通信事業者のMMSセンター用URLを指定して下さい。</string>
<string name="PromptApnActivity_mms_settings_updated">MMSの設定を更新しました</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">TextSecure設定メニューから、これらの値をいつでも変更できます。</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">お使いの通信事業者のMMSセンター用URLを指定して下さい。</string>
<string name="PromptMmsActivity_mms_settings_updated">MMSの設定を更新しました</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">TextSecure設定メニューから、これらの値をいつでも変更できます。</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">この\n鍵交換の電子署名は、以前この連絡先から受信したものと違っています。\n誰かがあなたの通信を傍受しようとしているか、もしくは\n単にこの連絡先がTextSecureを再インストールしたため、認証キーが新しくなった可能性があります。</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">この連絡先を\n照合することが推奨されています。</string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">TextSecureパスワード</string>
<string name="prompt_passphrase_activity__unlock">ロック解除</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecureでは、無線通信事業者からファイル付きメッセージを配信するのに、APN設定が必要です。お使いの携帯端末では、この設定のための情報が取得できません。ロックされた端末であるか、その他の制限設定があると、このような状況が生じます。</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">ファイル付きメッセージを配信するのに必要な以下のAPN情報を入力してください。お使いの通信事業者への設定値は、通常\'&amp;lt;your carrier&amp;gt; APN\'検索によって設定されます。この作業は一度だけでいいです。</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (必須):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMSプロキシ・ホスト (自由選択):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMSプロキシ・ポート (自由選択)</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecureでは、無線通信事業者からファイル付きメッセージを配信するのに、APN設定が必要です。お使いの携帯端末では、この設定のための情報が取得できません。ロックされた端末であるか、その他の制限設定があると、このような状況が生じます。</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">ファイル付きメッセージを配信するのに必要な以下のAPN情報を入力してください。お使いの通信事業者への設定値は、通常\'&amp;lt;your carrier&amp;gt; APN\'検索によって設定されます。この作業は一度だけでいいです。</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (必須):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMSプロキシ・ホスト (自由選択):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMSプロキシ・ポート (自由選択)</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">完了</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">詳細設定</string>
<string name="preferences__passphrase">パスワード</string>
<string name="preferences__advanced_mms_access_point_names">MMSCのフォールバック</string>
<string name="preferences__enable_fallback_mmsc">MMSCのフォールバックを有効にする</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">APNからの情報が携帯端末で利用できない時に、ここで設定されたMMSセンターからの情報を使う。</string>
<string name="preferences__enable_manual_mms">MMSCのフォールバックを有効にする</string>
<string name="preferences__override_system_mms_settings">APNからの情報が携帯端末で利用できない時に、ここで設定されたMMSセンターからの情報を使う。</string>
<string name="preferences__mmsc_url_required">MMSC URL (必須)</string>
<string name="preferences__mms_proxy_host_optional">MMSプロキシ・ホスト選択自由</string>
<string name="preferences__mms_proxy_port_optional">MMSプロキシ・ポート選択自由</string>

View File

@ -83,10 +83,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">စကားဝှက်သတ်မှတ်ရန်လိုအပ်</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">စကားဝှက်မမှန်ကန်</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">သင်၏ carrier အတွက် MMSC URL သတ်မှတ်သင့်</string>
<string name="PromptApnActivity_mms_settings_updated">MMS ဆက်တင် အဆင့်မြှင့်ပြီး</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">သင်သည် ဤတန်ဖိုးတွေကို စာသာလံုခြုံမှု ဆက်တင်မီနူးမှနေ၍ အချိန်မရွေး ပြင်ဆင်နိုင်</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">သင်၏ carrier အတွက် MMSC URL သတ်မှတ်သင့်</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS ဆက်တင် အဆင့်မြှင့်ပြီး</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">သင်သည် ဤတန်ဖိုးတွေကို စာသာလံုခြုံမှု ဆက်တင်မီနူးမှနေ၍ အချိန်မရွေး ပြင်ဆင်နိုင်</string>
<!--ReceiveKeyActivity-->
<!--VerifyIdentityActivity-->
<string name="VerifyIdentityActivity_you_do_not_have_an_identity_key">သင့်တွင်အသိအမှတ်ပြုကီးမရှိပါ</string>
@ -193,11 +193,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">Textsecure စကားဝှက်</string>
<string name="prompt_passphrase_activity__unlock">ပိတ်ထားသည်ကိုဖွင့်</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure requires APN settings to deliver media messages via your wireless carrier. Your device does not make this information available, which is occasionally true for locked devices and other restrictive configurations.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">To send media messages, please complete the necessary APN information below. The values for your carrier can generally be located by searching for \'&amp;lt;your carrier&amp;gt; APN\'. You will only need to do this once.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (အရေးကြီး) - </string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMSC ပရောက်ဇီ အိမ်ရှင်စက် (အရေးမကြီး) -</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS ပရောက်ဇီ PORT (အရေးမကြီး)</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure requires APN settings to deliver media messages via your wireless carrier. Your device does not make this information available, which is occasionally true for locked devices and other restrictive configurations.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">To send media messages, please complete the necessary APN information below. The values for your carrier can generally be located by searching for \'&amp;lt;your carrier&amp;gt; APN\'. You will only need to do this once.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (အရေးကြီး) - </string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMSC ပရောက်ဇီ အိမ်ရှင်စက် (အရေးမကြီး) -</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS ပရောက်ဇီ PORT (အရေးမကြီး)</string>
<!--receive_key_activity-->
<!--recipients_panel-->
<string name="recipients_panel__to">သို့</string>
@ -268,8 +268,8 @@
<string name="preferences__normal">ပုံမှန်</string>
<string name="preferences__slow">အနှေး</string>
<string name="preferences__custom">စိတ်ကြိုက်</string>
<string name="preferences__enable_fallback_mmsc">Fallback MMSC ကို ခွင့်ပြုပါ</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">စနစ်၏ APN အချက်အလက်များကိုသုံး၍မရပါက ဤနေရာတွင်သတ်မှတ်ထားသော MMSC အချက်အလက်များကိုအသုံးပြုပါ</string>
<string name="preferences__enable_manual_mms">Fallback MMSC ကို ခွင့်ပြုပါ</string>
<string name="preferences__override_system_mms_settings">စနစ်၏ APN အချက်အလက်များကိုသုံး၍မရပါက ဤနေရာတွင်သတ်မှတ်ထားသော MMSC အချက်အလက်များကိုအသုံးပြုပါ</string>
<string name="preferences__mmsc_url_required">MMSC URL (အရေးကြီး)</string>
<string name="preferences__mms_proxy_host_optional">MMS ပရောက်ဇီ အိမ်ရှင်စက် (အရေးမကြီး)</string>
<string name="preferences__mms_proxy_port_optional">MMS ပရောက်ဇီ Port (အရေးမကြီး)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">U moet een wachtwoord specificeren</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Ongeldig Wachtwoord!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">U moet een MMSC URL specificeren voor uw provider.</string>
<string name="PromptApnActivity_mms_settings_updated">MMS Instellingen Geupdate</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">U kunt deze instellingen op elk gewenst moment wijzigen via het TextSecure instellingen menu.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">U moet een MMSC URL specificeren voor uw provider.</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS Instellingen Geupdate</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">U kunt deze instellingen op elk gewenst moment wijzigen via het TextSecure instellingen menu.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">De handtekening op deze sleuteluitwisseling is anders dan wat u eerder ontvangen heeft van dit contact. Dit kan betekenen dat iemand probeert uw communicatie the onderscheppen, of dat dit contact gewoon TextSecure opnieuw geïnstalleerd heeft en nu een nieuwe identiteitssleutel heeft.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">U kunt wensen dit contact te verifiëren.</string>
@ -251,11 +251,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">TEXTSECURE WACHTWOORD</string>
<string name="prompt_passphrase_activity__unlock">Ontgrendel</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure heeft APN instellingen nodig om mediaberichten te kunnen versturen via uw telefoonprovider. Uw toestel heeft deze informatie niet beschikbaar, iets wat vaker voorkomt bij gelockte toestellen en andere beperkende configuraties.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Om mediaberichten te versturen, moet u de benodigde APN informatie hieronder opgeven. De waarden voor uw provider kunnen meestal gevonden worden door te zoeken naar \'&amp;lt;uw provider&amp;gt; APN\'. U hoeft dit maar eenmaal te doen.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (VEREIST):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONEEL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PROXY POORT (OPTIONEEL):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure heeft APN instellingen nodig om mediaberichten te kunnen versturen via uw telefoonprovider. Uw toestel heeft deze informatie niet beschikbaar, iets wat vaker voorkomt bij gelockte toestellen en andere beperkende configuraties.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Om mediaberichten te versturen, moet u de benodigde APN informatie hieronder opgeven. De waarden voor uw provider kunnen meestal gevonden worden door te zoeken naar \'&amp;lt;uw provider&amp;gt; APN\'. U hoeft dit maar eenmaal te doen.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (VEREIST):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONEEL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PROXY POORT (OPTIONEEL):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Voltooid</string>
<!--recipients_panel-->
@ -340,8 +340,8 @@
<string name="preferences__advanced">Geavanceerd</string>
<string name="preferences__passphrase">Wachtwoord</string>
<string name="preferences__advanced_mms_access_point_names">Reserve MMSC</string>
<string name="preferences__enable_fallback_mmsc">Fallback MMSC Activeren</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Gebruik de hier ingestelde MMSC informatie wanneer de APN informatie van het systeem niet beschikbaar is.</string>
<string name="preferences__enable_manual_mms">Fallback MMSC Activeren</string>
<string name="preferences__override_system_mms_settings">Gebruik de hier ingestelde MMSC informatie wanneer de APN informatie van het systeem niet beschikbaar is.</string>
<string name="preferences__mmsc_url_required">MMSC URL (Vereist)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxy Host (Optioneel)</string>
<string name="preferences__mms_proxy_port_optional">MMS Proxy Poort (Optioneel)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Du må oppgi et passord</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Feil passord!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Du må spesifisere en MMSC URL for din operatør.</string>
<string name="PromptApnActivity_mms_settings_updated">MMS konfigurasjon oppdatert</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Du kan forandre disse verdiene når som helst i konfigurasjonsmenyen for TextSecure.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Du må spesifisere en MMSC URL for din operatør.</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS konfigurasjon oppdatert</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Du kan forandre disse verdiene når som helst i konfigurasjonsmenyen for TextSecure.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">Signaturen på denne nøkkelutvekslingen er ikke lik den du tidligere mottok fra denne\nkontakten. Det kan enten bety at noen prøver å avskjære kommunikasjonen din eller\nat denne kontakten har installert TextSecure på nytt og dermed fått en ny identitetsnøkkel.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Du bør verifisere\ndenne kontakten.</string>
@ -258,11 +258,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">TEXTSECURE PASSORD</string>
<string name="prompt_passphrase_activity__unlock">Lås opp</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">En gyldig APN konfigurasjon er nødvendig for at TextSecure kan sende og motta multimedia meldinger via operatøren din. Enheten din tilgjengeliggjør ikke denne konfigurasjonen. Dette er ofte tilfelle for operatørlåste enheter og annen restriktiv konfigurasjon.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">For å sende multimedia meldinger, vær vennlig å fullfør den nødvendige APN informasjonen under. Verdiene for din operatør kan ofte finnes ved å lete etter \'&amp;lt;din operatør&amp;gt; APN\'. Du trenger kun å gjøre dette en gang.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (PÅKREVD):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY VERT (IKKE PÅKREVD):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PROXY PORT (IKKE PÅKREVD):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">En gyldig APN konfigurasjon er nødvendig for at TextSecure kan sende og motta multimedia meldinger via operatøren din. Enheten din tilgjengeliggjør ikke denne konfigurasjonen. Dette er ofte tilfelle for operatørlåste enheter og annen restriktiv konfigurasjon.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">For å sende multimedia meldinger, vær vennlig å fullfør den nødvendige APN informasjonen under. Verdiene for din operatør kan ofte finnes ved å lete etter \'&amp;lt;din operatør&amp;gt; APN\'. Du trenger kun å gjøre dette en gang.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (PÅKREVD):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY VERT (IKKE PÅKREVD):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PROXY PORT (IKKE PÅKREVD):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Complete</string>
<!--recipients_panel-->
@ -347,8 +347,8 @@
<string name="preferences__advanced">Avansert</string>
<string name="preferences__passphrase">Passord</string>
<string name="preferences__advanced_mms_access_point_names">Alternativ MMSC</string>
<string name="preferences__enable_fallback_mmsc">Aktiver alternativ MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Benytt MMSC informasjonen konfigurert her når systemets APN informasjon er utilgjengelig.</string>
<string name="preferences__enable_manual_mms">Aktiver alternativ MMSC</string>
<string name="preferences__override_system_mms_settings">Benytt MMSC informasjonen konfigurert her når systemets APN informasjon er utilgjengelig.</string>
<string name="preferences__mmsc_url_required">MMSC URL (påkrevd)</string>
<string name="preferences__mms_proxy_host_optional">MMS proxy host (valgfritt)</string>
<string name="preferences__mms_proxy_port_optional">MMS proxy port (valgfritt)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Você deve especificar uma senha</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Frase-chave inválida!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Você deve especificar a URL do MMSC da sua operadora.</string>
<string name="PromptApnActivity_mms_settings_updated">Configurações MMS Atualizadas</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Você pode modificar estes valores a qualquer momento nas configurações do TextSecure.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Você deve especificar a URL do MMSC da sua operadora.</string>
<string name="PromptMmsActivity_mms_settings_updated">Configurações MMS Atualizadas</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Você pode modificar estes valores a qualquer momento nas configurações do TextSecure.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">A\n assinatura nesta troca de chaves é diferente da que você recebeu anteriormente deste\n contato. Isto pode significar que alguém está tentando interceptar sua comunicação, ou\n que este contato reinstalou o TextSecure e agora tem uma nova chave de identidade.\n </string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Talvez você queira verificar\n este contato.\n </string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">Palavra-chave do TextSecure</string>
<string name="prompt_passphrase_activity__unlock">Desbloquear</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">O TextSecure precisa das configurações de APN para entregar mensagens MMS via sua operadora móvel. Seu aparelho não disponibiliza esta informação, o que pode ocorrer em aparelhos bloqueados ou com configurações restritivas.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Para enviar mensagens MMS, complete as informações de APN abaixo. Os valores para sua operadora normalmente podem ser localizados procurando por \'&amp;lt;operadora&amp;gt; APN\'. Você só precisará fazer isso uma vez.</string>
<string name="prompt_apn_activity__mmsc_url_required">URL MMSC (NECESSÁRIO):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">PROXY MMS (OPCIONAL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">PORTA DO PROXY MMS (OPCIONAL):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">O TextSecure precisa das configurações de APN para entregar mensagens MMS via sua operadora móvel. Seu aparelho não disponibiliza esta informação, o que pode ocorrer em aparelhos bloqueados ou com configurações restritivas.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Para enviar mensagens MMS, complete as informações de APN abaixo. Os valores para sua operadora normalmente podem ser localizados procurando por \'&amp;lt;operadora&amp;gt; APN\'. Você só precisará fazer isso uma vez.</string>
<string name="prompt_mms_activity__mmsc_url_required">URL MMSC (NECESSÁRIO):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">PROXY MMS (OPCIONAL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">PORTA DO PROXY MMS (OPCIONAL):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Concluído</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">Avançado</string>
<string name="preferences__passphrase">Frase-chave</string>
<string name="preferences__advanced_mms_access_point_names">MMSC Reserva</string>
<string name="preferences__enable_fallback_mmsc">Habilitar MMSC de reseva</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Usar esta informação de MMSC quando APN do sistema estiver indisponível.</string>
<string name="preferences__enable_manual_mms">Habilitar MMSC de reseva</string>
<string name="preferences__override_system_mms_settings">Usar esta informação de MMSC quando APN do sistema estiver indisponível.</string>
<string name="preferences__mmsc_url_required">URL do MMSC (Necessário)</string>
<string name="preferences__mms_proxy_host_optional">Proxy MMS (Opcional)</string>
<string name="preferences__mms_proxy_port_optional">Porta do Proxy MMS (Opcional)</string>

View File

@ -120,10 +120,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Tem de especificar uma palavra-chave</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Frase-chave inválida!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Tem de especificar uma URL MMSC para a sua operadora.</string>
<string name="PromptApnActivity_mms_settings_updated">Configuração MMS Actualizada</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Pode modificar estes valores a partir do menu de configuração TextSecure em qualquer altura.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Tem de especificar uma URL MMSC para a sua operadora.</string>
<string name="PromptMmsActivity_mms_settings_updated">Configuração MMS Actualizada</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Pode modificar estes valores a partir do menu de configuração TextSecure em qualquer altura.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">A assinatura deste intercâmbio de chaves é diferente da previamente recebida deste contacto. Isto pode significar que alguém está a tentar interceptar esta comunicação ou simplesmente que este contacto reinstalou o TextSecure e tem agora uma nova chave de identidade.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Pode ser desejável verificar este contracto.</string>
@ -248,11 +248,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">FRASE-CHAVE TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Desbloquear</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure requer configurações APN para entregar mensagens multimédia através da sua operadora sem fios. O seu dispositivo não disponibiliza esta informação, o que é ocasionalmente o caso para dispositivos bloqueados e outras configurações restritivas.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Para enviar mensagens multimédia, por favor complete a informação APN requerida abaixo. Os valores para a sua operadora podem habitualmente ser encontrados procurando por \'APN &amp;lt;Operadora&amp;gt;\'. Apenas necessita de efectuar esta operação uma vez.</string>
<string name="prompt_apn_activity__mmsc_url_required">URL MMSC (OBRIGATÓRIO):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">ANFITRIÃO PROXY MMS (OPCIONAL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">PORTA PROXY MMS (OPCIONAL):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure requer configurações APN para entregar mensagens multimédia através da sua operadora sem fios. O seu dispositivo não disponibiliza esta informação, o que é ocasionalmente o caso para dispositivos bloqueados e outras configurações restritivas.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Para enviar mensagens multimédia, por favor complete a informação APN requerida abaixo. Os valores para a sua operadora podem habitualmente ser encontrados procurando por \'APN &amp;lt;Operadora&amp;gt;\'. Apenas necessita de efectuar esta operação uma vez.</string>
<string name="prompt_mms_activity__mmsc_url_required">URL MMSC (OBRIGATÓRIO):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">ANFITRIÃO PROXY MMS (OPCIONAL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">PORTA PROXY MMS (OPCIONAL):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Completo</string>
<!--recipients_panel-->
@ -335,8 +335,8 @@
<string name="preferences__advanced">Avançado</string>
<string name="preferences__passphrase">Frase-chave</string>
<string name="preferences__advanced_mms_access_point_names">MMSC de recurso</string>
<string name="preferences__enable_fallback_mmsc">Habilitar MMSC de reseva</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Usar esta informação de MMSC quando APN do sistema estiver indisponível.</string>
<string name="preferences__enable_manual_mms">Habilitar MMSC de reseva</string>
<string name="preferences__override_system_mms_settings">Usar esta informação de MMSC quando APN do sistema estiver indisponível.</string>
<string name="preferences__mmsc_url_required">URL do MMSC (Necessário)</string>
<string name="preferences__mms_proxy_host_optional">Proxy MMS (Opcional)</string>
<string name="preferences__mms_proxy_port_optional">Porta do Proxy MMS (Opcional)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Trebuie specificata o parola</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Parola Incorecta!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Trebuie sa specifici un URL MMSC pentru operatorul tau.</string>
<string name="PromptApnActivity_mms_settings_updated">Setarile MMS au fost actualizate</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Poti modifica aceste valori in orice moment din meniul Setari al TextSecure.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Trebuie sa specifici un URL MMSC pentru operatorul tau.</string>
<string name="PromptMmsActivity_mms_settings_updated">Setarile MMS au fost actualizate</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Poti modifica aceste valori in orice moment din meniul Setari al TextSecure.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">Semnatura digitala din acest schimb de chei este diferita fata de ce ai primit anterior de la aceasta persoana. Asta poate insemna ca cineva incearca sa intercepteze comunicatia sau ca aceasta persoana a reinstalat TextSecure si acum are o noua cheie de identitate.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Probabil ca doresti sa verifici aceasta persoana.</string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">PAROLA TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Deblocheaza</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure are nevoie de setari APN pentru a trimite mesaje multimedia prin operatorul wireless. Acest aparat nu ofera informatiile necesare, lucru care se poate intampla uneori pentru dispozitive blocate sau alte configuratii restrictive.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Pentru a trimite mesaje multimedia te rog sa completezi mai jos informatiile APN necesare. Valorile corecte pentru operatorul tau pot fi gasite deseori cautand dupa \'&amp;lt;operatorul tau&amp;gt; APN\'. Acest lucru trebuie facut o singura data.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (Necesar):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">Host proxy MMS (Optional):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">Port proxy MMS (Optional):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure are nevoie de setari APN pentru a trimite mesaje multimedia prin operatorul wireless. Acest aparat nu ofera informatiile necesare, lucru care se poate intampla uneori pentru dispozitive blocate sau alte configuratii restrictive.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Pentru a trimite mesaje multimedia te rog sa completezi mai jos informatiile APN necesare. Valorile corecte pentru operatorul tau pot fi gasite deseori cautand dupa \'&amp;lt;operatorul tau&amp;gt; APN\'. Acest lucru trebuie facut o singura data.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (Necesar):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">Host proxy MMS (Optional):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">Port proxy MMS (Optional):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Complet</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">Avansat</string>
<string name="preferences__passphrase">Parola</string>
<string name="preferences__advanced_mms_access_point_names">MMSC de rezerva</string>
<string name="preferences__enable_fallback_mmsc">Activeaza MMSC de rezerva</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Foloseste informatiile MMSC configurate aici cand informatiile despre sistemul APN nu sunt disponibile</string>
<string name="preferences__enable_manual_mms">Activeaza MMSC de rezerva</string>
<string name="preferences__override_system_mms_settings">Foloseste informatiile MMSC configurate aici cand informatiile despre sistemul APN nu sunt disponibile</string>
<string name="preferences__mmsc_url_required">URL MMSC (Necesar)</string>
<string name="preferences__mms_proxy_host_optional">Host proxy MMS (Optional)</string>
<string name="preferences__mms_proxy_port_optional">Port proxy MMS (Optional)</string>

File diff suppressed because one or more lines are too long

View File

@ -78,7 +78,7 @@
<!--PassphraseCreateActivity-->
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Nesprávne heslo!</string>
<!--PromptApnActivity-->
<!--PromptMmsActivity-->
<!--ReceiveKeyActivity-->
<!--VerifyIdentityActivity-->
<string name="VerifyIdentityActivity_you_do_not_have_an_identity_key">Nemáte kľúč totožnosti.</string>
@ -243,8 +243,8 @@
<string name="preferences__normal">Normálne</string>
<string name="preferences__slow">Pomaly</string>
<string name="preferences__custom">Vlastné</string>
<string name="preferences__enable_fallback_mmsc">Povoľ fallback MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Použi nastavenia MMSC ak nie sú dostupné APN informácie.</string>
<string name="preferences__enable_manual_mms">Povoľ fallback MMSC</string>
<string name="preferences__override_system_mms_settings">Použi nastavenia MMSC ak nie sú dostupné APN informácie.</string>
<string name="preferences__mmsc_url_required">MMSC URL (nutné)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxy (voliteľné)</string>
<string name="preferences__mms_proxy_port_optional">MMS Proxy port (voliteľné)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Določiti morate geslo</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Neveljavno geslo!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Navesti morate MMSC URL vašega operaterja.</string>
<string name="PromptApnActivity_mms_settings_updated">Nastavitve MMS posodobljene</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Vnešeno lahko kadarkoli popravite v nastavitvah TextSecure.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Navesti morate MMSC URL vašega operaterja.</string>
<string name="PromptMmsActivity_mms_settings_updated">Nastavitve MMS posodobljene</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Vnešeno lahko kadarkoli popravite v nastavitvah TextSecure.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">Podpis pri tej izmenjavi ključev se razlikuje od tistih pri predhodno izmenjanih ključih s to osebo. To lahko pomeni, da nekdo prestreza komunikacijo, ali pa, da je oseba ponovno namestila TextSecure in ima zdaj nov identifikacijski ključ.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Morda bi želeli overoviti ta stik.</string>
@ -258,11 +258,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">GESLO TEXTSECURE</string>
<string name="prompt_passphrase_activity__unlock">Odkleni</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">Za posredovanje sporočil preko vašega mobilnega operaterja potrebuje TextSecure ustrezne nastavitve APN. Pri vaši napravi ti podatki niso na voljo. To je značilno predvsem za zaklenjene naprave ali različne omejene konfiguracije.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">Za pošiljanje multimedijskih sporočil vnesite ustrezne nastavitve APN. Podatke za vašega operaterja lahko verjetno najdete s poizvedbo za \'&amp;lt;vaš operater&amp;gt; APN\'. To morate storiti le enkrat.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (ZAHTEVANO):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">GOSTITELJ POSRED. STREŽNIKA MMS (IZBIRNO):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">VRATA POSRED. STREŽNIKA MMS (IZBIRNO):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">Za posredovanje sporočil preko vašega mobilnega operaterja potrebuje TextSecure ustrezne nastavitve APN. Pri vaši napravi ti podatki niso na voljo. To je značilno predvsem za zaklenjene naprave ali različne omejene konfiguracije.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">Za pošiljanje multimedijskih sporočil vnesite ustrezne nastavitve APN. Podatke za vašega operaterja lahko verjetno najdete s poizvedbo za \'&amp;lt;vaš operater&amp;gt; APN\'. To morate storiti le enkrat.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (ZAHTEVANO):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">GOSTITELJ POSRED. STREŽNIKA MMS (IZBIRNO):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">VRATA POSRED. STREŽNIKA MMS (IZBIRNO):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Končano</string>
<!--recipients_panel-->
@ -347,8 +347,8 @@
<string name="preferences__advanced">Napredno</string>
<string name="preferences__passphrase">Geslo</string>
<string name="preferences__advanced_mms_access_point_names">Nadomestni MMSC</string>
<string name="preferences__enable_fallback_mmsc">Omogoči nadomestni MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Uporabi tu izbrane MMSC nastavitve kadar sistemske APN nastavitve niso na voljo.</string>
<string name="preferences__enable_manual_mms">Omogoči nadomestni MMSC</string>
<string name="preferences__override_system_mms_settings">Uporabi tu izbrane MMSC nastavitve kadar sistemske APN nastavitve niso na voljo.</string>
<string name="preferences__mmsc_url_required">MMSC URL (zahtevano)</string>
<string name="preferences__mms_proxy_host_optional">Posredniški strežnik za MMS (opcijsko)</string>
<string name="preferences__mms_proxy_port_optional">Vrata posredniškega strežnika za MMS (opcijsko)</string>

View File

@ -122,10 +122,10 @@
<string name="PassphraseCreateActivity_you_must_specify_a_password">Du måste specificera ett lösenord</string>
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Fel Lösenord!</string>
<!--PromptApnActivity-->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">Du måste specificera en MMSC URL för din operatör.</string>
<string name="PromptApnActivity_mms_settings_updated">MMS-inställningar uppdaterade</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Du kan modifiera dessa värden från TextSecure inställningsmenyn när du vill.</string>
<!--PromptMmsActivity-->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">Du måste specificera en MMSC URL för din operatör.</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS-inställningar uppdaterade</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">Du kan modifiera dessa värden från TextSecure inställningsmenyn när du vill.</string>
<!--ReceiveKeyActivity-->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">Signaturen för detta nyckelutbytet skiljer sig från det som du tidigare har mottagit från denna kontakt.\nDetta kan innebära antingen att någon försöker avlyssna din kommunikation, eller att denna kontakt helt enkelt installerade om TextSecure och nu har en ny identitetsnyckel.</string>
<string name="ReceiveKeyActivity_you_may_wish_to_verify_this_contact">Det kan vara en bra idé att\nverifiera denna kontakt.</string>
@ -250,11 +250,11 @@
<string name="prompt_passphrase_activity__textsecure_passphrase">TEXTSECURE LÖSENORD</string>
<string name="prompt_passphrase_activity__unlock">Lås upp</string>
<!--prompt_apn_activity-->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure kräver APN inställningar för att leverera mediemeddelanden via din mobilöperatör. Din enhet gör inte den här informationen tillgänglig, vilket ibland stämmer för låsta enheter och andra restriktiva konfigurationer.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">För att skicka mediemeddelanden, var vänlig fyll i den nödvändiga APN informationen nedan. Värdena för din operatör kan generellt sett hittas genom att söka på \'&amp;lt;din operatör&amp;lt; APN\'. Du behöver bara göra detta en gång.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (KRÄVS):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY VÄRD (VALFRITT):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PROXY PORT (VALFRITT):</string>
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure kräver APN inställningar för att leverera mediemeddelanden via din mobilöperatör. Din enhet gör inte den här informationen tillgänglig, vilket ibland stämmer för låsta enheter och andra restriktiva konfigurationer.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">För att skicka mediemeddelanden, var vänlig fyll i den nödvändiga APN informationen nedan. Värdena för din operatör kan generellt sett hittas genom att söka på \'&amp;lt;din operatör&amp;lt; APN\'. Du behöver bara göra detta en gång.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (KRÄVS):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY VÄRD (VALFRITT):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PROXY PORT (VALFRITT):</string>
<!--receive_key_activity-->
<string name="receive_key_activity__complete">Klart</string>
<!--recipients_panel-->
@ -339,8 +339,8 @@
<string name="preferences__advanced">Avancerade</string>
<string name="preferences__passphrase">Lösenfras</string>
<string name="preferences__advanced_mms_access_point_names">Reserv MMSC</string>
<string name="preferences__enable_fallback_mmsc">Aktivera Fallback MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Använd MMSC information konfugerad här när system APN information är otillgänglig.</string>
<string name="preferences__enable_manual_mms">Aktivera Fallback MMSC</string>
<string name="preferences__override_system_mms_settings">Använd MMSC information konfugerad här när system APN information är otillgänglig.</string>
<string name="preferences__mmsc_url_required">MMSC URL (nödvändigt)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxyvärd (valfritt)</string>
<string name="preferences__mms_proxy_port_optional">MMS proxyport (valfritt)</string>

View File

@ -73,7 +73,7 @@
<!--PassphraseCreateActivity-->
<!--PassphrasePromptActivity-->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">无效密码!</string>
<!--PromptApnActivity-->
<!--PromptMmsActivity-->
<!--ReceiveKeyActivity-->
<!--VerifyIdentityActivity-->
<string name="VerifyIdentityActivity_you_do_not_have_an_identity_key">您没有身份密钥。</string>

View File

@ -150,6 +150,7 @@
<string name="MmsDownloader_no_connectivity_available_for_mms_download_try_again_later">No connectivity available for MMS download, try again later...</string>
<string name="MmsDownloader_error_storing_mms">Error storing MMS!</string>
<string name="MmsDownloader_error_connecting_to_mms_provider">Error connecting to MMS provider...</string>
<string name="MmsDownloader_error_reading_mms_settings">Error reading wireless provider MMS settings...</string>
<!-- NotificationMmsMessageRecord -->
<string name="NotificationMmsMessageRecord_multimedia_message">Multimedia Message</string>
@ -165,10 +166,10 @@
<!-- PassphrasePromptActivity -->
<string name="PassphrasePromptActivity_invalid_passphrase_exclamation">Invalid Passphrase!</string>
<!-- PromptApnActivity -->
<string name="PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier">You must specify an MMSC URL for your carrier.</string>
<string name="PromptApnActivity_mms_settings_updated">MMS Settings Updated</string>
<string name="PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">You can modify these values from the TextSecure settings menu at any time.</string>
<!-- PromptMmsActivity -->
<string name="PromptMmsActivity_you_must_specify_an_mmsc_url_for_your_carrier">You must specify an MMSC URL for your carrier.</string>
<string name="PromptMmsActivity_mms_settings_updated">MMS Settings Updated</string>
<string name="PromptMmsActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_">You can modify these values from the TextSecure settings menu at any time.</string>
<!-- ReceiveKeyActivity -->
<string name="ReceiveKeyActivity_the_signature_on_this_key_exchange_is_different">The
@ -229,6 +230,7 @@
<string name="MmsDatabase_downloading_mms">Downloading MMS...</string>
<string name="MmsDatabase_mms_download_failed">MMS Download failed!</string>
<string name="MmsDatabase_downloading">Downloading...</string>
<string name="MmsDatabase_mms_pending_download">Tap and configure MMS settings to continue download.</string>
<!-- MmsMessageRecord -->
<string name="MmsMessageRecord_decrypting_mms_please_wait">Decrypting MMS, please wait...</string>
@ -350,16 +352,20 @@
<string name="local_identity__regenerate_key">Regenerate Key</string>
<!-- mms_preferences_activity -->
<string name="mms_preferences_activity__manual_mms_settings_are_required">Manual MMS settings are required for your phone.</string>
<!-- prompt_passphrase_activity -->
<string name="prompt_passphrase_activity__textsecure_passphrase">TEXTSECURE PASSPHRASE</string>
<string name="prompt_passphrase_activity__unlock">Unlock</string>
<!-- prompt_apn_activity -->
<string name="prompt_apn_activity__textsecure_requires_apn_settings_to_deliver_media_messages_via_your_wireless_carrier">TextSecure requires APN settings to deliver media messages via your wireless carrier. Your device does not make this information available, which is occasionally true for locked devices and other restrictive configurations.</string>
<string name="prompt_apn_activity__to_send_media_messages_please_complete_the_necessary_apn_information_below">To send media messages, please complete the necessary APN information below. The values for your carrier can generally be located by searching for \'&amp;lt;your carrier&amp;gt; APN\'. You will only need to do this once.</string>
<string name="prompt_apn_activity__mmsc_url_required">MMSC URL (REQUIRED):</string>
<string name="prompt_apn_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONAL):</string>
<string name="prompt_apn_activity__mms_proxy_port_optional">MMS PROXY PORT (OPTIONAL):</string>
<!-- prompt_mms_activity -->
<string name="prompt_mms_activity__textsecure_requires_mms_settings_to_deliver_media_and_group_messages">TextSecure requires MMS settings to deliver media and group messages through your wireless carrier. Your device does not make this information available, which is occasionally true for locked devices and other restrictive configurations.</string>
<string name="prompt_mms_activity__to_send_media_and_group_messages_click_ok">To send media and group messages, click \'OK\' and complete the requested settings. The MMS settings for your carrier can generally be located by searching for \'your carrier APN\'. You will only need to do this once.</string>
<string name="prompt_mms_activity__mmsc_url_required">MMSC URL (REQUIRED):</string>
<string name="prompt_mms_activity__mms_proxy_host_optional">MMS PROXY HOST (OPTIONAL):</string>
<string name="prompt_mms_activity__mms_proxy_port_optional">MMS PROXY PORT (OPTIONAL):</string>
<!-- receive_key_activity -->
<string name="receive_key_activity__complete">Complete</string>
@ -455,9 +461,9 @@
<string name="preferences__custom">Custom</string>
<string name="preferences__advanced">Advanced</string>
<string name="preferences__passphrase">Passphrase</string>
<string name="preferences__advanced_mms_access_point_names">Fallback MMSC</string>
<string name="preferences__enable_fallback_mmsc">Enable Fallback MMSC</string>
<string name="preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable">Use MMSC information configured here when system APN information is unavailable.</string>
<string name="preferences__advanced_mms_access_point_names">MMS Preferences</string>
<string name="preferences__enable_manual_mms">Enable Manual MMS</string>
<string name="preferences__override_system_mms_settings">Override system MMS settings with the below information.</string>
<string name="preferences__mmsc_url_required">MMSC URL (Required)</string>
<string name="preferences__mms_proxy_host_optional">MMS Proxy Host (Optional)</string>
<string name="preferences__mms_proxy_port_optional">MMS Proxy Port (Optional)</string>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference android:key="pref_enable_manual_mms"
android:defaultValue="false"
android:title="@string/preferences__enable_manual_mms"
android:summary="@string/preferences__override_system_mms_settings"/>
<EditTextPreference android:key="pref_apn_mmsc_host"
android:title="@string/preferences__mmsc_url_required"
android:dependency="pref_enable_manual_mms"
android:inputType="textUri" />
<EditTextPreference android:key="pref_apn_mms_proxy"
android:title="@string/preferences__mms_proxy_host_optional"
android:dependency="pref_enable_manual_mms"
android:inputType="textUri" />
<EditTextPreference android:key="pref_apn_mms_proxy_port"
android:title="@string/preferences__mms_proxy_port_optional"
android:dependency="pref_enable_manual_mms"
android:inputType="number" />
</PreferenceScreen>

View File

@ -159,24 +159,7 @@
android:title="@string/preferences__complete_key_exchanges"
android:summary="@string/preferences__automatically_complete_key_exchanges_for_new_sessions_or_for_existing_sessions_with_the_same_identity_key" />
<PreferenceScreen android:title="@string/preferences__advanced_mms_access_point_names">
<CheckBoxPreference android:key="pref_use_local_apns"
android:defaultValue="false"
android:title="@string/preferences__enable_fallback_mmsc"
android:summary="@string/preferences__use_mmsc_information_configured_here_when_system_apn_information_is_unavailable"/>
<EditTextPreference android:key="pref_apn_mmsc_host"
android:title="@string/preferences__mmsc_url_required"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy"
android:title="@string/preferences__mms_proxy_host_optional"
android:dependency="pref_use_local_apns" />
<EditTextPreference android:key="pref_apn_mms_proxy_port"
android:title="@string/preferences__mms_proxy_port_optional"
android:dependency="pref_use_local_apns"
android:inputType="number" />
</PreferenceScreen>
<Preference android:key="pref_mms_preferences"
android:title="@string/preferences__advanced_mms_access_point_names"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@ -79,10 +79,11 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
private static final String CHANGE_PASSPHRASE_PREF = "pref_change_passphrase";
public static final String DISABLE_PASSPHRASE_PREF = "pref_disable_passphrase";
public static final String USE_LOCAL_MMS_APNS_PREF = "pref_use_local_apns";
public static final String MMSC_HOST_PREF = "pref_apn_mmsc_host";
public static final String MMSC_PROXY_HOST_PREF = "pref_apn_mms_proxy";
public static final String MMSC_PROXY_PORT_PREF = "pref_apn_mms_proxy_port";
public static final String MMS_PREF = "pref_mms_preferences";
public static final String ENABLE_MANUAL_MMS_PREF = "pref_enable_manual_mms";
public static final String MMSC_HOST_PREF = "pref_apn_mmsc_host";
public static final String MMSC_PROXY_HOST_PREF = "pref_apn_mms_proxy";
public static final String MMSC_PROXY_PORT_PREF = "pref_apn_mms_proxy_port";
public static final String SMS_DELIVERY_REPORT_PREF = "pref_delivery_report_sms";
@ -109,7 +110,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
addPreferencesFromResource(R.xml.preferences);
initializeIdentitySelection();
initializeEditTextSummaries();
this.findPreference(CHANGE_PASSPHRASE_PREF)
.setOnPreferenceClickListener(new ChangePassphraseClickListener());
@ -119,6 +119,8 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
.setOnPreferenceChangeListener(new TrimLengthValidationListener());
this.findPreference(DISABLE_PASSPHRASE_PREF)
.setOnPreferenceChangeListener(new DisablePassphraseClickListener());
this.findPreference(MMS_PREF)
.setOnPreferenceClickListener(new ApnPreferencesClickListener());
}
@Override
@ -174,28 +176,6 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
return false;
}
private void initializeEditTextSummary(final EditTextPreference preference) {
if (preference.getText() == null) {
preference.setSummary("Not set");
} else {
preference.setSummary(preference.getText());
}
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference pref, Object newValue) {
preference.setSummary(newValue == null ? "Not set" : ((String) newValue));
return true;
}
});
}
private void initializeEditTextSummaries() {
initializeEditTextSummary((EditTextPreference)this.findPreference(MMSC_HOST_PREF));
initializeEditTextSummary((EditTextPreference)this.findPreference(MMSC_PROXY_HOST_PREF));
initializeEditTextSummary((EditTextPreference)this.findPreference(MMSC_PROXY_PORT_PREF));
}
private void initializeIdentitySelection() {
ContactIdentityManager identity = ContactIdentityManager.getInstance(this);
@ -363,6 +343,15 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredSherlockPr
}
private class ApnPreferencesClickListener implements Preference.OnPreferenceClickListener {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivity(new Intent(ApplicationPreferencesActivity.this, MmsPreferencesActivity.class));
return true;
}
}
/* http://code.google.com/p/android/issues/detail?id=4611#c35 */
@SuppressWarnings("deprecation")
@Override

View File

@ -465,10 +465,18 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
builder.setAdapter(attachmentAdapter, new AttachmentTypeListener());
builder.show();
} else {
startActivity(new Intent(this, PromptApnActivity.class));
handleManualMmsRequired();
}
}
private void handleManualMmsRequired() {
Toast.makeText(this, R.string.MmsDownloader_error_reading_mms_settings, Toast.LENGTH_LONG).show();
Intent intent = new Intent(this, PromptMmsActivity.class);
intent.putExtras(getIntent().getExtras());
startActivity(intent);
}
///// Initializers
private void initializeTitleBar() {
@ -849,7 +857,10 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
String body = getMessage();
long allocatedThreadId;
if (attachmentManager.isAttachmentPresent()) {
if ((!recipients.isSingleRecipient() || recipients.isEmailRecipient()) && !isMmsEnabled) {
handleManualMmsRequired();
return;
} else if (attachmentManager.isAttachmentPresent()) {
allocatedThreadId = MessageSender.sendMms(ConversationActivity.this, masterSecret, recipients,
threadId, attachmentManager.getSlideDeck(), body,
distributionType, isEncryptedConversation && !forcePlaintext);
@ -870,7 +881,6 @@ public class ConversationActivity extends PassphraseRequiredSherlockFragmentActi
allocatedThreadId = MessageSender.send(ConversationActivity.this, masterSecret,
message, threadId);
}
sendComplete(recipients, allocatedThreadId);
} catch (RecipientFormattingException ex) {
Toast.makeText(ConversationActivity.this,

View File

@ -92,10 +92,11 @@ public class ConversationItem extends LinearLayout {
private TextView mmsDownloadingLabel;
private ListenableFutureTask<SlideDeck> slideDeck;
private final FailedIconClickListener failedIconClickListener = new FailedIconClickListener();
private final MmsDownloadClickListener mmsDownloadClickListener = new MmsDownloadClickListener();
private final ClickListener clickListener = new ClickListener();
private final Handler handler = new Handler();
private final FailedIconClickListener failedIconClickListener = new FailedIconClickListener();
private final MmsDownloadClickListener mmsDownloadClickListener = new MmsDownloadClickListener();
private final MmsPreferencesClickListener mmsPreferencesClickListener = new MmsPreferencesClickListener();
private final ClickListener clickListener = new ClickListener();
private final Handler handler = new Handler();
private final Context context;
public ConversationItem(Context context) {
@ -168,7 +169,7 @@ public class ConversationItem extends LinearLayout {
private void setBodyText(MessageRecord messageRecord) {
bodyText.setText(Emoji.getInstance(context).emojify(messageRecord.getDisplayBody(), Emoji.EMOJI_LARGE),
TextView.BufferType.SPANNABLE);
TextView.BufferType.SPANNABLE);
}
private void setContactPhoto(MessageRecord messageRecord) {
@ -203,8 +204,8 @@ public class ConversationItem extends LinearLayout {
if (!messageRecord.isOutgoing() && messageRecord.getRecipients().isSingleRecipient()) {
checkForAutoInitiate(messageRecord.getIndividualRecipient(),
messageRecord.getBody().getBody(),
messageRecord.getThreadId());
messageRecord.getBody().getBody(),
messageRecord.getThreadId());
}
}
@ -236,6 +237,11 @@ public class ConversationItem extends LinearLayout {
mmsDownloadingLabel.setText(MmsDatabase.Status.getLabelForStatus(context, messageRecord.getStatus()));
mmsDownloadButton.setVisibility(View.GONE);
mmsDownloadingLabel.setVisibility(View.VISIBLE);
if (MmsDatabase.Status.isHardError(messageRecord.getStatus()) && !messageRecord.isOutgoing())
setOnClickListener(mmsDownloadClickListener);
else if (MmsDatabase.Status.DOWNLOAD_APN_UNAVAILABLE == messageRecord.getStatus() && !messageRecord.isOutgoing())
setOnClickListener(mmsPreferencesClickListener);
}
}
@ -313,7 +319,7 @@ public class ConversationItem extends LinearLayout {
if (recipient.getContactUri() != null) {
QuickContact.showQuickContact(context, contactPhoto, recipient.getContactUri(), QuickContact.MODE_LARGE, null);
} else {
Intent intent = new Intent(Intents.SHOW_OR_CREATE_CONTACT, Uri.fromParts("tel", recipient.getNumber(), null));
Intent intent = new Intent(Intents.SHOW_OR_CREATE_CONTACT, Uri.fromParts("tel", recipient.getNumber(), null));
context.startActivity(intent);
}
}
@ -504,6 +510,16 @@ public class ConversationItem extends LinearLayout {
}
}
private class MmsPreferencesClickListener implements View.OnClickListener {
public void onClick(View v) {
Intent intent = new Intent(context, PromptMmsActivity.class);
intent.putExtra("message_id", messageRecord.getId());
intent.putExtra("thread_id", messageRecord.getThreadId());
intent.putExtra("automatic", true);
context.startActivity(intent);
}
}
private class FailedIconClickListener implements View.OnClickListener {
public void onClick(View v) {
if (failedIconHandler != null && !messageRecord.isKeyExchange()) {

View File

@ -0,0 +1,136 @@
/**
* Copyright (C) 2011 Whisper Systems
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.thoughtcrime.securesms;
import android.content.Intent;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceManager;
import android.widget.Toast;
import com.actionbarsherlock.view.MenuItem;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.mms.MmsDownloadHelper;
import org.thoughtcrime.securesms.service.SendReceiveService;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.thoughtcrime.securesms.util.MemoryCleaner;
public class MmsPreferencesActivity extends PassphraseRequiredSherlockPreferenceActivity {
private MasterSecret masterSecret;
private final DynamicTheme dynamicTheme = new DynamicTheme();
private final DynamicLanguage dynamicLanguage = new DynamicLanguage();
@Override
protected void onCreate(Bundle icicle) {
dynamicTheme.onCreate(this);
dynamicLanguage.onCreate(this);
super.onCreate(icicle);
this.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
initializePreferences();
masterSecret = getIntent().getParcelableExtra("master_secret");
initializeEditTextSummaries();
}
@Override
public void onResume() {
super.onResume();
dynamicTheme.onResume(this);
dynamicLanguage.onResume(this);
}
@Override
public void onDestroy() {
MemoryCleaner.clean(masterSecret);
MemoryCleaner.clean((MasterSecret) getIntent().getParcelableExtra("master_secret"));
super.onDestroy();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
handleDownloadMmsPendingApn();
finish();
return true;
}
return false;
}
@Override
public void onBackPressed() {
handleDownloadMmsPendingApn();
super.onBackPressed();
}
private void initializePreferences() {
if (!MmsDownloadHelper.isMmsConnectionParametersAvailable(this, null, false)) {
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, true).commit();
addPreferencesFromResource(R.xml.mms_preferences);
this.findPreference(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF).setOnPreferenceChangeListener(new OverrideMmsChangeListener());
} else {
addPreferencesFromResource(R.xml.mms_preferences);
}
}
private void initializeEditTextSummary(final EditTextPreference preference) {
if (preference.getText() == null) {
preference.setSummary("Not set");
} else {
preference.setSummary(preference.getText());
}
preference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference pref, Object newValue) {
preference.setSummary(newValue == null ? "Not set" : ((String) newValue));
return true;
}
});
}
private void initializeEditTextSummaries() {
initializeEditTextSummary((EditTextPreference)this.findPreference(ApplicationPreferencesActivity.MMSC_HOST_PREF));
initializeEditTextSummary((EditTextPreference)this.findPreference(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF));
initializeEditTextSummary((EditTextPreference)this.findPreference(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF));
}
private void handleDownloadMmsPendingApn() {
Intent intent = new Intent(this, SendReceiveService.class);
intent.setAction(SendReceiveService.DOWNLOAD_MMS_PENDING_APN_ACTION);
startService(intent);
}
private class OverrideMmsChangeListener implements Preference.OnPreferenceChangeListener {
@Override
public boolean onPreferenceChange(Preference preference, Object o) {
PreferenceManager.getDefaultSharedPreferences(MmsPreferencesActivity.this).edit()
.putBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, true).commit();
Toast.makeText(MmsPreferencesActivity.this, R.string.mms_preferences_activity__manual_mms_settings_are_required, Toast.LENGTH_SHORT).show();
return false;
}
}
}

View File

@ -1,86 +0,0 @@
package org.thoughtcrime.securesms;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.thoughtcrime.securesms.util.Util;
public class PromptApnActivity extends PassphraseRequiredSherlockActivity {
private EditText mmsc;
private EditText proxyHost;
private EditText proxyPort;
private Button okButton;
private Button cancelButton;
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.prompt_apn_activity);
initializeResources();
initializeValues();
}
private void initializeValues() {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
mmsc.setText(preferences.getString(ApplicationPreferencesActivity.MMSC_HOST_PREF, ""));
proxyHost.setText(preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, ""));
proxyPort.setText(preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, ""));
}
private void initializeResources() {
this.mmsc = (EditText)findViewById(R.id.mmsc_url);
this.proxyHost = (EditText)findViewById(R.id.mms_proxy_host);
this.proxyPort = (EditText)findViewById(R.id.mms_proxy_port);
this.okButton = (Button)findViewById(R.id.ok_button);
this.cancelButton = (Button)findViewById(R.id.cancel_button);
this.okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handleSettings();
}
});
this.cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
private void handleSettings() {
if (Util.isEmpty(mmsc)) {
Toast.makeText(this, R.string.PromptApnActivity_you_must_specify_an_mmsc_url_for_your_carrier, Toast.LENGTH_LONG).show();
return;
}
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putBoolean(ApplicationPreferencesActivity.USE_LOCAL_MMS_APNS_PREF, true)
.putString(ApplicationPreferencesActivity.MMSC_HOST_PREF, mmsc.getText().toString().trim())
.putString(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, proxyHost.getText().toString().trim())
.putString(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, proxyPort.getText().toString().trim())
.commit();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.PromptApnActivity_mms_settings_updated);
builder.setMessage(R.string.PromptApnActivity_you_can_modify_these_values_from_the_textsecure_settings_menu_at_any_time_);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
builder.show();
}
}

View File

@ -0,0 +1,43 @@
package org.thoughtcrime.securesms;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class PromptMmsActivity extends PassphraseRequiredSherlockActivity {
private Button okButton;
private Button cancelButton;
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.prompt_apn_activity);
initializeResources();
}
private void initializeResources() {
this.okButton = (Button)findViewById(R.id.ok_button);
this.cancelButton = (Button)findViewById(R.id.cancel_button);
this.okButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(PromptMmsActivity.this, MmsPreferencesActivity.class);
intent.putExtras(PromptMmsActivity.this.getIntent().getExtras());
startActivity(intent);
finish();
}
});
this.cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}

View File

@ -345,6 +345,15 @@ public class MmsDatabase extends Database implements MmsSmsColumns {
}
}
public Reader getNotificationsWithDownloadState(MasterSecret masterSecret, long state) {
SQLiteDatabase database = databaseHelper.getReadableDatabase();
String selection = STATUS + " = ?";
String[] selectionArgs = new String[]{state + ""};
Cursor cursor = database.query(TABLE_NAME, MMS_PROJECTION, selection, selectionArgs, null, null, null);
return new Reader(masterSecret, cursor);
}
private Pair<Long, Long> insertMessageInbox(MasterSecret masterSecret, RetrieveConf retrieved,
String contentLocation, long threadId, long mailbox)
throws MmsException
@ -679,6 +688,7 @@ public class MmsDatabase extends Database implements MmsSmsColumns {
public static final int DOWNLOAD_CONNECTING = 3;
public static final int DOWNLOAD_SOFT_FAILURE = 4;
public static final int DOWNLOAD_HARD_FAILURE = 5;
public static final int DOWNLOAD_APN_UNAVAILABLE = 6;
public static boolean isDisplayDownloadButton(int status) {
return
@ -689,9 +699,10 @@ public class MmsDatabase extends Database implements MmsSmsColumns {
public static String getLabelForStatus(Context context, int status) {
switch (status) {
case DOWNLOAD_CONNECTING: return context.getString(R.string.MmsDatabase_connecting_to_mms_server);
case DOWNLOAD_INITIALIZED: return context.getString(R.string.MmsDatabase_downloading_mms);
case DOWNLOAD_HARD_FAILURE: return context.getString(R.string.MmsDatabase_mms_download_failed);
case DOWNLOAD_CONNECTING: return context.getString(R.string.MmsDatabase_connecting_to_mms_server);
case DOWNLOAD_INITIALIZED: return context.getString(R.string.MmsDatabase_downloading_mms);
case DOWNLOAD_HARD_FAILURE: return context.getString(R.string.MmsDatabase_mms_download_failed);
case DOWNLOAD_APN_UNAVAILABLE: return context.getString(R.string.MmsDatabase_mms_pending_download);
}
return context.getString(R.string.MmsDatabase_downloading);

View File

@ -49,11 +49,14 @@ public class MmsCommunication {
{
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
if (preferences.getBoolean(ApplicationPreferencesActivity.USE_LOCAL_MMS_APNS_PREF, false)) {
if (preferences.getBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, false)) {
String mmsc = preferences.getString(ApplicationPreferencesActivity.MMSC_HOST_PREF, null);
if (mmsc == null || !mmsc.startsWith("http"))
throw new ApnUnavailableException("Malformed locally configured MMSC: " + mmsc);
if (mmsc == null)
throw new ApnUnavailableException("Malformed locally configured MMSC.");
if (!mmsc.startsWith("http"))
mmsc = "http://" + mmsc;
String proxy = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_HOST_PREF, null);
String port = preferences.getString(ApplicationPreferencesActivity.MMSC_PROXY_PORT_PREF, null);
@ -69,7 +72,7 @@ public class MmsCommunication {
{
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
if (preferences.getBoolean(ApplicationPreferencesActivity.USE_LOCAL_MMS_APNS_PREF, false)) {
if (preferences.getBoolean(ApplicationPreferencesActivity.ENABLE_MANUAL_MMS_PREF, false)) {
return getLocallyConfiguredMmsConnectionParameters(context);
} else {
MmsConnectionParameters params = ApnDefaults.getMmsConnectionParameters(context);

View File

@ -64,18 +64,20 @@ public class MmsDownloadHelper extends MmsCommunication {
}
}
public static boolean isMmsConnectionParametersAvailable(Context context, String apn, boolean proxyIfPossible) {
try {
getMmsConnectionParameters(context, apn, proxyIfPossible);
return true;
} catch (ApnUnavailableException e) {
return false;
}
}
public static RetrieveConf retrieveMms(Context context, String url, String apn,
boolean usingMmsRadio, boolean proxyIfPossible)
throws IOException
throws IOException, ApnUnavailableException
{
MmsConnectionParameters connectionParameters;
try {
connectionParameters = getMmsConnectionParameters(context, apn, proxyIfPossible);
} catch (ApnUnavailableException aue) {
Log.w("MmsDownloadHelper", aue);
connectionParameters = new MmsConnectionParameters(null, null, null);
}
MmsConnectionParameters connectionParameters = getMmsConnectionParameters(context, apn, proxyIfPossible);
checkRouteToHost(context, connectionParameters, url, usingMmsRadio);

View File

@ -27,11 +27,17 @@ import org.thoughtcrime.securesms.crypto.DecryptingQueue;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.database.MmsDatabase;
import org.thoughtcrime.securesms.database.model.NotificationMmsMessageRecord;
import org.thoughtcrime.securesms.mms.ApnUnavailableException;
import org.thoughtcrime.securesms.mms.MmsDownloadHelper;
import org.thoughtcrime.securesms.mms.MmsSendHelper;
import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.protocol.WirePrefix;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
import ws.com.google.android.mms.InvalidHeaderValueException;
import ws.com.google.android.mms.MmsException;
import ws.com.google.android.mms.pdu.NotifyRespInd;
@ -39,10 +45,6 @@ import ws.com.google.android.mms.pdu.PduComposer;
import ws.com.google.android.mms.pdu.PduHeaders;
import ws.com.google.android.mms.pdu.RetrieveConf;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;
public class MmsDownloader extends MmscProcessor {
private final LinkedList<DownloadItem> pendingMessages = new LinkedList<DownloadItem>();
@ -66,6 +68,8 @@ public class MmsDownloader extends MmscProcessor {
handleDownloadMmsAction(item);
} else if (intent.getAction().equals(SendReceiveService.DOWNLOAD_MMS_CONNECTIVITY_ACTION)) {
handleConnectivityChange();
} else if (intent.getAction().equals(SendReceiveService.DOWNLOAD_MMS_PENDING_APN_ACTION)) {
handleMmsPendingApnDownloads(masterSecret);
}
}
@ -83,6 +87,28 @@ public class MmsDownloader extends MmscProcessor {
else downloadMms(item);
}
private void handleMmsPendingApnDownloads(MasterSecret masterSecret) {
if (!MmsDownloadHelper.isMmsConnectionParametersAvailable(context, null, false))
return;
MmsDatabase mmsDatabase = DatabaseFactory.getMmsDatabase(context);
MmsDatabase.Reader stalledMmsReader = mmsDatabase.getNotificationsWithDownloadState(masterSecret,
MmsDatabase.Status.DOWNLOAD_APN_UNAVAILABLE);
while (stalledMmsReader.getNext() != null) {
NotificationMmsMessageRecord stalledMmsRecord = (NotificationMmsMessageRecord) stalledMmsReader.getCurrent();
Intent intent = new Intent(SendReceiveService.DOWNLOAD_MMS_ACTION, null, context, SendReceiveService.class);
intent.putExtra("content_location", new String(stalledMmsRecord.getContentLocation()));
intent.putExtra("message_id", stalledMmsRecord.getId());
intent.putExtra("transaction_id", stalledMmsRecord.getTransactionId());
intent.putExtra("thread_id", stalledMmsRecord.getThreadId());
intent.putExtra("automatic", true);
context.startService(intent);
}
stalledMmsReader.close();
}
private void downloadMmsWithRadioChange(DownloadItem item) {
Log.w("MmsDownloader", "Handling MMS download with radio change...");
pendingMessages.add(item);
@ -107,6 +133,10 @@ public class MmsDownloader extends MmscProcessor {
storeRetrievedMms(mmsDatabase, item, retrieved);
sendRetrievedAcknowledgement(item);
} catch (ApnUnavailableException e) {
Log.w("MmsDownloader", e);
handleDownloadError(item, MmsDatabase.Status.DOWNLOAD_APN_UNAVAILABLE,
context.getString(R.string.MmsDownloader_error_reading_mms_settings));
} catch (IOException e) {
Log.w("MmsDownloader", e);
if (!item.useMmsRadioMode() && !item.proxyRequestIfPossible()) {
@ -188,18 +218,9 @@ public class MmsDownloader extends MmscProcessor {
}
private void handleDownloadError(List<DownloadItem> items, int downloadStatus, String error) {
MmsDatabase db = DatabaseFactory.getMmsDatabase(context);
for (DownloadItem item : items) {
db.markDownloadState(item.getMessageId(), downloadStatus);
if (item.isAutomatic()) {
db.markIncomingNotificationReceived(item.getThreadId());
MessageNotifier.updateNotification(context, item.getMasterSecret(), item.getThreadId());
}
handleDownloadError(item, downloadStatus, error);
}
toastHandler.makeToast(error);
}
private void handleDownloadError(DownloadItem item, int downloadStatus, String error) {

View File

@ -54,12 +54,14 @@ public class SendReceiveService extends Service {
public static final String RECEIVE_MMS_ACTION = "org.thoughtcrime.securesms.SendReceiveService.RECEIVE_MMS_ACTION";
public static final String DOWNLOAD_MMS_ACTION = "org.thoughtcrime.securesms.SendReceiveService.DOWNLOAD_MMS_ACTION";
public static final String DOWNLOAD_MMS_CONNECTIVITY_ACTION = "org.thoughtcrime.securesms.SendReceiveService.DOWNLOAD_MMS_CONNECTIVITY_ACTION";
public static final String DOWNLOAD_MMS_PENDING_APN_ACTION = "org.thoughtcrime.securesms.SendReceiveService.DOWNLOAD_MMS_PENDING_APN_ACTION";
private static final int SEND_SMS = 0;
private static final int RECEIVE_SMS = 1;
private static final int SEND_MMS = 2;
private static final int RECEIVE_MMS = 3;
private static final int DOWNLOAD_MMS = 4;
private static final int DOWNLOAD_MMS_PENDING = 5;
private ToastHandler toastHandler;
@ -105,6 +107,8 @@ public class SendReceiveService extends Service {
scheduleIntent(RECEIVE_MMS, intent);
else if (intent.getAction().equals(DOWNLOAD_MMS_ACTION) || intent.getAction().equals(DOWNLOAD_MMS_CONNECTIVITY_ACTION))
scheduleSecretRequiredIntent(DOWNLOAD_MMS, intent);
else if (intent.getAction().equals(DOWNLOAD_MMS_PENDING_APN_ACTION))
scheduleSecretRequiredIntent(DOWNLOAD_MMS_PENDING, intent);
else
Log.w("SendReceiveService", "Received intent with unknown action: " + intent.getAction());
}
@ -216,11 +220,12 @@ public class SendReceiveService extends Service {
@Override
public void run() {
switch (what) {
case RECEIVE_SMS: smsReceiver.process(masterSecret, intent); return;
case SEND_SMS: smsSender.process(masterSecret, intent); return;
case RECEIVE_MMS: mmsReceiver.process(masterSecret, intent); return;
case SEND_MMS: mmsSender.process(masterSecret, intent); return;
case DOWNLOAD_MMS: mmsDownloader.process(masterSecret, intent); return;
case RECEIVE_SMS: smsReceiver.process(masterSecret, intent); return;
case SEND_SMS: smsSender.process(masterSecret, intent); return;
case RECEIVE_MMS: mmsReceiver.process(masterSecret, intent); return;
case SEND_MMS: mmsSender.process(masterSecret, intent); return;
case DOWNLOAD_MMS: mmsDownloader.process(masterSecret, intent); return;
case DOWNLOAD_MMS_PENDING: mmsDownloader.process(masterSecret, intent); return;
}
}
}