Compare commits

..

7 Commits

18 changed files with 3013 additions and 1906 deletions

View File

@ -28,8 +28,8 @@ plugins {
val staticIps = Properties().apply { file("static-ips.properties").reader().use { load(it) } }
staticIps.stringPropertyNames().forEach { rootProject.extra[it] = staticIps.getProperty(it) }
val canonicalVersionCode = 1711
val canonicalVersionName = "8.17.1"
val canonicalVersionCode = 1712
val canonicalVersionName = "8.17.2"
val currentHotfixVersion = 0
val maxHotfixVersions = 100

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1061,8 +1061,16 @@ class MainActivity :
return
}
val extras = intent.extras
if (extras == null) {
Log.w(TAG, "Received a conversation intent with no extras. Ignoring it.")
intent.action = null
setIntent(intent)
return
}
mainNavigationViewModel.goTo(MainNavigationListLocation.CHATS)
mainNavigationViewModel.goTo(MainNavigationDetailLocation.Conversation(ConversationIntents.readArgsFromBundle(intent.extras!!)))
mainNavigationViewModel.goTo(MainNavigationDetailLocation.Conversation(ConversationIntents.readArgsFromBundle(extras)))
intent.action = null
setIntent(intent)
}

View File

@ -217,7 +217,12 @@ sealed class ConversationListViewModel(
private fun loadCurrentFolders() {
viewModelScope.launch(Dispatchers.IO) {
val folders = ChatFoldersRepository.getCurrentFolders()
val unreadCountAndEmptyAndMutedStatus = ChatFoldersRepository.getUnreadCountAndEmptyAndMutedStatusForFolders(folders)
val unreadCountAndEmptyAndMutedStatus: Map<Long, Triple<Int, Boolean, Boolean>> = if (folders.size > 1) {
ChatFoldersRepository.getUnreadCountAndEmptyAndMutedStatusForFolders(folders)
} else {
emptyMap()
}
val selectedFolderId = if (currentFolder.id == -1L) {
folders.firstOrNull()?.id

View File

@ -337,7 +337,7 @@ class MainNavigationViewModel(
chatsBackStack.pop()
if (chatsBackStack.isEmpty) {
lockPaneToSecondary = true
setFocusedPane(ThreePaneScaffoldRole.Secondary)
popDetailPane()
}
}
@ -345,7 +345,21 @@ class MainNavigationViewModel(
backStack.reset()
if (!isSplitPane) {
lockPaneToSecondary = true
setFocusedPane(ThreePaneScaffoldRole.Secondary)
popDetailPane()
}
}
private fun popDetailPane() {
navigatorScope?.launch {
navigator?.let { scaffoldNavigator ->
if (scaffoldNavigator.canNavigateBack()) {
scaffoldNavigator.navigateBack()
}
}
}
viewModelScope.launch {
internalPaneFocusRequests.emit(ThreePaneScaffoldRole.Secondary)
}
}

View File

@ -4,5 +4,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:saveEnabled="false"
android:visibility="gone"
app:linkpreview_type="compose" />

View File

@ -95,6 +95,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="6dp"
android:layout_marginTop="6dp"
android:saveEnabled="false"
app:layout_constraintEnd_toEndOf="@+id/compose_bubble"
app:layout_constraintStart_toStartOf="@+id/compose_bubble"
app:layout_constraintTop_toBottomOf="@+id/edit_message_title" />
@ -107,6 +108,7 @@
android:layout_height="wrap_content"
android:layout_marginHorizontal="6dp"
android:layout_marginTop="6dp"
android:saveEnabled="false"
app:layout_constraintEnd_toEndOf="@+id/compose_bubble"
app:layout_constraintStart_toStartOf="@+id/compose_bubble"
app:layout_constraintTop_toBottomOf="@+id/quote_view" />

View File

@ -5,6 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:saveEnabled="false"
android:visibility="gone"
app:message_type="preview"
app:quote_colorPrimary="@color/signal_text_primary"

View File

@ -665,11 +665,11 @@
<!-- Snackbar toast message shown when a profile cannot be downloaded and to try again. -->
<string name="ConversationFragment_photo_failed">Неуспешно изтегляне на снимката. Опитайте отново.</string>
<!-- Title of the dialog shown when re-requesting an expired attachment from your primary device fails -->
<string name="ConversationFragment_attachment_backfill_failed_title">Can\'t download media</string>
<string name="ConversationFragment_attachment_backfill_failed_title">Неуспешно изтегляне на мултимедийните файлове</string>
<!-- Body of the dialog shown when your phone didn\'t respond to a request to re-send an expired attachment -->
<string name="ConversationFragment_attachment_backfill_timeout">Check this device and your phone\'s internet connection. Open Signal on your phone, then try downloading again.</string>
<string name="ConversationFragment_attachment_backfill_timeout">Проверете връзката с интернет на това устройство и на телефона ви. Отворете Signal на телефона ви, след което опитайте изтеглянето отново.</string>
<!-- Body of the dialog shown when your phone no longer has the attachment you tried to download -->
<string name="ConversationFragment_attachment_backfill_not_found">This media is no longer available on your phone and can\'t be downloaded.</string>
<string name="ConversationFragment_attachment_backfill_not_found">Тези мултимедийни файлове вече не са достъпни на телефона ви и не могат да бъдат изтеглени.</string>
<!-- Dialog for how to long to keep a messaged pinned for -->
<string name="ConversationFragment__keep_pinned">Да остане закачено за…</string>
<!-- Dialog option to keep message pin for 24 hours -->
@ -1451,9 +1451,9 @@
<string name="AddGroupDetailsFragment__sms_contact">SMS контакт</string>
<string name="AddGroupDetailsFragment__remove_s_from_this_group">Премахване на %1$s от тази група?</string>
<!-- Title of the dialog shown when tapping an existing group while creating a new group, confirming the user wants to leave and discard their in-progress group -->
<string name="AddGroupDetailsFragment__discard_group">Discard group?</string>
<string name="AddGroupDetailsFragment__discard_group">Отмяна на създаването на групата?</string>
<!-- Body of the dialog shown when tapping an existing group while creating a new group. Placeholder is the name of the group being navigated to. -->
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">If you continue to the group \"%1$s\" your changes won\'t be saved.</string>
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">Ако продължите към групата „%1$s“, вашите промени няма да бъдат запазени.</string>
<!-- Label for the button that confirms discarding the in-progress group and navigating to an existing group -->
<string name="AddGroupDetailsFragment__discard">Отхвърляне</string>
<!-- Info message shown in the middle of the screen, displayed when adding group details to an MMS Group -->
@ -9110,23 +9110,23 @@
<!-- Dialog confirmation button to exit backup setup -->
<string name="MessageBackupsKeyRecordScreen__exit_backup_setup_confirm">Излизане от настройката на резервно копие</string>
<!-- Screen title when saving your recovery key -->
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">Save your recovery key</string>
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">Запишете ключа ви за възстановяване</string>
<!-- Screen subtitle for the recovery key screen -->
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">Your recovery key is a 64-character code that lets you restore your backup. If you forget your key, you will not be able to recover your account.</string>
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">Вашият ключ за възстановяване е код от 64 знака, който ви позволява да възстановявате вашето резервно копие. Ако забравите ключа ви, няма да можете да възстановите вашия акаунт.</string>
<!-- Hint text to see the full recovery key -->
<string name="MessageBackupsKeyRecordScreen__see_full_key">See full key</string>
<string name="MessageBackupsKeyRecordScreen__see_full_key">Преглед на целия ключ</string>
<!-- Bottom sheet caption to confirm your recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">Confirm that your recovery key was recorded correctly. You will be prompted to fill your saved password in the next step.</string>
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">Уверете се, че вашият ключ за възстановяване е записан правилно. Ще получите подкана да попълните запазената парола в следващата стъпка.</string>
<!-- Button to confirm the recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">Confirm recovery key</string>
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">Потвърдете ключа за възстановяване</string>
<!-- Toast shown when the key is confirmed -->
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">Recovery key confirmed</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">Ключът за възстановяване е потвърден</string>
<!-- Dialog title shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error">Error confirming recovery key</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error">Грешка при потвърждаването на ключа за възстановяване</string>
<!-- Dialog body shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">Your recovery key could not be confirmed. Make sure youve saved it in your password manager, or save it manually.</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">Неуспешно потвърждаване на вашия ключ за възстановяване. Уверете се, че сте го запазили в мениджъра ви на пароли, или го запишете ръчно.</string>
<!-- Button option to save the key manually -->
<string name="MessageBackupsKeyRecordScreen__save_key_manually">Save key manually</string>
<string name="MessageBackupsKeyRecordScreen__save_key_manually">Ръчно записване на ключа</string>
<!-- BackupKeyDisplayFragment -->
<!-- Dialog title when exiting before confirming new key -->
@ -9861,8 +9861,8 @@
<!-- Header for the section shown when creating a group that lists existing groups with the exact same members. Includes the number of such groups. -->
<plurals name="AddGroupDetailsFragment__d_groups_with_same_members">
<item quantity="one">%1$d group with the same members</item>
<item quantity="other">%1$d groups with the same members</item>
<item quantity="one">%1$d група със същите членове</item>
<item quantity="other">%1$d групи със същите членове</item>
</plurals>
<!-- Title of the sheet shown when a local backup restore could not be completed -->

View File

@ -665,11 +665,11 @@
<!-- Snackbar toast message shown when a profile cannot be downloaded and to try again. -->
<string name="ConversationFragment_photo_failed">ფოტო ვერ ჩამოიტვირთა. თავიდან სცადე.</string>
<!-- Title of the dialog shown when re-requesting an expired attachment from your primary device fails -->
<string name="ConversationFragment_attachment_backfill_failed_title">Can\'t download media</string>
<string name="ConversationFragment_attachment_backfill_failed_title">მედია ფაილების გადმოწერა შეუძლებელია</string>
<!-- Body of the dialog shown when your phone didn\'t respond to a request to re-send an expired attachment -->
<string name="ConversationFragment_attachment_backfill_timeout">Check this device and your phone\'s internet connection. Open Signal on your phone, then try downloading again.</string>
<string name="ConversationFragment_attachment_backfill_timeout">შეამოწმე ეს მოწყობილობა და შენი მობილურის ინტერნეტ კავშირი. შედი Signal-ზე შენს მობილურში და თავიდან ჩამოტვირთვა სცადე.</string>
<!-- Body of the dialog shown when your phone no longer has the attachment you tried to download -->
<string name="ConversationFragment_attachment_backfill_not_found">This media is no longer available on your phone and can\'t be downloaded.</string>
<string name="ConversationFragment_attachment_backfill_not_found">ეს მედია ფაილი შენს მობილურზე ხელმისაწვდომი აღარაა და ვერ ჩამოიტვირთება.</string>
<!-- Dialog for how to long to keep a messaged pinned for -->
<string name="ConversationFragment__keep_pinned">აპინული იყოს…</string>
<!-- Dialog option to keep message pin for 24 hours -->
@ -1451,9 +1451,9 @@
<string name="AddGroupDetailsFragment__sms_contact">SMS კონტაქტი</string>
<string name="AddGroupDetailsFragment__remove_s_from_this_group">წავშალოთ %1$s ამ ჯგუფიდან?</string>
<!-- Title of the dialog shown when tapping an existing group while creating a new group, confirming the user wants to leave and discard their in-progress group -->
<string name="AddGroupDetailsFragment__discard_group">Discard group?</string>
<string name="AddGroupDetailsFragment__discard_group">ჯგუფის წაშლა გსურს?</string>
<!-- Body of the dialog shown when tapping an existing group while creating a new group. Placeholder is the name of the group being navigated to. -->
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">If you continue to the group \"%1$s\" your changes won\'t be saved.</string>
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">თუ \"%1$s\" ჯგუფში განაგრძობ, შენი ცვლილებები არ შეინახება.</string>
<!-- Label for the button that confirms discarding the in-progress group and navigating to an existing group -->
<string name="AddGroupDetailsFragment__discard">გაუქმება</string>
<!-- Info message shown in the middle of the screen, displayed when adding group details to an MMS Group -->
@ -9110,23 +9110,23 @@
<!-- Dialog confirmation button to exit backup setup -->
<string name="MessageBackupsKeyRecordScreen__exit_backup_setup_confirm">სათადარიგო ასლების შექმნიდან გასვლა</string>
<!-- Screen title when saving your recovery key -->
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">Save your recovery key</string>
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">შეინახე შენი აღდგენის გასაღები</string>
<!-- Screen subtitle for the recovery key screen -->
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">Your recovery key is a 64-character code that lets you restore your backup. If you forget your key, you will not be able to recover your account.</string>
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">შენი აღდგენის გასაღები 64-სიმბოლოანი კოდია, რომელიც შენი სათადარიგო ასლების აღდგენის საშუალებას გაძლევს. თუ შენი პინ-კოდი დაგავიწყდება, შენი ანგარიშის აღდგენას ვეღარ შეძლებ.</string>
<!-- Hint text to see the full recovery key -->
<string name="MessageBackupsKeyRecordScreen__see_full_key">See full key</string>
<string name="MessageBackupsKeyRecordScreen__see_full_key">გასაღების სრულად ნახვა</string>
<!-- Bottom sheet caption to confirm your recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">Confirm that your recovery key was recorded correctly. You will be prompted to fill your saved password in the next step.</string>
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">დაადასტურე, რომ შენი აღდგენის გასაღები სწორადაა ჩანიშნული. შემდეგ ნაბიჯში შენი შენახული პაროლის შევსება მოგეთხოვება.</string>
<!-- Button to confirm the recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">Confirm recovery key</string>
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">დაადასტურე აღდგენის გასაღები</string>
<!-- Toast shown when the key is confirmed -->
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">Recovery key confirmed</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">აღდგენის გასაღები დადასტურებულია</string>
<!-- Dialog title shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error">Error confirming recovery key</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error">აღდგენის გასაღების დასტურის ხარვეზი</string>
<!-- Dialog body shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">Your recovery key could not be confirmed. Make sure youve saved it in your password manager, or save it manually.</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">შენი აღდგენის გასაღების დადასტურება ვერ მოხერხდა. დარწმუნდი, რომ ის შენი პაროლების მენეჯერში ან შენით შეინახე.</string>
<!-- Button option to save the key manually -->
<string name="MessageBackupsKeyRecordScreen__save_key_manually">Save key manually</string>
<string name="MessageBackupsKeyRecordScreen__save_key_manually">შეინახე გასაღები შენით</string>
<!-- BackupKeyDisplayFragment -->
<!-- Dialog title when exiting before confirming new key -->
@ -9861,8 +9861,8 @@
<!-- Header for the section shown when creating a group that lists existing groups with the exact same members. Includes the number of such groups. -->
<plurals name="AddGroupDetailsFragment__d_groups_with_same_members">
<item quantity="one">%1$d group with the same members</item>
<item quantity="other">%1$d groups with the same members</item>
<item quantity="one">%1$d ჯგუფი ერთი და იმავე წევრებით</item>
<item quantity="other">%1$d ჯგუფი ერთი და იმავე წევრებით</item>
</plurals>
<!-- Title of the sheet shown when a local backup restore could not be completed -->

View File

@ -665,11 +665,11 @@
<!-- Snackbar toast message shown when a profile cannot be downloaded and to try again. -->
<string name="ConversationFragment_photo_failed">ഫോട്ടോ ഡൗൺലോഡ് ചെയ്യാനായില്ല. വീണ്ടും ശ്രമിക്കുക.</string>
<!-- Title of the dialog shown when re-requesting an expired attachment from your primary device fails -->
<string name="ConversationFragment_attachment_backfill_failed_title">Can\'t download media</string>
<string name="ConversationFragment_attachment_backfill_failed_title">മീഡിയ ഡൗൺലോഡ് ചെയ്യാൻ കഴിയുന്നില്ല</string>
<!-- Body of the dialog shown when your phone didn\'t respond to a request to re-send an expired attachment -->
<string name="ConversationFragment_attachment_backfill_timeout">Check this device and your phone\'s internet connection. Open Signal on your phone, then try downloading again.</string>
<string name="ConversationFragment_attachment_backfill_timeout">ഈ ഉപകരണവും നിങ്ങളുടെ ഫോണിന്റെ ഇന്റർനെറ്റ് കണക്ഷനും പരിശോധിക്കുക. നിങ്ങളുടെ ഫോണിൽ Signal തുറക്കുക, തുടർന്ന് വീണ്ടും ഡൗൺലോഡ് ചെയ്യാൻ ശ്രമിക്കുക.</string>
<!-- Body of the dialog shown when your phone no longer has the attachment you tried to download -->
<string name="ConversationFragment_attachment_backfill_not_found">This media is no longer available on your phone and can\'t be downloaded.</string>
<string name="ConversationFragment_attachment_backfill_not_found">ഈ മീഡിയ ഇനി നിങ്ങളുടെ ഫോണിൽ ലഭ്യമല്ല, ഡൗൺലോഡ് ചെയ്യാനും കഴിയില്ല.</string>
<!-- Dialog for how to long to keep a messaged pinned for -->
<string name="ConversationFragment__keep_pinned">ഇത്രയും നേരം പിൻ ചെയ്‌ത് സൂക്ഷിക്കുക…</string>
<!-- Dialog option to keep message pin for 24 hours -->
@ -1451,9 +1451,9 @@
<string name="AddGroupDetailsFragment__sms_contact">SMS കോൺടാക്റ്റ്</string>
<string name="AddGroupDetailsFragment__remove_s_from_this_group">ഈ ഗ്രൂപ്പിൽ നിന്ന് %1$s എന്നയാളെ നീക്കം ചെയ്യണോ?</string>
<!-- Title of the dialog shown when tapping an existing group while creating a new group, confirming the user wants to leave and discard their in-progress group -->
<string name="AddGroupDetailsFragment__discard_group">Discard group?</string>
<string name="AddGroupDetailsFragment__discard_group">ഗ്രൂപ്പ് ഉപേക്ഷിക്കണോ?</string>
<!-- Body of the dialog shown when tapping an existing group while creating a new group. Placeholder is the name of the group being navigated to. -->
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">If you continue to the group \"%1$s\" your changes won\'t be saved.</string>
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">നിങ്ങൾ \"%1$s\" ഗ്രൂപ്പിലേക്ക് തുടരുകയാണെങ്കിൽ നിങ്ങളുടെ മാറ്റങ്ങൾ സംരക്ഷിക്കപ്പെടില്ല.</string>
<!-- Label for the button that confirms discarding the in-progress group and navigating to an existing group -->
<string name="AddGroupDetailsFragment__discard">ഉപേക്ഷിക്കുക</string>
<!-- Info message shown in the middle of the screen, displayed when adding group details to an MMS Group -->
@ -9110,23 +9110,23 @@
<!-- Dialog confirmation button to exit backup setup -->
<string name="MessageBackupsKeyRecordScreen__exit_backup_setup_confirm">ബാക്കപ്പ് സജ്ജീകരണത്തിൽ നിന്ന് പുറത്തുകടക്കുക</string>
<!-- Screen title when saving your recovery key -->
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">Save your recovery key</string>
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">നിങ്ങളുടെ വീണ്ടെടുക്കൽ കീ സംരക്ഷിക്കുക</string>
<!-- Screen subtitle for the recovery key screen -->
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">Your recovery key is a 64-character code that lets you restore your backup. If you forget your key, you will not be able to recover your account.</string>
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">നിങ്ങളുടെ ബാക്കപ്പ് പുനഃസ്ഥാപിക്കാൻ സഹായിക്കുന്ന 64-പ്രതീകങ്ങളുള്ള ഒരു കോഡാണ് വീണ്ടെടുക്കൽ കീ. നിങ്ങളുടെ കീ മറന്നുപോയാൽ, അക്കൗണ്ട് വീണ്ടെടുക്കാൻ നിങ്ങൾക്ക് കഴിയില്ല.</string>
<!-- Hint text to see the full recovery key -->
<string name="MessageBackupsKeyRecordScreen__see_full_key">See full key</string>
<string name="MessageBackupsKeyRecordScreen__see_full_key">മുഴുവൻ കീയും കാണുക</string>
<!-- Bottom sheet caption to confirm your recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">Confirm that your recovery key was recorded correctly. You will be prompted to fill your saved password in the next step.</string>
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">നിങ്ങളുടെ വീണ്ടെടുക്കൽ കീ കൃത്യമായാണോ രേഖപ്പെടുത്തിയതെന്ന് സ്ഥിരീകരിക്കുക. അടുത്ത ഘട്ടത്തിൽ നിങ്ങളുടെ സംരക്ഷിച്ച പാസ്‌വേഡ് പൂരിപ്പിക്കാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.</string>
<!-- Button to confirm the recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">Confirm recovery key</string>
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">വീണ്ടെടുക്കൽ കീ സ്ഥിരീകരിക്കുക</string>
<!-- Toast shown when the key is confirmed -->
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">Recovery key confirmed</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">വീണ്ടെടുക്കൽ കീ സ്ഥിരീകരിച്ചു</string>
<!-- Dialog title shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error">Error confirming recovery key</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error">വീണ്ടെടുക്കൽ കീ സ്ഥിരീകരിക്കുന്നതിൽ പിശക്</string>
<!-- Dialog body shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">Your recovery key could not be confirmed. Make sure youve saved it in your password manager, or save it manually.</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">നിങ്ങളുടെ വീണ്ടെടുക്കൽ കീ സ്ഥിരീകരിക്കാൻ കഴിഞ്ഞില്ല. ഇത് നിങ്ങളുടെ പാസ്‌വേഡ് മാനേജരിൽ സംരക്ഷിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക, അല്ലെങ്കിൽ നേരിട്ട് സംരക്ഷിക്കുക.</string>
<!-- Button option to save the key manually -->
<string name="MessageBackupsKeyRecordScreen__save_key_manually">Save key manually</string>
<string name="MessageBackupsKeyRecordScreen__save_key_manually">കീ നേരിട്ട് സംരക്ഷിക്കുക</string>
<!-- BackupKeyDisplayFragment -->
<!-- Dialog title when exiting before confirming new key -->
@ -9861,8 +9861,8 @@
<!-- Header for the section shown when creating a group that lists existing groups with the exact same members. Includes the number of such groups. -->
<plurals name="AddGroupDetailsFragment__d_groups_with_same_members">
<item quantity="one">%1$d group with the same members</item>
<item quantity="other">%1$d groups with the same members</item>
<item quantity="one">ഇതേ അംഗങ്ങളുള്ള %1$d ഗ്രൂപ്പ്</item>
<item quantity="other">ഇതേ അംഗങ്ങളുള്ള %1$d ഗ്രൂപ്പുകൾ</item>
</plurals>
<!-- Title of the sheet shown when a local backup restore could not be completed -->

View File

@ -651,11 +651,11 @@
<!-- Snackbar toast message shown when a profile cannot be downloaded and to try again. -->
<string name="ConversationFragment_photo_failed">رەسىمنى چۈشۈرەلمىدى. قايتا سىناڭ.</string>
<!-- Title of the dialog shown when re-requesting an expired attachment from your primary device fails -->
<string name="ConversationFragment_attachment_backfill_failed_title">Can\'t download media</string>
<string name="ConversationFragment_attachment_backfill_failed_title">مېدىيانى چۈشۈرگىلى بولمىدى</string>
<!-- Body of the dialog shown when your phone didn\'t respond to a request to re-send an expired attachment -->
<string name="ConversationFragment_attachment_backfill_timeout">Check this device and your phone\'s internet connection. Open Signal on your phone, then try downloading again.</string>
<string name="ConversationFragment_attachment_backfill_timeout">بۇ ئۈسكۈنىنى ۋە تېلېفونىڭىزنىڭ تور ئۇلىنىشىنى تەكشۈرۈڭ. تېلېفونىڭىزدا Signal نى ئېچىڭ ، ئاندىن قايتا چۈشۈرۈپ سىناپ بېقىڭ.</string>
<!-- Body of the dialog shown when your phone no longer has the attachment you tried to download -->
<string name="ConversationFragment_attachment_backfill_not_found">This media is no longer available on your phone and can\'t be downloaded.</string>
<string name="ConversationFragment_attachment_backfill_not_found">بۇ مېدىيانى تېلېفونىڭىزدا ئىشلەتكىلى ۋە چۈشۈرگىلى بولمايدۇ.</string>
<!-- Dialog for how to long to keep a messaged pinned for -->
<string name="ConversationFragment__keep_pinned">مىقلانغان ئۇچۇرنىڭ ساقلىنىش ۋاقتى…</string>
<!-- Dialog option to keep message pin for 24 hours -->
@ -1407,9 +1407,9 @@
<string name="AddGroupDetailsFragment__sms_contact">قىسقا ئۇچۇر ئالاقەداشى</string>
<string name="AddGroupDetailsFragment__remove_s_from_this_group">بۇ گۇرۇپپىدىن %1$sنى چىقىرىۋېتەمدۇ؟</string>
<!-- Title of the dialog shown when tapping an existing group while creating a new group, confirming the user wants to leave and discard their in-progress group -->
<string name="AddGroupDetailsFragment__discard_group">Discard group?</string>
<string name="AddGroupDetailsFragment__discard_group">گۇرۇپپا قۇرۇشتىن ۋاز كېچەمسىز؟</string>
<!-- Body of the dialog shown when tapping an existing group while creating a new group. Placeholder is the name of the group being navigated to. -->
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">If you continue to the group \"%1$s\" your changes won\'t be saved.</string>
<string name="AddGroupDetailsFragment__if_you_continue_to_the_group_s_your_changes_wont_be_saved">ئەگەر «%1$s» گۇرۇپپىسىغا كىرسىڭىز، ئېلىپ بارغان ئۆزگەرتىشلەر ساقلانمايدۇ.</string>
<!-- Label for the button that confirms discarding the in-progress group and navigating to an existing group -->
<string name="AddGroupDetailsFragment__discard">تاشلىۋەت</string>
<!-- Info message shown in the middle of the screen, displayed when adding group details to an MMS Group -->
@ -8912,23 +8912,23 @@
<!-- Dialog confirmation button to exit backup setup -->
<string name="MessageBackupsKeyRecordScreen__exit_backup_setup_confirm">زاپاسلاشنى قۇرۇشتىن چېكىنىش</string>
<!-- Screen title when saving your recovery key -->
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">Save your recovery key</string>
<string name="MessageBackupsKeyRecordScreen__save_your_recovery_key">ئەسلىگە كەلتۈرۈش ئاچقۇچىڭىزنى ساقلاڭ</string>
<!-- Screen subtitle for the recovery key screen -->
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">Your recovery key is a 64-character code that lets you restore your backup. If you forget your key, you will not be able to recover your account.</string>
<string name="MessageBackupsKeyRecordScreen__your_recovery_key">ئەسلىگە كەلتۈرۈش ئاچقۇچىڭىز، زاپاسلاشنى ئەسلىگە كەلتۈرۈش ئۈچۈن ئىشلىتىلىدىغان 64 خانىلىق كود. ئەگەر ئاچقۇچنى ئۇنتۇپ قالسىڭىز ھېساباتىڭىزنى ئەسلىگە كەلتۈرەلمەيسىز.</string>
<!-- Hint text to see the full recovery key -->
<string name="MessageBackupsKeyRecordScreen__see_full_key">See full key</string>
<string name="MessageBackupsKeyRecordScreen__see_full_key">تولۇق ئاچقۇچنى كۆرۈش</string>
<!-- Bottom sheet caption to confirm your recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">Confirm that your recovery key was recorded correctly. You will be prompted to fill your saved password in the next step.</string>
<string name="MessageBackupsKeyRecordScreen__confirm_that_your_recovery">ئەسلىگە كەلتۈرۈش ئاچقۇچىڭىىزنىڭ توغرا ساقلانغانلىقىنى جەزىملەشتۈرۈڭ. كېيىنكى قەدەمدە ساقلانغان پارولىڭىزنى كىرگۈزۈش تەلەپ قىلىنىدۇ.</string>
<!-- Button to confirm the recovery key -->
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">Confirm recovery key</string>
<string name="MessageBackupsKeyRecordScreen__confirm_recovery">ئەسلىگە كەلتۈرۈش ئاچقۇچىڭىزنى جەزملەشتۈرۈڭ</string>
<!-- Toast shown when the key is confirmed -->
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">Recovery key confirmed</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_confirmed">ئەسلىگە كەلتۈرۈش ئاچقۇچى دەلىللەندى</string>
<!-- Dialog title shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error">Error confirming recovery key</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error">ئەسلىگە كەلتۈرۈش ئاچقۇچىنى دەلىللەشتە خاتالىق كۆرۈلدى</string>
<!-- Dialog body shown when the recovery key fails to confirm -->
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">Your recovery key could not be confirmed. Make sure youve saved it in your password manager, or save it manually.</string>
<string name="MessageBackupsKeyRecordScreen__recover_key_error_body">ئەسلىگە كەلتۈرۈش ئاچقۇچىڭىزنى دەلىللىگىلى بولمىدى. ئۇنى پارول باشقۇرغۇچىڭىزغا ساقلىغانلىقىڭىزنى جەزملەشتۈرۈڭ ياكى قولدا ساقلاڭ.</string>
<!-- Button option to save the key manually -->
<string name="MessageBackupsKeyRecordScreen__save_key_manually">Save key manually</string>
<string name="MessageBackupsKeyRecordScreen__save_key_manually">قولدا ساقلاش</string>
<!-- BackupKeyDisplayFragment -->
<!-- Dialog title when exiting before confirming new key -->
@ -9658,7 +9658,7 @@
<!-- Header for the section shown when creating a group that lists existing groups with the exact same members. Includes the number of such groups. -->
<plurals name="AddGroupDetailsFragment__d_groups_with_same_members">
<item quantity="other">%1$d groups with the same members</item>
<item quantity="other">ئەزالىرى ئوخشاش بولغان %1$d گۇرۇپپىلار</item>
</plurals>
<!-- Title of the sheet shown when a local backup restore could not be completed -->

View File

@ -1,5 +1,5 @@
service_ips=new String[]{"13.248.212.111","76.223.92.165"}
storage_ips=new String[]{"142.251.211.83"}
storage_ips=new String[]{"142.250.217.147"}
cdn_ips=new String[]{"18.238.49.106","18.238.49.6","18.238.49.66","18.238.49.90"}
cdn2_ips=new String[]{"104.18.10.47","104.18.11.47"}
cdn3_ips=new String[]{"104.18.10.47","104.18.11.47"}

View File

@ -34,11 +34,11 @@
<string name="CameraFragment__video_recording_is_not_supported_on_your_device">Устройството ви не поддържа видеозаписване</string>
<!-- CameraXFragment -->
<string name="CameraXFragment_tap_for_photo_hold_for_video">Натисни за снимка, задръж за видео</string>
<string name="CameraXFragment_tap_for_photo_hold_for_video">Докосване за снимка, задържане за видео</string>
<!-- Accessibility content description to describe the capture button when taking an image/video -->
<string name="CameraXFragment_capture_description">Запечатване</string>
<string name="CameraXFragment_capture_description">Снимане</string>
<string name="CameraXFragment_change_camera_description">Смяна на камерата</string>
<string name="CameraXFragment_open_gallery_description">Отвори галерията</string>
<string name="CameraXFragment_open_gallery_description">Отворяне на галерията</string>
<!-- Button text asking for access to camera permissions -->
<string name="CameraXFragment_allow_access">Разрешаване на достъп</string>
<!-- Dialog title asking users for camera and microphone permission -->
@ -84,5 +84,5 @@
<!-- Accessibility label for the send button in media selection -->
<string name="CameraXFragment_send">Изпращане</string>
<!-- Displayed in a permissions dialog when the user has denied access to hardware for image and video capture. -->
<string name="CameraXFragment_signal_needs_the_recording_permissions_to_capture_video">Signal се нуждае от достъп за правене на видеа, но той е отказан. Моля, отидете в настройки и изберете \"Достъп\" и активирайте \"Микрофон\" и \"Камера\".</string>
<string name="CameraXFragment_signal_needs_the_recording_permissions_to_capture_video">Signal се нуждае от достъп до микрофон, за да заснеме видео, но той е отказан. Моля, отидете в настройки и изберете \"Достъп\" и активирайте \"Микрофон\" и \"Камера\".</string>
</resources>

View File

@ -60,7 +60,7 @@
<!-- Toast dialog explaining why Signal needs camera permissions when scanning QR codes -->
<string name="CameraXFragment_signal_needs_camera_access_scan_qr_code">QR കോഡുകൾ സ്കാൻ ചെയ്യാൻ Signal-ന് ക്യാമറ ആക്സസ് ആവശ്യമാണ്</string>
<!-- Toast dialog explaining why Signal needs microphone permissions -->
<string name="CameraXFragment_signal_needs_microphone_access_video">വീഡിയോ ക്യാപ്‌ചർ ചെയ്യാൻ Signal-ന് മൈക്രോഫോൺ ആക്‌സസ് ആവശ്യമാണ്</string>
<string name="CameraXFragment_signal_needs_microphone_access_video">വീഡിയോ എടുക്കാൻ Signal-ന് മൈക്രോഫോൺ ആക്‌സസ് ആവശ്യമാണ്</string>
<!-- Dialog description that explains the steps needed to give camera permission -->
<string name="CameraXFragment_to_capture_photos">Signal-ൽ ഫോട്ടോകൾ എടുക്കാൻ:</string>
<!-- Dialog description that explains the steps needed to give camera and microphone permission -->
@ -84,5 +84,5 @@
<!-- Accessibility label for the send button in media selection -->
<string name="CameraXFragment_send">അയയ്‌ക്കുക</string>
<!-- Displayed in a permissions dialog when the user has denied access to hardware for image and video capture. -->
<string name="CameraXFragment_signal_needs_the_recording_permissions_to_capture_video">വീഡിയോകൾ റെക്കോർഡുചെയ്യാൻ Signal-ന് മൈക്രോഫോൺ അനുമതി ആവശ്യമാണ്, പക്ഷേ അവ നിരസിക്കപ്പെട്ടു. പ്ലിക്കേഷൻ ക്രമീകരണങ്ങളിൽ തുടരുക, \"അനുമതികൾ\" തിരഞ്ഞെടുത്ത് \"മൈക്രോഫോൺ\", \"ക്യാമറ\" എന്നിവ പ്രവർത്തനക്ഷമമാക്കുക.</string>
<string name="CameraXFragment_signal_needs_the_recording_permissions_to_capture_video">വീഡിയോകൾ റെക്കോർഡുചെയ്യാൻ Signal-ന് മൈക്രോഫോൺ അനുമതി ആവശ്യമാണ്, പക്ഷേ അവ നിരസിക്കപ്പെട്ടു. പ്ലിക്കേഷൻ ക്രമീകരണങ്ങളിൽ തുടരുക, \"അനുമതികൾ\" തിരഞ്ഞെടുത്ത് \"മൈക്രോഫോൺ\", \"ക്യാമറ\" എന്നിവ പ്രവർത്തനക്ഷമമാക്കുക.</string>
</resources>

View File

@ -340,7 +340,7 @@
<!-- Title of the dialog confirming that the user wants to disable their Signal PIN. -->
<string name="PinCreationScreen__warning">Внимание</string>
<!-- Warning shown in the dialog confirming that the user wants to disable their Signal PIN. -->
<string name="PinCreationScreen__disable_pin_warning">Ако деактивирате ПИН кода, ще загубите всички данни, когато пререгистрирате Signal, освен ако не направите ръчно архивиране и възстановяване. Не можете да включите „Регистрационно заключване“, докато ПИН кодът е деактивиран.</string>
<string name="PinCreationScreen__disable_pin_warning">Ако деактивирате ПИН кода, ще загубите всички данни, когато пререгистрирате Signal, освен ако не направите ръчно архивиране и възстановяване. Не можете да включите „Заключване на регистрацията“, докато ПИН кодът е деактивиран.</string>
<!-- Overflow menu item and dialog button that disables the Signal PIN. -->
<string name="PinCreationScreen__disable_pin">Деактивиране на ПИН</string>
<!-- Labels the button that cancels disabling the Signal PIN. -->

View File

@ -342,7 +342,7 @@
<!-- Warning shown in the dialog confirming that the user wants to disable their Signal PIN. -->
<string name="PinCreationScreen__disable_pin_warning">നിങ്ങൾ PIN പ്രവർത്തനരഹിതമാക്കുകയാണെങ്കിൽ, നിങ്ങൾ നേരിട്ട് ബാക്കപ്പ് ചെയ്യുകയും പുനഃസ്ഥാപിക്കുകയും ചെയ്യാത്ത പക്ഷം, Signal വീണ്ടും രജിസ്റ്റർ ചെയ്യുമ്പോൾ എല്ലാ ഡാറ്റയും നഷ്ടപ്പെടും. PIN പ്രവർത്തനരഹിതമാക്കിയിരിക്കുമ്പോൾ നിങ്ങൾക്ക് രജിസ്ട്രേഷൻ ലോക്ക് ഓണാക്കാൻ കഴിയില്ല.</string>
<!-- Overflow menu item and dialog button that disables the Signal PIN. -->
<string name="PinCreationScreen__disable_pin">PIN അപ്രാപ്‌തമാക്കുക</string>
<string name="PinCreationScreen__disable_pin">PIN പ്രവർത്തനരഹിതമാക്കുക</string>
<!-- Labels the button that cancels disabling the Signal PIN. -->
<string name="PinCreationScreen__cancel">റദ്ദാക്കുക</string>