diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java
index bb1c81d94..b654e0190 100644
--- a/src/main/java/eu/siacs/conversations/services/NotificationService.java
+++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java
@@ -136,7 +136,7 @@ public class NotificationService {
final NotificationChannel foregroundServiceChannel = new NotificationChannel("foreground",
c.getString(R.string.foreground_service_channel_name),
NotificationManager.IMPORTANCE_MIN);
- foregroundServiceChannel.setDescription(c.getString(R.string.foreground_service_channel_description));
+ foregroundServiceChannel.setDescription(c.getString(R.string.foreground_service_channel_description, c.getString(R.string.app_name)));
foregroundServiceChannel.setShowBadge(false);
foregroundServiceChannel.setGroup("status");
notificationManager.createNotificationChannel(foregroundServiceChannel);
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
index 23807b090..f13b94a8d 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
@@ -1571,7 +1571,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
} else {
res = R.string.no_storage_permission;
}
- Toast.makeText(getActivity(), res, Toast.LENGTH_SHORT).show();
+ Toast.makeText(getActivity(), getString(res, getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
}
}
if (writeGranted(grantResults, permissions)) {
@@ -3043,4 +3043,4 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
}
activity.switchToAccount(message.getConversation().getAccount(), fingerprint);
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
index 61a8a586e..e3f52aa21 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
@@ -224,7 +224,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
&& getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.battery_optimizations_enabled);
- builder.setMessage(R.string.battery_optimizations_enabled_dialog);
+ builder.setMessage(getString(R.string.battery_optimizations_enabled_dialog, getString(R.string.app_name)));
builder.setPositiveButton(R.string.next, (dialog, which) -> {
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
Uri uri = Uri.parse("package:" + getPackageName());
diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
index a8f8f3cd2..e7c042c06 100644
--- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
@@ -1209,7 +1209,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
this.binding.osOptimization.setVisibility(showBatteryWarning || showDataSaverWarning ? View.VISIBLE : View.GONE);
if (showDataSaverWarning && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
this.binding.osOptimizationHeadline.setText(R.string.data_saver_enabled);
- this.binding.osOptimizationBody.setText(R.string.data_saver_enabled_explained);
+ this.binding.osOptimizationBody.setText(getString(R.string.data_saver_enabled_explained, getString(R.string.app_name)));
this.binding.osOptimizationDisable.setText(R.string.allow);
this.binding.osOptimizationDisable.setOnClickListener(v -> {
Intent intent = new Intent(Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS);
@@ -1218,13 +1218,13 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
try {
startActivityForResult(intent, REQUEST_DATA_SAVER);
} catch (ActivityNotFoundException e) {
- Toast.makeText(EditAccountActivity.this, R.string.device_does_not_support_data_saver, Toast.LENGTH_SHORT).show();
+ Toast.makeText(EditAccountActivity.this, getString(R.string.device_does_not_support_data_saver, getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
}
});
} else if (showBatteryWarning && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
this.binding.osOptimizationDisable.setText(R.string.disable);
this.binding.osOptimizationHeadline.setText(R.string.battery_optimizations_enabled);
- this.binding.osOptimizationBody.setText(R.string.battery_optimizations_enabled_explained);
+ this.binding.osOptimizationBody.setText(getString(R.string.battery_optimizations_enabled_explained, getString(R.string.app_name)));
this.binding.osOptimizationDisable.setOnClickListener(v -> {
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
Uri uri = Uri.parse("package:" + getPackageName());
diff --git a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
index dbb8763fb..27740eb44 100644
--- a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
@@ -421,7 +421,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe
} else {
throw new IllegalStateException("Invalid permission result request");
}
- Toast.makeText(this, res, Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(res, getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
}
}
diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
index 3632c9cd8..b2ba8fd32 100644
--- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
@@ -405,7 +405,7 @@ public class SettingsActivity extends XmppActivity implements
createBackup();
}
} else {
- Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(R.string.no_storage_permission, getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
}
}
diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
index a55df7105..cb698691e 100644
--- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
@@ -75,7 +75,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
}
}
} else {
- Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(R.string.no_storage_permission, getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
}
}
diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
index bfb922fa1..51e742e3a 100644
--- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
@@ -737,7 +737,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
if (QuickConversationsService.isQuicksy()) {
builder.setMessage(Html.fromHtml(getString(R.string.sync_with_contacts_quicksy)));
} else {
- builder.setMessage(R.string.sync_with_contacts_long);
+ builder.setMessage(getString(R.string.sync_with_contacts_long, getString(R.string.app_name)));
}
builder.setPositiveButton(R.string.next, (dialog, which) -> requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_SYNC_CONTACTS));
builder.setOnDismissListener(dialog -> requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_SYNC_CONTACTS));
diff --git a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java
index ece042ffd..d5a95b7bf 100644
--- a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java
@@ -237,7 +237,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat
}
this.binding.keyErrorHintMutual.setVisibility(anyWithoutMutualPresenceSubscription ? View.VISIBLE : View.GONE);
Contact contact = mAccount.getRoster().getContact(contactJids.get(0));
- binding.keyErrorGeneral.setText(getString(R.string.error_trustkey_general, contact.getDisplayName()));
+ binding.keyErrorGeneral.setText(getString(R.string.error_trustkey_general, getString(R.string.app_name), contact.getDisplayName()));
binding.ownKeysDetails.removeAllViews();
if (OmemoSetting.isAlways()) {
binding.disableButton.setVisibility(View.GONE);
diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
index b3591551b..0abb74564 100644
--- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
@@ -248,7 +248,7 @@ public abstract class XmppActivity extends ActionBarActivity {
Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.openkeychain_required));
builder.setIconAttribute(android.R.attr.alertDialogIcon);
- builder.setMessage(getText(R.string.openkeychain_required_long));
+ builder.setMessage(getString(R.string.openkeychain_required_long, getString(R.string.app_name)));
builder.setNegativeButton(getString(R.string.cancel), null);
builder.setNeutralButton(getString(R.string.restart),
(dialog, which) -> {
diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
index ea272302b..16677ea8b 100644
--- a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java
@@ -84,8 +84,8 @@ public class ExceptionHelper {
file.close();
activity.deleteFile(FILENAME);
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
- builder.setTitle(activity.getString(R.string.crash_report_title));
- builder.setMessage(activity.getText(R.string.crash_report_message));
+ builder.setTitle(activity.getString(R.string.crash_report_title, activity.getString(R.string.app_name)));
+ builder.setMessage(activity.getString(R.string.crash_report_message, activity.getString(R.string.app_name)));
builder.setPositiveButton(activity.getText(R.string.send_now), (dialog, which) -> {
Log.d(Config.LOGTAG, "using account=" + account.getJid().asBareJid() + " to send in stack trace");
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index 177586c1b..25de0b2dd 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -69,8 +69,8 @@
Unblock
Save
OK
- Conversations has crashed
- Using your XMPP account to send in stack traces helps the ongoing development of Conversations.
+ %1$s has crashed
+ Using your XMPP account to send in stack traces helps the ongoing development of %1$s.
Send now
Never ask again
Could not connect to account
@@ -100,7 +100,7 @@
Send unencrypted
Decryption failed. Maybe you don’t have the proper private key.
OpenKeychain
- Conversations uses OpenKeychain to encrypt and decrypt messages and manage your public keys.\n\nIt is licensed under GPLv3+ and available on F-Droid and Google Play.\n\n(Please restart Conversations afterwards.)
+ %1$s uses OpenKeychain to encrypt and decrypt messages and manage your public keys.\n\nIt is licensed under GPLv3+ and available on F-Droid and Google Play.\n\n(Please restart %1$s afterwards.)
Restart
Install
Please install OpenKeychain
@@ -504,10 +504,10 @@
Image shared with %s
Images shared with %s
Text shared with %s
- Grant Conversations access to external storage
- Grant Conversations access to the camera
+ Grant %1$s access to external storage
+ Grant %1$s access to the camera
Synchronize with contacts
- Conversations wants permission to access your contacts to match your XMPP contact list with your contacts to show their full names and avatars.\n\nIt will only read your contacts and match them locally without uploading them to your server.
+ %1$s wants permission to access your contacts to match your XMPP contact list with your contacts to show their full names and avatars.\n\nIt will only read your contacts and match them locally without uploading them to your server.
We will not store a copy of those phone numbers.\n\nFor more information read our privacy policy.
You will now be asked to grant permission to access your contacts.]]>
Notify on all messages
Notify only when mentioned
@@ -518,8 +518,8 @@
Always
Large images only
Battery optimizations enabled
- Your device is employing heavy battery optimizations for Conversations which may lead to delayed notifications or even message loss.\nIt is recommended to disable them.
- Your device is employing heavy battery optimizations for Conversations which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them.
+ Your device is employing heavy battery optimizations for %1$s which may lead to delayed notifications or even message loss.\nIt is recommended to disable them.
+ Your device is employing heavy battery optimizations for %1$s which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them.
Disable
The selected area is too large
(No activated accounts)
@@ -593,8 +593,8 @@
Show error message
Error Message
Data saver enabled
- Your operating system is restricting Conversations from accessing the Internet when in background. To receive notifications of new messages you should allow Conversations unrestricted access when “Data saver” is on.\nConversations will still make an effort to save data when possible.
- Your device does not support disabling Data saver for Conversations.
+ Your operating system is restricting %1$s from accessing the Internet when in background. To receive notifications of new messages you should allow Conversations unrestricted access when “Data saver” is on.\nConversations will still make an effort to save data when possible.
+ Your device does not support disabling Data saver for %1$s.
Could not create temporary file
This device has been verified
Copy fingerprint
@@ -693,7 +693,7 @@
Edit Status Message
Edit status message
Disable encryption
- Conversations is unable to send encrypted messages to %1$s. This may be due to your contact using an outdated server or client that can not handle OMEMO.
+ %1$s is unable to send encrypted messages to %2$s. This may be due to your contact using an outdated server or client that can not handle OMEMO.
Could not fetch device list
Could not fetch encryption keys
Hint: In some cases this can be fixed by adding each other your contact lists.
@@ -726,7 +726,7 @@
Share
Could not start recording
Please wait…
- Grant Conversations access to the microphone
+ Grant %1$s access to the microphone
Search messages
GIF
View conversation
@@ -748,7 +748,7 @@
This group chat has been destroyed
Could not save recording
Foreground service
- This notification category is used to display a permanent notification indicating that Conversations is running.
+ This notification category is used to display a permanent notification indicating that %1$s is running.
Status Information
Connectivity Problems
This notification category is used to display a notification in case there is a problem connecting to an account.
diff --git a/src/quicksy/res/values/strings.xml b/src/quicksy/res/values/strings.xml
index 9fa7ccda9..e1462e916 100644
--- a/src/quicksy/res/values/strings.xml
+++ b/src/quicksy/res/values/strings.xml
@@ -1,23 +1,9 @@
- Quicksy has crashed
- By sending in stack traces you are helping the ongoing development of Quicksy\nWarning: This will use your XMPP account to send the stack trace to the developer.
- Quicksy utilizes a third party app called OpenKeychain to encrypt and decrypt messages and to manage your public keys.\n\nOpenKeychain is licensed under GPLv3 and available on F-Droid and Google Play.\n\n(Please restart Quicksy afterwards.)
- Quicksy is unable to encrypt your messages because your contact is not announcing his or hers public key.\n\nPlease ask your contact to setup OpenPGP.
- Quicksy is unable to encrypt your messages because your contacts are not announcing their public key.\n\nPlease ask your contacts to setup OpenPGP.
The length of time Quicksy keeps quiet after seeing activity on another device
By sending in stack traces you are helping the ongoing development of Quicksy
- Quicksy needs access to external storage
- Quicksy needs access to the camera
- Your device is employing heavy battery optimizations for Quicksy which may lead to delayed notifications or even message loss.\nIt is recommended to disable them.
- Your device is employing heavy battery optimizations for Quicksy which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them.
Let all your contacts know when you use Quicksy
- Your operating system is restricting Quicksy from accessing the Internet when in background. To receive notifications of new messages you should allow Quicksy unrestricted access when Data saver is on.\nQuicksy will still make an effort to save data when possible.
- Your device does not support disabling Data saver for Quicksy.
To keep receiving notifications, even when the screen is turned off, you need to add Quicksy to the list of protected apps.
- Quicksy is unable to send encrypted messages to %1$s. This may be due to your contact using an outdated server or client that can not handle OMEMO.
- Quicksy needs access to the microphone
- This notification category is used to display a permanent notification indicating that Quicksy is running.
Quicksy profile picture
Quicksy is not available in your country.
Unable to verify server identity.