Merge branch 'master' into fix-deletion
This commit is contained in:
commit
9d60c516d0
97 changed files with 3806 additions and 271 deletions
6
.github/workflows/image-minimizer.js
vendored
6
.github/workflows/image-minimizer.js
vendored
|
|
@ -18,7 +18,7 @@ module.exports = async ({github, context}) => {
|
|||
initialBody = context.payload.comment.body;
|
||||
} else if (context.eventName == 'issues') {
|
||||
initialBody = context.payload.issue.body;
|
||||
} else if (context.eventName == 'pull_request') {
|
||||
} else if (context.eventName == 'pull_request_target') {
|
||||
initialBody = context.payload.pull_request.body;
|
||||
} else {
|
||||
console.log('Aborting: No body found');
|
||||
|
|
@ -34,7 +34,7 @@ module.exports = async ({github, context}) => {
|
|||
|
||||
// Regex for finding images (simple variant) 
|
||||
const REGEX_USER_CONTENT_IMAGE_LOOKUP = /\!\[(.*)\]\((https:\/\/[-a-z0-9]+\.githubusercontent\.com\/\d+\/[-0-9a-f]{32,512}\.(jpg|gif|png))\)/gm;
|
||||
const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/[-\w\d]+\/[-\w\d]+\/assets\/\d+\/[\-0-9a-f]{32,512})\)/gm;
|
||||
const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/user-attachments\/assets\/[\-0-9a-f]{36,})\)/gm;
|
||||
|
||||
// Check if we found something
|
||||
let foundSimpleImages = REGEX_USER_CONTENT_IMAGE_LOOKUP.test(initialBody)
|
||||
|
|
@ -77,7 +77,7 @@ module.exports = async ({github, context}) => {
|
|||
repo: context.repo.repo,
|
||||
body: newBody
|
||||
});
|
||||
} else if (context.eventName == 'pull_request') {
|
||||
} else if (context.eventName == 'pull_request_target') {
|
||||
console.log('Updating pull request', context.payload.pull_request.number);
|
||||
await github.rest.pulls.update({
|
||||
pull_number: context.payload.pull_request.number,
|
||||
|
|
|
|||
11
.github/workflows/image-minimizer.yml
vendored
11
.github/workflows/image-minimizer.yml
vendored
|
|
@ -5,21 +5,17 @@ on:
|
|||
types: [created, edited]
|
||||
issues:
|
||||
types: [opened, edited]
|
||||
pull_request:
|
||||
pull_request_target:
|
||||
types: [opened, edited]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
try-minimize:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
|
|
@ -32,6 +28,7 @@ jobs:
|
|||
uses: actions/github-script@v7
|
||||
timeout-minutes: 3
|
||||
with:
|
||||
github-token: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
script: |
|
||||
const script = require('.github/workflows/image-minimizer.js');
|
||||
await script({github, context});
|
||||
|
|
|
|||
27
.github/workflows/no-response.yml
vendored
27
.github/workflows/no-response.yml
vendored
|
|
@ -1,25 +1,24 @@
|
|||
name: no-response
|
||||
|
||||
# Both `issue_comment` and `scheduled` event types are required for this Action
|
||||
# to work properly.
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
schedule:
|
||||
# Run daily at midnight.
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
- cron: '0 0 * * *' # Runs daily at midnight
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
noResponse:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: lee-dohm/no-response@v0.5.0
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
token: ${{ github.token }}
|
||||
repo-token: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
days-before-stale: -1
|
||||
# Number of days of inactivity before an issue is closed for lack of response.
|
||||
daysUntilClose: 30
|
||||
responseRequiredLabel: waiting for author
|
||||
days-before-close: 14
|
||||
only-labels: 'waiting for author'
|
||||
stale-issue-label: 'waiting for author'
|
||||
stale-pr-label: 'waiting for author'
|
||||
remove-stale-when-updated: false
|
||||
ignore-updates: true
|
||||
close-issue-message: This issue has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have or find the information needed, please comment so we can reopen the issue.
|
||||
close-pr-message: This pull request has been automatically closed due to inactivity. We requested additional information but have not received a response from the original author. Without the requested details, we cannot proceed. If you have the needed information or updates, please reopen the PR or comment so we can continue the review.
|
||||
|
|
|
|||
9
.github/workflows/pr.yml
vendored
Normal file
9
.github/workflows/pr.yml
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
name: PR
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
call-pr-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/pr.yml@main
|
||||
10
.github/workflows/testing-build.yml
vendored
Normal file
10
.github/workflows/testing-build.yml
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
name: Testing build (on PR)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
types: [ labeled, opened, synchronize, reopened ]
|
||||
|
||||
jobs:
|
||||
call-testing-build-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main
|
||||
|
|
@ -7,6 +7,7 @@ plugins {
|
|||
alias(libs.plugins.kotlinAndroid)
|
||||
alias(libs.plugins.kotlinSerialization)
|
||||
alias(libs.plugins.ksp)
|
||||
alias(libs.plugins.detekt)
|
||||
}
|
||||
|
||||
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
|
||||
|
|
@ -92,10 +93,16 @@ android {
|
|||
|
||||
lint {
|
||||
checkReleaseBuilds = false
|
||||
abortOnError = false
|
||||
abortOnError = true
|
||||
warningsAsErrors = true
|
||||
baseline = file("lint-baseline.xml")
|
||||
}
|
||||
}
|
||||
|
||||
detekt {
|
||||
baseline = file("detekt-baseline.xml")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(libs.fossify.commons)
|
||||
implementation(libs.eventbus)
|
||||
|
|
|
|||
428
app/detekt-baseline.xml
Normal file
428
app/detekt-baseline.xml
Normal file
|
|
@ -0,0 +1,428 @@
|
|||
<?xml version="1.0" ?>
|
||||
<SmellBaseline>
|
||||
<ManuallySuppressedIssues></ManuallySuppressedIssues>
|
||||
<CurrentIssues>
|
||||
<ID>ComplexCondition:Activity.kt$contact.rawId > 1000000 && contact.contactId > 1000000 && contact.rawId == contact.contactId && (isPackageInstalled(simpleContacts) || isPackageInstalled(simpleContactsDebug))</ID>
|
||||
<ID>ComplexCondition:NewConversationActivity.kt$NewConversationActivity$(intent.action == Intent.ACTION_SENDTO || intent.action == Intent.ACTION_SEND || intent.action == Intent.ACTION_VIEW) && intent.dataString != null</ID>
|
||||
<ID>ComplexCondition:NewConversationActivity.kt$NewConversationActivity$contact.phoneNumbers.any { it.normalizedNumber.contains(searchString, true) } || contact.name.contains(searchString, true) || contact.name.contains(searchString.normalizeString(), true) || contact.name.normalizeString().contains(searchString, true)</ID>
|
||||
<ID>CyclomaticComplexMethod:MainActivity.kt$MainActivity$private fun getNewConversations(cachedConversations: ArrayList<Conversation>)</ID>
|
||||
<ID>CyclomaticComplexMethod:MessagesImporter.kt$MessagesImporter$private fun InputStream.importXml()</ID>
|
||||
<ID>CyclomaticComplexMethod:NotificationHelper.kt$NotificationHelper$@SuppressLint("NewApi") fun showMessageNotification( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false )</ID>
|
||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$@SuppressLint("MissingPermission") private fun getThreadItems(): ArrayList<ThreadItem></ID>
|
||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun refreshMenuItems()</ID>
|
||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread()</ID>
|
||||
<ID>EmptyCatchBlock:Context.kt${ }</ID>
|
||||
<ID>EmptyCatchBlock:MessagesWriter.kt$MessagesWriter${ }</ID>
|
||||
<ID>EmptyFunctionBlock:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:BaseConversationsAdapter.kt$BaseConversationsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:ContactsAdapter.kt$ContactsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:SearchResultsAdapter.kt$SearchResultsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:ThreadActivity.kt$ThreadActivity.<no name provided>${}</ID>
|
||||
<ID>EmptyFunctionBlock:ThreadAdapter.kt$ThreadAdapter${}</ID>
|
||||
<ID>ForbiddenComment:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$// TODO: Need to check whether SC still trying to deliver the SMS to destination and will send the report again?</ID>
|
||||
<ID>FunctionParameterNaming:Config.kt$Config$SIMId: Int</ID>
|
||||
<ID>LargeClass:ThreadActivity.kt$ThreadActivity : SimpleActivity</ID>
|
||||
<ID>LongMethod:Context.kt$fun Context.getConversations(threadId: Long? = null, privateContacts: ArrayList<SimpleContact> = ArrayList()): ArrayList<Conversation></ID>
|
||||
<ID>LongMethod:Context.kt$fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false, sortOrder: String? = null, dateFrom: Int = -1): ArrayList<Message></ID>
|
||||
<ID>LongMethod:Context.kt$fun Context.getMessages( threadId: Long, getImageResolutions: Boolean, dateFrom: Int = -1, includeScheduledMessages: Boolean = true, limit: Int = MESSAGES_LIMIT ): ArrayList<Message></ID>
|
||||
<ID>LongMethod:MessagesReader.kt$MessagesReader$private fun getMmsMessages(threadIds: List<Long>, includeTextOnlyAttachment: Boolean = false): List<MmsBackup></ID>
|
||||
<ID>LongMethod:NotificationHelper.kt$NotificationHelper$@SuppressLint("NewApi") fun showMessageNotification( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false )</ID>
|
||||
<ID>LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupAttachmentPickerView()</ID>
|
||||
<ID>LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
||||
<ID>LongMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread()</ID>
|
||||
<ID>LongParameterList:AttachmentPreviews.kt$( activity: Activity, uri: Uri, attachment: Boolean = false, onClick: (() -> Unit)? = null, onLongClick: (() -> Unit)? = null, onVCardLoaded: (() -> Unit)? = null, )</ID>
|
||||
<ID>LongParameterList:AttachmentPreviews.kt$( uri: Uri, title: String, mimeType: String, onClick: (() -> Unit)? = null, onLongClick: (() -> Unit)? = null, onRemoveButtonClicked: (() -> Unit)? = null )</ID>
|
||||
<ID>LongParameterList:Context.kt$( address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int )</ID>
|
||||
<ID>LongParameterList:Context.kt$( uri: Uri, projection: Array<String>, selection: String? = null, selectionArgs: Array<String>? = null, sortOrder: String? = null, callback: (cursor: Cursor) -> Unit )</ID>
|
||||
<ID>LongParameterList:MessagingUtils.kt$MessagingUtils$( subId: Int, dest: String, text: String, timestamp: Long, threadId: Long, status: Int = Sms.STATUS_NONE, type: Int = Sms.MESSAGE_TYPE_OUTBOX, messageId: Long? = null )</ID>
|
||||
<ID>LongParameterList:NotificationHelper.kt$NotificationHelper$( messageId: Long, address: String, body: String, threadId: Long, bitmap: Bitmap?, sender: String?, alertOnlyOnce: Boolean = false )</ID>
|
||||
<ID>LongParameterList:SmsReceiver.kt$SmsReceiver$( context: Context, address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int, status: Int )</ID>
|
||||
<ID>LongParameterList:SmsSender.kt$SmsSender$( subId: Int, dest: String, messages: ArrayList<String>, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri )</ID>
|
||||
<ID>LongParameterList:SmsSender.kt$SmsSender$( subId: Int, destination: String, body: String, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri )</ID>
|
||||
<ID>MagicNumber:Activity.kt$1000000</ID>
|
||||
<ID>MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.7f</ID>
|
||||
<ID>MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.8f</ID>
|
||||
<ID>MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$0.9f</ID>
|
||||
<ID>MagicNumber:BaseConversationsAdapter.kt$BaseConversationsAdapter$1.2f</ID>
|
||||
<ID>MagicNumber:ContactsAdapter.kt$ContactsAdapter$1.2f</ID>
|
||||
<ID>MagicNumber:Context.kt$10</ID>
|
||||
<ID>MagicNumber:Context.kt$1000</ID>
|
||||
<ID>MagicNumber:Context.kt$1000L</ID>
|
||||
<ID>MagicNumber:Context.kt$500L</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$0.6f</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$100</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$180f</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$270f</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$3</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$30</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$56</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$6</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$8</ID>
|
||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$90f</ID>
|
||||
<ID>MagicNumber:MainActivity.kt$MainActivity$30</ID>
|
||||
<ID>MagicNumber:Message.kt$Message$1000L</ID>
|
||||
<ID>MagicNumber:Message.kt$Message.Companion$31</ID>
|
||||
<ID>MagicNumber:MessageDetailsDialog.kt$MessageDetailsDialog$1000L</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$3</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$4</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$5</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$6</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$7</ID>
|
||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$8</ID>
|
||||
<ID>MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$23</ID>
|
||||
<ID>MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$5</ID>
|
||||
<ID>MagicNumber:ScheduleMessageDialog.kt$ScheduleMessageDialog$59</ID>
|
||||
<ID>MagicNumber:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$3000</ID>
|
||||
<ID>MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$0.8f</ID>
|
||||
<ID>MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$0.9f</ID>
|
||||
<ID>MagicNumber:SearchResultsAdapter.kt$SearchResultsAdapter$1.2f</ID>
|
||||
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$3</ID>
|
||||
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$4</ID>
|
||||
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$5</ID>
|
||||
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$6</ID>
|
||||
<ID>MagicNumber:SettingsActivity.kt$SettingsActivity$7</ID>
|
||||
<ID>MagicNumber:SmsReceiver.kt$SmsReceiver$1000</ID>
|
||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$0x03</ID>
|
||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$0x3f</ID>
|
||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$16</ID>
|
||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$24</ID>
|
||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$3</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.4f</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.9f</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$1000</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$1000L</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$14</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$15</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$150</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$16</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$2</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$20</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$30</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$300</ID>
|
||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$500L</ID>
|
||||
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$0.8f</ID>
|
||||
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$4</ID>
|
||||
<ID>MagicNumber:VCardViewerAdapter.kt$VCardViewerAdapter.VCardContactViewHolder$1.1f</ID>
|
||||
<ID>MagicNumber:VCardViewerAdapter.kt$VCardViewerAdapter.VCardPropertyViewHolder$1.1f</ID>
|
||||
<ID>MatchingDeclarationName:ThreadItems.kt$ThreadItem</ID>
|
||||
<ID>MaxLineLength:AddBlockedKeywordDialog.kt$AddBlockedKeywordDialog$class</ID>
|
||||
<ID>MaxLineLength:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter$val conversationsToUnarchive = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:AttachmentPreviews.kt$vcardAttachmentHolder</ID>
|
||||
<ID>MaxLineLength:AttachmentPreviews.kt$vcardSubtitle.text = context.resources.getQuantityString(R.plurals.and_other_contacts, quantity, quantity)</ID>
|
||||
<ID>MaxLineLength:AttachmentsAdapter.kt$AttachmentsAdapter$onClick = { activity.launchViewIntent(attachment.uri, attachment.mimetype, attachment.filename) }</ID>
|
||||
<ID>MaxLineLength:AttachmentsAdapter.kt$AttachmentsAdapter.<no name provided>$override</ID>
|
||||
<ID>MaxLineLength:AutoCompleteTextViewAdapter.kt$AutoCompleteTextViewAdapter$class</ID>
|
||||
<ID>MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter$SimpleContactsHelper(activity).loadContactImage(conversation.photoUri, conversationImage, conversation.title, placeholder)</ID>
|
||||
<ID>MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter$protected fun getSelectedItems()</ID>
|
||||
<ID>MaxLineLength:BaseConversationsAdapter.kt$BaseConversationsAdapter.<no name provided>$override fun onItemRangeMoved(fromPosition: Int, toPosition: Int, itemCount: Int)</ID>
|
||||
<ID>MaxLineLength:Config.kt$Config$set(lockScreenVisibilitySetting) = prefs.edit().putInt(LOCK_SCREEN_VISIBILITY, lockScreenVisibilitySetting).apply()</ID>
|
||||
<ID>MaxLineLength:Constants.kt$/** Not to be used with real messages persisted in the telephony db. This is for internal use only (e.g. scheduled messages, notification ids etc). */</ID>
|
||||
<ID>MaxLineLength:ContactsAdapter.kt$ContactsAdapter$activity: SimpleActivity</ID>
|
||||
<ID>MaxLineLength:Context.kt$for</ID>
|
||||
<ID>MaxLineLength:Context.kt$fun</ID>
|
||||
<ID>MaxLineLength:Context.kt$if</ID>
|
||||
<ID>MaxLineLength:Context.kt$selection = "${Sms.DATE} < ${dateFrom.toLong()}"</ID>
|
||||
<ID>MaxLineLength:Context.kt$val attachment = Attachment(partId, id, Uri.withAppendedPath(uri, partId.toString()).toString(), mimetype, 0, 0, attachmentName)</ID>
|
||||
<ID>MaxLineLength:Context.kt$val contact = SimpleContact(addressId, addressId, name, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList())</ID>
|
||||
<ID>MaxLineLength:Context.kt$val conversation = Conversation(id, snippet, date.toInt(), read, title, photoUri, isGroupConversation, phoneNumbers.first(), isArchived = archived)</ID>
|
||||
<ID>MaxLineLength:Context.kt$val photoUri = if (phoneNumbers.size == 1) simpleContactHelper.getPhotoUriFromPhoneNumber(phoneNumbers.first()) else ""</ID>
|
||||
<ID>MaxLineLength:Context.kt$val privateContact = privateContacts.firstOrNull { it.phoneNumbers.first().normalizedNumber == senderNumber }</ID>
|
||||
<ID>MaxLineLength:ConversationDetailsActivity.kt$ConversationDetailsActivity$setupMaterialScrollListener(scrollingView = binding.participantsRecyclerview, toolbar = binding.conversationDetailsToolbar)</ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(org.fossify.commons.R.string.block_number)</ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$findItem(R.id.cab_dial_number).isVisible = isSingleSelection && !isGroupConversation && !isShortCodeWithLetters(selectedConversation.phoneNumber)</ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$menu.findItem(R.id.cab_pin_conversation).isVisible = selectedConversations.any { !pinnedConversations.contains(it.threadId.toString()) }</ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$menu.findItem(R.id.cab_unpin_conversation).isVisible = selectedConversations.any { pinnedConversations.contains(it.threadId.toString()) }</ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsMarkedAsRead = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsMarkedAsUnread = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:ConversationsAdapter.kt$ConversationsAdapter$val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString)</ID>
|
||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE (SELECT COUNT(*) FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id) > 0")</ID>
|
||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 0")</ID>
|
||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 1")</ID>
|
||||
<ID>MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$context.notificationHelper.showMessageNotification(messageId, address, body, threadId, bitmap, sender = null, alertOnlyOnce = true)</ID>
|
||||
<ID>MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$val message = context.getMessages(threadId, getImageResolutions = false, includeScheduledMessages = false, limit = 1).lastOrNull()</ID>
|
||||
<ID>MaxLineLength:Gson.kt$private val gsonBuilder = GsonBuilder().registerTypeAdapter(object : TypeToken<Map<String, Any>>() {}.type, MapDeserializerDoubleAsIntFix())</ID>
|
||||
<ID>MaxLineLength:HeadlessSmsSendService.kt$HeadlessSmsSendService$val number = Uri.decode(intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").trim())</ID>
|
||||
<ID>MaxLineLength:ImageCompressor.kt$ImageCompressor$fun</ID>
|
||||
<ID>MaxLineLength:ImageCompressor.kt$ImageCompressor$private</ID>
|
||||
<ID>MaxLineLength:ImageCompressor.kt$ImageCompressor$var imageFile = File(outputDirectory, System.currentTimeMillis().toString().plus(mimeType.getExtensionFromMimeType()))</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$(drawable as LayerDrawable).findDrawableByLayerId(org.fossify.commons.R.id.shortcut_plus_background).applyColorFilter(appIconColor)</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$// there are no cached conversations on the first run so we show the loading placeholder and progress until we are done loading from telephony</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$// while SEND_SMS and READ_SMS permissions are mandatory, READ_CONTACTS is optional. If we don't have it, we just won't be able to show the contact name in some cases</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_2_title_commons, org.fossify.commons.R.string.faq_2_text_commons))</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$faqItems.add(FAQItem(org.fossify.commons.R.string.faq_6_title_commons, org.fossify.commons.R.string.faq_6_text_commons))</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$val searchResult = SearchResult(-1, conversation.title, conversation.phoneNumber, date, conversation.threadId, conversation.photoUri)</ID>
|
||||
<ID>MaxLineLength:MainActivity.kt$MainActivity$val searchResult = SearchResult(message.id, recipient, message.body, date, message.threadId, message.senderPhotoUri)</ID>
|
||||
<ID>MaxLineLength:ManageBlockedKeywordsActivity.kt$ManageBlockedKeywordsActivity$ManageBlockedKeywordsAdapter</ID>
|
||||
<ID>MaxLineLength:ManageBlockedKeywordsActivity.kt$ManageBlockedKeywordsActivity$setupMaterialScrollListener(scrollingView = binding.manageBlockedKeywordsList, toolbar = binding.blockKeywordsToolbar)</ID>
|
||||
<ID>MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND recycle_bin_messages.deleted_ts < :timestamp")</ID>
|
||||
<ID>MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND thread_id = :threadId")</ID>
|
||||
<ID>MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL")</ID>
|
||||
<ID>MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId AND is_scheduled = 1")</ID>
|
||||
<ID>MaxLineLength:MessagesDao.kt$MessagesDao$@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase$@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8)</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion$db</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$"INSERT OR IGNORE INTO conversations_new (thread_id, snippet, date, read, title, photo_uri, is_group_conversation, phone_number) "</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$"SELECT thread_id, snippet, date, read, title, photo_uri, is_group_conversation, phone_number FROM conversations"</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `attachments` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message_id` INTEGER NOT NULL, `uri_string` TEXT NOT NULL, `mimetype` TEXT NOT NULL, `width` INTEGER NOT NULL, `height` INTEGER NOT NULL, `filename` TEXT NOT NULL)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `message_attachments` (`id` INTEGER PRIMARY KEY NOT NULL, `text` TEXT NOT NULL, `attachments` TEXT NOT NULL)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `messages` (`id` INTEGER PRIMARY KEY NOT NULL, `body` TEXT NOT NULL, `type` INTEGER NOT NULL, `participants` TEXT NOT NULL, `date` INTEGER NOT NULL, `read` INTEGER NOT NULL, `thread_id` INTEGER NOT NULL, `is_mms` INTEGER NOT NULL, `attachment` TEXT, `sender_name` TEXT NOT NULL, `sender_photo_uri` TEXT NOT NULL, `subscription_id` INTEGER NOT NULL)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE IF NOT EXISTS `recycle_bin_messages` (`id` INTEGER NOT NULL PRIMARY KEY, `deleted_ts` INTEGER NOT NULL)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE TABLE conversations_new (`thread_id` INTEGER NOT NULL PRIMARY KEY, `snippet` TEXT NOT NULL, `date` INTEGER NOT NULL, `read` INTEGER NOT NULL, `title` TEXT NOT NULL, `photo_uri` TEXT NOT NULL, `is_group_conversation` INTEGER NOT NULL, `phone_number` TEXT NOT NULL)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_conversations_id` ON `conversations` (`thread_id`)")</ID>
|
||||
<ID>MaxLineLength:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_recycle_bin_messages_id` ON `recycle_bin_messages` (`id`)")</ID>
|
||||
<ID>MaxLineLength:MessagesImporter.kt$MessagesImporter$messagesFailed > 0 && messagesImported > 0 -> activity.toast(org.fossify.commons.R.string.importing_some_entries_failed)</ID>
|
||||
<ID>MaxLineLength:MessagesReader.kt$MessagesReader$parts.add(MmsPart(contentDisposition, charset, contentId, contentLocation, contentType, ctStart, ctType, filename, name, sequenceOrder, text, data))</ID>
|
||||
<ID>MaxLineLength:MessagesReader.kt$MessagesReader$smsList.add(SmsBackup(subscriptionId, address, body, date, dateSent, locked, protocol, read, status, type, serviceCenter))</ID>
|
||||
<ID>MaxLineLength:MessagesReader.kt$MessagesReader$val partUri = if (isQPlus()) Mms.Part.CONTENT_URI.buildUpon().appendPath(partId.toString()).build() else Uri.parse("content://mms/part/$partId")</ID>
|
||||
<ID>MaxLineLength:MessagesReader.kt$MessagesReader$val uri = if (isRPlus()) Mms.Addr.getAddrUriForMessage(messageId.toString()) else Uri.parse("content://mms/$messageId/addr")</ID>
|
||||
<ID>MaxLineLength:MessagesWriter.kt$MessagesWriter$// 2. write parts - parts depend on the msg id, check if part exist before writing, write data if it is a non-text part</ID>
|
||||
<ID>MaxLineLength:MessagesWriter.kt$MessagesWriter$val addressUri = if (isRPlus()) Mms.Addr.getAddrUriForMessage(messageId.toString()) else Uri.parse("content://mms/$messageId/addr")</ID>
|
||||
<ID>MaxLineLength:MessagesWriter.kt$MessagesWriter$val selection = "${Mms.Part.CONTENT_LOCATION} = ? AND ${Mms.Part.CONTENT_TYPE} = ? AND ${Mms.Part.MSG_ID} = ? AND ${Mms.Part.CONTENT_ID} = ?"</ID>
|
||||
<ID>MaxLineLength:MessagesWriter.kt$MessagesWriter$val selectionArgs = arrayOf(mmsBackup.date.toString(), mmsBackup.dateSent.toString(), threadId.toString(), mmsBackup.messageBox.toString())</ID>
|
||||
<ID>MaxLineLength:MessagesWriter.kt$MessagesWriter$val selectionArgs = arrayOf(mmsPart.contentLocation.toString(), mmsPart.contentType, messageId.toString(), mmsPart.contentId.toString())</ID>
|
||||
<ID>MaxLineLength:Messaging.kt$*</ID>
|
||||
<ID>MaxLineLength:Messaging.kt$fun</ID>
|
||||
<ID>MaxLineLength:Messaging.kt$messagingUtils.sendSmsMessage(text, addresses.toSet(), settings.subscriptionId, settings.deliveryReports, messageId)</ID>
|
||||
<ID>MaxLineLength:MessagingUtils.kt$MessagingUtils$context.showErrorToast(e.localizedMessage ?: context.getString(org.fossify.commons.R.string.unknown_error_occurred))</ID>
|
||||
<ID>MaxLineLength:MessagingUtils.kt$MessagingUtils$fun</ID>
|
||||
<ID>MaxLineLength:MmsPart.kt$MmsPart$return !(text != null || contentType.lowercase().startsWith("text") || contentType.lowercase() == "application/smil")</ID>
|
||||
<ID>MaxLineLength:MmsReceiver.kt$MmsReceiver$override fun onError(context: Context, error: String)</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$// READ_CONTACTS permission is not mandatory, but without it we won't be able to show any suggestions during typing</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$SimpleContactsHelper(this@NewConversationActivity).loadContactImage(contact.photoUri, suggestedContactImage, contact.name)</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$if</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$items.add(RadioItem(index, "${phoneNumber.normalizedNumber} ($type)", phoneNumber.normalizedNumber))</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$val number = intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").replace("+", "%2b").trim()</ID>
|
||||
<ID>MaxLineLength:NewConversationActivity.kt$NewConversationActivity$}</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getActivity(context, notificationId, contentIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE)</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getBroadcast(context, notificationId, deleteSmsIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE)</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$PendingIntent.getBroadcast(context, notificationId, markAsReadIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE)</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$builder.addAction(org.fossify.commons.R.drawable.ic_check_vector, context.getString(R.string.mark_as_read), markAsReadPendingIntent)</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$private</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$val activeStyle = NotificationCompat.MessagingStyle.extractMessagingStyleFromNotification(currentNotification.notification)</ID>
|
||||
<ID>MaxLineLength:NotificationHelper.kt$NotificationHelper$val contentPendingIntent = PendingIntent.getActivity(context, notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE)</ID>
|
||||
<ID>MaxLineLength:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter$val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation></ID>
|
||||
<ID>MaxLineLength:ScheduleMessageDialog.kt$ScheduleMessageDialog$activity</ID>
|
||||
<ID>MaxLineLength:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$context.showErrorToast(e.localizedMessage ?: context.getString(org.fossify.commons.R.string.unknown_error_occurred))</ID>
|
||||
<ID>MaxLineLength:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "simple.messenger:scheduled.message.receiver")</ID>
|
||||
<ID>MaxLineLength:SearchResult.kt$SearchResult</ID>
|
||||
<ID>MaxLineLength:SearchResultsAdapter.kt$SearchResultsAdapter$SimpleContactsHelper(activity).loadContactImage(searchResult.photoUri, searchResultImage, searchResult.title)</ID>
|
||||
<ID>MaxLineLength:SearchResultsAdapter.kt$SearchResultsAdapter$activity: SimpleActivity</ID>
|
||||
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }</ID>
|
||||
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$private</ID>
|
||||
<ID>MaxLineLength:SettingsActivity.kt$SettingsActivity$settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus())</ID>
|
||||
<ID>MaxLineLength:SmsReceiver.kt$SmsReceiver$handleMessage(context, address, subject, body, date, read, threadId, type, subscriptionId, status)</ID>
|
||||
<ID>MaxLineLength:SmsReceiver.kt$SmsReceiver$val newMessageId = context.insertNewSMS(address, subject, body, date, read, threadId, type, subscriptionId)</ID>
|
||||
<ID>MaxLineLength:SmsReceiver.kt$SmsReceiver$val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList())</ID>
|
||||
<ID>MaxLineLength:SmsSender.kt$SmsSender$val intent = Intent(SendStatusReceiver.SMS_DELIVERED_ACTION, requestUri, app, SmsStatusDeliveredReceiver::class.java)</ID>
|
||||
<ID>MaxLineLength:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$// TODO: Need to check whether SC still trying to deliver the SMS to destination and will send the report again?</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$(selectedContactBg as LayerDrawable).findDrawableByLayerId(R.id.selected_contact_bg).applyColorFilter(properPrimaryColor)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$// do not show the date/time above every message, only if the difference between the 2 messages is at least MIN_DATE_TIME_DIFF_SECS,</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$CAPTURE_VIDEO_INTENT, PICK_DOCUMENT_INTENT, CAPTURE_AUDIO_INTENT, PICK_PHOTO_INTENT, PICK_VIDEO_INTENT -> addAttachment(data)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$binding.messageHolder.scheduledMessageButton.text</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$binding.messageHolder.threadSelectSimNumber.text = (availableSIMCards[currentSIMCardIndex].id).toString()</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$deleteMessages = { messages, toRecycleBin, fromRecycleBin -> deleteMessages(messages, toRecycleBin, fromRecycleBin) }</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.add_number_to_contact).isVisible</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.archive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == false && !isRecycleBin && archiveAvailable</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.rename_conversation).isVisible = participants.size > 1 && conversation != null && !isRecycleBin</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true && !isRecycleBin && archiveAvailable</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$if</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$it.height = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)!!.toInt()</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$it.width = metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)!!.toInt()</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$launchActivityForResult(this, PICK_SAVE_FILE_INTENT, error = org.fossify.commons.R.string.system_service_disabled)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$messages = messages.filter { !recycledMessages.contains(it.id) }.toMutableList() as ArrayList<Message></ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$private</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$privateContacts.firstOrNull { it.doesHavePhoneNumber(participant.phoneNumbers.first().normalizedNumber) }</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$updateMaterialActivityViews(binding.threadCoordinator, null, useTransparentNavigation = false, useTopSearchMenu = false)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val contact = SimpleContact(number.hashCode(), number.hashCode(), number, "", arrayListOf(phoneNumber), ArrayList(), ArrayList())</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val firstRowWidth = parentWidth - resources.getDimension(org.fossify.commons.R.dimen.normal_icon_size).toInt() + sideMargin / 2</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val isSentFromDifferentKnownSIM = prevSIMId != -1 && message.subscriptionId != -1 && prevSIMId != message.subscriptionId</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val question = String.format(resources.getString(org.fossify.commons.R.string.block_confirmation), numbersString)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val shouldScrollToBottom = currentList.lastOrNull() != threadItems.lastOrNull() && lastPosition - lastVisiblePosition == 1</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity$val subscriptionId = availableSIMCards.getOrNull(currentSIMCardIndex)?.subscriptionId ?: SmsManager.getDefaultSmsSubscriptionId()</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity.<no name provided>$override fun onProgress(insets: WindowInsetsCompat, runningAnimations: MutableList<WindowInsetsAnimationCompat>)</ID>
|
||||
<ID>MaxLineLength:ThreadActivity.kt$ThreadActivity.<no name provided>$val isCloseToBottom = lastVisibleItemPosition >= getOrCreateThreadAdapter().itemCount - SCROLL_TO_BOTTOM_FAB_LIMIT</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$// not sure how we can get UnknownFormatConversionException here, so show the error and hope that someone reports it</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isImageMimeType() || mimetype.isVideoMimeType() -> setupImageView(holder, binding = this, message, attachment)</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isVCardMimeType() -> setupVCardView(holder, threadMessageAttachmentsHolder, message, attachment)</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private fun getSelectedItems()</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$text = dateTime.date.formatDateOrTime(context, hideTimeAtOtherDays = false, showYearEvenIfCurrent = false)</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else org.fossify.commons.R.drawable.ic_check_vector)</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$val</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override</ID>
|
||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override fun onResourceReady(dr: Drawable, a: Any, t: Target<Drawable>, d: DataSource, i: Boolean)</ID>
|
||||
<ID>MaxLineLength:VCard.kt$Telephone::class.java</ID>
|
||||
<ID>MaxLineLength:VCard.kt$VCardPropertyWrapper.Companion$is Note -> VCardPropertyWrapper(value, context.getString(org.fossify.commons.R.string.notes), property)</ID>
|
||||
<ID>MaxLineLength:VCard.kt$VCardPropertyWrapper.Companion$is Telephone -> VCardPropertyWrapper(text.normalizePhoneNumber(), getPropertyTypeString(context), property)</ID>
|
||||
<ID>MaxLineLength:VCard.kt$VCardWrapper$data</ID>
|
||||
<ID>MaxLineLength:VCardViewerActivity.kt$VCardViewerActivity$updateMaterialActivityViews(binding.vcardViewerCoordinator, binding.contactsList, useTransparentNavigation = true, useTopSearchMenu = false)</ID>
|
||||
<ID>MaxLineLength:VCardViewerAdapter.kt$VCardViewerAdapter.VCardPropertyViewHolder$inner</ID>
|
||||
<ID>NestedBlockDepth:AttachmentUtils.kt$AttachmentUtils$private fun readBody(parser: XmlPullParser): List<String></ID>
|
||||
<ID>NestedBlockDepth:Context.kt$fun Context.getAllDrafts(): HashMap<Long, String?></ID>
|
||||
<ID>NestedBlockDepth:Context.kt$fun Context.getThreadParticipants(threadId: Long, contactsMap: HashMap<Int, SimpleContact>?): ArrayList<SimpleContact></ID>
|
||||
<ID>NestedBlockDepth:MessagesImporter.kt$MessagesImporter$private fun InputStream.importXml()</ID>
|
||||
<ID>NestedBlockDepth:MessagesWriter.kt$MessagesWriter$@SuppressLint("NewApi") private fun writeMmsPart(mmsPart: MmsPart, messageId: Long)</ID>
|
||||
<ID>NestedBlockDepth:Messaging.kt$fun Context.sendMessageCompat(text: String, addresses: List<String>, subId: Int?, attachments: List<Attachment>, messageId: Long? = null)</ID>
|
||||
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$@Deprecated("TODO: Move/rewrite MMS code into the app.") fun sendMmsMessage(text: String, addresses: List<String>, attachment: Attachment?, settings: Settings, messageId: Long? = null)</ID>
|
||||
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$fun updateSmsMessageSendingStatus(messageUri: Uri?, type: Int)</ID>
|
||||
<ID>NestedBlockDepth:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$override fun updateAndroidDatabase(context: Context, intent: Intent, receiverResultCode: Int)</ID>
|
||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun fetchNextMessages()</ID>
|
||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupAttachmentSizes()</ID>
|
||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
||||
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupSentMessageView(messageBinding: ItemMessageBinding, message: Message)</ID>
|
||||
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupView(holder: ViewHolder, view: View, message: Message)</ID>
|
||||
<ID>PrintStackTrace:Context.kt$e</ID>
|
||||
<ID>PrintStackTrace:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e</ID>
|
||||
<ID>PrintStackTrace:SmsManager.kt$e</ID>
|
||||
<ID>ReturnCount:Context.kt$fun Context.getFileSizeFromUri(uri: Uri): Long</ID>
|
||||
<ID>ReturnCount:Context.kt$fun Context.getNameAndPhotoFromPhoneNumber(number: String): NamePhoto</ID>
|
||||
<ID>ReturnCount:MapDeserializerDoubleAsIntFix.kt$MapDeserializerDoubleAsIntFix$fun read(element: JsonElement): Any?</ID>
|
||||
<ID>ReturnCount:MessagesReader.kt$MessagesReader$@SuppressLint("NewApi") private fun usePart(partId: Long, block: (InputStream) -> String): String</ID>
|
||||
<ID>ReturnCount:ThreadActivity.kt$ThreadActivity$private fun addAttachment(uri: Uri)</ID>
|
||||
<ID>ReturnCount:VCardParser.kt$fun VCard?.parseNameFromVCard(): String?</ID>
|
||||
<ID>SpreadOperator:Context.kt$(*scheduledMessages)</ID>
|
||||
<ID>SpreadOperator:MainActivity.kt$MainActivity$(*currentMessages.toTypedArray())</ID>
|
||||
<ID>SpreadOperator:ThreadActivity.kt$ThreadActivity$(*currentMessages.toTypedArray())</ID>
|
||||
<ID>SwallowedException:Activity.kt$e: ActivityNotFoundException</ID>
|
||||
<ID>SwallowedException:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$e: Exception</ID>
|
||||
<ID>SwallowedException:AttachmentPreviews.kt$e: Exception</ID>
|
||||
<ID>SwallowedException:Context.kt$e: Exception</ID>
|
||||
<ID>SwallowedException:Context.kt$e: FileNotFoundException</ID>
|
||||
<ID>SwallowedException:ImageCompressor.kt$ImageCompressor$e: Exception</ID>
|
||||
<ID>SwallowedException:JsonElement.kt$e: Exception</ID>
|
||||
<ID>SwallowedException:MainActivity.kt$MainActivity$e: Exception</ID>
|
||||
<ID>SwallowedException:MessagesImporter.kt$MessagesImporter$e: Exception</ID>
|
||||
<ID>SwallowedException:MessagesImporter.kt$MessagesImporter$e: IllegalArgumentException</ID>
|
||||
<ID>SwallowedException:MessagesImporter.kt$MessagesImporter$e: SerializationException</ID>
|
||||
<ID>SwallowedException:MessagesReader.kt$MessagesReader$e: IOException</ID>
|
||||
<ID>SwallowedException:MessagesWriter.kt$MessagesWriter$e: Exception</ID>
|
||||
<ID>SwallowedException:MmsReceiver.kt$MmsReceiver$e: Exception</ID>
|
||||
<ID>SwallowedException:NewConversationActivity.kt$NewConversationActivity$e: Exception</ID>
|
||||
<ID>SwallowedException:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$e: Exception</ID>
|
||||
<ID>SwallowedException:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$e: NullPointerException</ID>
|
||||
<ID>SwallowedException:ThreadActivity.kt$ThreadActivity$e: ActivityNotFoundException</ID>
|
||||
<ID>SwallowedException:ThreadActivity.kt$ThreadActivity$e: Exception</ID>
|
||||
<ID>SwallowedException:VCardParser.kt$e: Exception</ID>
|
||||
<ID>ThrowingExceptionsWithoutMessageOrCause:AttachmentUtils.kt$AttachmentUtils$IllegalStateException()</ID>
|
||||
<ID>ThrowingExceptionsWithoutMessageOrCause:MessagesImporter.kt$MessagesImporter$IllegalStateException()</ID>
|
||||
<ID>ThrowsCount:SmsSender.kt$SmsSender$fun sendMessage( subId: Int, destination: String, body: String, serviceCenter: String?, requireDeliveryReport: Boolean, messageUri: Uri )</ID>
|
||||
<ID>TooGenericExceptionCaught:Activity.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:AttachmentPreviews.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:Context.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:DirectReplyReceiver.kt$DirectReplyReceiver$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:ImageCompressor.kt$ImageCompressor$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:JsonElement.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:MainActivity.kt$MainActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:MessagesImporter.kt$MessagesImporter$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:MessagesWriter.kt$MessagesWriter$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:Messaging.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:MessagingUtils.kt$MessagingUtils$e: Error</ID>
|
||||
<ID>TooGenericExceptionCaught:MessagingUtils.kt$MessagingUtils$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:MmsReceiver.kt$MmsReceiver$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:NewConversationActivity.kt$NewConversationActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e: Error</ID>
|
||||
<ID>TooGenericExceptionCaught:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:SettingsActivity.kt$SettingsActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:SmsManager.kt$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:SmsSender.kt$SmsSender$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$e: NullPointerException</ID>
|
||||
<ID>TooGenericExceptionCaught:ThreadActivity.kt$ThreadActivity$e: Error</ID>
|
||||
<ID>TooGenericExceptionCaught:ThreadActivity.kt$ThreadActivity$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:ThreadAdapter.kt$ThreadAdapter$e: Exception</ID>
|
||||
<ID>TooGenericExceptionCaught:VCardParser.kt$e: Exception</ID>
|
||||
<ID>TooManyFunctions:ArchivedConversationsActivity.kt$ArchivedConversationsActivity : SimpleActivity</ID>
|
||||
<ID>TooManyFunctions:BaseConversationsAdapter.kt$BaseConversationsAdapter : MyRecyclerViewListAdapterOnPopupTextUpdate</ID>
|
||||
<ID>TooManyFunctions:ContactsAdapter.kt$ContactsAdapter : MyRecyclerViewAdapter</ID>
|
||||
<ID>TooManyFunctions:Context.kt$org.fossify.messages.extensions.Context.kt</ID>
|
||||
<ID>TooManyFunctions:ConversationsAdapter.kt$ConversationsAdapter : BaseConversationsAdapter</ID>
|
||||
<ID>TooManyFunctions:ConversationsDao.kt$ConversationsDao</ID>
|
||||
<ID>TooManyFunctions:JsonObject.kt$org.fossify.messages.extensions.gson.JsonObject.kt</ID>
|
||||
<ID>TooManyFunctions:MainActivity.kt$MainActivity : SimpleActivity</ID>
|
||||
<ID>TooManyFunctions:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter : MyRecyclerViewAdapter</ID>
|
||||
<ID>TooManyFunctions:MessagesDao.kt$MessagesDao</ID>
|
||||
<ID>TooManyFunctions:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity : SimpleActivity</ID>
|
||||
<ID>TooManyFunctions:SearchResultsAdapter.kt$SearchResultsAdapter : MyRecyclerViewAdapter</ID>
|
||||
<ID>TooManyFunctions:SettingsActivity.kt$SettingsActivity : SimpleActivity</ID>
|
||||
<ID>TooManyFunctions:ThreadActivity.kt$ThreadActivity : SimpleActivity</ID>
|
||||
<ID>TooManyFunctions:ThreadAdapter.kt$ThreadAdapter : MyRecyclerViewListAdapter</ID>
|
||||
<ID>UnusedParameter:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$event: Events.RefreshMessages</ID>
|
||||
<ID>UnusedParameter:MainActivity.kt$MainActivity$event: Events.RefreshMessages</ID>
|
||||
<ID>UnusedParameter:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$event: Events.RefreshMessages</ID>
|
||||
<ID>UnusedParameter:ThreadActivity.kt$ThreadActivity$event: Events.RefreshMessages</ID>
|
||||
<ID>UnusedPrivateMember:MessagesImporter.kt$MessagesImporter$private fun isJsonMimeType(mimeType: String): Boolean</ID>
|
||||
<ID>UseCheckOrError:AttachmentUtils.kt$AttachmentUtils$throw IllegalStateException()</ID>
|
||||
<ID>UseCheckOrError:MessagesImporter.kt$MessagesImporter$throw IllegalStateException()</ID>
|
||||
<ID>UseRequire:SmsSender.kt$SmsSender$throw IllegalArgumentException("SmsSender: empty text message")</ID>
|
||||
<ID>VariableNaming:MainActivity.kt$MainActivity$private val MAKE_DEFAULT_APP_REQUEST = 1</ID>
|
||||
<ID>VariableNaming:MessagesWriter.kt$MessagesWriter$private val INVALID_ID = -1L</ID>
|
||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val MIN_DATE_TIME_DIFF_SECS = 300</ID>
|
||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val SCROLL_TO_BOTTOM_FAB_LIMIT = 20</ID>
|
||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_DELETE = 16</ID>
|
||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_EDIT = 14</ID>
|
||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_SEND = 15</ID>
|
||||
<ID>WildcardImport:Activity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ArchivedConversationsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:AttachmentsAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:AttachmentsAdapter.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:AttachmentsAdapter.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:BaseConversationsAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:Context.kt$import android.provider.Telephony.*</ID>
|
||||
<ID>WildcardImport:Context.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:Context.kt$import org.fossify.commons.helpers.*</ID>
|
||||
<ID>WildcardImport:Context.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:Context.kt$import org.fossify.messages.models.*</ID>
|
||||
<ID>WildcardImport:ConversationDetailsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ConversationDetailsActivity.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ConversationsAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ConversationsAdapter.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:DirectReplyReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ExportMessagesDialog.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:JsonElement.kt$import com.google.gson.*</ID>
|
||||
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:MainActivity.kt$import org.fossify.commons.helpers.*</ID>
|
||||
<ID>WildcardImport:MainActivity.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ManageBlockedKeywordsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ManageBlockedKeywordsAdapter.kt$import android.view.*</ID>
|
||||
<ID>WildcardImport:MessagesDao.kt$import androidx.room.*</ID>
|
||||
<ID>WildcardImport:MessagesDatabase.kt$import org.fossify.messages.models.*</ID>
|
||||
<ID>WildcardImport:MessagesImporter.kt$import org.fossify.messages.models.*</ID>
|
||||
<ID>WildcardImport:MessagesReader.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:MessagesReader.kt$import org.fossify.messages.models.*</ID>
|
||||
<ID>WildcardImport:MmsReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:NewConversationActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:NewConversationActivity.kt$import org.fossify.commons.helpers.*</ID>
|
||||
<ID>WildcardImport:NewConversationActivity.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:RecycleBinConversationsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ScheduleMessageDialog.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.dialogs.*</ID>
|
||||
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.commons.helpers.*</ID>
|
||||
<ID>WildcardImport:SettingsActivity.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:SmsReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:SmsStatusSentReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import androidx.core.view.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.commons.helpers.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.messages.messaging.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.messages.models.*</ID>
|
||||
<ID>WildcardImport:ThreadActivity.kt$import org.fossify.messages.models.ThreadItem.*</ID>
|
||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.databinding.*</ID>
|
||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.extensions.*</ID>
|
||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.helpers.*</ID>
|
||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.models.ThreadItem.*</ID>
|
||||
<ID>WildcardImport:VCard.kt$import ezvcard.property.*</ID>
|
||||
<ID>WildcardImport:VCardViewerAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||
</CurrentIssues>
|
||||
</SmellBaseline>
|
||||
2178
app/lint-baseline.xml
Normal file
2178
app/lint-baseline.xml
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -71,9 +71,9 @@ class ManageBlockedKeywordsActivity : BaseSimpleActivity(), RefreshRecyclerViewL
|
|||
|
||||
private fun updateBlockedKeywords() {
|
||||
ensureBackgroundThread {
|
||||
val blockedKeywords = config.blockedKeywords
|
||||
val blockedKeywords = config.blockedKeywords.sorted().toArrayList()
|
||||
runOnUiThread {
|
||||
ManageBlockedKeywordsAdapter(this, blockedKeywords.toArrayList(), this, binding.manageBlockedKeywordsList) {
|
||||
ManageBlockedKeywordsAdapter(this, blockedKeywords, this, binding.manageBlockedKeywordsList) {
|
||||
addOrEditBlockedKeyword(it as String)
|
||||
}.apply {
|
||||
binding.manageBlockedKeywordsList.adapter = this
|
||||
|
|
|
|||
|
|
@ -5,13 +5,41 @@ import android.content.Intent
|
|||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.DocumentsContract
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.encodeToStream
|
||||
import org.fossify.commons.activities.ManageBlockedNumbersActivity
|
||||
import org.fossify.commons.dialogs.*
|
||||
import org.fossify.commons.extensions.*
|
||||
import org.fossify.commons.helpers.*
|
||||
import org.fossify.commons.dialogs.ChangeDateTimeFormatDialog
|
||||
import org.fossify.commons.dialogs.ConfirmationDialog
|
||||
import org.fossify.commons.dialogs.FeatureLockedDialog
|
||||
import org.fossify.commons.dialogs.RadioGroupDialog
|
||||
import org.fossify.commons.dialogs.SecurityDialog
|
||||
import org.fossify.commons.extensions.addLockedLabelIfNeeded
|
||||
import org.fossify.commons.extensions.beGoneIf
|
||||
import org.fossify.commons.extensions.beVisibleIf
|
||||
import org.fossify.commons.extensions.getBlockedNumbers
|
||||
import org.fossify.commons.extensions.getCustomizeColorsString
|
||||
import org.fossify.commons.extensions.getFontSizeText
|
||||
import org.fossify.commons.extensions.getProperPrimaryColor
|
||||
import org.fossify.commons.extensions.isOrWasThankYouInstalled
|
||||
import org.fossify.commons.extensions.launchPurchaseThankYouIntent
|
||||
import org.fossify.commons.extensions.showErrorToast
|
||||
import org.fossify.commons.extensions.toast
|
||||
import org.fossify.commons.extensions.updateTextColors
|
||||
import org.fossify.commons.extensions.viewBinding
|
||||
import org.fossify.commons.helpers.FONT_SIZE_EXTRA_LARGE
|
||||
import org.fossify.commons.helpers.FONT_SIZE_LARGE
|
||||
import org.fossify.commons.helpers.FONT_SIZE_MEDIUM
|
||||
import org.fossify.commons.helpers.FONT_SIZE_SMALL
|
||||
import org.fossify.commons.helpers.NavigationIcon
|
||||
import org.fossify.commons.helpers.PROTECTION_FINGERPRINT
|
||||
import org.fossify.commons.helpers.SHOW_ALL_TABS
|
||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||
import org.fossify.commons.helpers.isNougatPlus
|
||||
import org.fossify.commons.helpers.isOreoPlus
|
||||
import org.fossify.commons.helpers.isPiePlus
|
||||
import org.fossify.commons.helpers.isTiramisuPlus
|
||||
import org.fossify.commons.models.RadioItem
|
||||
import org.fossify.messages.R
|
||||
import org.fossify.messages.databinding.ActivitySettingsBinding
|
||||
|
|
@ -19,7 +47,19 @@ import org.fossify.messages.dialogs.ExportMessagesDialog
|
|||
import org.fossify.messages.extensions.config
|
||||
import org.fossify.messages.extensions.emptyMessagesRecycleBin
|
||||
import org.fossify.messages.extensions.messagesDB
|
||||
import org.fossify.messages.helpers.*
|
||||
import org.fossify.messages.helpers.FILE_SIZE_100_KB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_1_MB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_200_KB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_2_MB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_300_KB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_600_KB
|
||||
import org.fossify.messages.helpers.FILE_SIZE_NONE
|
||||
import org.fossify.messages.helpers.LOCK_SCREEN_NOTHING
|
||||
import org.fossify.messages.helpers.LOCK_SCREEN_SENDER
|
||||
import org.fossify.messages.helpers.LOCK_SCREEN_SENDER_MESSAGE
|
||||
import org.fossify.messages.helpers.MessagesImporter
|
||||
import org.fossify.messages.helpers.MessagesReader
|
||||
import org.fossify.messages.helpers.refreshMessages
|
||||
import java.util.Locale
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
|
|
@ -27,7 +67,14 @@ class SettingsActivity : SimpleActivity() {
|
|||
private var blockedNumbersAtPause = -1
|
||||
private var recycleBinMessages = 0
|
||||
private val messagesFileType = "application/json"
|
||||
private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml")
|
||||
private val messageImportFileTypes = buildList {
|
||||
add("application/json")
|
||||
add("application/xml")
|
||||
add("text/xml")
|
||||
if (!isPiePlus()) {
|
||||
add("application/octet-stream")
|
||||
}
|
||||
}
|
||||
|
||||
private val binding by viewBinding(ActivitySettingsBinding::inflate)
|
||||
|
||||
|
|
@ -42,7 +89,10 @@ class SettingsActivity : SimpleActivity() {
|
|||
useTransparentNavigation = true,
|
||||
useTopSearchMenu = false
|
||||
)
|
||||
setupMaterialScrollListener(scrollingView = binding.settingsNestedScrollview, toolbar = binding.settingsToolbar)
|
||||
setupMaterialScrollListener(
|
||||
scrollingView = binding.settingsNestedScrollview,
|
||||
toolbar = binding.settingsToolbar
|
||||
)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
|
|
@ -73,7 +123,9 @@ class SettingsActivity : SimpleActivity() {
|
|||
setupMessagesImport()
|
||||
updateTextColors(binding.settingsNestedScrollview)
|
||||
|
||||
if (blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()) {
|
||||
if (
|
||||
blockedNumbersAtPause != -1 && blockedNumbersAtPause != getBlockedNumbers().hashCode()
|
||||
) {
|
||||
refreshMessages()
|
||||
}
|
||||
|
||||
|
|
@ -90,13 +142,15 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private val getContent = registerForActivityResult(ActivityResultContracts.OpenDocument()) { uri ->
|
||||
private val getContent =
|
||||
registerForActivityResult(ActivityResultContracts.OpenDocument()) { uri ->
|
||||
if (uri != null) {
|
||||
MessagesImporter(this).importMessages(uri)
|
||||
}
|
||||
}
|
||||
|
||||
private val saveDocument = registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri ->
|
||||
private val saveDocument =
|
||||
registerForActivityResult(ActivityResultContracts.CreateDocument(messagesFileType)) { uri ->
|
||||
if (uri != null) {
|
||||
toast(org.fossify.commons.R.string.exporting)
|
||||
exportMessages(uri)
|
||||
|
|
@ -106,7 +160,7 @@ class SettingsActivity : SimpleActivity() {
|
|||
private fun setupMessagesExport() {
|
||||
binding.settingsExportMessagesHolder.setOnClickListener {
|
||||
ExportMessagesDialog(this) { fileName ->
|
||||
saveDocument.launch(fileName)
|
||||
saveDocument.launch("$fileName.json")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -117,25 +171,37 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
@OptIn(kotlinx.serialization.ExperimentalSerializationApi::class)
|
||||
private fun exportMessages(uri: Uri) {
|
||||
ensureBackgroundThread {
|
||||
var success = false
|
||||
try {
|
||||
MessagesReader(this).getMessagesToExport(config.exportSms, config.exportMms) { messagesToExport ->
|
||||
MessagesReader(this).getMessagesToExport(
|
||||
config.exportSms,
|
||||
config.exportMms
|
||||
) { messagesToExport ->
|
||||
if (messagesToExport.isEmpty()) {
|
||||
toast(org.fossify.commons.R.string.no_entries_for_exporting)
|
||||
return@getMessagesToExport
|
||||
}
|
||||
val json = Json { encodeDefaults = true }
|
||||
val jsonString = json.encodeToString(messagesToExport)
|
||||
val outputStream = contentResolver.openOutputStream(uri)!!
|
||||
|
||||
outputStream.use {
|
||||
it.write(jsonString.toByteArray())
|
||||
contentResolver.openOutputStream(uri)!!.buffered().use { outputStream ->
|
||||
json.encodeToStream(messagesToExport, outputStream)
|
||||
}
|
||||
success = true
|
||||
toast(org.fossify.commons.R.string.exporting_successful)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
showErrorToast(e)
|
||||
} catch (e: Throwable) { // also catch OutOfMemoryError etc.
|
||||
showErrorToast(e.toString())
|
||||
} finally {
|
||||
if (!success) {
|
||||
// delete the file to avoid leaving behind an empty/corrupt file
|
||||
try {
|
||||
DocumentsContract.deleteDocument(contentResolver, uri)
|
||||
} catch (ignored: Exception) {
|
||||
// ignored because we don't want to overwhelm the user with two error messages
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -167,7 +233,10 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
private fun setupUseEnglish() = binding.apply {
|
||||
settingsUseEnglishHolder.beVisibleIf((config.wasUseEnglishToggled || Locale.getDefault().language != "en") && !isTiramisuPlus())
|
||||
settingsUseEnglishHolder.beVisibleIf(
|
||||
(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
|
||||
&& !isTiramisuPlus()
|
||||
)
|
||||
settingsUseEnglish.isChecked = config.useEnglish
|
||||
settingsUseEnglishHolder.setOnClickListener {
|
||||
settingsUseEnglish.toggle()
|
||||
|
|
@ -187,7 +256,8 @@ class SettingsActivity : SimpleActivity() {
|
|||
// support for device-wise blocking came on Android 7, rely only on that
|
||||
@TargetApi(Build.VERSION_CODES.N)
|
||||
private fun setupManageBlockedNumbers() = binding.apply {
|
||||
settingsManageBlockedNumbers.text = addLockedLabelIfNeeded(org.fossify.commons.R.string.manage_blocked_numbers)
|
||||
settingsManageBlockedNumbers.text =
|
||||
addLockedLabelIfNeeded(org.fossify.commons.R.string.manage_blocked_numbers)
|
||||
settingsManageBlockedNumbersHolder.beVisibleIf(isNougatPlus())
|
||||
|
||||
settingsManageBlockedNumbersHolder.setOnClickListener {
|
||||
|
|
@ -202,7 +272,8 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
private fun setupManageBlockedKeywords() = binding.apply {
|
||||
settingsManageBlockedKeywords.text = addLockedLabelIfNeeded(R.string.manage_blocked_keywords)
|
||||
settingsManageBlockedKeywords.text =
|
||||
addLockedLabelIfNeeded(R.string.manage_blocked_keywords)
|
||||
|
||||
settingsManageBlockedKeywordsHolder.setOnClickListener {
|
||||
if (isOrWasThankYouInstalled()) {
|
||||
|
|
@ -230,7 +301,10 @@ class SettingsActivity : SimpleActivity() {
|
|||
RadioItem(FONT_SIZE_SMALL, getString(org.fossify.commons.R.string.small)),
|
||||
RadioItem(FONT_SIZE_MEDIUM, getString(org.fossify.commons.R.string.medium)),
|
||||
RadioItem(FONT_SIZE_LARGE, getString(org.fossify.commons.R.string.large)),
|
||||
RadioItem(FONT_SIZE_EXTRA_LARGE, getString(org.fossify.commons.R.string.extra_large))
|
||||
RadioItem(
|
||||
FONT_SIZE_EXTRA_LARGE,
|
||||
getString(org.fossify.commons.R.string.extra_large)
|
||||
)
|
||||
)
|
||||
|
||||
RadioGroupDialog(this@SettingsActivity, items, config.fontSize) {
|
||||
|
|
@ -352,7 +426,11 @@ class SettingsActivity : SimpleActivity() {
|
|||
recycleBinMessages = messagesDB.getArchivedCount()
|
||||
runOnUiThread {
|
||||
settingsEmptyRecycleBinSize.text =
|
||||
resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages)
|
||||
resources.getQuantityString(
|
||||
R.plurals.delete_messages,
|
||||
recycleBinMessages,
|
||||
recycleBinMessages
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -372,7 +450,11 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
recycleBinMessages = 0
|
||||
settingsEmptyRecycleBinSize.text =
|
||||
resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages)
|
||||
resources.getQuantityString(
|
||||
R.plurals.delete_messages,
|
||||
recycleBinMessages,
|
||||
recycleBinMessages
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -381,8 +463,17 @@ class SettingsActivity : SimpleActivity() {
|
|||
private fun setupAppPasswordProtection() = binding.apply {
|
||||
settingsAppPasswordProtection.isChecked = config.isAppPasswordProtectionOn
|
||||
settingsAppPasswordProtectionHolder.setOnClickListener {
|
||||
val tabToShow = if (config.isAppPasswordProtectionOn) config.appProtectionType else SHOW_ALL_TABS
|
||||
SecurityDialog(this@SettingsActivity, config.appPasswordHash, tabToShow) { hash, type, success ->
|
||||
val tabToShow = if (config.isAppPasswordProtectionOn) {
|
||||
config.appProtectionType
|
||||
} else {
|
||||
SHOW_ALL_TABS
|
||||
}
|
||||
|
||||
SecurityDialog(
|
||||
activity = this@SettingsActivity,
|
||||
requiredHash = config.appPasswordHash,
|
||||
showTabIndex = tabToShow
|
||||
) { hash, type, success ->
|
||||
if (success) {
|
||||
val hasPasswordProtection = config.isAppPasswordProtectionOn
|
||||
settingsAppPasswordProtection.isChecked = !hasPasswordProtection
|
||||
|
|
@ -391,13 +482,20 @@ class SettingsActivity : SimpleActivity() {
|
|||
config.appProtectionType = type
|
||||
|
||||
if (config.isAppPasswordProtectionOn) {
|
||||
val confirmationTextId = if (config.appProtectionType == PROTECTION_FINGERPRINT) {
|
||||
val confirmationTextId =
|
||||
if (config.appProtectionType == PROTECTION_FINGERPRINT) {
|
||||
org.fossify.commons.R.string.fingerprint_setup_successfully
|
||||
} else {
|
||||
org.fossify.commons.R.string.protection_setup_successfully
|
||||
}
|
||||
|
||||
ConfirmationDialog(this@SettingsActivity, "", confirmationTextId, org.fossify.commons.R.string.ok, 0) { }
|
||||
ConfirmationDialog(
|
||||
activity = this@SettingsActivity,
|
||||
message = "",
|
||||
messageId = confirmationTextId,
|
||||
positive = org.fossify.commons.R.string.ok,
|
||||
negative = 0
|
||||
) { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -278,11 +278,11 @@ fun Context.getConversations(threadId: Long? = null, privateContacts: ArrayList<
|
|||
projection += Threads.ARCHIVED
|
||||
}
|
||||
|
||||
var selection = "${Threads.MESSAGE_COUNT} > ?"
|
||||
var selectionArgs = arrayOf("0")
|
||||
var selection = "${Threads.MESSAGE_COUNT} > 0"
|
||||
var selectionArgs = arrayOf<String>()
|
||||
if (threadId != null) {
|
||||
selection += " AND ${Threads._ID} = ?"
|
||||
selectionArgs = arrayOf("0", threadId.toString())
|
||||
selectionArgs += threadId.toString()
|
||||
}
|
||||
|
||||
val sortOrder = "${Threads.DATE} DESC"
|
||||
|
|
@ -355,11 +355,10 @@ private fun Context.queryCursorUnsafe(
|
|||
fun Context.getConversationIds(): List<Long> {
|
||||
val uri = Uri.parse("${Threads.CONTENT_URI}?simple=true")
|
||||
val projection = arrayOf(Threads._ID)
|
||||
val selection = "${Threads.MESSAGE_COUNT} > ?"
|
||||
val selectionArgs = arrayOf("0")
|
||||
val selection = "${Threads.MESSAGE_COUNT} > 0"
|
||||
val sortOrder = "${Threads.DATE} ASC"
|
||||
val conversationIds = mutableListOf<Long>()
|
||||
queryCursor(uri, projection, selection, selectionArgs, sortOrder, true) { cursor ->
|
||||
queryCursor(uri, projection, selection, null, sortOrder, true) { cursor ->
|
||||
val id = cursor.getLongValue(Threads._ID)
|
||||
conversationIds.add(id)
|
||||
}
|
||||
|
|
@ -1060,16 +1059,9 @@ fun Context.insertOrUpdateConversation(
|
|||
conversation: Conversation,
|
||||
cachedConv: Conversation? = conversationsDB.getConversationWithThreadId(conversation.threadId)
|
||||
) {
|
||||
val updatedConv = if (cachedConv != null) {
|
||||
val usesCustomTitle = cachedConv.usesCustomTitle
|
||||
val title = if (usesCustomTitle) {
|
||||
cachedConv.title
|
||||
} else {
|
||||
conversation.title
|
||||
}
|
||||
conversation.copy(title = title, usesCustomTitle = usesCustomTitle)
|
||||
} else {
|
||||
conversation
|
||||
var updatedConv = conversation
|
||||
if (cachedConv != null && cachedConv.usesCustomTitle) {
|
||||
updatedConv = updatedConv.copy(title = cachedConv.title, usesCustomTitle = cachedConv.usesCustomTitle)
|
||||
}
|
||||
conversationsDB.insertOrUpdate(updatedConv)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.net.Uri
|
|||
import android.util.Xml
|
||||
import kotlinx.serialization.SerializationException
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.decodeFromStream
|
||||
import org.fossify.commons.extensions.showErrorToast
|
||||
import org.fossify.commons.extensions.toast
|
||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||
|
|
@ -32,18 +33,17 @@ class MessagesImporter(private val activity: SimpleActivity) {
|
|||
} else {
|
||||
importJson(uri)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
activity.showErrorToast(e)
|
||||
} catch (e: Throwable) { // also catch OutOfMemoryError etc.
|
||||
activity.showErrorToast(e.toString())
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(kotlinx.serialization.ExperimentalSerializationApi::class)
|
||||
private fun importJson(uri: Uri) {
|
||||
try {
|
||||
val jsonString = activity.contentResolver.openInputStream(uri)!!.use { inputStream ->
|
||||
inputStream.bufferedReader().readText()
|
||||
val deserializedList = activity.contentResolver.openInputStream(uri)!!.buffered().use { inputStream ->
|
||||
Json.decodeFromStream<List<MessagesBackup>>(inputStream)
|
||||
}
|
||||
|
||||
val deserializedList = Json.decodeFromString<List<MessagesBackup>>(jsonString)
|
||||
if (deserializedList.isEmpty()) {
|
||||
activity.toast(org.fossify.commons.R.string.no_entries_for_importing)
|
||||
return
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package org.fossify.messages.helpers
|
||||
|
||||
import android.content.Context
|
||||
import org.fossify.messages.extensions.config
|
||||
|
||||
object ReceiverUtils {
|
||||
|
||||
fun isMessageFilteredOut(context: Context, body: String): Boolean {
|
||||
for (blockedKeyword in context.config.blockedKeywords) {
|
||||
if (body.contains(blockedKeyword, ignoreCase = true)) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
|
@ -6,13 +6,14 @@ import android.os.Handler
|
|||
import android.os.Looper
|
||||
import com.bumptech.glide.Glide
|
||||
import com.klinker.android.send_message.MmsReceivedReceiver
|
||||
import org.fossify.commons.extensions.isNumberBlocked
|
||||
import org.fossify.commons.extensions.normalizePhoneNumber
|
||||
import org.fossify.commons.extensions.showErrorToast
|
||||
import org.fossify.commons.extensions.*
|
||||
import org.fossify.commons.helpers.SimpleContactsHelper
|
||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||
import org.fossify.messages.R
|
||||
import org.fossify.messages.extensions.*
|
||||
import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut
|
||||
import org.fossify.messages.helpers.refreshMessages
|
||||
import org.fossify.messages.models.Message
|
||||
|
||||
// more info at https://github.com/klinker41/android-smsmms
|
||||
class MmsReceiver : MmsReceivedReceiver() {
|
||||
|
|
@ -27,7 +28,33 @@ class MmsReceiver : MmsReceivedReceiver() {
|
|||
val address = mms.getSender()?.phoneNumbers?.first()?.normalizedNumber ?: ""
|
||||
|
||||
val size = context.resources.getDimension(R.dimen.notification_large_icon_size).toInt()
|
||||
val privateCursor = context.getMyContactsCursor(false, true)
|
||||
ensureBackgroundThread {
|
||||
if (context.baseConfig.blockUnknownNumbers) {
|
||||
val simpleContactsHelper = SimpleContactsHelper(context)
|
||||
simpleContactsHelper.exists(address, privateCursor) { exists ->
|
||||
if (exists) {
|
||||
handleMmsMessage(context, mms, size, address)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
handleMmsMessage(context, mms, size, address)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onError(context: Context, error: String) = context.showErrorToast(context.getString(R.string.couldnt_download_mms))
|
||||
|
||||
private fun handleMmsMessage(
|
||||
context: Context,
|
||||
mms: Message,
|
||||
size: Int,
|
||||
address: String
|
||||
) {
|
||||
if (isMessageFilteredOut(context, mms.body)) {
|
||||
return
|
||||
}
|
||||
|
||||
val glideBitmap = try {
|
||||
Glide.with(context)
|
||||
.asBitmap()
|
||||
|
|
@ -50,6 +77,3 @@ class MmsReceiver : MmsReceivedReceiver() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onError(context: Context, error: String) = context.showErrorToast(context.getString(R.string.couldnt_download_mms))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import org.fossify.commons.helpers.ensureBackgroundThread
|
|||
import org.fossify.commons.models.PhoneNumber
|
||||
import org.fossify.commons.models.SimpleContact
|
||||
import org.fossify.messages.extensions.*
|
||||
import org.fossify.messages.helpers.ReceiverUtils.isMessageFilteredOut
|
||||
import org.fossify.messages.helpers.refreshMessages
|
||||
import org.fossify.messages.models.Message
|
||||
|
||||
|
|
@ -40,7 +41,6 @@ class SmsReceiver : BroadcastReceiver() {
|
|||
date = System.currentTimeMillis()
|
||||
threadId = context.getThreadId(address)
|
||||
}
|
||||
|
||||
if (context.baseConfig.blockUnknownNumbers) {
|
||||
val simpleContactsHelper = SimpleContactsHelper(context)
|
||||
simpleContactsHelper.exists(address, privateCursor) { exists ->
|
||||
|
|
@ -122,14 +122,4 @@ class SmsReceiver : BroadcastReceiver() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun isMessageFilteredOut(context: Context, body: String): Boolean {
|
||||
for (blockedKeyword in context.config.blockedKeywords) {
|
||||
if (body.contains(blockedKeyword, ignoreCase = true)) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,119 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="restore">পুনরুদ্ধার করুন</string>
|
||||
<string name="restore_all_messages">সমস্ত বার্তা পুনরুদ্ধার করুন</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">আপনি কি রিসাইকেল বিন খালি করার বিষয়ে নিশ্চিত? বার্তা স্থায়ীভাবে হারিয়ে যাবে।</string>
|
||||
<string name="sender_and_message">প্রেরক এবং বার্তা</string>
|
||||
<string name="no_option_selected">আপনাকে অন্তত একটি আইটেম নির্বাচন করতে হবে</string>
|
||||
<string name="import_mms">এমএমএস ইমপোর্ট করুন</string>
|
||||
<string name="empty_destination_address">একটি খালি নম্বরে বার্তা পাঠাতে পারবেন না</string>
|
||||
<string name="unable_to_save_message">টেলিফোনি ডাটাবেসে বার্তা সংরক্ষণ করতে অক্ষম</string>
|
||||
<string name="error_radio_turned_off">বার্তা পাঠানো যায়নি, রেডিও বন্ধ আছে</string>
|
||||
<string name="carrier_send_error">বার্তা পাঠানো যায়নি, ক্যারিয়ার ত্রুটি</string>
|
||||
<string name="unknown_error_occurred_sending_message">বার্তা পাঠানো যায়নি, ত্রুটি কোড: %d</string>
|
||||
<string name="invalid_short_code">এর মত শর্ট কোডে উত্তর দিতে পারবেন না</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">সংযুক্তির আকার সর্বাধিক এমএমএস সীমা ছাড়িয়ে গেছে</string>
|
||||
<string name="sim_card_not_available">সিম কার্ড উপলব্ধ নেই</string>
|
||||
<string name="couldnt_download_mms">এমএমএস ডাউনলোড করা যায়নি</string>
|
||||
<string name="faq_1_title">কেন অ্যাপটির ইন্টারনেট অ্যাক্সেস প্রয়োজন?</string>
|
||||
<string name="faq_2_text">এমএমএস আকার ক্যারিয়ার দ্বারা সীমিত, আপনি অ্যাপ সেটিংসে একটি ছোট সীমা সেট করে চেষ্টা করতে পারেন।</string>
|
||||
<string name="faq_2_title">অন্য প্রান্তের জন আমার এমএমএস পাচ্ছে না, আমি কি এটি সম্পর্কে কিছু করতে পারি?</string>
|
||||
<string name="faq_3_title">অ্যাপটি কি সময় নির্ধারিত বার্তা সমর্থন করে?</string>
|
||||
<string name="faq_3_text">হ্যাঁ, আপনি পাঠান বোতামটি দীর্ঘক্ষণ টিপে এবং পছন্দসই তারিখ এবং সময় বেছে নিয়ে ভবিষ্যতে পাঠানোর জন্য বার্তাগুলি নির্ধারণ করতে পারেন।</string>
|
||||
<string name="members">সদস্যরা</string>
|
||||
<string name="conversation_name">কথোপকথনের নাম</string>
|
||||
<string name="new_conversation">নতুন কথোপকথন</string>
|
||||
<string name="add_contact_or_number">কন্টাক্ট বা নম্বর যোগ করুন…</string>
|
||||
<string name="suggestions">পরামর্শ</string>
|
||||
<string name="rename_conversation_warning">শুধুমাত্র আপনি এই কথোপকথন নাম দেখতে পারবেন</string>
|
||||
<string name="rename_conversation">কথোপকথনের নাম পরিবর্তন করুন</string>
|
||||
<string name="scheduled_message">সময় নির্ধারিত বার্তা</string>
|
||||
<string name="schedule_message">বার্তা পাঠানোর জন্য সময় নির্ধারণ করুন</string>
|
||||
<string name="schedule_send">পাঠানোর সময় নির্ধারণ করুন</string>
|
||||
<string name="message_details">বার্তার বিবরণ</string>
|
||||
<string name="cancel_schedule_send">পাঠানোর নির্ধারিত সময় বাতিল করুন</string>
|
||||
<string name="message_details_received_at">এই সময়ে প্রাপ্ত</string>
|
||||
<string name="update_message">বার্তা আপডেট করুন</string>
|
||||
<string name="schedule_send_warning">ফোনটি চালু রাখুন এবং নিশ্চিত করুন যে ব্যাকগ্রাউন্ডে থাকা অবস্থায় অ্যাপটিকে বন্ধ করার কিছু নেই।</string>
|
||||
<string name="message_details_sender">প্রেরক</string>
|
||||
<string name="must_pick_time_in_the_future">আপনাকে অবশ্যই ভবিষ্যতের একটি সময় বেছে নিতে হবে</string>
|
||||
<string name="send_now">এখনই পাঠান</string>
|
||||
<string name="message_details_receiver">প্রাপক</string>
|
||||
<string name="message_details_sent_at">এই সময়ে পাঠানো হয়েছে</string>
|
||||
<string name="show_archived_conversations">আর্কাইভ করা কথোপকথন দেখুন</string>
|
||||
<string name="empty_archive">সমস্ত আর্কাইভ করা কথোপকথন মুছুন</string>
|
||||
<string name="archive">আর্কাইভ করুন</string>
|
||||
<string name="empty_archive_confirmation">আপনি কি নিশ্চিত যে আপনি আর্কাইভ খালি করতে চান? সমস্ত আর্কাইভ করা কথোপকথন স্থায়ীভাবে হারিয়ে যাবে।</string>
|
||||
<string name="restore_whole_conversation_confirmation">আপনি কি এই কথোপকথনের সমস্ত বার্তা পুনরুদ্ধার করার বিষয়ে নিশ্চিত?</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="one">%d টি কথোপকথন</item>
|
||||
<item quantity="other">%d গুলো কথোপকথন</item>
|
||||
</plurals>
|
||||
<string name="blocked_keywords">ব্লক করা কীওয়ার্ড</string>
|
||||
<string name="manage_blocked_keywords">ব্লক করা কীওয়ার্ড পরিচালনা করুন</string>
|
||||
<string name="not_blocking_keywords">আপনি কোন কীওয়ার্ড ব্লক করছেন না. আপনি এখানে কীওয়ার্ড যুক্ত করতে পারেন যাতে সেগুলি ধারণকারী সমস্ত বার্তা ব্লক করা যায়।</string>
|
||||
<string name="mms_file_size_limit">পাঠানো এমএমএস চিত্রের আকার পরিবর্তন করুন</string>
|
||||
<string name="mms_file_size_limit_none">কোন সীমা নেই</string>
|
||||
<string name="messages">বার্তাসমূহ</string>
|
||||
<string name="outgoing_messages">বহির্গামী বার্তা</string>
|
||||
<string name="group_message_mms">এমএমএস হিসাবে গ্রুপ বার্তা পাঠান</string>
|
||||
<string name="send_long_message_mms">এমএমএস হিসাবে দীর্ঘ বার্তা পাঠান</string>
|
||||
<string name="export_messages">বার্তা এক্সপোর্ট করুন</string>
|
||||
<string name="import_messages">বার্তা ইমপোর্ট করুন</string>
|
||||
<string name="import_sms">এসএমএস ইমপোর্ট করুন</string>
|
||||
<string name="export_sms">এসএমএস এক্সপোর্ট করুন</string>
|
||||
<string name="export_mms">এমএমএস এক্সপোর্ট করুন</string>
|
||||
<string name="error_service_is_unavailable">বার্তা পাঠানো যায়নি, পরিষেবা অনুপলব্ধ</string>
|
||||
<string name="invalid_short_code_desc">আপনি শুধুমাত্র \"503501\" এর মতো নম্বর সহ শর্ট কোডের উত্তর দিতে পারেন কিন্তু \"AB-CD0\" এর মতো অক্ষর এবং সংখ্যা সম্বলিত কোডগুলিতে নয়।</string>
|
||||
<string name="faq_1_text">দুঃখজনকভাবে এটি এমএমএস সংযুক্তি পাঠানোর জন্য প্রয়োজন. অন্যান্য অ্যাপের তুলনায় এমএমএস পাঠাতে না পারা সত্যিই একটি বড় অসুবিধা হবে, তাই আমরা এই পথে যাওয়ার সিদ্ধান্ত নিয়েছি। যাইহোক, সাধারণত, কোন বিজ্ঞাপন, ট্র্যাকিং বা বিশ্লেষণ কোনো কিছুই নেই, ইন্টারনেট শুধুমাত্র এমএমএস পাঠানোর জন্য ব্যবহার করা হয়।</string>
|
||||
<string name="pin_conversation">উপরে পিন করুন</string>
|
||||
<string name="archived_conversations">আর্কাইভকৃত বার্তাসমূহ</string>
|
||||
<string name="forward_message">ফরোয়ার্ড করুন</string>
|
||||
<string name="no_archived_conversations">কোনো আর্কাইভকৃত কথোপকথন পাওয়া যায়নি</string>
|
||||
<string name="enable_custom_notifications">কাস্টম বিজ্ঞপ্তি সক্রিয় করুন</string>
|
||||
<string name="archive_emptied_successfully">আর্কাইভ সফলভাবে খালি করা হয়েছে</string>
|
||||
<string name="add_a_blocked_keyword">একটি ব্লকড কীওয়ার্ড যোগ করুন</string>
|
||||
<string name="unarchive">আর্কাইভ মুক্ত করুন</string>
|
||||
<string name="lock_screen_visibility">লক স্ক্রীন বিজ্ঞপ্তি দৃশ্যমানতা</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">এবং আরও %d জন</item>
|
||||
<item quantity="other">এবং আরও %d জনকে</item>
|
||||
</plurals>
|
||||
<string name="message_sending_error">\'%s\' এর নিকট আপনার বার্তা পাঠানো হয় নি</string>
|
||||
<string name="add_person">ব্যক্তি যোগ করুন</string>
|
||||
<string name="attachment">সংযুক্তি</string>
|
||||
<string name="no_conversations_found">কোন সংরক্ষিত কথোপকথন পাওয়া যায়নি</string>
|
||||
<string name="start_conversation">একটি কথোপকথন শুরু করুন</string>
|
||||
<string name="reply">উত্তর দিন</string>
|
||||
<string name="show_character_counter">বার্তা লেখার সময় একটি অক্ষর কাউন্টার দেখান</string>
|
||||
<string name="loading_messages">বার্তা লোড হচ্ছে…</string>
|
||||
<string name="no_reply_support">প্রেরক উত্তর সমর্থন করে না</string>
|
||||
<string name="conversation_details">কথোপকথনের বিবরণ</string>
|
||||
<string name="skip_the_recycle_bin_messages">রিসাইকেল বিন এড়িয়ে যান, সরাসরি বার্তা মুছুন</string>
|
||||
<string name="delete_whole_conversation_confirmation">আপনি কি এই কথোপকথনের সমস্ত বার্তা মুছে ফেলার বিষয়ে নিশ্চিত?</string>
|
||||
<string name="archive_confirmation">আপনি কি নিশ্চিত আপনি %s আর্কাইভ করতে চান?</string>
|
||||
<string name="restore_confirmation">আপনি কি %s পুনরুদ্ধার করার বিষয়ে নিশ্চিত?</string>
|
||||
<string name="keyword">কীওয়ার্ড</string>
|
||||
<plurals name="delete_messages">
|
||||
<item quantity="one">%d টি বার্তা</item>
|
||||
<item quantity="other">%d গুলো বার্তা</item>
|
||||
</plurals>
|
||||
<string name="sender_only">শুধুমাত্র প্রেরক</string>
|
||||
<string name="enable_delivery_reports">ডেলিভারি রিপোর্ট সক্রিয় করুন</string>
|
||||
<string name="use_simple_characters">বার্তা পাঠানোর সময় উচ্চারণ এবং ডায়াক্রিটিকগুলি সরান</string>
|
||||
<string name="send_on_enter">এন্টার চাপলে বার্তা পাঠান</string>
|
||||
<string name="type_a_message">একটি বার্তা লিখুন…</string>
|
||||
<string name="message_not_sent_short">বার্তা পাঠানো হয়নি</string>
|
||||
<string name="message_not_sent_touch_retry">পাঠানো হয় নি। পুনরায় চেষ্টা করতে স্পর্শ করুন।</string>
|
||||
<string name="draft">খসড়া</string>
|
||||
<string name="sending">পাঠানো হচ্ছে…</string>
|
||||
<string name="unpin_conversation">আনপিন করুন</string>
|
||||
<string name="compress_error">নির্বাচিত আকারে ছবি সংকুচিত করা যায় নি</string>
|
||||
<string name="duplicate_item_warning">সদৃশ আইটেম অন্তর্ভুক্ত করা হয়নি</string>
|
||||
<string name="channel_received_sms">এসএমএস পেয়েছেন</string>
|
||||
<string name="new_message">নতুন বার্তা</string>
|
||||
<string name="mark_as_read">পঠিত হিসাবে চিহ্নিত করুন</string>
|
||||
<string name="mark_as_unread">অপঠিত হিসাবে চিহ্নিত করুন</string>
|
||||
<string name="me">আমি</string>
|
||||
<string name="app_launcher_name">Messages</string>
|
||||
</resources>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
<resources>
|
||||
<string name="type_a_message">Escriviu un missatge…</string>
|
||||
<string name="message_not_sent_short">Missatge no enviat</string>
|
||||
<string name="message_not_sent_touch_retry">No s\'ha enviat. Toqueu per tornar-ho a provar.</string>
|
||||
<string name="message_not_sent_touch_retry">No s\'ha enviat. Toqueu per a tornar-ho a provar.</string>
|
||||
<string name="message_sending_error">El vostre missatge a «%s» no s\'ha enviat</string>
|
||||
<string name="add_person">Afegeix una persona</string>
|
||||
<string name="attachment">Adjunt</string>
|
||||
|
|
@ -109,10 +109,10 @@
|
|||
<string name="sim_card_not_available">La targeta SIM no està disponible</string>
|
||||
<string name="couldnt_download_mms">No es poden baixar MMS</string>
|
||||
<string name="faq_1_title">Per què l\'aplicació requereix accés a Internet\?</string>
|
||||
<string name="faq_1_text">Malauradament, és necessari per enviar adjunts MMS. No poder enviar MMS seria un gran desavantatge en comparació amb altres aplicacions, així que vam decidir anar per aquest camí. Tanmateix, com sol ser, no hi ha cap anunci, seguiment o anàlisi de cap mena, Internet només s\'utilitza per enviar MMS.</string>
|
||||
<string name="faq_1_text">Malauradament, és necessari per a enviar adjunts MMS. No poder enviar MMS seria un gran desavantatge en comparació amb altres aplicacions, així que vam decidir anar per aquest camí. Tanmateix, com sol ser, no hi ha cap anunci, seguiment o anàlisi de cap mena, Internet només s\'utilitza per a enviar MMS.</string>
|
||||
<string name="faq_2_text">La mida dels MMS està limitada pels operadors, podeu provar d\'establir un límit més petit a la configuració de l\'aplicació.</string>
|
||||
<string name="faq_3_title">L\'aplicació admet missatges programats\?</string>
|
||||
<string name="faq_3_text">Sí, podeu programar missatges per enviar-los en el futur prement prolongadament el botó Envia i escollint la data i l\'hora desitjades.</string>
|
||||
<string name="faq_3_text">Sí, podeu programar missatges per a enviar-los en el futur prement prolongadament el botó Envia i escollint la data i l\'hora desitjades.</string>
|
||||
<string name="faq_2_title">L\'altre extrem no ha rebut el meu MMS, hi puc fer alguna cosa\?</string>
|
||||
<string name="enable_custom_notifications">Activa les notificacions personalitzades</string>
|
||||
<string name="app_launcher_name">Missatges</string>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_launcher_name">Meddelelser</string>
|
||||
<string name="app_launcher_name">Beskeder</string>
|
||||
<string name="type_a_message">Skriv en besked…</string>
|
||||
<string name="message_not_sent_short">Beskeden blev ikke sendt</string>
|
||||
<string name="message_not_sent_touch_retry">Blev ikke sendt, tryk for at gensende.</string>
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
<string name="no_conversations_found">Ingen gemte samtaler er fundet</string>
|
||||
<string name="start_conversation">Start en samtale</string>
|
||||
<string name="reply">Svar</string>
|
||||
<string name="show_character_counter">Vis en karaktertæller ved skrivning af beskeder</string>
|
||||
<string name="show_character_counter">Vis en tegntæller ved skrivning af beskeder</string>
|
||||
<string name="loading_messages">Henter beskeder…</string>
|
||||
<string name="no_reply_support">Afsender understøtter ikke svar</string>
|
||||
<string name="draft">Udkast</string>
|
||||
|
|
@ -28,25 +28,25 @@
|
|||
<string name="conversation_details">Samtaledetaljer</string>
|
||||
<string name="rename_conversation">Omdøb samtale</string>
|
||||
<string name="rename_conversation_warning">Kun du kan se dette samtalenavn</string>
|
||||
<string name="scheduled_message">Planlagt meddelelse</string>
|
||||
<string name="schedule_message">Planlæg meddelelse</string>
|
||||
<string name="scheduled_message">Planlagt besked</string>
|
||||
<string name="schedule_message">Planlæg besked</string>
|
||||
<string name="schedule_send">Planlæg afsendelse</string>
|
||||
<string name="cancel_schedule_send">Annuler planlagt afsendelse</string>
|
||||
<string name="must_pick_time_in_the_future">Du skal vælge et tidspunkt i fremtiden</string>
|
||||
<string name="schedule_send_warning">Hold telefonen tændt, og sørg for, at der ikke er noget der afbryder appen, mens den er i baggrunden.</string>
|
||||
<string name="update_message">Opdater meddelelse</string>
|
||||
<string name="update_message">Opdater besked</string>
|
||||
<string name="send_now">Send nu</string>
|
||||
<string name="message_details">Meddelelsesdetaljer</string>
|
||||
<string name="message_details">Beskeddetaljer</string>
|
||||
<string name="message_details_sender">Afsender</string>
|
||||
<string name="message_details_receiver">Modtager</string>
|
||||
<string name="message_details_sent_at">Sendt</string>
|
||||
<string name="message_details_received_at">Modtaget</string>
|
||||
<string name="channel_received_sms">Modtag SMS</string>
|
||||
<string name="new_message">Ny Besked</string>
|
||||
<string name="new_message">Ny besked</string>
|
||||
<string name="mark_as_read">Marker som læst</string>
|
||||
<string name="mark_as_unread">Marker som ulæst</string>
|
||||
<string name="me">Mig</string>
|
||||
<string name="enable_custom_notifications">Aktiver tilpassede meddelelser</string>
|
||||
<string name="enable_custom_notifications">Aktiver tilpassede beskeder</string>
|
||||
<string name="unarchive">Fjerne arkivering</string>
|
||||
<string name="empty_archive">Slet alle arkiverede samtaler</string>
|
||||
<string name="archived_conversations">Arkiv</string>
|
||||
|
|
@ -56,9 +56,9 @@
|
|||
<string name="archive_emptied_successfully">Arkivet er successfuldt blevet tømt</string>
|
||||
<string name="empty_archive_confirmation">Er du sikker på, at du vil tømme arkivet? Alle arkiverede samtaler vil gå permanent tabt.</string>
|
||||
<string name="restore">Gendan</string>
|
||||
<string name="restore_all_messages">Gendan alle meddelelser</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Er du sikker på, at du vil tømme papirkurven? Beskederne vil blive permanent tabt.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Brug ikke Papirkurven, slet meddelelse direkte</string>
|
||||
<string name="restore_all_messages">Gendan alle beskeder</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Er du sikker på, at du vil tømme papirkurven? Beskederne vil være permanent tabt.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Brug ikke papirkurven, slet beskeder med det samme</string>
|
||||
<string name="delete_whole_conversation_confirmation">Er du sikker på, at du vil slette alle beskeder i denne samtale\?</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="one">%d samtale</item>
|
||||
|
|
@ -69,25 +69,25 @@
|
|||
<item quantity="other">%d beskeder</item>
|
||||
</plurals>
|
||||
<string name="archive_confirmation">Er du sikker på du vil arkivere %s?</string>
|
||||
<string name="restore_whole_conversation_confirmation">Er du sikker på du vil gendanne alle meddelelser i denne samtale?</string>
|
||||
<string name="restore_whole_conversation_confirmation">Er du sikker på, at du vil gendanne alle beskeder i denne samtale?</string>
|
||||
<string name="restore_confirmation">Er du sikker på du vil gendanne %s?</string>
|
||||
<string name="keyword">Nøgleord</string>
|
||||
<string name="blocked_keywords">Blokerede nøgleord</string>
|
||||
<string name="manage_blocked_keywords">Administrer blokerede nøgleord</string>
|
||||
<string name="not_blocking_keywords">Du blokerer ikke nogen søgeord. Du kan tilføje nøgleord her for at blokere alle meddelelser, der indeholder dem.</string>
|
||||
<string name="not_blocking_keywords">Du blokerer ikke nogen søgeord. Du kan tilføje nøgleord her for at blokere alle beskeder, der indeholder dem.</string>
|
||||
<string name="add_a_blocked_keyword">Tilføj et blokeret nøgleord</string>
|
||||
<string name="lock_screen_visibility">Synlighed af meddelelse på låseskærmen</string>
|
||||
<string name="sender_and_message">Afsender og meddelelse</string>
|
||||
<string name="lock_screen_visibility">Synlighed af notifikation på låseskærmen</string>
|
||||
<string name="sender_and_message">Afsender og besked</string>
|
||||
<string name="sender_only">Kun afsender</string>
|
||||
<string name="enable_delivery_reports">Aktiver leveringsrapporter</string>
|
||||
<string name="use_simple_characters">Fjerne accenter og diakritiske tegn ved afsendelse af meddelelser</string>
|
||||
<string name="send_on_enter">Send meddelelse når der trykkes Enter</string>
|
||||
<string name="use_simple_characters">Fjerne accenter og diakritiske tegn ved afsendelse af beskeder</string>
|
||||
<string name="send_on_enter">Send besked, når der trykkes Enter</string>
|
||||
<string name="mms_file_size_limit">Ændr størrelse på MMS-billeder</string>
|
||||
<string name="mms_file_size_limit_none">Ingen grænse</string>
|
||||
<string name="outgoing_messages">Udgående meddelelser</string>
|
||||
<string name="group_message_mms">Send gruppemeddelelser som MMS</string>
|
||||
<string name="outgoing_messages">Udgående beskeder</string>
|
||||
<string name="group_message_mms">Send gruppebeskeder som MMS</string>
|
||||
<string name="send_long_message_mms">Send lange beskeder som MMS</string>
|
||||
<string name="messages">Meddelelser</string>
|
||||
<string name="messages">Beskeder</string>
|
||||
<string name="export_messages">Eksporter beskeder</string>
|
||||
<string name="export_sms">Eksporter SMS</string>
|
||||
<string name="export_mms">Eksportér MMS</string>
|
||||
|
|
@ -95,12 +95,12 @@
|
|||
<string name="import_sms">Importer SMS</string>
|
||||
<string name="import_mms">Importér MMS</string>
|
||||
<string name="no_option_selected">Du skal vælge mindst ét element</string>
|
||||
<string name="empty_destination_address">Kan ikke sende meddelelse til et tomt nummer</string>
|
||||
<string name="unable_to_save_message">Kan ikke gemme meddelelse i telefonens database</string>
|
||||
<string name="error_service_is_unavailable">Kunne ikke sende meddelelse, service ikke tilgængelig</string>
|
||||
<string name="empty_destination_address">Kan ikke sende besked til et tomt nummer</string>
|
||||
<string name="unable_to_save_message">Kan ikke gemme besked i telefonens database</string>
|
||||
<string name="error_service_is_unavailable">Kunne ikke sende besked, service ikke tilgængelig</string>
|
||||
<string name="error_radio_turned_off">Kunne ike sende meddelels, radio er slukket</string>
|
||||
<string name="carrier_send_error">"Kunne ikke sende meddelelse; operatørfejl "</string>
|
||||
<string name="unknown_error_occurred_sending_message">Kunne ikke sende meddelelse, fejlmeddelelse: %d</string>
|
||||
<string name="carrier_send_error">Kunne ikke sende besked; operatørfejl</string>
|
||||
<string name="unknown_error_occurred_sending_message">Kunne ikke sende besked, fejlmeddelelse: %d</string>
|
||||
<string name="invalid_short_code">Kan ikke svare på korte koder som denne</string>
|
||||
<string name="invalid_short_code_desc">Du kan kun svare på korte koder med tal som \"503501\", men ikke på koder, der indeholder bogstaver og tal som \"AB-CD0\".</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">Størrelse på vedhæftning overstiger maks</string>
|
||||
|
|
@ -112,4 +112,8 @@
|
|||
<string name="faq_2_text">MMS-størrelsen er begrænset af udbydere, du kan prøve at sætte en mindre grænse i appindstillingerne.</string>
|
||||
<string name="faq_3_title">Kan man planlægge afsendelse?</string>
|
||||
<string name="faq_3_text">Ja, du kan planlægge beskeder til at blive sendt i fremtiden ved at trykke længe på Send-knappen og vælge den ønskede dato og tid.</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">og %d anden</item>
|
||||
<item quantity="other">og %d andre</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
|
@ -118,5 +118,5 @@
|
|||
<string name="faq_3_title">¿La aplicación admite mensajes programados\?</string>
|
||||
<string name="faq_3_text">Sí, puedes programar el envío de mensajes en el futuro pulsando prolongadamente el botón de envío y eligiendo la fecha y hora deseadas.</string>
|
||||
<string name="enable_custom_notifications">Activar las notificaciones personalizadas</string>
|
||||
<string name="app_launcher_name">Messages</string>
|
||||
<string name="app_launcher_name">Mensajes</string>
|
||||
</resources>
|
||||
|
|
@ -9,4 +9,14 @@
|
|||
<string name="attachment">Eranskina</string>
|
||||
<string name="no_conversations_found">Ez da gordetako elkarrizketarik aurkitu</string>
|
||||
<string name="start_conversation">Hasi elkarrizketa</string>
|
||||
<string name="draft">Zirriborroa</string>
|
||||
<string name="reply">Erantzun</string>
|
||||
<string name="loading_messages">Mezuak kargatzen…</string>
|
||||
<string name="no_reply_support">Bidaltzaileak ez ditu erantzunik onartzen</string>
|
||||
<string name="sending">Bidaltzen…</string>
|
||||
<string name="pin_conversation">Finkatu goian</string>
|
||||
<string name="unpin_conversation">Askatu aingura</string>
|
||||
<string name="show_character_counter">Erakutsi karaktere-kontagailua mezuak idaztean</string>
|
||||
<string name="forward_message">Birbidali</string>
|
||||
<string name="compress_error">Ezin da irudia konprimitu hautatutako tamainara</string>
|
||||
</resources>
|
||||
|
|
@ -1,2 +1,119 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="unarchive">درآوردن از بایگانی</string>
|
||||
<string name="enable_custom_notifications">تنظیم اعلان شخصیشده</string>
|
||||
<string name="archive">بایگانی کردن</string>
|
||||
<string name="show_archived_conversations">نمایش بایگانیها</string>
|
||||
<string name="empty_archive">حذف همهی بایگانیها</string>
|
||||
<string name="no_archived_conversations">هیچ پیامی در بایگانی نیست</string>
|
||||
<string name="archive_emptied_successfully">بایگانی با موفقیت خالی شد</string>
|
||||
<string name="restore">بازیابی</string>
|
||||
<string name="restore_all_messages">بازیابی همهی پیامها</string>
|
||||
<string name="skip_the_recycle_bin_messages">بیخیال سطل شو، پیامها را درجا حذف کن</string>
|
||||
<string name="delete_whole_conversation_confirmation">همهی پیامهای این گفتوگو حذف شود؟</string>
|
||||
<string name="restore_confirmation">%s بازیابی شود؟</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="one">%d گفتوگو</item>
|
||||
<item quantity="other">%d گفتوگو</item>
|
||||
</plurals>
|
||||
<string name="keyword">کلیدواژه</string>
|
||||
<string name="blocked_keywords">کلیدواژههای مسدودشده</string>
|
||||
<string name="not_blocking_keywords">کلیدواژهای برای مسدودسازی ندارید. میتوانید کلیدواژهای اضافه کنید تا پیامهای حاوی آن مسدود شوند.</string>
|
||||
<string name="lock_screen_visibility">نمایش اعلان در صفحهی قفل</string>
|
||||
<string name="sender_and_message">فرستنده و پیام</string>
|
||||
<string name="mms_file_size_limit">تغییر اندازهی تصاویر ارسالی در فراپیام</string>
|
||||
<string name="outgoing_messages">پیامهای ارسالی</string>
|
||||
<string name="group_message_mms">ارسال پیام گروهی در قالب فراپیام</string>
|
||||
<string name="send_long_message_mms">ارسال پیامهای طولانی در قالب فراپیام</string>
|
||||
<string name="export_messages">برونبرد پیامها</string>
|
||||
<string name="export_mms">برونبرد فراپیامها</string>
|
||||
<string name="import_messages">درونبرد پیامها</string>
|
||||
<string name="import_sms">درونبرد پیامکها</string>
|
||||
<string name="import_mms">درونبرد فراپیامها</string>
|
||||
<string name="no_option_selected">حداقل یک مورد را انتخاب کنید</string>
|
||||
<string name="empty_destination_address">ارسال پیام به شمارهی خالی امکانپذیر نیست</string>
|
||||
<string name="unable_to_save_message">ذخیرهسازی پیام در دادگان تلفن امکانپذیر نیست</string>
|
||||
<string name="invalid_short_code">پاسخ به کدهای کوتاه مثل این امکانپذیر نیست</string>
|
||||
<string name="error_service_is_unavailable">پیام ارسال نشد، خارج از دسترس</string>
|
||||
<string name="error_radio_turned_off">پیام ارسال نشد، فرستنده خاموش است</string>
|
||||
<string name="carrier_send_error">پیام ارسال نشد، خطای اپراتور</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">اندازهی پیوست بیشتر از حد مجاز فراپیام است</string>
|
||||
<string name="sim_card_not_available">سیمکارت نیست</string>
|
||||
<string name="faq_1_title">این برنامه چه نیازی به دسترسی به اینترنت دارد؟</string>
|
||||
<string name="faq_2_title">طرف مقابل فراپیام مرا نمیگیرد، چه کار میتوانم بکنم؟</string>
|
||||
<string name="faq_2_text">اندازهی فراپیام از سوی اپراتور محدود شده است؛ میتوانید در تنظیمات برنامه، حد کمتری را امتحان کنید.</string>
|
||||
<string name="faq_3_title">آیا این برنامه از پیامهای زمانبندیشده پشتیبانی میکند؟</string>
|
||||
<string name="type_a_message">متن پیام…</string>
|
||||
<string name="message_not_sent_touch_retry">ارسال نشد. برای تلاش دوباره، لمس کنید.</string>
|
||||
<string name="message_sending_error">پیام شما به %s ارسال نشده</string>
|
||||
<string name="unknown_error_occurred_sending_message">پیام ارسال نشد، خطای کد %d</string>
|
||||
<string name="duplicate_item_warning">مورد تکراری درج نشد</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">و %d نفر دیگر</item>
|
||||
<item quantity="other">و %d نفر دیگر</item>
|
||||
</plurals>
|
||||
<string name="add_contact_or_number">افزودن مخاطب یا شماره…</string>
|
||||
<string name="members">عضوها</string>
|
||||
<string name="conversation_name">عنوان گفتوگو</string>
|
||||
<string name="conversation_details">جزئیات گفتوگو</string>
|
||||
<string name="rename_conversation_warning">تنها شما میتوانید این عنوان گفتوگو را ببینید</string>
|
||||
<string name="schedule_send_warning">گوشی را روشن نگه دارید و مطمئن شوید که هیچچیز فعالیت برنامه در پسزمینه را متوقف نکند.</string>
|
||||
<string name="archived_conversations">بایگانی</string>
|
||||
<string name="empty_archive_confirmation">بایگانی، خالی شود؟ همهی پیامهای بایگانی برای همیشه حذف میشوند.</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">سطل زباله، خالی شود؟ پیامها برای همیشه حذف میشوند.</string>
|
||||
<string name="archive_confirmation">%s بایگانی شود؟</string>
|
||||
<string name="restore_whole_conversation_confirmation">همهی پیامهای این گفتوگو بازیابی شود؟</string>
|
||||
<plurals name="delete_messages">
|
||||
<item quantity="one">%d پیام</item>
|
||||
<item quantity="other">%d پیام</item>
|
||||
</plurals>
|
||||
<string name="manage_blocked_keywords">مدیریت کلیدواژههای مسدودشده</string>
|
||||
<string name="enable_delivery_reports">گزارش تحویل پیام</string>
|
||||
<string name="use_simple_characters">حذف نشانههای حروف لاتین هنگام ارسال پیام</string>
|
||||
<string name="mms_file_size_limit_none">بدون محدودیت</string>
|
||||
<string name="messages">پیامها</string>
|
||||
<string name="export_sms">برونبرد پیامکها</string>
|
||||
<string name="invalid_short_code_desc">فقط میتوانید به سرشمارههای عددی مثل 7575 پیام بفرستید؛ نه به سرشمارههای الفبایی مثل IRANCELL.</string>
|
||||
<string name="couldnt_download_mms">فراپیام بارگیری نشد</string>
|
||||
<string name="faq_1_text">متأسفانه برای ارسال فراپیام لازم است. عدم امکان ارسال فراپیام، در مقایسه با دیگر برنامهها، کمبود بزرگی به حساب میآید؛ بنابراین تصمیم گرفتیم بیخیالش نشویم. با این حال، طبق معمول، هیچ تبلیغات، ردیابی یا تحلیل دادهای به هیچ وجه در کار نیست؛ اینترنت فقط برای ارسال فراپیام استفاده میشود.</string>
|
||||
<string name="add_person">افزودن گیرنده</string>
|
||||
<string name="add_a_blocked_keyword">افزودن کلیدواژهی مسدودشده</string>
|
||||
<string name="faq_3_text">بله، میتوانید با نگهداشتن دکمهی ارسال و انتخاب تاریخ و ساعت دلخواه، پیامها را برای ارسال در آینده زمانبندی کنید.</string>
|
||||
<string name="app_launcher_name">پیامها</string>
|
||||
<string name="message_not_sent_short">پیام ارسال نشد</string>
|
||||
<string name="attachment">پیوست</string>
|
||||
<string name="start_conversation">گفتوگویی را آغاز کنید</string>
|
||||
<string name="reply">پاسخ</string>
|
||||
<string name="loading_messages">در حال بارگیری پیامها…</string>
|
||||
<string name="no_reply_support">فرستنده، امکان دریافت پاسخ ندارد</string>
|
||||
<string name="draft">پیشنویس</string>
|
||||
<string name="sending">در حال ارسال…</string>
|
||||
<string name="pin_conversation">سنجاق به بالا</string>
|
||||
<string name="unpin_conversation">برداشتن سنجاق</string>
|
||||
<string name="forward_message">ارسال به دیگری</string>
|
||||
<string name="compress_error">امکان فشردهسازی تصویر به اندازهی انتخابشده وجود ندارد</string>
|
||||
<string name="new_conversation">گفتوگوی تازه</string>
|
||||
<string name="suggestions">پیشنهادها</string>
|
||||
<string name="no_conversations_found">هیچ گفتوگویی نداشته اید</string>
|
||||
<string name="show_character_counter">نمایش شمارشگر نویسهها هنگام نوشتن پیام</string>
|
||||
<string name="rename_conversation">تغییر عنوان گفتوگو</string>
|
||||
<string name="scheduled_message">پیام زمانبندیشده</string>
|
||||
<string name="schedule_message">زمانبندی پیام</string>
|
||||
<string name="schedule_send">ارسال زماندار</string>
|
||||
<string name="cancel_schedule_send">لغو ارسال زماندار</string>
|
||||
<string name="must_pick_time_in_the_future">باید زمانی در آینده انتخاب کنید</string>
|
||||
<string name="update_message">بهروزرسانی پیام</string>
|
||||
<string name="send_now">همین الآن بفرست</string>
|
||||
<string name="message_details">اطلاعات پیام</string>
|
||||
<string name="message_details_sender">فرستنده</string>
|
||||
<string name="message_details_receiver">گیرنده</string>
|
||||
<string name="message_details_received_at">دریافتی در</string>
|
||||
<string name="message_details_sent_at">ارسالی در</string>
|
||||
<string name="channel_received_sms">پیامک دریافتی</string>
|
||||
<string name="new_message">پیام تازه</string>
|
||||
<string name="mark_as_read">خوانده شده</string>
|
||||
<string name="mark_as_unread">خوانده نشده</string>
|
||||
<string name="me">من</string>
|
||||
<string name="sender_only">فقط فرستنده</string>
|
||||
<string name="send_on_enter">ارسال پیام با کلید اینتر</string>
|
||||
</resources>
|
||||
|
|
@ -50,13 +50,13 @@
|
|||
<string name="mark_as_unread">Merkitse lukemattomaksi</string>
|
||||
<string name="me">Minä</string>
|
||||
<string name="unarchive">Poista arkivointi</string>
|
||||
<string name="empty_archive">Poista kaikki arkivoidut keskustelut</string>
|
||||
<string name="empty_archive">Poista kaikki arkistoidut keskustelut</string>
|
||||
<string name="archived_conversations">Arkisto</string>
|
||||
<string name="show_archived_conversations">Näytä arkivoidut keskustelut</string>
|
||||
<string name="show_archived_conversations">Näytä arkistoidut keskustelut</string>
|
||||
<string name="archive">Arkivoi</string>
|
||||
<string name="no_archived_conversations">Arkivoituja keskusteluja ei löytynyt</string>
|
||||
<string name="archive_emptied_successfully">Arkisto tyhjennettiin onnistuneesti</string>
|
||||
<string name="empty_archive_confirmation">Haluatko tyhjentää arkiston\? Kaikki arkivoidut keskustelut menetetään pysyvästi.</string>
|
||||
<string name="empty_archive_confirmation">Haluatko tyhjentää arkiston? Kaikki arkistoidut keskustelut menetetään pysyvästi.</string>
|
||||
<string name="restore">Palauta</string>
|
||||
<string name="restore_all_messages">Palauta kaikki viestit</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Haluatko tyhjentää Roskakorin\? Viestit menetetään pysyvästi.</string>
|
||||
|
|
@ -114,4 +114,6 @@
|
|||
<string name="faq_2_text">Operaattorit rajoittavat MMS-kokoa, voit yrittää asettaa pienemmän rajan sovelluksen asetuksissa.</string>
|
||||
<string name="faq_3_title">Tukeeko sovellus ajoitettua viestien lähetystä\?</string>
|
||||
<string name="faq_3_text">Kyllä tukee ja voit ajoittaa viestin lähetyksen painamalla lähetyspainiketta pitkään ja valitsemalla halutun päivän ja kellonajan.</string>
|
||||
<string name="app_launcher_name">Viestit</string>
|
||||
<string name="enable_custom_notifications">Käytä mukautettuja ilmoituksia</string>
|
||||
</resources>
|
||||
|
|
@ -118,4 +118,5 @@
|
|||
<string name="enable_custom_notifications">Activer les notifications personnalisées</string>
|
||||
<string name="suggestions">Suggestions</string>
|
||||
<string name="archived_conversations">Archive</string>
|
||||
<string name="app_launcher_name">Messages</string>
|
||||
</resources>
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
<string name="compress_error">Tidak dapat mengompres gambar ke ukuran yang dipilih</string>
|
||||
<string name="duplicate_item_warning">Item duplikat tidak termasuk</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="other">and %d others</item>
|
||||
<item quantity="other">dan %d lainnya</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">Percakapan baru</string>
|
||||
<string name="add_contact_or_number">Tambahkan Kontak atau Nomor…</string>
|
||||
|
|
@ -75,4 +75,42 @@
|
|||
<string name="faq_2_text">Ukuran MMS dibatasi oleh penyedia, Anda dapat menetapkan batas yang lebih kecil dalam pengaturan aplikasi.</string>
|
||||
<string name="faq_3_title">Apakah aplikasi mendukung penjadwalan pesan\?</string>
|
||||
<string name="faq_3_text">Ya, Anda bisa menjadwalkan pesan untuk dikirim di masa depan dengan menekan lama pada tombol Kirim dan memilih tanggal dan waktu yang diinginkan.</string>
|
||||
<string name="enable_custom_notifications">Aktifkan notifikasi khusus</string>
|
||||
<string name="message_details">Detail pesan</string>
|
||||
<string name="message_details_receiver">Penerima</string>
|
||||
<string name="message_details_sent_at">Dikirim pukul</string>
|
||||
<string name="message_details_received_at">Diterima pukul</string>
|
||||
<string name="archived_conversations">Arsip</string>
|
||||
<string name="show_archived_conversations">Tampilkan percakapan yang diarsipkan</string>
|
||||
<string name="archive">Arsip</string>
|
||||
<string name="no_archived_conversations">Tidak ada arsip percakapan yang ditemukan</string>
|
||||
<string name="archive_emptied_successfully">Arsip telah berhasil dikosongkan</string>
|
||||
<string name="empty_archive_confirmation">Anda yakin ingin mengosongkan arsip? Semua percakapan yang diarsipkan akan hilang secara permanen.</string>
|
||||
<string name="app_launcher_name">Pesan</string>
|
||||
<string name="pin_conversation">Sematkan ke atas</string>
|
||||
<string name="message_details_sender">Pengirim</string>
|
||||
<string name="update_message">Perbarui pesan</string>
|
||||
<string name="empty_archive">Hapus semua percakapan yang diarsipkan</string>
|
||||
<string name="me">Saya</string>
|
||||
<string name="unarchive">Tidak diarsipkan</string>
|
||||
<string name="restore">Pulihkan</string>
|
||||
<string name="restore_all_messages">Pulihkan semua pesan</string>
|
||||
<string name="restore_confirmation">Anda yakin ingin memulihkan %s?</string>
|
||||
<string name="export_sms">Ekspor SMS</string>
|
||||
<string name="import_messages">Impir pesan</string>
|
||||
<string name="import_sms">Impor SMS</string>
|
||||
<string name="couldnt_download_mms">Tidak dapat mengunduh MMS</string>
|
||||
<string name="keyword">Kata kunci</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">Ukuran lampiran melebihi batas maksimum yang diizinkan untuk MMS</string>
|
||||
<string name="blocked_keywords">Kata kunci yang diblokir</string>
|
||||
<string name="export_messages">Ekspor pesan</string>
|
||||
<string name="sim_card_not_available">Kartu SIM tidak tersedia</string>
|
||||
<string name="not_blocking_keywords">Anda belum memblokir kata kunci apa pun. Anda dapat menambahkan kata kunci di sini untuk memblokir semua pesan yang mengandung kata kunci tersebut.</string>
|
||||
<string name="messages">Pesan</string>
|
||||
<string name="manage_blocked_keywords">Kelola kata kunci yang diblokir</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Anda yakin ingin mengosongkan Keranjang Sampah? Pesan-pesan di dalamnya akan hilang secara permanen.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Lewati Keranjang Sampah, hapus pesan secara langsung</string>
|
||||
<string name="archive_confirmation">Anda yakin ingin mengarsipkan %s?</string>
|
||||
<string name="restore_whole_conversation_confirmation">Anda yakin ingin memulihkan semua pesan dari percakapan ini?</string>
|
||||
<string name="add_a_blocked_keyword">Tambahkan kata kunci yang diblokir</string>
|
||||
</resources>
|
||||
|
|
@ -67,4 +67,18 @@
|
|||
<string name="faq_1_text">למרבה הצער, זה נחוץ לשליחת קבצי MMS מצורפים. אי היכולת לשלוח MMS תהיה חיסרון עצום בהשוואה לאפליקציות אחרות, אז החלטנו ללכת בדרך זו. עם זאת, כמו בדרך כלל, אין מודעות, מעקב או ניתוח כלשהם, האינטרנט משמש רק לשליחת MMS.</string>
|
||||
<string name="faq_2_title">הקצה השני לא מקבל את ה-MMS שלי, האם יש משהו שאני יכול לעשות בנידון\?</string>
|
||||
<string name="faq_2_text">גודל ה-MMS מוגבל על ידי הספקים, אתה יכול לנסות להגדיר מגבלה קטנה יותר בהגדרות האפליקציה.</string>
|
||||
<string name="app_launcher_name">הודעות</string>
|
||||
<string name="members">חברים</string>
|
||||
<string name="conversation_name">שם שיחה</string>
|
||||
<string name="conversation_details">פרטי שיחה</string>
|
||||
<string name="rename_conversation">שינוי שם שיחה</string>
|
||||
<string name="rename_conversation_warning">רק אתה יכול לראות את שם השיחה הזה</string>
|
||||
<string name="scheduled_message">הודעה מתוזמנת</string>
|
||||
<string name="schedule_message">הודעת לוח זמנים</string>
|
||||
<string name="schedule_send">תכנן משלוח</string>
|
||||
<string name="cancel_schedule_send">בטל משלוח מתוכנן</string>
|
||||
<string name="must_pick_time_in_the_future">יש לבחור נקודת זמן בעתיד</string>
|
||||
<string name="update_message">עדכון הודעה</string>
|
||||
<string name="faq_3_text">כן, אתה יכול לתזמן שליחת הודעות בעתיד על ידי לחיצה ארוכה על כפתור השליחה ובחירת התאריך והשעה הרצויים.</string>
|
||||
<string name="duplicate_item_warning">פריט כפול לא נכלל</string>
|
||||
</resources>
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
<string name="compress_error">選択したサイズに画像を圧縮できません</string>
|
||||
<string name="duplicate_item_warning">重複したアイテムは含まれていませんでした</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="other">and %d others</item>
|
||||
<item quantity="other">とあと%d件</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">新しい会話</string>
|
||||
<string name="add_contact_or_number">連絡先や電話番号を追加…</string>
|
||||
|
|
@ -50,16 +50,16 @@
|
|||
<plurals name="delete_messages">
|
||||
<item quantity="other">%d件のメッセージ</item>
|
||||
</plurals>
|
||||
<string name="lock_screen_visibility">ロック画面の通知表示</string>
|
||||
<string name="sender_and_message">差出人とメッセージ</string>
|
||||
<string name="sender_only">差出人のみ</string>
|
||||
<string name="enable_delivery_reports">配信確認レポートを有効にする</string>
|
||||
<string name="use_simple_characters">送信するメッセージから発音記号を取り除く (英語)</string>
|
||||
<string name="lock_screen_visibility">ロック画面の通知の可視性</string>
|
||||
<string name="sender_and_message">送信者とメッセージ</string>
|
||||
<string name="sender_only">送信者のみ</string>
|
||||
<string name="enable_delivery_reports">配信レポートを有効にする</string>
|
||||
<string name="use_simple_characters">送信するメッセージから発音記号を取り除く</string>
|
||||
<string name="send_on_enter">Enter キーでメッセージを送信</string>
|
||||
<string name="mms_file_size_limit">送信する MMS の画像をリサイズ</string>
|
||||
<string name="mms_file_size_limit_none">制限しない</string>
|
||||
<string name="mms_file_size_limit">送信した MMS の画像をリサイズ</string>
|
||||
<string name="mms_file_size_limit_none">制限なし</string>
|
||||
<string name="outgoing_messages">送信するメッセージ</string>
|
||||
<string name="group_message_mms">グループメッセージは MMS として送信</string>
|
||||
<string name="group_message_mms">グループメッセージを MMS として送信</string>
|
||||
<string name="send_long_message_mms">長いメッセージを MMS として送信</string>
|
||||
<string name="messages">メッセージ</string>
|
||||
<string name="export_messages">メッセージをエクスポート</string>
|
||||
|
|
@ -68,8 +68,8 @@
|
|||
<string name="import_messages">メッセージをインポート</string>
|
||||
<string name="import_sms">SMS をインポート</string>
|
||||
<string name="import_mms">MMS をインポート</string>
|
||||
<string name="no_option_selected">1 つ以上のアイテムを選択する必要があります</string>
|
||||
<string name="empty_destination_address">番号を空にすることはできません</string>
|
||||
<string name="no_option_selected">1 つ以上のアイテムを選択してください</string>
|
||||
<string name="empty_destination_address">空の番号にメッセージを送信できません</string>
|
||||
<string name="unable_to_save_message">メッセージを電話データベースに保存できませんでした</string>
|
||||
<string name="error_service_is_unavailable">メッセージを送信できませんでした (サービス利用不可)</string>
|
||||
<string name="error_radio_turned_off">メッセージを送信できませんでした (無線オフにより)</string>
|
||||
|
|
@ -78,9 +78,39 @@
|
|||
<string name="invalid_short_code">このようなショートコードには返信できません</string>
|
||||
<string name="invalid_short_code_desc">「503501」のような数字のみのショートコードには返信できますが、「AB-CD0」のようなアルファベットと数字を含んだショートコードには返信できません。</string>
|
||||
<string name="faq_1_title">なぜアプリの使用にインターネットへのアクセスが必要なのですか?</string>
|
||||
<string name="faq_1_text">MMS (マルチメディアメッセージサービス) にはインターネットが必要となります。ほかのアプリでは使用できる MMS が使用できないことは大きな不利益となるため、このようになっています。 ただし、通常通り広告・追跡・分析は一切行わず、インターネットは MMS のみに使用されます。</string>
|
||||
<string name="faq_2_title">メッセージ相手が MMS を受信できません。何かできますか?</string>
|
||||
<string name="faq_2_text">MMS のサイズは通信キャリアによって制限されています。アプリの設定で制限を小さくしてみてください(「送信する MMS の画像をリサイズ」から制限を小さくできます)。</string>
|
||||
<string name="faq_1_text">SSMの添付ファイルを送信するために必要となります。ほかのアプリでは使用できるMMSを使用できないことは非常な不利となるため、そのようになっています。ただし他の場合と同様、広告・追跡・分析は一切行わず、インターネットはMMSのみに使用されます。</string>
|
||||
<string name="faq_2_title">メッセージ相手が MMS を受信できません。どうすればいいですか?</string>
|
||||
<string name="faq_2_text">MMSのサイズは通信キャリアによって制限されています。アプリの設定で制限を小さくしてみてください。</string>
|
||||
<string name="faq_3_title">アプリは予約メッセージをサポートしていますか?</string>
|
||||
<string name="faq_3_text">はい、送信ボタンを長押しして、希望の日付と時刻を選択することで、今後送信したいメッセージを予約できます。</string>
|
||||
<string name="message_details_sender">送信者</string>
|
||||
<string name="app_launcher_name">メッセージ</string>
|
||||
<string name="message_details">メッセージ詳細</string>
|
||||
<string name="message_details_receiver">受信者</string>
|
||||
<string name="empty_archive">すべてのアーカイブされた会話を削除する</string>
|
||||
<string name="archived_conversations">アーカイブ</string>
|
||||
<string name="unarchive">非アーカイブ</string>
|
||||
<string name="show_archived_conversations">アーカイブされた会話を表示する</string>
|
||||
<string name="archive">アーカイブ</string>
|
||||
<string name="no_archived_conversations">アーカイブされた会話が見つかりませんでした</string>
|
||||
<string name="restore_all_messages">すべてのメッセージを復元する</string>
|
||||
<string name="restore">復元</string>
|
||||
<string name="enable_custom_notifications">カスタム通知を有効にする</string>
|
||||
<string name="keyword">キーワード</string>
|
||||
<string name="blocked_keywords">ブロックされたキーワード</string>
|
||||
<string name="manage_blocked_keywords">ブロックされたキーワードを管理する</string>
|
||||
<string name="add_a_blocked_keyword">ブロックされたキーワードを追加する</string>
|
||||
<string name="not_blocking_keywords">キーワードをブロックしていません。 ここでキーワードを追加して、それらを含むすべてのメッセージをブロックすることができます。</string>
|
||||
<string name="skip_the_recycle_bin_messages">ごみ箱に入れずメッセージを直接削除</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">添付ファイルのサイズがMMSの制限を超えています</string>
|
||||
<string name="sim_card_not_available">SIMカードは利用できません</string>
|
||||
<string name="message_details_sent_at">送信時間</string>
|
||||
<string name="message_details_received_at">受信時間</string>
|
||||
<string name="archive_emptied_successfully">アーカイブを空にしました</string>
|
||||
<string name="empty_archive_confirmation">アーカイブを空にしてよろしいですか?全ての会話は完全に消去されます。</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">ごみ箱を空にしてよろしいですか?メッセージは完全に消去されます。</string>
|
||||
<string name="restore_confirmation">%sを復元してよろしいですか?</string>
|
||||
<string name="archive_confirmation">%sをアーカイブしてよろしいですか?</string>
|
||||
<string name="restore_whole_conversation_confirmation">この会話の全てのメッセージを復元してよろしいですか?</string>
|
||||
<string name="couldnt_download_mms">MMSをダウンロードできませんでした</string>
|
||||
</resources>
|
||||
|
|
@ -1,2 +1,116 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="unarchive">보관 해제</string>
|
||||
<string name="archived_conversations">보관</string>
|
||||
<string name="no_archived_conversations">보관한 대화가 없습니다</string>
|
||||
<string name="archive_emptied_successfully">보관된 대화가 삭제되었습니다</string>
|
||||
<string name="restore">복원</string>
|
||||
<string name="empty_archive_confirmation">보관한 대화를 삭제하시겠습니까? 모든 보관된 대화가 영구적으로 삭제됩니다.</string>
|
||||
<string name="sender_and_message">보낸 사람 및 내용</string>
|
||||
<string name="sender_only">보낸 사람만</string>
|
||||
<string name="enable_delivery_reports">수신 확인 사용</string>
|
||||
<string name="mms_file_size_limit">MMS 이미지 크기 조정</string>
|
||||
<string name="send_on_enter">엔터 입력 시 메시지 전송</string>
|
||||
<string name="use_simple_characters">메시지 전송 시 악센트 및 발음 부호 제거</string>
|
||||
<string name="mms_file_size_limit_none">제한 없음</string>
|
||||
<string name="messages">메시지</string>
|
||||
<string name="send_long_message_mms">긴 메시지를 MMS로 전송</string>
|
||||
<string name="outgoing_messages">보내는 메시지</string>
|
||||
<string name="group_message_mms">그룹 메시지를 MMS로 전송</string>
|
||||
<string name="export_messages">메시지 내보내기</string>
|
||||
<string name="export_sms">SMS 내보내기</string>
|
||||
<string name="export_mms">MMS 내보내기</string>
|
||||
<string name="import_messages">메시지 불러오기</string>
|
||||
<string name="import_sms">SMS 불러오기</string>
|
||||
<string name="import_mms">MMS 불러오기</string>
|
||||
<string name="no_option_selected">한 개 이상의 항목을 선택해야 합니다</string>
|
||||
<string name="error_radio_turned_off">무선 통신이 사용 중지되어 있어 메시지가 전송되지 않았습니다</string>
|
||||
<string name="carrier_send_error">통신 오류로 인해 메시지가 전송되지 않았습니다</string>
|
||||
<string name="unknown_error_occurred_sending_message">다음 오류로 인해 메시지가 전송되지 않았습니다: %d</string>
|
||||
<string name="invalid_short_code">해당 단축 코드에는 답장할 수 없습니다</string>
|
||||
<string name="sim_card_not_available">SIM 카드를 사용할 수 없습니다</string>
|
||||
<string name="couldnt_download_mms">MMS를 다운로드할 수 없습니다</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">첨부 파일의 크기가 MMS 제한을 초과합니다</string>
|
||||
<string name="faq_1_title">왜 인터넷 접근 권한이 필요한가요?</string>
|
||||
<string name="faq_3_title">예약 메시지를 지원하나요?</string>
|
||||
<string name="faq_3_text">네, 전송 버튼을 길게 눌러서 원하는 날짜와 시간에 메시지를 전송하도록 예약할 수 있습니다.</string>
|
||||
<string name="faq_2_title">받는 사람이 제 MMS를 못 받았다고 합니다. 제가 무엇을 해야 하나요?</string>
|
||||
<string name="faq_2_text">MMS 크기는 이동 통신사에 의해 제한됩니다. 앱 설정에서 저 작은 크기로 설정해보세요.</string>
|
||||
<string name="new_message">새 메시지</string>
|
||||
<string name="enable_custom_notifications">사용자 지정 알림 사용</string>
|
||||
<string name="empty_archive">보관한 대화 모두 삭제</string>
|
||||
<string name="show_archived_conversations">보관된 대화 표시</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="other">대화 %d개</item>
|
||||
</plurals>
|
||||
<plurals name="delete_messages">
|
||||
<item quantity="other">메시지 %d개</item>
|
||||
</plurals>
|
||||
<string name="not_blocking_keywords">차단한 키워드가 없습니다. 특정 키워드를 포함한 메시지를 차단하려면 여기에 단어를 추가하세요.</string>
|
||||
<string name="lock_screen_visibility">잠금 화면 알림 표시 여부</string>
|
||||
<string name="empty_destination_address">빈 번호로 메지지를 보낼 수 없습니다</string>
|
||||
<string name="unable_to_save_message">메시지를 Telephony 저장소에 저장할 수 없습니다</string>
|
||||
<string name="error_service_is_unavailable">통신 서비스를 사용할 수 없어 메시지가 전송되지 않았습니다</string>
|
||||
<string name="invalid_short_code_desc">\"AB-CD0\"과 같은 단어를 포함한 단축 코드가 아닌 \"503501\"과 같은 숫자 단축 코드에만 답장할 수 있습니다.</string>
|
||||
<string name="faq_1_text">안타깝게도 MMS 첨부 파일을 전송하려면 인터넷 접근이 필요합니다. MMS를 전송하지 못한다면 다른 앱과 비교하여 큰 단점이 될 것입니다. 하지만 저희의 다른 앱과 마찬가지로 광고나 추적, 분석따위는 포함되어 있지 않고, 인터넷은 MMS 전송을 위해서만 사용됩니다.</string>
|
||||
<string name="message_not_sent_short">메시지 전송 안 됨</string>
|
||||
<string name="no_conversations_found">저장된 대화가 없습니다</string>
|
||||
<string name="reply">답장</string>
|
||||
<string name="unpin_conversation">고정 해제</string>
|
||||
<string name="members">참여자</string>
|
||||
<string name="conversation_name">대화명</string>
|
||||
<string name="schedule_send_warning">휴대전화의 전원이 켜져있고 앱이 백그라운드에서 종료되지 않도록 설정하세요.</string>
|
||||
<string name="skip_the_recycle_bin_messages">휴지통에 보관하지 않고 바로 삭제</string>
|
||||
<string name="delete_whole_conversation_confirmation">이 대화의 메시지를 모두 삭제하시겠습니까?</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">휴지통을 비우시겠습니까? 모든 메시지가 영구적으로 삭제됩니다.</string>
|
||||
<string name="restore_all_messages">모든 메시지 복원</string>
|
||||
<string name="restore_whole_conversation_confirmation">이 대화의 모든 메시지를 복원하시겠습니까?</string>
|
||||
<string name="archive_confirmation">%s를 보관하시겠습니까?</string>
|
||||
<string name="restore_confirmation">%s를 복원하시겠습니까?</string>
|
||||
<string name="blocked_keywords">차단된 단어</string>
|
||||
<string name="keyword">단어</string>
|
||||
<string name="manage_blocked_keywords">차단한 키워드</string>
|
||||
<string name="add_a_blocked_keyword">차단 키워드 추가</string>
|
||||
<string name="app_launcher_name">메시지</string>
|
||||
<string name="type_a_message">메시지를 입력하세요…</string>
|
||||
<string name="message_not_sent_touch_retry">전송되지 않았습니다. 다시 시도하려면 선택하세요.</string>
|
||||
<string name="message_sending_error">\'%s\'에게 전송한 메시지가 전송되지 않았습니다</string>
|
||||
<string name="add_person">수신자 추가</string>
|
||||
<string name="attachment">첨부</string>
|
||||
<string name="start_conversation">대화 시작</string>
|
||||
<string name="show_character_counter">메시지 작성 시 글자 수 표시</string>
|
||||
<string name="loading_messages">메시지 불러오는 중…</string>
|
||||
<string name="no_reply_support">보낸 사람이 답장 기능을 지원하지 않습니다</string>
|
||||
<string name="draft">임시 저장</string>
|
||||
<string name="sending">전송 중…</string>
|
||||
<string name="pin_conversation">상단에 고정</string>
|
||||
<string name="forward_message">전달</string>
|
||||
<string name="compress_error">사진을 선택한 크기로 압축할 수 없습니다</string>
|
||||
<string name="duplicate_item_warning">중복된 항목이 제외되었습니다</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="other">외 %d명</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">새 대화</string>
|
||||
<string name="add_contact_or_number">연락처 또는 전화번호 추가…</string>
|
||||
<string name="suggestions">제안</string>
|
||||
<string name="conversation_details">대화 세부 사항</string>
|
||||
<string name="rename_conversation">대화명 편집</string>
|
||||
<string name="rename_conversation_warning">대화명은 다른 사람한테 표시되지 않습니다</string>
|
||||
<string name="scheduled_message">예약된 메시지</string>
|
||||
<string name="schedule_message">메시지 예약</string>
|
||||
<string name="schedule_send">예약 전송</string>
|
||||
<string name="cancel_schedule_send">예약 전송 취소</string>
|
||||
<string name="must_pick_time_in_the_future">미래의 시간을 선택해야 합니다</string>
|
||||
<string name="update_message">메시지 수정</string>
|
||||
<string name="send_now">지금 전송</string>
|
||||
<string name="message_details">메시지 세부 정보</string>
|
||||
<string name="message_details_sender">보낸 사람</string>
|
||||
<string name="message_details_receiver">받는 사람</string>
|
||||
<string name="message_details_sent_at">전송 시간</string>
|
||||
<string name="message_details_received_at">받은 시간</string>
|
||||
<string name="channel_received_sms">받은 메시지</string>
|
||||
<string name="mark_as_read">읽음으로 표시</string>
|
||||
<string name="mark_as_unread">읽지 않음으로 표시</string>
|
||||
<string name="me">나</string>
|
||||
<string name="archive">보관</string>
|
||||
</resources>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
<string name="error_radio_turned_off">Kon het bericht niet verzenden: vliegtuigmodus</string>
|
||||
<string name="carrier_send_error">Kon het bericht niet verzenden: netwerkfout</string>
|
||||
<string name="unknown_error_occurred_sending_message">Kon het bericht niet verzenden: foutcode %d</string>
|
||||
<string name="invalid_short_code">Er kan niet gereageerd worden op korte codes zoals deze</string>
|
||||
<string name="invalid_short_code">Er kan niet worden gereageerd op dit bericht</string>
|
||||
<string name="invalid_short_code_desc">Er kan alleen worden gereageerd op korte codes met cijfers, zoals \"503501\", maar niet op codes met letters en cijfers, zoals \"AB-CD0\".</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">De bestandsgrootte van de bijlage overschrijdt de limiet voor MMS</string>
|
||||
<string name="sim_card_not_available">Simkaart niet beschikbaar</string>
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@
|
|||
<string name="compress_error">Não pôde comprimir imagem ao tamanho selecionado</string>
|
||||
<string name="duplicate_item_warning">O item duplicado não foi incluído</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">and %d other</item>
|
||||
<item quantity="many">and %d others</item>
|
||||
<item quantity="other">and %d others</item>
|
||||
<item quantity="one">E %d outro</item>
|
||||
<item quantity="many">E %d outros</item>
|
||||
<item quantity="other">E %d outros</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">Nova conversa</string>
|
||||
<string name="add_contact_or_number">Adicionar contato ou número…</string>
|
||||
|
|
@ -117,4 +117,6 @@
|
|||
<string name="enable_custom_notifications">Ativar notificações personalizadas</string>
|
||||
<string name="update_message">Atualizar mensagem</string>
|
||||
<string name="message_details">Detalhes da mensagem</string>
|
||||
<string name="couldnt_download_mms">Não foi possível baixar o MMS</string>
|
||||
<string name="app_launcher_name">Mensagens</string>
|
||||
</resources>
|
||||
|
|
@ -3,53 +3,53 @@
|
|||
<string name="archive_emptied_successfully">O arquivo foi limpo com sucesso</string>
|
||||
<string name="type_a_message">Escrever uma mensagem…</string>
|
||||
<string name="reply">Responder</string>
|
||||
<string name="schedule_send_warning">Mantenha o dispositivo ligado e certifique-se de que nada interrompe a aplicação em segundo plano.</string>
|
||||
<string name="schedule_send_warning">Mantenha o telefone ligado e verifique se não há nada que esteja a bloquear a aplicação em segundo plano.</string>
|
||||
<string name="send_now">Enviar agora</string>
|
||||
<string name="no_archived_conversations">Não foram encontradas conversas arquivadas</string>
|
||||
<string name="empty_archive_confirmation">Tem a certeza que pretende limpar o arquivo? Todas as conversas arquivadas serão apagadas permanentemente.</string>
|
||||
<string name="no_archived_conversations">Não existem conversas arquivadas</string>
|
||||
<string name="empty_archive_confirmation">Tem a certeza de que pretende limpar o arquivo? Todas as conversas arquivadas serão eliminadas.</string>
|
||||
<string name="restore">Restaurar</string>
|
||||
<string name="delete_whole_conversation_confirmation">Tem a certeza que deseja apagar todas as mensagens desta conversa?</string>
|
||||
<string name="archive_confirmation">Tem a certeza que deseja arquivar %s?</string>
|
||||
<string name="no_conversations_found">Não foram encontradas conversas arquivadas</string>
|
||||
<string name="delete_whole_conversation_confirmation">Tem a certeza de que pretende apagar todas as mensagens desta conversa?</string>
|
||||
<string name="archive_confirmation">Tem a certeza de que pretende arquivar %s?</string>
|
||||
<string name="no_conversations_found">Não foram encontradas conversas</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="one">%d conversa</item>
|
||||
<item quantity="many">%d conversas</item>
|
||||
<item quantity="other">%d conversas</item>
|
||||
<item quantity="other"></item>
|
||||
</plurals>
|
||||
<plurals name="delete_messages">
|
||||
<item quantity="one">%d mensagem</item>
|
||||
<item quantity="many">%d mensagens</item>
|
||||
<item quantity="other">%d mensagens</item>
|
||||
<item quantity="other"></item>
|
||||
</plurals>
|
||||
<string name="mms_file_size_limit_none">Sem limite</string>
|
||||
<string name="group_message_mms">Enviar mensagens de grupo como MMS</string>
|
||||
<string name="send_long_message_mms">Enviar mensagens longas como MMS</string>
|
||||
<string name="messages">Mensagens</string>
|
||||
<string name="export_messages">Exportar mensagens</string>
|
||||
<string name="unknown_error_occurred_sending_message">Não foi possível enviar mensagem, código de erro: %d</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">O tamanho do anexo excede os limites máximos de MMS</string>
|
||||
<string name="sim_card_not_available">Cartão SIM indisponível</string>
|
||||
<string name="couldnt_download_mms">Não foi possível descarregar o MMS</string>
|
||||
<string name="faq_1_title">Qual o motivo da aplicação necessitar de internet?</string>
|
||||
<string name="faq_3_title">A aplicação suporta o agendamento de mensagens?</string>
|
||||
<string name="unknown_error_occurred_sending_message">Não foi possível enviar a mensagem. Erro: %d</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">O anexo excede o tamanho máximo permitido para MMS</string>
|
||||
<string name="sim_card_not_available">Cartão SIM não encontrado</string>
|
||||
<string name="couldnt_download_mms">Não foi possível descarregar a MMS</string>
|
||||
<string name="faq_1_title">Porque é que a aplicação requer acesso à Internet?</string>
|
||||
<string name="faq_3_title">Posso agendar mensagens com esta aplicação?</string>
|
||||
<string name="update_message">Atualizar mensagem</string>
|
||||
<string name="export_sms">Exportar SMS</string>
|
||||
<string name="send_on_enter">Enviar mensagem ao clicar no Enter</string>
|
||||
<string name="send_on_enter">Enviar mensagem ao premir Enter</string>
|
||||
<string name="app_launcher_name">Mensagens</string>
|
||||
<string name="message_not_sent_short">Mensagem não enviada</string>
|
||||
<string name="message_not_sent_touch_retry">Não enviada. Clique para tentar novamente.</string>
|
||||
<string name="message_sending_error">A sua mensagem para \'%s\' não foi enviada</string>
|
||||
<string name="start_conversation">Comece uma conversa</string>
|
||||
<string name="message_not_sent_touch_retry">Não enviada. Toque para tentar novamente.</string>
|
||||
<string name="message_sending_error">A mensagem destinada a \'%s\' não foi enviada</string>
|
||||
<string name="start_conversation">Iniciar uma conversa</string>
|
||||
<string name="add_person">Adicionar pessoa</string>
|
||||
<string name="attachment">Anexo</string>
|
||||
<string name="show_character_counter">Mostrar contador de caractéres ao escrever mensagens</string>
|
||||
<string name="show_character_counter">Mostrar número de caracteres ao escrever a mensagem</string>
|
||||
<string name="loading_messages">A carregar mensagens…</string>
|
||||
<string name="message_details_received_at">Recebido a</string>
|
||||
<string name="duplicate_item_warning">Itens duplicados não foram incluídos</string>
|
||||
<string name="message_details_received_at">Recebida a</string>
|
||||
<string name="duplicate_item_warning">O item duplicado não foi incluído</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">e %d outro</item>
|
||||
<item quantity="many">e %d outros</item>
|
||||
<item quantity="other">e %d outros</item>
|
||||
<item quantity="one">e mais %d</item>
|
||||
<item quantity="many">e mais %d</item>
|
||||
<item quantity="other"></item>
|
||||
</plurals>
|
||||
<string name="new_conversation">Nova conversa</string>
|
||||
<string name="add_contact_or_number">Adicionar contacto ou número…</string>
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
<string name="conversation_name">Nome da conversa</string>
|
||||
<string name="conversation_details">Detalhes da conversa</string>
|
||||
<string name="rename_conversation">Renomear conversa</string>
|
||||
<string name="rename_conversation_warning">Só pode visualizar o nome da conversa</string>
|
||||
<string name="rename_conversation_warning">Apenas você pode ver o nome desta conversa</string>
|
||||
<string name="message_details">Detalhes da mensagem</string>
|
||||
<string name="channel_received_sms">SMS recebida</string>
|
||||
<string name="new_message">Nova mensagem</string>
|
||||
|
|
@ -70,29 +70,53 @@
|
|||
<string name="schedule_send">Agendar envio</string>
|
||||
<string name="message_details_sender">Remetente</string>
|
||||
<string name="me">Eu</string>
|
||||
<string name="pin_conversation">Fixar no topo</string>
|
||||
<string name="pin_conversation">Fixar</string>
|
||||
<string name="unpin_conversation">Desafixar</string>
|
||||
<string name="cancel_schedule_send">Cancelar o envio de agendamento</string>
|
||||
<string name="cancel_schedule_send">Cancelar envio agendado</string>
|
||||
<string name="enable_custom_notifications">Ativar notificações personalizadas</string>
|
||||
<string name="empty_archive">Eliminar todas as conversas arquivadas</string>
|
||||
<string name="archived_conversations">Arquivo / Arquivadas</string>
|
||||
<string name="archived_conversations">Arquivo</string>
|
||||
<string name="show_archived_conversations">Mostrar conversas arquivadas</string>
|
||||
<string name="unarchive">Desarquivar</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Tem a certeza que deseja limpar a reciclagem? As mensagens serão permanentemente apagadas.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Ignorar a reciclagem e apagar as mensagens de forma direta</string>
|
||||
<string name="restore_whole_conversation_confirmation">Tem certeza de que deseja restaurar todas as mensagens desta conversa?</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Tem a certeza de que pretende esvaziar a reciclagem? As mensagens não poderão ser recuperadas.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Eliminar mensagens sem as colocar na reciclagem</string>
|
||||
<string name="restore_whole_conversation_confirmation">Tem a certeza de que pretende restaurar todas as mensagens desta conversa?</string>
|
||||
<string name="restore_all_messages">Restaurar todas as mensagens</string>
|
||||
<string name="archive">Arquivo / Arquivadas</string>
|
||||
<string name="restore_confirmation">Tem a certeza que quer restaurar %s?</string>
|
||||
<string name="archive">Arquivo</string>
|
||||
<string name="restore_confirmation">Tem a certeza de que pretende restaurar %s?</string>
|
||||
<string name="export_mms">Exportar MMS</string>
|
||||
<string name="import_messages">Importar mensagens</string>
|
||||
<string name="import_sms">Importar SMS</string>
|
||||
<string name="import_mms">Importar MMS</string>
|
||||
<string name="no_option_selected">Deve selecionar pelo menos um item</string>
|
||||
<string name="empty_destination_address">Não é possível enviar mensagem a um número vazio</string>
|
||||
<string name="error_service_is_unavailable">Não foi possível enviar mensagem, serviço indisponível</string>
|
||||
<string name="lock_screen_visibility">Visibilidade da notificação no ecrã de bloqueio</string>
|
||||
<string name="no_option_selected">Tem que selecionar, pelo menos, 1 item</string>
|
||||
<string name="empty_destination_address">Não pode enviar mensagens se não existir um destinatário</string>
|
||||
<string name="error_service_is_unavailable">Serviço indisponível. Não pode enviar a mensagem</string>
|
||||
<string name="lock_screen_visibility">Notificação no ecrã de bloqueio</string>
|
||||
<string name="sender_and_message">Remetente e mensagem</string>
|
||||
<string name="sender_only">Apenas o remetente</string>
|
||||
<string name="sender_only">Apenas remetente</string>
|
||||
<string name="enable_delivery_reports">Ativar relatórios de entrega</string>
|
||||
<string name="carrier_send_error">Erro da operadora. Não pode enviar a mensagem</string>
|
||||
<string name="faq_1_text">Infelizmente, é a única forma de poder enviar anexos MMS. Não ter a capacidade de enviar MMS representaria uma enorme desvantagem comparativamente a outras aplicações e foi por isso que tomámos esta decisão. Mas, como habitualmente, a aplicação não tem anúncios, não rastreia os utilizadores nem recolhe dados pessoais. Esta permissão apenas é necessária para enviar MMS.</string>
|
||||
<string name="faq_2_title">O destinatário não recebe as minhas MMS, o que posso fazer?</string>
|
||||
<string name="keyword">Palavra-chave</string>
|
||||
<string name="blocked_keywords">Palavras-chave bloqueadas</string>
|
||||
<string name="manage_blocked_keywords">Gerir palavras-chave bloqueadas</string>
|
||||
<string name="not_blocking_keywords">Não existem quaisquer palavras-chave bloqueadas. Pode adicionar palavras-chave para bloquear todas as mensagens que as contenham.</string>
|
||||
<string name="add_a_blocked_keyword">Adicionar palavra-chave</string>
|
||||
<string name="use_simple_characters">Remover acentos e diacríticos nas mensagens enviadas</string>
|
||||
<string name="unable_to_save_message">Não foi possível guardar a mensagem na base de dados do telefone</string>
|
||||
<string name="error_radio_turned_off">Rádio desligado. Não pode enviar a mensagem</string>
|
||||
<string name="invalid_short_code">Não é possível responder a códigos deste tipo</string>
|
||||
<string name="faq_2_text">O tamanho das MMS é limitado pelas operadoras. Tente definir um limite inferior nas definições da aplicação.</string>
|
||||
<string name="faq_3_text">Sim, pode agendar mensagens e escolher a data e hora de envio com um toque longo no botão Enviar.</string>
|
||||
<string name="invalid_short_code_desc">Apenas é possível responder a códigos curtos com números como, por exemplo, e não a códigos que combinem letras e números com, por exemplo, \"AB-CD0\".</string>
|
||||
<string name="must_pick_time_in_the_future">Tem que escolher um momento futuro</string>
|
||||
<string name="mms_file_size_limit">Redimensionar imagens MMS enviadas</string>
|
||||
<string name="outgoing_messages">Mensagens a enviar</string>
|
||||
<string name="no_reply_support">O remetente não aceita respostas</string>
|
||||
<string name="draft">Rascunho</string>
|
||||
<string name="forward_message">Encaminhar</string>
|
||||
<string name="compress_error">Não foi possível comprimir a imagem para o tamanho selecionado</string>
|
||||
<string name="message_details_receiver">Destinatário</string>
|
||||
<string name="message_details_sent_at">Enviada a</string>
|
||||
</resources>
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
<string name="no_reply_support">O remetente não aceita respostas</string>
|
||||
<string name="draft">Rascunho</string>
|
||||
<string name="sending">A enviar…</string>
|
||||
<string name="pin_conversation">Fixar</string>
|
||||
<string name="pin_conversation">Afixar no topo</string>
|
||||
<string name="unpin_conversation">Desafixar</string>
|
||||
<string name="forward_message">Encaminhar</string>
|
||||
<string name="compress_error">Não foi possível comprimir a imagem para o tamanho selecionado</string>
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
<string name="restore_all_messages">Restaurar todas as mensagens</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Tem a certeza de que pretende esvaziar a reciclagem\? As mensagens não poderão ser recuperadas.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Eliminar mensagens sem as colocar na reciclagem</string>
|
||||
<string name="delete_whole_conversation_confirmation">Tem a certeza de que pretende apagar todas as mensagens desta conversa\?</string>
|
||||
<string name="delete_whole_conversation_confirmation">Tem a certeza de que pretende eliminar todas as mensagens desta conversa?</string>
|
||||
<string name="archive_confirmation">Tem a certeza de que pretende arquivar %s\?</string>
|
||||
<string name="restore_whole_conversation_confirmation">Tem a certeza de que pretende restaurar todas as mensagens desta conversa\?</string>
|
||||
<string name="restore_confirmation">Tem a certeza de que pretende restaurar %s\?</string>
|
||||
|
|
|
|||
|
|
@ -1,29 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="type_a_message">Introduceţi un mesaj…</string>
|
||||
<string name="type_a_message">Introdu un mesaj…</string>
|
||||
<string name="message_not_sent_short">Mesajul nu a fost trimis</string>
|
||||
<string name="message_not_sent_touch_retry">Mesajul nu a fost trimis. Apasă pentru a încerca din nou.</string>
|
||||
<string name="message_sending_error">Mesajul tău către \'%s\' nu a fost trimis</string>
|
||||
<string name="add_person">Adaugă o persoană</string>
|
||||
<string name="attachment">Anexă</string>
|
||||
<string name="no_conversations_found">Nu au fost găsite conversaţii stocate</string>
|
||||
<string name="start_conversation">Începe o conversaţie</string>
|
||||
<string name="attachment">Atașament</string>
|
||||
<string name="no_conversations_found">Nu au fost găsite conversații stocate</string>
|
||||
<string name="start_conversation">Începe o conversație</string>
|
||||
<string name="reply">Răspunde</string>
|
||||
<string name="show_character_counter">Afişează un contor de caractere la scrierea mesajelor</string>
|
||||
<string name="show_character_counter">Afișează un contor de caractere la scrierea mesajelor</string>
|
||||
<string name="loading_messages">Încărcare mesaje…</string>
|
||||
<string name="no_reply_support">Expeditorul nu suportă funcţia de a răspunde la mesaje</string>
|
||||
<string name="no_reply_support">Expeditorul nu suportă funcția de a răspunde la mesaje</string>
|
||||
<string name="draft">Ciornă</string>
|
||||
<string name="sending">Trimitere…</string>
|
||||
<string name="pin_conversation">Fixare în vârf</string>
|
||||
<string name="pin_conversation">Fixare în partea de sus</string>
|
||||
<string name="unpin_conversation">Elimină fixarea</string>
|
||||
<string name="forward_message">Redirecţionare</string>
|
||||
<string name="forward_message">Redirecționare</string>
|
||||
<string name="compress_error">Nu se poate comprima imaginea la dimensiunea selectată</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">și %d alt</item>
|
||||
<item quantity="few">și %d altele</item>
|
||||
<item quantity="other">și %d de altele</item>
|
||||
<item quantity="one">și încă %d</item>
|
||||
<item quantity="few">și încă %d</item>
|
||||
<item quantity="other">și încă %d</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">Conversaţie nouă</string>
|
||||
<string name="new_conversation">Conversație nouă</string>
|
||||
<string name="add_contact_or_number">Adaugă contact sau număr de telefon…</string>
|
||||
<string name="suggestions">Sugestii</string>
|
||||
<string name="channel_received_sms">SMS-uri primite</string>
|
||||
|
|
@ -31,11 +31,11 @@
|
|||
<string name="mark_as_read">Marchează ca citit</string>
|
||||
<string name="mark_as_unread">Marchează ca necitit</string>
|
||||
<string name="me">Eu</string>
|
||||
<string name="delete_whole_conversation_confirmation">Sunteți sigur că doriți să ștergeți toate mesajele din această conversație\?</string>
|
||||
<string name="delete_whole_conversation_confirmation">Ești sigur că dorești să ștergi toate mesajele din această conversație?</string>
|
||||
<plurals name="delete_conversations">
|
||||
<item quantity="one">%d conversaţie</item>
|
||||
<item quantity="few">%d conversaţii</item>
|
||||
<item quantity="other">%d conversaţii</item>
|
||||
<item quantity="one">%d conversație</item>
|
||||
<item quantity="few">%d conversații</item>
|
||||
<item quantity="other">%d conversații</item>
|
||||
</plurals>
|
||||
<plurals name="delete_messages">
|
||||
<item quantity="one">%d mesaj</item>
|
||||
|
|
@ -43,30 +43,80 @@
|
|||
<item quantity="other">%d mesaje</item>
|
||||
</plurals>
|
||||
<string name="lock_screen_visibility">Vizibilitatea notificării pe ecranul de blocare</string>
|
||||
<string name="sender_and_message">Expeditor şi mesaj</string>
|
||||
<string name="sender_and_message">Expeditor și mesaj</string>
|
||||
<string name="sender_only">Doar expeditorul</string>
|
||||
<string name="enable_delivery_reports">Activați rapoartele de livrare</string>
|
||||
<string name="use_simple_characters">Elimnă accente şi diacritice la trimitearea mesajelor</string>
|
||||
<string name="enable_delivery_reports">Activează rapoartele de livrare</string>
|
||||
<string name="use_simple_characters">Elimină accentele și diacriticele la trimiterea mesajelor</string>
|
||||
<string name="mms_file_size_limit">Redimensioneză imaginile trimise prin MMS</string>
|
||||
<string name="mms_file_size_limit_none">Fără limită</string>
|
||||
<string name="outgoing_messages">Mesaje transmise</string>
|
||||
<string name="group_message_mms">Trimiteți mesaje de grup ca MMS</string>
|
||||
<string name="send_long_message_mms">Trimiteți mesaje lungi ca MMS</string>
|
||||
<string name="messages">Mesajele</string>
|
||||
<string name="group_message_mms">Trimite mesaje de grup ca MMS</string>
|
||||
<string name="send_long_message_mms">Trimite mesaje lungi ca MMS</string>
|
||||
<string name="messages">Mesaje</string>
|
||||
<string name="export_messages">Exportă mesajele</string>
|
||||
<string name="export_sms">Exportă mesajele SMS</string>
|
||||
<string name="export_mms">Exportă mesajele MMS</string>
|
||||
<string name="import_messages">Importă mesajele</string>
|
||||
<string name="import_sms">Importă mesajele SMS</string>
|
||||
<string name="import_mms">Importă mesajele MMS</string>
|
||||
<string name="no_option_selected">Trebuie să selectaţi cel puţin un element</string>
|
||||
<string name="no_option_selected">Trebuie să selectezi cel puțin un element</string>
|
||||
<string name="faq_1_title">De ce necesită aplicația acces la internet\?</string>
|
||||
<string name="faq_1_text">Din păcate este nevoie pentru a primite anexe MMS. Ideea de a nu putea trimite MMS-uri ar prezenta un dezavantaj foarte mare în comparaţie cu alte aplicaţii, aşa că am decis să mergem pe această cale. Totuşi, ca de obicei, nu este prezentă nici un fel de reclamă, urmărire sau analiză, internetul este folosit doar pentru a trimite MMS-uri.</string>
|
||||
<string name="faq_1_text">Din păcate este nevoie pentru a primite anexe MMS. Ideea de a nu putea trimite MMS-uri ar prezenta un dezavantaj foarte mare în comparație cu alte aplicații, așa că am decis să mergem pe această cale. Totuși, ca de obicei, nu este prezentă niciun fel de reclamă, urmărire sau analiză, internetul este folosit doar pentru a trimite MMS-uri.</string>
|
||||
<string name="faq_2_title">Celălalt capăt nu-mi primește MMS-ul, pot face ceva în acest sens\?</string>
|
||||
<string name="faq_2_text">Dimensiunea MMS este limitată de operatorii de telefonie; puteți încerca să setați o limită mai mică în setările aplicației.</string>
|
||||
<string name="members">Membrii</string>
|
||||
<string name="faq_2_text">Dimensiunea MMS este limitată de operatorii de telefonie; poți încerca să setezi o limită mai mică în setările aplicației.</string>
|
||||
<string name="members">Membri</string>
|
||||
<string name="conversation_name">Numele conversației</string>
|
||||
<string name="conversation_details">Detaliile conversației</string>
|
||||
<string name="rename_conversation">Redenumire conversație</string>
|
||||
<string name="app_launcher_name">Mesaje</string>
|
||||
<string name="rename_conversation_warning">Numai tu poți vedea numele acestei conversații</string>
|
||||
<string name="scheduled_message">Mesaj programat</string>
|
||||
<string name="schedule_message">Programează mesajul</string>
|
||||
<string name="schedule_send">Programează trimiterea</string>
|
||||
<string name="must_pick_time_in_the_future">Trebuie să alegi un timp în viitor</string>
|
||||
<string name="schedule_send_warning">Ține telefonul pornit și asigură-te că nimic nu oprește aplicația în fundal.</string>
|
||||
<string name="update_message">Actualizează mesajul</string>
|
||||
<string name="send_now">Trimite acum</string>
|
||||
<string name="message_details">Detalii mesaj</string>
|
||||
<string name="empty_archive">Șterge toate conversațiile arhivate</string>
|
||||
<string name="archived_conversations">Arhivează</string>
|
||||
<string name="show_archived_conversations">Afișează conversațiile arhivate</string>
|
||||
<string name="message_details_sender">Expeditor</string>
|
||||
<string name="message_details_sent_at">Trimis la</string>
|
||||
<string name="message_details_receiver">Destinatar</string>
|
||||
<string name="message_details_received_at">Primit la</string>
|
||||
<string name="unarchive">Dezarhivează</string>
|
||||
<string name="no_archived_conversations">Nu au fost găsite conversații arhivate</string>
|
||||
<string name="archive_emptied_successfully">Arhiva a fost golită cu succes</string>
|
||||
<string name="restore_all_messages">Restaurează toate mesajele</string>
|
||||
<string name="empty_recycle_bin_messages_confirmation">Sigur dorești să golești Coșul de reciclare? Mesajele se vor pierde definitiv.</string>
|
||||
<string name="skip_the_recycle_bin_messages">Omite Coșul de reciclare, șterge direct mesajele</string>
|
||||
<string name="archive_confirmation">Sigur dorești să arhivezi %s?</string>
|
||||
<string name="restore_whole_conversation_confirmation">Sigur dorești să restabilești toate mesajele acestei conversații?</string>
|
||||
<string name="restore_confirmation">Sigur dorești să restaurezi %s?</string>
|
||||
<string name="keyword">Cuvânt cheie</string>
|
||||
<string name="blocked_keywords">Cuvinte cheie blocate</string>
|
||||
<string name="manage_blocked_keywords">Gestionează cuvintele cheie blocate</string>
|
||||
<string name="add_a_blocked_keyword">Adaugă un cuvânt cheie blocat</string>
|
||||
<string name="faq_3_text">Da, poți programa mesajele care urmează să fie trimise în viitor, apăsând lung butonul Trimite și alegând data și ora dorită.</string>
|
||||
<string name="send_on_enter">Trimite mesaj apăsând Enter</string>
|
||||
<string name="not_blocking_keywords">Nu blochezi niciun cuvânt cheie. Poți adăuga cuvinte cheie aici pentru a bloca toate mesajele care le conțin.</string>
|
||||
<string name="unable_to_save_message">Nu se poate salva mesajul în baza de date de telefonie</string>
|
||||
<string name="error_radio_turned_off">Nu s-a putut trimite mesajul, modulul radio este oprit</string>
|
||||
<string name="invalid_short_code">Nu pot răspunde la astfel de coduri scurte</string>
|
||||
<string name="invalid_short_code_desc">Poți răspunde numai la codurile scurte cu numere precum „503501”, dar nu și la codurile care conțin litere și numere precum „AB-CD0”.</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">Dimensiunea atașamentului depășește limita maximă MMS</string>
|
||||
<string name="couldnt_download_mms">Nu s-a putut descărca MMS</string>
|
||||
<string name="duplicate_item_warning">Elementul duplicat nu a fost inclus</string>
|
||||
<string name="restore">Restaurare</string>
|
||||
<string name="enable_custom_notifications">Activează notificările personalizate</string>
|
||||
<string name="error_service_is_unavailable">Nu s-a putut trimite mesajul, serviciul nu este disponibil</string>
|
||||
<string name="carrier_send_error">Nu s-a putut trimite mesajul, eroare de operator</string>
|
||||
<string name="unknown_error_occurred_sending_message">Nu s-a putut trimite mesajul, cod de eroare: %d</string>
|
||||
<string name="sim_card_not_available">Cartela SIM nu este disponibilă</string>
|
||||
<string name="faq_3_title">Aplicația acceptă mesajele programate?</string>
|
||||
<string name="archive">Arhivează</string>
|
||||
<string name="empty_archive_confirmation">Sigur dorești să golești arhiva? Toate conversațiile arhivate se vor pierde definitiv.</string>
|
||||
<string name="cancel_schedule_send">Anulează trimiterea programată</string>
|
||||
<string name="empty_destination_address">Nu se poate trimite mesaj la un număr gol</string>
|
||||
</resources>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<string name="duplicate_item_warning">Yinelenen öge dahil edilmedi</string>
|
||||
<plurals name="and_other_contacts">
|
||||
<item quantity="one">ve %d diğeri</item>
|
||||
<item quantity="other">ve %d diğeri</item>
|
||||
<item quantity="other">ve %d diğerleri</item>
|
||||
</plurals>
|
||||
<string name="new_conversation">Yeni görüşme</string>
|
||||
<string name="add_contact_or_number">Kişi veya Numara Ekle…</string>
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
<string name="keyword">Ключове слово</string>
|
||||
<string name="blocked_keywords">Заблоковані ключові слова</string>
|
||||
<string name="manage_blocked_keywords">Керувати заблокованими ключовими словами</string>
|
||||
<string name="not_blocking_keywords">У вас немає заблокованих ключових слів. Ви можете додати ключові слова тут, щоб блокувати всі повідомлення, що містить їх</string>
|
||||
<string name="not_blocking_keywords">У вас немає заблокованих ключових слів. Ви можете додати ключові слова тут, щоб блокувати всі повідомлення, що містить їх.</string>
|
||||
<string name="add_a_blocked_keyword">Додати заблоковане ключове слово</string>
|
||||
<string name="lock_screen_visibility">Видимість сповіщень на екрані блокування</string>
|
||||
<string name="sender_and_message">Відправник і повідомлення</string>
|
||||
|
|
@ -110,7 +110,7 @@
|
|||
<string name="carrier_send_error">Не вдалося надіслати повідомлення, помилка оператора</string>
|
||||
<string name="unknown_error_occurred_sending_message">Не вдалося надіслати повідомлення, код помилки: %d</string>
|
||||
<string name="invalid_short_code">Не можна відповідати на такі короткі коди</string>
|
||||
<string name="invalid_short_code_desc">Ви можете відповідати лише на короткі коди з цифрами, як-от \"503501\", але не на коди, що містять літери та цифри, як-от \"AB-CD0\".</string>
|
||||
<string name="invalid_short_code_desc">Ви можете відповідати лише на короткі коди з цифрами, як-от «503501», але не на коди, що містять літери та цифри, як-от «AB-CD0».</string>
|
||||
<string name="attachment_sized_exceeds_max_limit">Розмір вкладеного файлу перевищує максимальний ліміт MMS</string>
|
||||
<string name="sim_card_not_available">SIM-картка не доступна</string>
|
||||
<string name="couldnt_download_mms">Не вдалося завантажити MMS</string>
|
||||
|
|
@ -120,4 +120,6 @@
|
|||
<string name="faq_2_text">Розмір MMS обмежений операторами, ви можете спробувати зменшити ліміт у налаштуваннях програми.</string>
|
||||
<string name="faq_3_title">Чи підтримує застосунок заплановані повідомлення\?</string>
|
||||
<string name="faq_3_text">Так, ви можете запланувати надсилання повідомлень у майбутньому, довго натискаючи кнопку «Надіслати» та вибираючи потрібну дату й час.</string>
|
||||
<string name="app_launcher_name">Повідомлення</string>
|
||||
<string name="enable_custom_notifications">Ввімкнути власні сповіщення</string>
|
||||
</resources>
|
||||
|
|
@ -111,4 +111,6 @@
|
|||
<string name="faq_2_text">Kích thước MMS bị giới hạn bởi nhà cung cấp dịch vụ, bạn có thể thử đặt giới hạn nhỏ hơn trong cài đặt ứng dụng.</string>
|
||||
<string name="faq_3_title">Ứng dụng có hỗ trợ gửi tin nhắn theo lịch trình không\?</string>
|
||||
<string name="faq_3_text">Có, bạn có thể lên lịch gửi tin nhắn trong tương lai bằng cách nhấn và giữ nút Gửi và chọn ngày giờ mong muốn.</string>
|
||||
<string name="enable_custom_notifications">Bật thông báo tùy chỉnh</string>
|
||||
<string name="app_launcher_name">Tin nhắn</string>
|
||||
</resources>
|
||||
|
|
@ -111,4 +111,6 @@
|
|||
<string name="faq_2_text">MMS 的大小受到電信業者的限制,您可以嘗試在應用程式設定中設定較小的限制。</string>
|
||||
<string name="faq_3_title">應用程式是否支援排程訊息?</string>
|
||||
<string name="faq_3_text">是的,您可以長按「送出」按鈕並選擇所需的日期和時間,以排程將訊息送出。</string>
|
||||
<string name="enable_custom_notifications">啟用自訂通知</string>
|
||||
<string name="app_launcher_name">簡訊</string>
|
||||
</resources>
|
||||
|
|
@ -3,6 +3,7 @@ plugins {
|
|||
alias(libs.plugins.kotlinAndroid).apply(false)
|
||||
alias(libs.plugins.kotlinSerialization).apply(false)
|
||||
alias(libs.plugins.ksp).apply(false)
|
||||
alias(libs.plugins.detekt).apply(false)
|
||||
}
|
||||
|
||||
tasks.register<Delete>("clean") {
|
||||
|
|
|
|||
1
fastlane/metadata/android/az-AZ/changelogs/1.txt
Normal file
1
fastlane/metadata/android/az-AZ/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* İlkin buraxılış
|
||||
1
fastlane/metadata/android/bg/title.txt
Normal file
1
fastlane/metadata/android/bg/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Фосифай SMS Месинджър
|
||||
1
fastlane/metadata/android/bn-BD/changelogs/1.txt
Normal file
1
fastlane/metadata/android/bn-BD/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* প্রাথমিক প্রকাশ
|
||||
2
fastlane/metadata/android/bn-BD/changelogs/2.txt
Normal file
2
fastlane/metadata/android/bn-BD/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* ছোটখাট বাগ সংশোধন এবং উন্নতি
|
||||
* কিছু translation যোগ করা হয়েছে
|
||||
32
fastlane/metadata/android/bn-BD/full_description.txt
Normal file
32
fastlane/metadata/android/bn-BD/full_description.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Fossify Messenger হল আপনার বিশ্বস্ত মেসেজিং সঙ্গী, যা আপনার মেসেজিং অভিজ্ঞতাকে বিভিন্ন উপায়ে উন্নত করার জন্য ডিজাইন করা হয়েছে।
|
||||
|
||||
📱 সহজে কানেক্টেড থাকুন:
|
||||
Fossify Messenger এর মাধ্যমে, আপনি আপনার প্রিয়জনদের সাথে সংযুক্ত থাকতে অনায়াসে SMS এবং MMS বার্তা পাঠাতে পারেন। SMS/MMS ভিত্তিক গ্রুপ মেসেজিং উপভোগ করুন এবং ফটো, ইমোজি এবং দ্রুত শুভেচ্ছার মাধ্যমে নিজেকে প্রকাশ করুন।
|
||||
|
||||
🚫 অবাঞ্ছিত বার্তা ব্লক করুন:
|
||||
একটি শক্তিশালী ব্লকিং বৈশিষ্ট্য সহ আপনার মেসেজিং অভিজ্ঞতার নিয়ন্ত্রণ নিন, সহজেই অবাঞ্ছিত বার্তাগুলিকে প্রতিরোধ করুন, এমনকি অজানা পরিচিতি থেকেও। আপনি ঝামেলা-মুক্ত ব্যাকআপের জন্য ব্লক করা নম্বরগুলি ইমপোর্ট এবং এক্সপোর্ট করতে পারেন। উপরন্তু, নির্দিষ্ট শব্দ বা বাক্যাংশ সহ বার্তাগুলিকে আপনার ইনবক্সে পৌঁছাতে বাধা দিয়ে আপনার অভিজ্ঞতা কাস্টমাইজ করুন।
|
||||
|
||||
🔒 অনায়াসে এসএমএস ব্যাকআপ:
|
||||
গুরুত্বপূর্ণ বার্তা হারানোর বিষয়ে উদ্বেগকে বিদায় জানান। Fossify Messenger আপনাকে আপনার বার্তা রপ্তানি এবং আমদানি করার অনুমতি দিয়ে সুবিধাজনক SMS ব্যাকআপ কার্যকারিতা প্রদান করে। এই বৈশিষ্ট্যটি নিশ্চিত করে যে আপনি আপনার মূল্যবান কথোপকথন না হারিয়ে সহজেই ডিভাইসগুলি স্যুইচ করতে পারেন৷
|
||||
|
||||
🚀 বিদ্যুত-দ্রুত এবং হালকা:
|
||||
এর শক্তিশালী বৈশিষ্ট্য থাকা সত্ত্বেও, ফসিফাই মেসেঞ্জার একটি উল্লেখযোগ্যভাবে ছোট app এর আকার নিয়ে গর্ব করে, এটিকে দ্রুত এবং সহজে ডাউনলোড এবং ইনস্টল করে। এসএমএস ব্যাকআপের সাথে আসা মানসিক শান্তি উপভোগ করার সময় speed এবং দক্ষতার অভিজ্ঞতা নিন।
|
||||
|
||||
🔐 উন্নত গোপনীয়তা:
|
||||
অতিরিক্ত গোপনীয়তার জন্য আপনার lockscreen যা প্রদর্শিত হবে তা কাস্টমাইজ করুন। শুধুমাত্র প্রেরক, বার্তা সামগ্রী বা all প্রদর্শন করতে বেছে নিন। আপনার বার্তা আপনার নিয়ন্ত্রণে আছে.
|
||||
|
||||
🔍 কার্যকরী বার্তা search:
|
||||
কথোপকথনের মাধ্যমে অন্তহীন স্ক্রোলিংকে বিদায় বলুন। ফসিফাই মেসেঞ্জার দ্রুত এবং দক্ষ অনুসন্ধান বৈশিষ্ট্য সহ বার্তা পুনরুদ্ধারকে সহজ করে। আপনার যা প্রয়োজন তা search করুন। যখন আপনার এটি প্রয়োজন।
|
||||
|
||||
🌈 আধুনিক ডিজাইন এবং ব্যবহারকারী-বান্ধব ইন্টারফেস:
|
||||
একটি ব্যবহারকারী-বান্ধব ইন্টারফেসের সাথে একটি পরিষ্কার, আধুনিক ডিজাইন উপভোগ করুন। app টিতে একটি বস্তুগত নকশা এবং একটি অন্ধকার থিম বিকল্প রয়েছে, যা একটি দৃশ্যমান আকর্ষণীয় এবং আরামদায়ক ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
|
||||
|
||||
🌐 ওপেন সোর্স স্বচ্ছতা:
|
||||
আপনার গোপনীয়তা একটি শীর্ষ অগ্রাধিকার. ফসিফাই মেসেঞ্জার ইন্টারনেট সংযোগের প্রয়োজন ছাড়াই কাজ করে, বার্তা নিরাপত্তা এবং স্থিতিশীলতার নিশ্চয়তা দেয়। আমাদের app টি সম্পূর্ণ বিজ্ঞাপন মুক্ত এবং অপ্রয়োজনীয় অনুমতির জন্য অনুরোধ করে না। অধিকন্তু, এটি সম্পূর্ণরূপে ওপেন সোর্স, যা আপনাকে মানসিক শান্তি প্রদান করে, কারণ আপনার কাছে নিরাপত্তা এবং গোপনীয়তা নিরীক্ষার জন্য সোর্স কোডের অ্যাক্সেস রয়েছে।
|
||||
|
||||
ফসিফাই মেসেঞ্জারে স্যুইচ করুন এবং মেসেজ করার অভিজ্ঞতা নিন যেভাবে এটি হওয়া উচিত - ব্যক্তিগত, দক্ষ এবং ব্যবহারকারী-বান্ধব৷ এখনই ডাউনলোড করুন এবং আপনার মেসেজিং অভিজ্ঞতা সুরক্ষিত করতে প্রতিশ্রুতিবদ্ধ আমাদের সম্প্রদায়ে যোগ দিন।
|
||||
|
||||
আরও Fossify app গুলি অন্বেষণ করুন: https://www.fossify.org
|
||||
ওপেন-সোর্স কোড: https://www.github.com/FossifyOrg
|
||||
Reddit এ সম্প্রদায়ে যোগ দিন: https://www.reddit.com/r/Fossify
|
||||
টেলিগ্রামে সংযোগ করুন: https://t.me/Fossify
|
||||
1
fastlane/metadata/android/bn-BD/short_description.txt
Normal file
1
fastlane/metadata/android/bn-BD/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
ওপেন সোর্স এবং বিজ্ঞাপন-মুক্ত SMS/MMS মেসেজিং app
|
||||
2
fastlane/metadata/android/ca/changelogs/2.txt
Normal file
2
fastlane/metadata/android/ca/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Correccions d'errors menors i millores
|
||||
* S'han afegit diverses traduccions
|
||||
|
|
@ -1 +1 @@
|
|||
* Initial release
|
||||
* Prvotní vydání
|
||||
|
|
|
|||
2
fastlane/metadata/android/cs-CZ/changelogs/2.txt
Normal file
2
fastlane/metadata/android/cs-CZ/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Minor bug fixes and improvements
|
||||
* Added some translations
|
||||
32
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
32
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Zprávy Fossify jsou vaším důvěryhodným společníkem pro zasílání zpráv. Jsou navrženy tak, aby různými způsoby vylepšovaly váš zážitek ze zasílání zpráv.
|
||||
|
||||
📱 ZŮSTAŇTE SNADNO VE SPOJENÍ:
|
||||
S aplikací Zprávy Fossify můžete snadno posílat zprávy SMS a MMS a zůstat tak ve spojení se svými blízkými. Posílejte si skupinové zprávy založené na SMS/MMS a vyjadřujte se pomocí fotografií, emotikonů a rychlých pozdravů.
|
||||
|
||||
🚫 BLOKOVÁNÍ NEŽÁDOUCÍCH ZPRÁV:
|
||||
Převezměte kontrolu nad zasíláním zpráv díky robustní funkci blokování, která snadno zabrání zasílání nechtěných zpráv, a to i od neznámých kontaktů. Zablokovaná čísla můžete také exportovat a importovat pro bezproblémové zálohování. Navíc si můžete přizpůsobit své prostředí tím, že zabráníte zprávám s určitými slovy nebo frázemi, aby se dostaly do vaší schránky.
|
||||
|
||||
🔒 BEZPROBLÉMOVÉ ZÁLOHOVÁNÍ SMS:
|
||||
Rozlučte se s obavami ze ztráty důležitých zpráv. Zprávy Fossify nabízí pohodlnou funkci zálohování SMS – umožňují export a import zpráv. Tato funkce zajišťuje, že můžete snadno změnit zařízení, aniž byste přišli o své cenné konverzace.
|
||||
|
||||
🚀 BLESKURYCHLÉ A LEHKÉ:
|
||||
I přes své výkonné funkce se Zprávy Fossify mohou pochlubit pozoruhodně malou velikostí aplikace, díky které se rychle a snadno stahují a instalují. Zažijte rychlost a efektivitu a zároveň si užívejte klid, který přináší zálohování SMS.
|
||||
|
||||
🔐 VYLEPŠENÁ OCHRANA SOUKROMÍ:
|
||||
Přizpůsobte si, co se zobrazuje na zamykací obrazovce, a zajistěte si tak větší soukromí. Zvolte si, zda chcete zobrazit pouze odesílatele, obsah zprávy nebo vůbec nic. Své zprávy máte pod kontrolou.
|
||||
|
||||
🔍 EFEKTIVNÍ VYHLEDÁVÁNÍ ZPRÁV:
|
||||
Rozlučte se s nekonečným procházením konverzací. Zprávy Fossify zjednodušují vyhledávání zpráv pomocí funkce rychlého a efektivního vyhledávání. Najděte, co potřebujete, kdykoli a kdekoli.
|
||||
|
||||
🌈 MODERNÍ DESIGN A PŘÍVĚTIVÉ ROZHRANÍ:
|
||||
Vychutnejte si čistý, moderní design s uživatelsky přívětivým rozhraním. Aplikace využívá Material Design a možnost tmavého motivu, což poskytuje vizuálně přitažlivé a pohodlné uživatelské prostředí.
|
||||
|
||||
🌐 TRANSPARENTNOST OTEVŘENÉHO ZDROJE:
|
||||
Vaše soukromí je nejvyšší prioritou. Zprávy Fossify fungují bez nutnosti připojení k internetu, což zaručuje stabilitu a bezpečnost zpráv. Naše aplikace je zcela bez reklam a nevyžaduje zbytečná oprávnění. Navíc je plně open-source, což vám poskytuje klid, protože máte přístup ke zdrojovému kódu pro bezpečnostní audity a audity soukromí.
|
||||
|
||||
Přejděte na aplikaci Zprávy Fossify a vyzkoušejte si zasílání zpráv tak, jak má být – soukromé, efektivní a uživatelsky přívětivé. Stáhněte si aplikaci nyní a připojte se k naší komunitě, která je odhodlána chránit vaše zprávy.
|
||||
|
||||
Prozkoumejte další aplikace Fossify: https://www.fossify.org.
|
||||
Otevřený zdrojový kód: https://www.github.com/FossifyOrg
|
||||
Přidejte se ke komunitě na Redditu: https://www.reddit.com/r/Fossify
|
||||
Připojte se na Telegram: https://t.me/Fossify
|
||||
1
fastlane/metadata/android/da-DK/changelogs/1.txt
Normal file
1
fastlane/metadata/android/da-DK/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Første udgivelse
|
||||
2
fastlane/metadata/android/da-DK/changelogs/2.txt
Normal file
2
fastlane/metadata/android/da-DK/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Mindre fejlretninger og forbedrelser
|
||||
* Tilføjede nogle oversættelser
|
||||
32
fastlane/metadata/android/da-DK/full_description.txt
Normal file
32
fastlane/metadata/android/da-DK/full_description.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Fossify Messenger er din pålidelige beskedtjeneste, designet til at forbedre din beskedoplevelse på forskellige måder.
|
||||
|
||||
📱 HOLD FORBINDELSEN UDEN BESVÆR:
|
||||
Med Fossify Messenger kan du nemt sende SMS- og MMS-beskeder for at holde forbindelsen med dine kære. Nyd SMS/MMS-baserede gruppebeskeder, og udtryk dig med fotos, emojis og hurtige hilsner.
|
||||
|
||||
🚫 BLOKÉR UØNSKEDE BESKEDER:
|
||||
Tag kontrol over din beskedoplevelse med en robust blokeringsfunktion, der nemt forhindrer uønskede beskeder, selv fra ukendte kontakter. Du kan også eksportere og importere blokerede numre til problemfri sikkerhedskopiering. Derudover kan du tilpasse din oplevelse ved at forhindre beskeder med specifikke ord eller sætninger i at nå din indbakke.
|
||||
|
||||
🔒 NEM SMS-SIKKERHEDSKOPIERING:
|
||||
Sig farvel til bekymringer om at miste vigtige beskeder. Fossify Messenger tilbyder praktisk SMS-sikkerhedskopiering ved at give dig mulighed for at eksportere og importere dine beskeder. Denne funktion sikrer, at du nemt kan skifte enhed uden at miste dine værdifulde samtaler.
|
||||
|
||||
🚀 LYNHURTIG OG LET:
|
||||
På trods af sine kraftfulde funktioner har Fossify Messenger en bemærkelsesværdig lille app-størrelse, hvilket gør den hurtig og nem at hente og installere. Oplev hastighed og effektivitet, mens du nyder trygheden, der følger med SMS-sikkerhedskopiering.
|
||||
|
||||
🔐 FORBEDRET PRIVATLIV:
|
||||
Tilpas, hvad der vises på din låseskærm for ekstra privatliv. Vælg kun at vise afsenderen, beskedens indhold eller slet ingenting. Dine beskeder er i din kontrol.
|
||||
|
||||
🔍 EFFEKTIV BESKEDSØGNING:
|
||||
Sig farvel til endeløs scrolling gennem samtaler. Fossify Messenger forenkler beskedhentning med en hurtig og effektiv søgefunktion. Find det, du har brug for, når du har brug for det.
|
||||
|
||||
🌈 MODERNE DESIGN OG BRUGERVENLIG GRÆNSEFLADE:
|
||||
Nyd et rent, moderne design med en brugervenlig grænseflade. Appen har et materialedesign og et mørkt tema, der giver en visuelt tiltalende og behagelig brugeroplevelse.
|
||||
|
||||
🌐 OPEN SOURCE-TRANSPARENS:
|
||||
Dit privatliv er en topprioritet. Fossify Messenger fungerer uden at kræve en internetforbindelse, hvilket garanterer meddelelsessikkerhed og stabilitet. Vores app er helt fri for reklamer og beder ikke om unødvendige tilladelser. Desuden er den helt open source, hvilket giver dig ro i sindet, da du har adgang til kildekoden til sikkerheds- og privatlivsrevisioner.
|
||||
|
||||
Skift til Fossify Messenger, og oplev beskeder, som de bør være — private, effektive og brugervenlige. Hent den nu, og bliv en del af vores fællesskab, der er engageret i at beskytte din beskedoplevelse.
|
||||
|
||||
Udforsk flere Fossify-apps: https://www.fossify.org
|
||||
Open source-kode: https://www.github.com/FossifyOrg
|
||||
Deltag i fællesskabet på Reddit: https://www.reddit.com/r/Fossify
|
||||
Opret forbindelse på Telegram: https://t.me/Fossify
|
||||
1
fastlane/metadata/android/da-DK/short_description.txt
Normal file
1
fastlane/metadata/android/da-DK/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Open-source og reklame-fri SMS/MMS meddelelses-app
|
||||
1
fastlane/metadata/android/da-DK/title.txt
Normal file
1
fastlane/metadata/android/da-DK/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS Messenger
|
||||
2
fastlane/metadata/android/de-DE/changelogs/2.txt
Normal file
2
fastlane/metadata/android/de-DE/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Kleinere Fehlerbehebungen und Verbesserungen
|
||||
* Einige Übersetzungen hinzugefügt
|
||||
|
|
@ -9,7 +9,7 @@ Mit Fossify Messenger kannst du mühelos SMS- und MMS-Nachrichten versenden, um
|
|||
🔒 MÜHELOSE SMS-SICHERUNG:
|
||||
Verabschiede dich von der Sorge, wichtige Nachrichten zu verlieren. Fossify Messenger bietet eine praktische SMS-Sicherungsfunktion, mit der du deine Nachrichten exportieren und importieren kannst. Diese Funktion stellt sicher, dass du problemlos das Gerät wechseln kannst, ohne deine wertvollen Unterhaltungen zu verlieren.
|
||||
|
||||
🚀 BLITZSCHNELL UND LEICHT:
|
||||
🚀 BLITZSCHNELL UND SCHLANK:
|
||||
Trotz seiner leistungsstarken Funktionen ist die App von Fossify Messenger bemerkenswert klein, so dass sie schnell und einfach heruntergeladen und installiert werden kann. Erlebe Schnelligkeit und Effizienz und genieße gleichzeitig die Sicherheit, die dir die SMS-Sicherung bietet.
|
||||
|
||||
🔐 VERBESSERTE PRIVATSPHÄRE:
|
||||
|
|
@ -18,13 +18,13 @@ Passe an, was auf deinem Sperrbildschirm angezeigt wird, um deine Privatsphäre
|
|||
🔍 EFFIZIENTE NACHRICHTENSUCHE:
|
||||
Verabschiede dich vom endlosen Scrollen durch Unterhaltungen. Fossify Messenger vereinfacht das Auffinden von Nachrichten mit einer schnellen und effizienten Suchfunktion. Finde, was du brauchst, wann du es brauchst.
|
||||
|
||||
🌈 MODERNES DESIGN & BENUTZERFREUNDLICHE OBERFLÄCHE:
|
||||
Genieße ein sauberes, modernes Design mit einer benutzerfreundlichen Oberfläche. Die App verfügt über ein Material Design und ein dunkles Farbschema, die ein optisch ansprechendes und komfortables Nutzererlebnis bietet.
|
||||
🌈 MODERNES DESIGN & BEDIENFREUNDLICHE OBERFLÄCHE:
|
||||
Genieße ein sauberes, modernes Design mit einer bedienfreundlichen Oberfläche. Die App verfügt über ein Material Design und ein dunkles Farbschema, die ein optisch ansprechendes und komfortables Nutzungserlebnis bieten.
|
||||
|
||||
🌐 OPEN-SOURCE-TRANSPARENZ:
|
||||
Deine Privatsphäre hat höchste Priorität. Der Fossify Messenger funktioniert ohne Internetverbindung und garantiert so die Sicherheit und Stabilität deiner Nachrichten. Unsere App ist völlig werbefrei und fordert keine unnötigen Berechtigungen an. Außerdem ist sie vollständig quelloffen, was dich beruhigt, da du Zugang zum Quellcode hast, um die Sicherheit und den Datenschutz zu überprüfen.
|
||||
|
||||
Steig auf Fossify Messenger um und erlebe Messaging so, wie es sein sollte – privat, effizient und benutzerfreundlich. Lade jetzt herunter und schließe dich unserer Community an, die sich für die Sicherheit deines Messaging-Erlebnisses einsetzt.
|
||||
Steig auf Fossify Messenger um und erlebe Messaging so, wie es sein sollte – privat, effizient und bedienfreundlich. Lade jetzt herunter und schließe dich unserer Community an, die sich für die Sicherheit deines Messaging-Erlebnisses einsetzt.
|
||||
|
||||
Entdecke weitere Apps von Fossify: https://www.fossify.org
|
||||
Open-Source-Code: https://www.github.com/FossifyOrg
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Open Source und werbefreie SMS/MMS-Nachrichten-App
|
||||
Quelloffene und werbefreie SMS/MMS-Nachrichten-App
|
||||
|
|
|
|||
2
fastlane/metadata/android/es-ES/changelogs/2.txt
Normal file
2
fastlane/metadata/android/es-ES/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Mejoras y correcciones de errores menores
|
||||
* Añadidas algunas traducciones
|
||||
2
fastlane/metadata/android/et/changelogs/2.txt
Normal file
2
fastlane/metadata/android/et/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Väiksemad veaparandused ja kohendused
|
||||
* Lisasime mõned tõlked
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
Fossify Sõnumid on sinu usaldusväärne sõnumikaaslane, mis on loodud selleks, et parandada sinu sõnumikogemust mitmel viisil.
|
||||
|
||||
📱 PÜSI HÕLPSASTI SUHLUSES:
|
||||
Fossify Sõnumitega saad hõlpsasti saata SMS- ja MMS-sõnumeid, et püsida ühenduses oma lähedastega. Kasuta SMS/MMS-põhiseid rühmasõnumeid ja väljenda end fotode, emotikoonide ja kiirtervitustega.
|
||||
📱 PÜSI HÕLPSASTI SUHTLUSES:
|
||||
Fossify Sõnumitega saad hõlpsasti saata SMS- ja MMS-sõnumeid, et püsida ühenduses oma lähedastega. Kasuta SMS/MMS-põhiseid rühmasõnumeid ja väljenda end fotode, emotikonide ja kiirtervitustega.
|
||||
|
||||
🚫 BLOKEERI SOOVIMATUD SÕNUMID:
|
||||
Haara oma sõnumite kasutamise üle kontroll tõhusa blokeerimisfunktsiooniga, mis takistab hõlpsasti soovimatuid sõnumeid, isegi tundmatutelt kontaktidelt. Samuti saad blokeeritud numbreid eksportida ja importida, et teha hõlpsasti varukoopiaid. Lisaks saad oma kogemust kohandada, takistades teatud sõnu või fraase sisaldavate sõnumite jõudmist oma postkasti.
|
||||
|
|
@ -10,21 +10,21 @@ Haara oma sõnumite kasutamise üle kontroll tõhusa blokeerimisfunktsiooniga, m
|
|||
Unusta aeg, mil kaotasid tähtsaid sõnumeid. Fossify Sõnumid pakub mugavat SMS-i varundamise funktsiooni, võimaldades sul oma sõnumeid eksportida ja importida. See funktsioon tagab, et saad hõlpsasti seadmeid vahetada, ilma et kaotaksid oma väärtuslikke vestlusi.
|
||||
|
||||
🚀 VÄLKKIIRE JA NAPI RESSURSIVAJADUSEGA:
|
||||
Vaatamata oma võimsatele funktsioonidele on rakendus Fossify Sõnumid märkimisväärselt väikese suurusega, mistõttu on seda kiire ja lihtne alla laadida ja paigaldada. Kogege kiirust ja tõhusust, nautides samal ajal meelerahu, mis kaasneb SMS-i varundamisega.
|
||||
Vaatamata oma võimsatele funktsioonidele on rakendus Fossify Sõnumid märkimisväärselt väikese suurusega, mistõttu on seda kiire ja lihtne alla laadida ja paigaldada. Koge kiirust ja tõhusust, nautides samal ajal meelerahu, mis kaasneb SMS-i varundamisega.
|
||||
|
||||
🔐 TÄIUSTATUD PRIVAATSUS:
|
||||
Kohanda, mis sinu nutiseadme lukustusekraanil ilmub, et suurendada privaatsust. Vali, kas soovite kuvada ainult saatjat, sõnumi sisu või üldse mitte midagi. Sinu sõnumid on sinu kontrolli all.
|
||||
Kohanda, mis sinu nutiseadme lukustusekraanil ilmub, et suurendada privaatsust. Vali, kas soovid kuvada ainult saatjat, sõnumi sisu või üldse mitte midagi. Sinu sõnumid on sinu kontrolli all.
|
||||
|
||||
🔍 TÕHUS SÕNUMIOTSING:
|
||||
Ütle hüvasti lõputule vestluste sirvimisele. Fossify Sõnumid lihtsustab sõnumite leidmist kiire ja tõhusa otsingufunktsiooniga. Leia see, mida vajad, siis, kui seda vajad.
|
||||
|
||||
🌈 KAASAEGNE KUJUNDUS JA KASUTAJASÕBRALIK KASUTAJALIIDES:
|
||||
Nautige puhast, kaasaegset disaini ja kasutajasõbralikku kasutajaliidest. Rakendus lähtub „Material Design“ kujundusloogikast ja olemas on tumedate teemade valik, mis üheskoos pakuvad visuaalselt atraktiivset ja mugavat kasutajakogemust.
|
||||
Naudi puhast, kaasaegset disaini ja kasutajasõbralikku kasutajaliidest. Rakendus lähtub „Material Design“ kujundusloogikast ja olemas on tumedate teemade valik, mis üheskoos pakuvad visuaalselt atraktiivset ja mugavat kasutajakogemust.
|
||||
|
||||
🌐 AVATUD LÄHTEKOODIL PÕHINEV LÄBIPAISTVUS:
|
||||
Sinu privaatsus on esmatähtis. Fossify Sõnumid töötab ilma internetiühendust nõudmata, tagades sõnumite turvalisuse ja stabiilsuse. Meie rakendus on täiesti reklaamivaba ja ei küsi mittevajalikke lubasid. Lisaks on see täielikult avatud lähtekoodiga, mis tagab sulle meelerahu, kuna sul on soovi korral juurdepääs lähtekoodile turvalisuse ja privaatsuse kontrollimiseks.
|
||||
|
||||
Kasutage rakendust Fossify Sõnumid ja saada sõnumeid nii, nagu see peaks olema - privaatselt, tõhusalt ja kasutajasõbralikul viisil. Laadige rakendus alla ja liituge meie kogukonnaga, mis on pühendunud sinu sõnumikogemuse kaitsmisele.
|
||||
Kasuta rakendust Fossify Sõnumid ja saada sõnumeid nii, nagu see peaks olema - privaatselt, tõhusalt ja kasutajasõbralikul viisil. Laadi rakendus alla ja liitu meie kogukonnaga, mis on pühendunud sinu sõnumikogemuse kaitsmisele.
|
||||
|
||||
Tutvu Fossify rakendustega: https://www.fossify.org
|
||||
Avatud lähtekood: https://www.github.com/FossifyOrg
|
||||
|
|
|
|||
1
fastlane/metadata/android/eu-ES/changelogs/1.txt
Normal file
1
fastlane/metadata/android/eu-ES/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Hasierako bertsioa
|
||||
1
fastlane/metadata/android/fi-FI/changelogs/1.txt
Normal file
1
fastlane/metadata/android/fi-FI/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Ensimmäinen julkaisu
|
||||
2
fastlane/metadata/android/fi-FI/changelogs/2.txt
Normal file
2
fastlane/metadata/android/fi-FI/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Pieniä korjauksia ja parannuksia.
|
||||
* Lisätty käännöksiä
|
||||
1
fastlane/metadata/android/fi-FI/short_description.txt
Normal file
1
fastlane/metadata/android/fi-FI/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Mainosvapaa avoimen lähdekoodin SMS/MMS viestien lähettämisen sovellus
|
||||
1
fastlane/metadata/android/fi-FI/title.txt
Normal file
1
fastlane/metadata/android/fi-FI/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS Messenger
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/2.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* छोटे बग फिक्स और सुधार
|
||||
* कुछ अनुवाद जोड़े गए
|
||||
|
|
@ -1 +1 @@
|
|||
Fossify SMS मैसेंजर
|
||||
Fossify SMS Messenger
|
||||
|
|
|
|||
1
fastlane/metadata/android/hu-HU/changelogs/1.txt
Normal file
1
fastlane/metadata/android/hu-HU/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Kezdeti kiadás
|
||||
1
fastlane/metadata/android/id/changelogs/1.txt
Normal file
1
fastlane/metadata/android/id/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Rilis awal
|
||||
1
fastlane/metadata/android/it-IT/changelogs/1.txt
Normal file
1
fastlane/metadata/android/it-IT/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Versione iniziale
|
||||
1
fastlane/metadata/android/ja-JP/changelogs/1.txt
Normal file
1
fastlane/metadata/android/ja-JP/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* 初公開
|
||||
1
fastlane/metadata/android/ja-JP/short_description.txt
Normal file
1
fastlane/metadata/android/ja-JP/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
オープンソースで広告なしのSMS/MMSメッセージングアプリ
|
||||
1
fastlane/metadata/android/ja-JP/title.txt
Normal file
1
fastlane/metadata/android/ja-JP/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMSメッセンジャー
|
||||
1
fastlane/metadata/android/ko-KR/short_description.txt
Normal file
1
fastlane/metadata/android/ko-KR/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
오픈 소스이며 광고로부터 자유로운 SMS/MMS 메시징 앱
|
||||
1
fastlane/metadata/android/ko-KR/title.txt
Normal file
1
fastlane/metadata/android/ko-KR/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS 메신저
|
||||
1
fastlane/metadata/android/nl-NL/changelogs/1.txt
Normal file
1
fastlane/metadata/android/nl-NL/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Eerste versie
|
||||
|
|
@ -1 +1 @@
|
|||
Open-source en advertentievrij SMS/MMS-berichtenbeheer
|
||||
Opensource en advertentievrij SMS/MMS-berichtenbeheer
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Otwartoźródłowa i wolna od reklam aplikacja do przesyłania wiadomości SMS/MMS.
|
||||
Otwartoźródłowa i wolna od reklam aplikacja do przesyłania wiadomości SMS/MMS
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
* Lansarea inițială
|
||||
* Lansare inițială
|
||||
|
|
|
|||
1
fastlane/metadata/android/ro/short_description.txt
Normal file
1
fastlane/metadata/android/ro/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Aplicație pentru SMS/MMS cu sursă deschisă și fără anunțuri
|
||||
1
fastlane/metadata/android/tr-TR/changelogs/1.txt
Normal file
1
fastlane/metadata/android/tr-TR/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* İlk sürüm
|
||||
2
fastlane/metadata/android/tr-TR/changelogs/2.txt
Normal file
2
fastlane/metadata/android/tr-TR/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Küçük hata düzeltmeleri ve iyileştirmeler
|
||||
* Bazı çeviriler eklendi
|
||||
36
fastlane/metadata/android/tr-TR/full_description.txt
Normal file
36
fastlane/metadata/android/tr-TR/full_description.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Fossify SMS İleti, Sms iletigönderme deneyiminizi çeşitli şekillerde geliştirmek için tasarlanmış güvenilir SMS Haberleşme arkadaşınızdır.
|
||||
|
||||
📱 KOLAYLIKLA BAĞLANTIDA KALIN:
|
||||
Fossify SMS İleti ile sevdiklerinizle bağlantıda kalmak için zahmetsizce SMS ve MMS iletileri gönderebilirsiniz. SMS/MMS tabanlı grup haberleşmenin keyfini çıkarın ve kendinizi fotoğraflar, emojiler ve hızlı selamlamalarla ifade edin.
|
||||
|
||||
🚫 İSTENMEYEN İLETİLERİ ENGELLEYİN:
|
||||
Bilinmeyen kişilerden bile gelen istenmeyen iletileri kolayca engelleyen güçlü engelleme özelliği ile haberleşme deneyiminizin kontrolünü elinize alın. Ayrıca sorunsuz yedekleme için engellenen numaraları dışa ve içe aktarabilirsiniz. Ayrıca, belirli kelimeler veya ifadeler içeren iletilerin gelen kutunuza ulaşmasını engelleyerek deneyiminizi özelleştirin.
|
||||
|
||||
🔒 ZAHMETSİZ SMS YEDEKLEME:
|
||||
Önemli iletileri kaybetme endişesine elveda deyin. Fossify SMS İleti, iletiletilerinizi dışa ve içe aktarmanıza izin vererek kullanışlı SMS yedekleme işlevi sunar. Bu özellik, değerli konuşmalarınızı kaybetmeden kolayca cihaz değiştirebilmenizi sağlar.
|
||||
|
||||
🚀 IŞIK HIZINDA VE HAFİF:
|
||||
Güçlü özelliklerine rağmen, Fossify SMS İleti oldukça küçük bir uygulama boyutuna sahiptir, bu da indirmeyi ve yüklemeyi hızlı ve kolay hale getirir. SMS yedekleme ile gelen gönül rahatlığının tadını çıkarırken hız ve verimliliği deneyimleyin.
|
||||
|
||||
🔐 GELİŞMİŞ GİZLİLİK:
|
||||
Daha fazla gizlilik için kilit ekranınızda görünenleri özelleştirin. Yalnızca göndereni, ileti içeriğini veya hiçbir şeyi görüntülemeyi seçin. İletileriniz sizin kontrolünüzde.
|
||||
|
||||
🔍 ETKİLİ İLETİ ARAMA:
|
||||
Konuşmalar arasında sonsuz kaydırma yapmaya elveda deyin. Fossify SMS İleti, hızlı ve etkili bir arama özelliği ile ileti erişimini basitleştirir. İhtiyacınız olanı, ihtiyacınız olduğunda bulun.
|
||||
|
||||
🌈 MODERN TASARIM VE KULLANICI DOSTU ARAYÜZ:
|
||||
Kullanıcı dostu bir arayüz ile temiz, modern bir tasarımın keyfini çıkarın. Uygulama, görsel olarak çekici ve rahat bir kullanıcı deneyimi sağlayan materyal bir tasarıma ve koyu tema seçeneğine sahiptir.
|
||||
|
||||
🌐 AÇIK KAYNAK ŞEFFAFLIĞI:
|
||||
Gizliliğiniz en önemli önceliğimizdir. Fossify Sms İleti, internet bağlantısı gerektirmeden çalışarak ileti güvenliğini ve kararlılığını garanti eder. Uygulamamız tamamen reklamsızdır ve gereksiz izinler talep etmez. Dahası, tamamen açık kaynak kodludur ve güvenlik ve gizlilik denetimleri için kaynak koduna erişiminiz olduğundan içinizin rahat olmasını sağlar.
|
||||
|
||||
Fossify SMS İletiler’e geçiş yapın ve haberleşmeyi olması gerektiği gibi deneyimleyin - özel, verimli ve kullanıcı dostu. Şimdi indirin ve mesajlaşma deneyiminizi korumaya kararlı topluluğumuza katılın.
|
||||
|
||||
Daha fazla Fossify uygulaması keşfedin:
|
||||
https://www.fossify.org
|
||||
Açık Kaynak Kodu:
|
||||
https://www.github.com/FossifyOrg
|
||||
Reddit'teki topluluğa katılın:
|
||||
https://www.reddit.com/r/Fossify
|
||||
Telegram üzerinden bağlanın:
|
||||
https://t.me/Fossify
|
||||
1
fastlane/metadata/android/tr-TR/short_description.txt
Normal file
1
fastlane/metadata/android/tr-TR/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Açık kaynaklı ve Reklamsız SMS/MMS mesajlaşma uygulaması
|
||||
1
fastlane/metadata/android/tr-TR/title.txt
Normal file
1
fastlane/metadata/android/tr-TR/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS İletiler
|
||||
1
fastlane/metadata/android/uk/changelogs/1.txt
Normal file
1
fastlane/metadata/android/uk/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* Початковий випуск
|
||||
2
fastlane/metadata/android/uk/changelogs/2.txt
Normal file
2
fastlane/metadata/android/uk/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* Виправлено незначні помилки та зроблено покращення
|
||||
* Додано деякі переклади
|
||||
32
fastlane/metadata/android/uk/full_description.txt
Normal file
32
fastlane/metadata/android/uk/full_description.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Fossify Месенджер – це ваш надійний компаньйон для обміну повідомленнями, розроблений, щоб покращити ваш досвід обміну повідомленнями різними способами.
|
||||
|
||||
📱 ЗАЛИШАЙТЕСЯ НА ЗВ'ЯЗКУ З ЛЕГКІСТЮ:
|
||||
За допомогою Fossify Месенджер ви можете легко надсилати SMS та MMS-повідомлення, щоб залишатися на зв'язку зі своїми близькими. Насолоджуйтесь груповими повідомленнями на основі SMS/MMS та виражайте себе за допомогою фотографій, емоджі та швидких привітань.
|
||||
|
||||
🚫 БЛОКУЙТЕ НЕБАЖАНІ ПОВІДОМЛЕННЯ:
|
||||
Контролюйте обмін повідомленнями за допомогою надійної функції блокування, яка легко запобігає отриманню небажаних повідомлень, навіть від невідомих контактів. Ви також можете експортувати та імпортувати заблоковані номери для зручного резервного копіювання. Крім того, ви можете налаштувати свій досвід, запобігаючи отриманню повідомлень з певними словами або фразами у вашій поштовій скриньці.
|
||||
|
||||
🔒 РЕЗЕРВНЕ КОПІЮВАННЯ СМС БЕЗ ЗАЙВИХ ЗУСИЛЬ:
|
||||
Попрощайтеся із занепокоєнням про втрату важливих повідомлень. Fossify Месенджер пропонує зручну функцію резервного копіювання SMS, дозволяючи вам експортувати та імпортувати ваші повідомлення. Ця функція гарантує, що ви зможете легко переходити з одного пристрою на інший, не втрачаючи цінних розмов.
|
||||
|
||||
🚀 БЛИСКАВИЧНО ШВИДКИЙ І ЛЕГКИЙ:
|
||||
Попри свої потужні функції, Fossify Месенджер може похвалитися надзвичайно малим розміром, що робить його швидким і простим у завантаженні та встановленні. Відчуйте швидкість та ефективність, насолоджуючись душевним спокоєм, який приходить з резервним копіюванням SMS.
|
||||
|
||||
🔐 ПОКРАЩЕНА ПРИВАТНІСТЬ:
|
||||
Налаштуйте те, що показується на екрані блокування, для додаткової приватності. Вибирайте, щоби показувати тільки відправника, вміст повідомлення або взагалі нічого. Ви можете контролювати свої повідомлення.
|
||||
|
||||
🔍 ЕФЕКТИВНИЙ ПОШУК ПОВІДОМЛЕНЬ:
|
||||
Попрощайтеся з нескінченною прокруткою розмов. Fossify Месенджер спрощує пошук повідомлень завдяки швидкій та ефективній функції пошуку. Знаходьте те, що вам потрібно, коли вам це потрібно.
|
||||
|
||||
🌈 СУЧАСНИЙ ДИЗАЙН ТА ЗРУЧНИЙ ІНТЕРФЕЙС:
|
||||
Насолоджуйтесь чистим, сучасним дизайном та зручним інтерфейсом. Застосунок має матеріальний дизайн та темну тему, що забезпечує візуально привабливий та комфортний користувацький досвід.
|
||||
|
||||
🌐 ПРОЗОРІСТЬ З ВІДКРИТИМ ВИХІДНИМ КОДОМ:
|
||||
Ваша приватність є головним пріоритетом. Fossify Месенджер працює без з'єднання з мережею, гарантуючи безпеку та стабільність повідомлень. Наш застосунок не має і не запитує непотрібних дозволів. Більше того, він повністю відкритий, що дає вам спокій, оскільки ви маєте доступ до вихідного коду для аудиту безпеки та приватності.
|
||||
|
||||
Переходьте на Fossify Месенджер і відчуйте, що обмін повідомленнями має бути таким, яким він має бути: приватним, ефективним і зручним для користувача. Завантажуйте зараз і приєднуйтесь до нашої спільноти, яка прагне захистити ваш досвід обміну повідомленнями.
|
||||
|
||||
Дізнайтеся більше про застосунки Fossify: https://www.fossify.org
|
||||
Відкритий код: https://www.github.com/FossifyOrg
|
||||
Приєднуйтесь до спільноти на Reddit: https://www.reddit.com/r/Fossify
|
||||
Приєднуйтесь у Telegram: https://t.me/Fossify
|
||||
1
fastlane/metadata/android/uk/short_description.txt
Normal file
1
fastlane/metadata/android/uk/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Застосунок для SMS/MMS повідомлень з відкритим вихідним кодом і без реклами
|
||||
1
fastlane/metadata/android/uk/title.txt
Normal file
1
fastlane/metadata/android/uk/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS-месенджер
|
||||
1
fastlane/metadata/android/zh-CN/changelogs/1.txt
Normal file
1
fastlane/metadata/android/zh-CN/changelogs/1.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* 首次发布
|
||||
2
fastlane/metadata/android/zh-CN/changelogs/2.txt
Normal file
2
fastlane/metadata/android/zh-CN/changelogs/2.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
* 小错误修复和改进
|
||||
* 添加了一些翻译
|
||||
32
fastlane/metadata/android/zh-CN/full_description.txt
Normal file
32
fastlane/metadata/android/zh-CN/full_description.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
Fossify 信息是您值得信赖的消息传递伴侣,旨在以多种方式增强您的消息传递体验。
|
||||
|
||||
📱 轻松保持联系:
|
||||
使用 Fossify 信息,您可以轻松发送短信和彩信,与亲人保持联系。享受基于短信/彩信的群组消息传递,用照片、表情符号和快速问候来表达自己。
|
||||
|
||||
🚫 阻止不需要的消息:
|
||||
通过强大的阻止功能控制您的消息传递体验,轻松阻止不需要的消息,甚至来自未知联系人的消息。您还可以导出和导入被阻止的号码,以便轻松备份。此外,通过阻止带有特定单词或短语的消息到达您的收信箱来定制您的体验。
|
||||
|
||||
🔒 轻松备份短信:
|
||||
告别丢失重要信息的担忧。Fossify 信息提供方便的短信备份功能,允许您导出和导入消息。此功能可确保您可以轻松切换设备,而不会丢失宝贵的对话。
|
||||
|
||||
🚀 快速轻量:
|
||||
尽管 Fossify 信息功能强大,但应用体积却非常小,使其下载和安装快速简单。体验速度和效率,同时享受短信备份带来的安心。
|
||||
|
||||
🔐 增强隐私:
|
||||
自定义锁屏上显示的内容,以增加隐私。选择仅显示发送者、消息内容或根本不显示。您的消息由您控制。
|
||||
|
||||
🔍 高效的消息搜索:
|
||||
告别无休止地浏览对话。Fossify 信息通过快速高效的搜索功能简化了消息检索。在您需要时找到您需要的内容。
|
||||
|
||||
🌈 现代设计和用户友好的界面:
|
||||
享受简洁、现代的设计和用户友好的界面。本应用具有 Material 设计和深色主题选项,提供视觉上吸引人和舒适的用户体验。
|
||||
|
||||
🌐 开源透明度:
|
||||
您的隐私是重中之重。Fossify 信息无需互联网连接即可运行,保证了消息的安全性和稳定性。我们的应用完全没有广告,也不会请求不必要的权限。此外,它是完全开源的,让您放心,因为您可以访问源代码进行安全和隐私审核。
|
||||
|
||||
切换到 Fossify 信息,以应有的方式体验消息传递——私密、高效和用户友好。立即下载并加入我们致力于保护您的消息传递体验的社区。
|
||||
|
||||
探索更多 Fossify 应用:https://www.fossify.org
|
||||
开源代码:https://www.github.com/FossifyOrg
|
||||
加入 Reddit 社区:https://www.reddit.com/r/Fossify
|
||||
在 Telegram 上联系:https://t.me/Fossify
|
||||
1
fastlane/metadata/android/zh-CN/short_description.txt
Normal file
1
fastlane/metadata/android/zh-CN/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
开源无广告的短信/彩信应用
|
||||
1
fastlane/metadata/android/zh-CN/title.txt
Normal file
1
fastlane/metadata/android/zh-CN/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify 信息
|
||||
1
fastlane/metadata/android/zh-TW/changelogs/2.txt
Normal file
1
fastlane/metadata/android/zh-TW/changelogs/2.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
* 新增一些翻譯
|
||||
1
fastlane/metadata/android/zh-TW/short_description.txt
Normal file
1
fastlane/metadata/android/zh-TW/short_description.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
開放原始碼且無廣告的 SMS/MMS 通訊應用程式
|
||||
1
fastlane/metadata/android/zh-TW/title.txt
Normal file
1
fastlane/metadata/android/zh-TW/title.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Fossify SMS 簡訊
|
||||
|
|
@ -4,6 +4,8 @@ kotlin = "1.9.21"
|
|||
kotlinxSerializationJson = "1.6.0"
|
||||
#KSP
|
||||
ksp = "1.9.21-1.0.16"
|
||||
#Detekt
|
||||
detekt = "1.23.3"
|
||||
#AndroidX
|
||||
androidx-constraintlayout = "2.1.4"
|
||||
androidx-swiperefreshlayout = "1.1.0"
|
||||
|
|
@ -61,3 +63,4 @@ android = { id = "com.android.application", version.ref = "gradlePlugins-agp" }
|
|||
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue