Compare commits
No commits in common. "60cfa150b5f464ceeaddb91096db620b5524a834" and "d85a1991178e82275168ffde6f9f624366694506" have entirely different histories.
60cfa150b5
...
d85a199117
@ -11,8 +11,8 @@ android {
|
||||
compileSdkVersion 31
|
||||
buildToolsVersion '29.0.2'
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
versionCode 133
|
||||
versionName "1.7.17"
|
||||
versionCode 132
|
||||
versionName "1.7.16"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@ -39,12 +39,6 @@ android {
|
||||
targetSdkVersion 31
|
||||
}
|
||||
|
||||
/*
|
||||
targetSdkVersion is kept at 28 for as long as possible.
|
||||
If raised wifi cannot be switched on or off anymore without root permissions.
|
||||
In the Google version I'm forced to raise the value regularly.
|
||||
*/
|
||||
|
||||
fdroidFlavor
|
||||
{
|
||||
dimension "version"
|
||||
|
@ -93,7 +93,6 @@ public class Actions
|
||||
|
||||
Miscellaneous.logEvent("w", "createNotification", "Creating notification with title " + elements[0] + " and text " + elements[1], 3);
|
||||
|
||||
// Create a new notification ID each time
|
||||
int notificationId = Math.round(Calendar.getInstance().getTimeInMillis()/1000);
|
||||
|
||||
try
|
||||
@ -2273,7 +2272,7 @@ public class Actions
|
||||
|
||||
public static void startPhoneCall(Context context, String phoneNumber)
|
||||
{
|
||||
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + Uri.encode(phoneNumber)));
|
||||
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
|
||||
// intent.setClassName("com.android.phone","com.android.phone.OutgoingCallBroadcaster");
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.addFlags(Intent.FLAG_FROM_BACKGROUND);
|
||||
|
@ -39,10 +39,8 @@ public class ActivityControlCenter extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_control_center);
|
||||
|
||||
|
||||
bVolumeTest = (Button) findViewById(R.id.bVolumeTest);
|
||||
bVolumeTest.setOnClickListener(new View.OnClickListener()
|
||||
{
|
||||
@ -386,7 +384,6 @@ public class ActivityControlCenter extends Activity
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
|
||||
String folder = Miscellaneous.getWriteableFolder();
|
||||
if (folder != null && folder.length() > 0)
|
||||
|
@ -21,7 +21,6 @@ public class ActivityDisplayLongMessage extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_display_long_message);
|
||||
|
||||
tvMessageTitle = (TextView)findViewById(R.id.tvMessageTitle);
|
||||
|
@ -13,7 +13,6 @@ public class ActivityHelp extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(layout.activity_help_text);
|
||||
|
||||
TextView tvHelpTextEnergySaving = (TextView) findViewById(R.id.tvHelpTextEnergySaving);
|
||||
|
@ -44,7 +44,7 @@ public class ActivityMainPoi extends ActivityGeneric
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
Miscellaneous.setDisplayLanguage(ActivityMainPoi.this);
|
||||
setContentView(R.layout.main_poi_layout);
|
||||
|
||||
instance = this;
|
||||
@ -108,13 +108,6 @@ public class ActivityMainPoi extends ActivityGeneric
|
||||
this.storeServiceReferenceInVariable();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
}
|
||||
|
||||
private void buttonAddPoi()
|
||||
{
|
||||
poiToEdit = null;
|
||||
|
@ -40,7 +40,7 @@ public class ActivityMainProfiles extends ActivityGeneric
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
Miscellaneous.setDisplayLanguage(ActivityMainProfiles.this);
|
||||
setContentView(R.layout.main_profile_layout);
|
||||
|
||||
instance = this;
|
||||
@ -155,13 +155,6 @@ public class ActivityMainProfiles extends ActivityGeneric
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
}
|
||||
|
||||
private AlertDialog getProfileDialog(final Profile profile)
|
||||
{
|
||||
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
|
||||
|
@ -48,7 +48,7 @@ public class ActivityMainRules extends ActivityGeneric
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
Miscellaneous.setDisplayLanguage(ActivityMainRules.this);
|
||||
setContentView(R.layout.main_rule_layout);
|
||||
|
||||
instance = this;
|
||||
@ -154,13 +154,6 @@ public class ActivityMainRules extends ActivityGeneric
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data)
|
||||
|
@ -55,7 +55,7 @@ public class ActivityMainScreen extends ActivityGeneric
|
||||
public void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
Miscellaneous.setDisplayLanguage(ActivityMainScreen.this);
|
||||
setContentView(R.layout.main_overview_layout);
|
||||
|
||||
activityMainScreenInstance = this;
|
||||
@ -434,7 +434,7 @@ public class ActivityMainScreen extends ActivityGeneric
|
||||
else
|
||||
activityMainScreenInstance.checkForNews();
|
||||
|
||||
if(BuildConfig.FLAVOR.equals(AutomationService.flavor_name_apk) && Settings.automaticUpdateCheck)
|
||||
if(BuildConfig.FLAVOR.equals("apkFlavor") && Settings.automaticUpdateCheck)
|
||||
{
|
||||
Calendar now = Calendar.getInstance();
|
||||
if (Settings.lastUpdateCheck == Settings.default_lastUpdateCheck || now.getTimeInMillis() >= Settings.lastUpdateCheck + (long)(Settings.updateCheckFrequencyDays * 24 * 60 * 60 * 1000))
|
||||
@ -571,7 +571,6 @@ public class ActivityMainScreen extends ActivityGeneric
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
toggleService.setChecked(AutomationService.isMyServiceRunning(this));
|
||||
ActivityMainScreen.updateMainScreen();
|
||||
|
||||
|
@ -23,7 +23,7 @@ public class ActivityMainTabLayout extends TabActivity
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Settings.readFromPersistentStorage(ActivityMainTabLayout.this);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
Miscellaneous.setDisplayLanguage(ActivityMainTabLayout.this);
|
||||
|
||||
if(Settings.tabsPlacement == 1)
|
||||
setContentView(R.layout.main_tab_layout_tabs_at_bottom);
|
||||
@ -65,7 +65,6 @@ public class ActivityMainTabLayout extends TabActivity
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
// Miscellaneous.logEvent("i", "NFC", "ActivityMainTabLayout.onResume().", 5);
|
||||
NfcReceiver.checkIntentForNFC(this, getIntent());
|
||||
// NfcReceiver.checkIntentForNFC(this, new Intent(this.getApplicationContext(), this.getClass()));
|
||||
|
@ -26,7 +26,6 @@ public class ActivityManageActionBrightnessSetting extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
setContentView(R.layout.activity_manage_action_brightness_settings);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
chkAutoBrightness = (CheckBox)findViewById(R.id.chkAutoBrightness);
|
||||
|
@ -259,7 +259,6 @@ public class ActivityManageActionCloseNotification extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_close_notification);
|
||||
|
||||
etNotificationTitle = (EditText)findViewById(R.id.etNotificationTitle);
|
||||
|
@ -19,7 +19,6 @@ public class ActivityManageActionControlMedia extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_control_media);
|
||||
|
||||
rbMediaPlayPause = (RadioButton)findViewById(R.id.rbMediaPlayPause);
|
||||
|
@ -19,7 +19,6 @@ public class ActivityManageActionCopyToClipboard extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_action_copy_to_clipboard);
|
||||
|
||||
bSaveCopyToClipboard = (Button) findViewById(R.id.bSaveCopyToClipboard);
|
||||
|
@ -24,7 +24,6 @@ public class ActivityManageActionCreateNotification extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_create_notification);
|
||||
|
||||
etNotificationTitle = (EditText) findViewById(R.id.etNotificationTitle);
|
||||
|
@ -21,7 +21,6 @@ public class ActivityManageActionMakePhoneCall extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_make_phone_call);
|
||||
|
||||
etTargetPhoneNumber = (EditText)findViewById(R.id.etTargetPhoneNumber);
|
||||
|
@ -26,7 +26,6 @@ public class ActivityManageActionPlaySound extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_play_sound);
|
||||
|
||||
chkPlaySoundAlwaysPlay = (CheckBox)findViewById(R.id.chkPlaySoundAlwaysPlay);
|
||||
|
@ -28,7 +28,6 @@ public class ActivityManageActionRunExecutable extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_run_executable);
|
||||
|
||||
chkRunExecAsRoot = (CheckBox)findViewById(R.id.chkRunExecAsRoot);
|
||||
|
@ -37,7 +37,6 @@ public class ActivityManageActionSendBroadcast extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_send_broadcast);
|
||||
|
||||
etBroadcastToSend = (EditText)findViewById(R.id.etBroadcastToSend);
|
||||
|
@ -48,7 +48,6 @@ public class ActivityManageActionSendTextMessage extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_action_send_textmessage);
|
||||
|
||||
etSendTextMessage = (EditText)findViewById(R.id.etSendTextMessage);
|
||||
|
@ -24,7 +24,6 @@ public class ActivityManageActionSetVariable extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_action_set_variable);
|
||||
|
||||
etVariableSetKey = (EditText)findViewById(R.id.etVariableSetKey);
|
||||
|
@ -22,7 +22,6 @@ public class ActivityManageActionSpeakText extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_action_speak_text);
|
||||
|
||||
etSpeakText = (EditText)findViewById(R.id.etTextToSpeak);
|
||||
|
@ -66,7 +66,6 @@ public class ActivityManageActionStartActivity extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_start_activity);
|
||||
|
||||
lvIntentPairs = (ListView)findViewById(R.id.lvIntentPairs);
|
||||
|
@ -39,7 +39,6 @@ public class ActivityManageActionTriggerUrl extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_action_trigger_url);
|
||||
|
||||
etTriggerUrl = (EditText)findViewById(R.id.etTriggerUrl);
|
||||
|
@ -27,7 +27,6 @@ public class ActivityManageActionVibrate extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_vibrate);
|
||||
|
||||
etVibratePattern = (EditText)findViewById(R.id.etVibratePattern);
|
||||
|
@ -27,7 +27,6 @@ public class ActivityManageActionWakeLock extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_wakelock);
|
||||
|
||||
rbWakeLockActivate = (RadioButton)findViewById(R.id.rbWakeLockActivate);
|
||||
|
@ -23,7 +23,6 @@ public class ActivityManageActionWifi extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_action_wifi);
|
||||
|
||||
chkWifiRunAsRoot = (CheckBox)findViewById(R.id.chkWifiRunAsRoot);
|
||||
|
@ -59,7 +59,6 @@ public class ActivityManagePoi extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_specific_poi);
|
||||
|
||||
myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
|
@ -86,7 +86,6 @@ public class ActivityManageProfile extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
this.setContentView(R.layout.activity_manage_specific_profile);
|
||||
|
||||
checkBoxChangeSoundMode = (CheckBox)findViewById(R.id.checkBoxChangeSoundMode);
|
||||
|
@ -154,7 +154,6 @@ public class ActivityManageRule extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_specific_rule);
|
||||
|
||||
context = this;
|
||||
|
@ -32,7 +32,6 @@ public class ActivityManageTriggerBluetooth extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_bluetooth);
|
||||
|
||||
radioAnyBluetoothDevice = (RadioButton)findViewById(R.id.radioAnyBluetoothDevice);
|
||||
|
@ -28,7 +28,6 @@ public class ActivityManageTriggerBroadcast extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_broadcasts);
|
||||
|
||||
bBroadcastShowSuggestions = findViewById(R.id.bBroadcastShowSuggestions);
|
||||
|
@ -20,7 +20,6 @@ public class ActivityManageTriggerCheckVariable extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_check_variable);
|
||||
|
||||
etVariableKeyTrigger = (EditText) findViewById(R.id.etVariableKeyTrigger);
|
||||
|
@ -104,7 +104,6 @@ public class ActivityManageTriggerDeviceOrientation extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_device_orientation);
|
||||
|
||||
currentAzimuth = (TextView) findViewById(R.id.tvCurrentAzimuth);
|
||||
|
@ -39,7 +39,6 @@ public class ActivityManageTriggerNfc extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_nfc);
|
||||
|
||||
etNewNfcIdValue = (EditText)findViewById(R.id.etNewNfcIdValue);
|
||||
|
@ -258,7 +258,6 @@ public class ActivityManageTriggerNotification extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_notification);
|
||||
|
||||
etNotificationTitle = (EditText)findViewById(R.id.etNotificationTitle);
|
||||
|
@ -35,7 +35,6 @@ public class ActivityManageTriggerPhoneCall extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_phone_call);
|
||||
|
||||
etTriggerPhoneCallPhoneNumber = (EditText)findViewById(R.id.etTriggerPhoneCallPhoneNumber);
|
||||
|
@ -31,7 +31,6 @@ public class ActivityManageTriggerProfile extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_profile);
|
||||
|
||||
bSaveTriggerProfile = (Button)findViewById(R.id.bSaveTriggerProfile);
|
||||
|
@ -21,7 +21,6 @@ public class ActivityManageTriggerSubSystemState extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_subsystemstate);
|
||||
|
||||
rbSubSystemStateWifi = (RadioButton)findViewById(R.id.rbSubSystemStateWifi);
|
||||
|
@ -26,7 +26,6 @@ public class ActivityManageTriggerTethering extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_tethering);
|
||||
|
||||
rbTetheringOn = (RadioButton) findViewById(R.id.rbTetheringOn);
|
||||
|
@ -35,7 +35,6 @@ public class ActivityManageTriggerTimeFrame extends Activity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_timeframe);
|
||||
|
||||
startPicker = (TimePicker)findViewById(R.id.tpTimeFrameStart);
|
||||
|
@ -49,7 +49,6 @@ public class ActivityManageTriggerWifi extends Activity
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_wifi);
|
||||
|
||||
rbTriggerWifiConnected = (RadioButton) findViewById(R.id.rbTriggerWifiConnected);
|
||||
|
@ -79,7 +79,6 @@ public class ActivityPermissions extends Activity
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.permissions_activity);
|
||||
|
||||
bCancelPermissions = (Button)findViewById(R.id.bCancelPermissions);
|
||||
|
@ -16,7 +16,6 @@ public class ActivitySettings extends PreferenceActivity
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
addPreferencesFromResource(layout.activity_settings);
|
||||
|
||||
if(BuildConfig.FLAVOR.equals(AutomationService.flavor_name_apk))
|
||||
@ -25,11 +24,4 @@ public class ActivitySettings extends PreferenceActivity
|
||||
chkPrefUpdateCheck.setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
}
|
||||
}
|
@ -30,7 +30,6 @@ public class ActivityVolumeTest extends Activity
|
||||
instance = this;
|
||||
|
||||
super.onCreate(savedInstanceState);
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_volume_calibration);
|
||||
|
||||
tvCurrentVolume = (TextView)findViewById(R.id.tvCurrentVolume);
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
|
||||
public class AsyncTasks
|
||||
|
@ -12,6 +12,8 @@ import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
@ -20,6 +22,7 @@ import android.os.Environment;
|
||||
import android.os.IBinder;
|
||||
import android.speech.tts.TextToSpeech;
|
||||
import android.speech.tts.TextToSpeech.OnInitListener;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
@ -36,6 +39,7 @@ import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
public class AutomationService extends Service implements OnInitListener
|
||||
|
@ -760,7 +760,7 @@ public class Miscellaneous extends Service
|
||||
else
|
||||
replacement = "unknownVariable";
|
||||
|
||||
source = source.substring(0, pos1) + replacement + source.substring(pos2 +1);
|
||||
source = source.substring(0, pos1) + replacement + source.substring(pos2);
|
||||
}
|
||||
|
||||
// Miscellaneous.logEvent("i", "URL after replace", source);
|
||||
@ -2014,16 +2014,7 @@ public class Miscellaneous extends Service
|
||||
{
|
||||
if(!Settings.displayLanguage.equals(Settings.default_displayLanguage))
|
||||
{
|
||||
Locale myLocale;
|
||||
|
||||
if(Settings.displayLanguage.contains("_"))
|
||||
{
|
||||
String[] parts = Settings.displayLanguage.split("_");
|
||||
myLocale = new Locale(parts[0], parts[1]);
|
||||
}
|
||||
else
|
||||
myLocale = new Locale(Settings.displayLanguage);
|
||||
|
||||
Locale myLocale = new Locale(Settings.displayLanguage);
|
||||
Resources res = context.getResources();
|
||||
DisplayMetrics dm = res.getDisplayMetrics();
|
||||
Configuration conf = res.getConfiguration();
|
||||
|
@ -798,5 +798,4 @@
|
||||
<string name="variablesOnlyForTypes">Variablen sind nur für die Parametertypen String und URI verfügbar</string>
|
||||
<string name="intentParametersHint">Wenn Sie einen Parameter angeben möchten, müssen Sie auch auf \"Intent-Paar hinzufügen\" klicken. Andernfalls werden Ihre Änderungen nicht gespeichert.</string>
|
||||
<string name="languagePolish">Polnisch</string>
|
||||
<string name="languageChineseChina">Chinesisch (China)</string>
|
||||
</resources>
|
@ -797,5 +797,4 @@
|
||||
<string name="variablesOnlyForTypes">Las variables solo están disponibles para los tipos de parámetro String y URI</string>
|
||||
<string name="intentParametersHint">Si desea especificar un parámetro, también debe hacer clic en \"Agregar par de intención\". De lo contrario, los cambios no se guardarán.</string>
|
||||
<string name="languagePolish">Polaco</string>
|
||||
<string name="languageChineseChina">Chino (China)</string>
|
||||
</resources>
|
@ -797,5 +797,4 @@
|
||||
<string name="variablesOnlyForTypes">Les variables ne sont disponibles que pour les types de paramètres String et URI</string>
|
||||
<string name="intentParametersHint">Si vous souhaitez spécifier un paramètre, vous devez également cliquer sur « Ajouter une paire d\'intentions ». Sinon, vos modifications ne seront pas enregistrées.</string>
|
||||
<string name="languagePolish">Polonais</string>
|
||||
<string name="languageChineseChina">Chinois (Chine)</string>
|
||||
</resources>
|
||||
|
@ -798,5 +798,4 @@
|
||||
<string name="variablesOnlyForTypes">Le variabili sono disponibili solo per i tipi di parametro String e URI</string>
|
||||
<string name="intentParametersHint">Se si desidera specificare un parametro è necessario fare clic anche su \"Aggiungi coppia intento\". In caso contrario, le modifiche non verranno salvate.</string>
|
||||
<string name="languagePolish">Polacco</string>
|
||||
<string name="languageChineseChina">Cinese (Cina)</string>
|
||||
</resources>
|
||||
|
@ -796,6 +796,5 @@
|
||||
<string name="variablesOnlyForTypes">Variabelen zijn alleen beschikbaar voor parametertypen Tekenreeks en URI</string>
|
||||
<string name="intentParametersHint">Als u een parameter wilt opgeven, moet u ook op \"Intentiepaar toevoegen\" klikken. Anders worden uw wijzigingen niet opgeslagen.</string>
|
||||
<string name="languagePolish">Pools</string>
|
||||
<string name="languageChineseChina">Chinees (China)</string>
|
||||
|
||||
</resources>
|
||||
|
@ -895,5 +895,4 @@
|
||||
<string name="languageRussian">Rosyjski</string>
|
||||
<string name="languageFrench">Francuski</string>
|
||||
<string name="languagePolish">Polski</string>
|
||||
<string name="languageChineseChina">Chiński (Chiny)</string>
|
||||
</resources>
|
||||
|
@ -855,5 +855,4 @@
|
||||
<string name="variablesOnlyForTypes">Переменные доступны только для типов параметров: String и URI</string>
|
||||
<string name="intentParametersHint">Если вы хотите указать параметр, вам также нужно нажать «Добавить пару намерений». В противном случае ваши изменения не будут сохранены.</string>
|
||||
<string name="languagePolish">Польский</string>
|
||||
<string name="languageChineseChina">Китайский (Китай)</string>
|
||||
</resources>
|
||||
|
@ -1,800 +0,0 @@
|
||||
<resources>
|
||||
<string name="ruleActivate">激活规则 %1$s</string>
|
||||
<string name="profileActivate">激活配置文件 %1$s</string>
|
||||
<string name="ruleActivateToggle">在切换模式下激活规则 %1$s</string>
|
||||
<string name="addPoi">添加位置</string>
|
||||
<string name="addRule">添加规则</string>
|
||||
<string name="poiList">位置列表:</string>
|
||||
<string name="ruleList">规则列表:</string>
|
||||
<string name="pleaseEnterValidName">请输入有效的名字。</string>
|
||||
<string name="pleaseSpecifiyTrigger">请至少指定一个触发器。</string>
|
||||
<string name="pleaseSpecifiyAction">请至少指定一个动作。</string>
|
||||
<string name="serviceWontStart">没有定义规则。服务不会启动。</string>
|
||||
<string name="serviceStarted">Automation 服务已启动。</string>
|
||||
<string name="version">版本 %1$s。</string>
|
||||
<string name="distanceBetween">GPS 位置和网络位置之间的距离是 %1$d 米。最小半径应该是这个值+1米。</string>
|
||||
<string name="positioningWindowNotice">如果您在建筑物中,强烈建议您将设备放在窗户旁边,直到获得位置。否则即使能获得位置,也可能需要很长时间。</string>
|
||||
<string name="gettingPosition">获取位置。请稍等…</string>
|
||||
<string name="yes">是</string>
|
||||
<string name="no">否</string>
|
||||
<string name="pleaseEnterValidLatitude">请输入有效的纬度。</string>
|
||||
<string name="pleaseEnterValidLongitude">请输入有效的经度。</string>
|
||||
<string name="pleaseEnterValidRadius">请输入有效的正数半径。</string>
|
||||
<string name="selectOneDay">至少选择一天。</string>
|
||||
<string name="whatToDoWithRule">对规则做什么?</string>
|
||||
<string name="whatToDoWithPoi">对位置做什么?</string>
|
||||
<string name="whatToDoWithProfile">对情景模式做什么?</string>
|
||||
<string name="delete">删除</string>
|
||||
<string name="deleteCapital">删除</string>
|
||||
<string name="serviceStopped">Automation 服务已停止。</string>
|
||||
<string name="logServiceStopping">停止服务。</string>
|
||||
<string name="stillGettingPosition">仍在获取位置</string>
|
||||
<string name="lastRule">最后的规则:</string>
|
||||
<string name="at">在</string>
|
||||
<string name="service">服务:</string>
|
||||
<string name="getCurrentPosition">获取当前位置</string>
|
||||
<string name="savePoi">保存位置</string>
|
||||
<string name="deletePoi">删除位置</string>
|
||||
<string name="latitude">纬度</string>
|
||||
<string name="longitude">经度</string>
|
||||
<string name="ruleName">规则名称</string>
|
||||
<string name="triggers">触发器</string>
|
||||
<string name="triggersComment">用“与”连接(所有条件必须同时成立)</string>
|
||||
<string name="addTrigger">添加触发器</string>
|
||||
<string name="actions">动作</string>
|
||||
<string name="actionsComment">(将按顺序执行)</string>
|
||||
<string name="addAction">添加动作</string>
|
||||
<string name="saveRule">保存规则</string>
|
||||
<string name="monday">星期一</string>
|
||||
<string name="tuesday">星期二</string>
|
||||
<string name="wednesday">星期三</string>
|
||||
<string name="thursday">星期四</string>
|
||||
<string name="friday">星期五</string>
|
||||
<string name="saturday">星期六</string>
|
||||
<string name="sunday">星期日</string>
|
||||
<string name="start">开始</string>
|
||||
<string name="end">结束</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="urlToTrigger">触发网址:</string>
|
||||
<string name="urlLegend">变量:\n您可以使用以下变量。触发后,它们将替换为您设备上的对应值。文本中要包含方括号。\n\n[uniqueid] - 您设备的唯一 ID\n[serialnr] - 您设备的序列号(< Android 9)\n[latitude] - 您设备的纬度\n[longitude] - 您设备的经度\n[phonenr] - 最后来电或去电的号码\n[d] - 日,2 位数字,带前导零\n[m] - 月,数字表示,带前导零\n[Y] - 年,完整数字表示,4 位数字\n[h] - 时,12 小时制,带前导零\n[H] - 时,24 小时制,带前导零\n[i] - 分,带前导零\n[s] - 秒,带前导零\n[ms] - 毫秒\n[notificationTitle] - 最后通知的标题\n[notificationText] - 最后通知的文本\n[variable-变量名] - 自定义变量的值</string>
|
||||
<string name="wifi">WLAN</string>
|
||||
<string name="activating">启用</string>
|
||||
<string name="deactivating">停用</string>
|
||||
<string name="bluetoothFailed">未能触发蓝牙。这个设备有蓝牙吗?</string>
|
||||
<string name="urlTooShort">网址必须至少包含 10 个字符。</string>
|
||||
<string name="enterPhoneNumberAndText">输入电话号码和短信。</string>
|
||||
<string name="selectTypeOfTrigger">选择触发器类型</string>
|
||||
<string name="entering">进入</string>
|
||||
<string name="leaving">离开</string>
|
||||
<string name="noPoisSpecified">尚未指定任何位置。请先添加位置。</string>
|
||||
<string name="started">开始</string>
|
||||
<string name="stopped">停止</string>
|
||||
<string name="connected">连接</string>
|
||||
<string name="disconnected">断开</string>
|
||||
<string name="selectPoi">选择位置</string>
|
||||
<string name="selectTypeOfAction">选择动作类型</string>
|
||||
<string name="selectSoundProfile">选择情景模式</string>
|
||||
<string name="whatToDoWithTrigger">对触发器做什么?</string>
|
||||
<string name="whatToDoWithAction">对动作做什么?</string>
|
||||
<string name="radiusHasToBePositive">半径必须是正数。</string>
|
||||
<string name="poiStillReferenced">还有引用此位置的规则 (%1$s)。现在不能删除它。</string>
|
||||
<string name="generalSettings">常规设置</string>
|
||||
<string name="startAtSystemBoot">开机时启动</string>
|
||||
<string name="onOff">开/关</string>
|
||||
<string name="writeLogFile">写入日志文件</string>
|
||||
<string name="useTextToSpeechOnNormalSummary">响铃模式时使用文字转语音</string>
|
||||
<string name="useTextToSpeechOnVibrateSummary">振动模式时使用文字转语音</string>
|
||||
<string name="useTextToSpeechOnSilentSummary">静音模式时使用文字转语音</string>
|
||||
<string name="useTextToSpeechOnNormalTitle">响铃模式 TTS</string>
|
||||
<string name="useTextToSpeechOnVibrateTitle">振动模式 TTS</string>
|
||||
<string name="useTextToSpeechOnSilentTitle">静音模式 TTS</string>
|
||||
<string name="positioningSettings">定位设置</string>
|
||||
<string name="listenToWifiState">如果可能,监听 WLAN 状态变化</string>
|
||||
<string name="wifiState">WLAN 状态</string>
|
||||
<string name="listenToAccelerometerState">WLAN 不可用时监测设备移动</string>
|
||||
<string name="accelerometer">加速度计</string>
|
||||
<string name="accelerometerTimer">手机信号塔保持不变 X 分钟后,使用加速度计</string>
|
||||
<string name="cellMastIdleTime">手机信号塔等待时间</string>
|
||||
<string name="accelerometerThresholdDescription">加速度计移动阈值</string>
|
||||
<string name="accelerometerThreshold">加速度计阈值</string>
|
||||
<string name="positioningThresholds">定位阈值</string>
|
||||
<string name="minimumDistanceChangeForGpsLocationUpdates">GPS 位置更新的最小距离变化</string>
|
||||
<string name="distanceForGpsUpdate">GPS 更新距离 [m]</string>
|
||||
<string name="minimumDistanceChangeForNetworkLocationUpdates">网络位置更新的最小距离变化</string>
|
||||
<string name="distanceForNetworkUpdate">网络更新距离 [m]</string>
|
||||
<string name="satisfactoryAccuracyGps">通过 GPS 获取位置时的精度(以米为单位)</string>
|
||||
<string name="gpsAccuracy">GPS 精度 [m]</string>
|
||||
<string name="satisfactoryAccuracyNetwork">通过手机信号塔获取位置时的精度(以米为单位)</string>
|
||||
<string name="networkAccuracy">网络位置精度 [m]</string>
|
||||
<string name="minimumTimeForLocationUpdates">位置更新的最小时间间隔(以毫秒为单位)</string>
|
||||
<string name="timeForUpdate">更新时间 [毫秒]</string>
|
||||
<string name="soundSettings">声音设置</string>
|
||||
<string name="showHelp">显示帮助</string>
|
||||
<string name="rules">规则</string>
|
||||
<string name="helpTextRules">规则中的所有触发器都是用“与”连接的。规则仅在满足所有触发器时才应用。如果您想要“或”,请创建另一个规则。\n触发器和条件是作为同义词使用的。所有的触发器都是条件,而最后一个满足其要求值的条件可以称为触发器,因为它是导致规则执行的“最后一块拼图”。</string>
|
||||
<string name="timeframes">时间范围</string>
|
||||
<string name="helpTextTimeFrame">指定时间范围规则时有两种选择。您可以选择进入或离开时间范围。无论哪种方式,规则都只会触发一次。因此,如果您创建一个使用触发器“进入时间范围 XYZ”的规则,让它将响铃模式更改为振动,这并不意味着手机会在时间范围结束时自动更改为响铃。如果想要的话,您需要指定另一个规则,使用另一个时间范围。</string>
|
||||
<string name="helpTextSound">在主屏幕上,您可以使用“锁定声音更改”来暂时禁用基于规则的声音更改。例如,您可能在通常允许响铃的情况或地点,但这一次响铃会打扰。一旦配置的时间过去,此功能将自动停用。点击 + 按钮以添加给定的时间。当此功能启用时,您可以使用切换按钮将其停用(即重新启用基于规则的声音更改)。</string>
|
||||
<string name="toggableRules">可切换规则</string>
|
||||
<string name="helpTextToggable">规则有一个称为“可切换”的设置。它的意思是执行规则后,相同触发器再次触发时,规则会以相反方式再次执行(如果适用的话)。目前这只能和 NFC 标签一起使用。如果在关联了可切换规则时触碰两次标签,就会执行与当前状态相反的操作,例如 WLAN 当前开启时将其关闭。</string>
|
||||
<string name="helpTextProcessMonitoring">如果指定了使用进程监控的规则,这个应用就会每 X 秒检查一次该进程(X 可以在设置中更改)。我知道这可能有点慢,但持续监控会很快耗尽电池电量。并且该事件没有来自操作系统的广播。</string>
|
||||
<string name="helpTitleEnergySaving">节能</string>
|
||||
<string name="helpTextEnergySaving">很多 Android 设备制造商试图通过限制应用的后台活动来节省电量。不幸的是,这通常会导致这些应用无法正常工作,Automation 就是其中之一。请看这个<a href="https://dontkillmyapp.com/">网页</a>,查找如何从这些限制中排除 Automation。</string>
|
||||
<string name="speedMaximumTimeBetweenLocations">确定速度的两个位置之间最长时间。</string>
|
||||
<string name="speedMaximumTime">时间 [分钟]</string>
|
||||
<string name="exceeds">超过</string>
|
||||
<string name="dropsBelow">低于</string>
|
||||
<string name="settingsCategoryNoiseLevelMeasurements">噪声级测量</string>
|
||||
<string name="timeBetweenNoiseLevelMeasurementsSummary">噪声级测量之间的秒数</string>
|
||||
<string name="timeBetweenNoiseLevelMeasurementsTitle">噪声级测量之间的秒数</string>
|
||||
<string name="lengthOfNoiseLevelMeasurementsSummary">每次噪声级测量的时长(以秒为单位)</string>
|
||||
<string name="lengthOfNoiseLevelMeasurementsTitle">每次噪声级测量的时长</string>
|
||||
<string name="referenceValueForNoiseLevelMeasurementsSummary">噪声级测量的物理参考值</string>
|
||||
<string name="referenceValueForNoiseLevelMeasurementsTitle">噪声测量参考</string>
|
||||
<string name="logLevelSummary">日志级别(1=最低,5=最高)</string>
|
||||
<string name="logLevelTitle">日志级别</string>
|
||||
<string name="ruleActive">启用规则</string>
|
||||
<string name="triggerPointOfInterest">位置</string>
|
||||
<string name="triggerTimeFrame">时间范围</string>
|
||||
<string name="triggerCharging">电池充电</string>
|
||||
<string name="triggerUsb_host_connection">USB 连接到电脑</string>
|
||||
<string name="triggerSpeed">速度</string>
|
||||
<string name="triggerNoiseLevel">背景噪声级</string>
|
||||
<string name="actionSetWifi">WLAN</string>
|
||||
<string name="actionSetBluetooth">蓝牙</string>
|
||||
<string name="actionSetUsbTethering">USB 网络共享</string>
|
||||
<string name="actionSetWifiTethering">WLAN 网络共享</string>
|
||||
<string name="actionSetBluetoothTethering">蓝牙网络共享</string>
|
||||
<string name="actionSetDisplayRotation">屏幕旋转</string>
|
||||
<string name="actionTurnWifiOn">打开 WLAN</string>
|
||||
<string name="actionTurnWifiOff">关闭 WLAN</string>
|
||||
<string name="actionTurnBluetoothOn">打开蓝牙</string>
|
||||
<string name="actionTurnBluetoothOff">关闭蓝牙</string>
|
||||
<string name="actionTriggerUrl">触发网址</string>
|
||||
<string name="actionChangeSoundProfile">更改情景模式</string>
|
||||
<string name="actionTurnUsbTetheringOn">打开 USB 网络共享</string>
|
||||
<string name="actionTurnUsbTetheringOff">关闭 USB 网络共享</string>
|
||||
<string name="actionTurnWifiTetheringOn">打开 WLAN 网络共享</string>
|
||||
<string name="actionTurnWifiTetheringOff">关闭 WLAN 网络共享</string>
|
||||
<string name="actionTurnBluetoothTetheringOn">打开蓝牙网络共享</string>
|
||||
<string name="actionTurnBluetoothTetheringOff">关闭蓝牙网络共享</string>
|
||||
<string name="actionTurnAirplaneModeOn">打开飞行模式</string>
|
||||
<string name="actionTurnAirplaneModeOff">关闭飞行模式</string>
|
||||
<string name="actionEnableScreenRotation">启用屏幕旋转</string>
|
||||
<string name="actionDisableScreenRotation">禁用屏幕旋转</string>
|
||||
<string name="screenRotationEnabled">屏幕旋转已启用。</string>
|
||||
<string name="screenRotationDisabled">屏幕旋转已禁用。</string>
|
||||
<string name="screenRotationAlreadyEnabled">屏幕旋转已经是启用的。</string>
|
||||
<string name="screenRotationAlreadyDisabled">屏幕旋转已经是禁用的。</string>
|
||||
<string name="noPoisDefinedShort">没有定义位置。</string>
|
||||
<string name="activePoi">活动位置:</string>
|
||||
<string name="closestPoi">最近的位置:</string>
|
||||
<string name="overview">概述</string>
|
||||
<string name="poi">位置</string>
|
||||
<string name="pois">位置</string>
|
||||
<string name="helpTextPoi">位置由 GPS 坐标和半径组成。因为手机信号塔定位很不精确(但快速、省电),所以不要将半径指定得太小。创建新位置时,此应用会给出建议的最小半径。</string>
|
||||
<string name="serviceNotRunning">服务未运行。</string>
|
||||
<string name="general">常规</string>
|
||||
<string name="generalText">要使用此程序,您必须设置规则。规则包含触发器,例如到达指定区域或进入某个时间。完成后点击主屏幕上的开/关按钮。</string>
|
||||
<string name="failedToTriggerBluetooth">未能触发蓝牙。这个设备有蓝牙吗?</string>
|
||||
<string name="startServiceAfterAppUpdate">应用更新后自动启动服务(如果之前是运行的)。</string>
|
||||
<string name="startServiceAfterAppUpdateShort">更新后启动服务</string>
|
||||
<string name="wifiConnection">WLAN 连接</string>
|
||||
<string name="wifiName">WLAN 名称</string>
|
||||
<string name="enterWifiName">输入 WLAN 名称。留空表示任何 WLAN。</string>
|
||||
<string name="cancel">取消</string>
|
||||
<string name="starting">开始</string>
|
||||
<string name="stopping">停止</string>
|
||||
<string name="connecting">连接</string>
|
||||
<string name="disconnecting">断开</string>
|
||||
<string name="exceeding">超过</string>
|
||||
<string name="droppingBelow">低于</string>
|
||||
<string name="connectedToWifi">连接到 WLAN \"%1$s\"</string>
|
||||
<string name="disconnectedFromWifi">与 WLAN \"%1$s\" 断开连接</string>
|
||||
<string name="anyWifi">任何 WLAN</string>
|
||||
<string name="cantStopIt">无法停止。</string>
|
||||
<string name="settingsCategoryHttp">HTTP(s) 请求</string>
|
||||
<string name="httpAcceptAllCertificatesTitle">接受所有证书</string>
|
||||
<string name="httpAcceptAllCertificatesSummary">跳过 SSL 证书的有效性检查(不建议启用)</string>
|
||||
<string name="httpAttemptsSummary">HTTP 请求因连接原因失败时的尝试次数</string>
|
||||
<string name="httpAttemptsTitle">HTTP 尝试次数</string>
|
||||
<string name="httpAttemptsTimeoutSummary">HTTP 请求超时 [秒]</string>
|
||||
<string name="httpAttemptsTimeoutTitle">超时 [秒]</string>
|
||||
<string name="httpAttemptGapSummary">下一次尝试之前暂停 [秒]</string>
|
||||
<string name="httpAttemptGapTitle">暂停 [秒]</string>
|
||||
<string name="runManually">手动运行</string>
|
||||
<string name="serviceHasToRunForThat">必须运行服务,才能执行此操作。</string>
|
||||
<string name="gpsComparison">GPS 比较</string>
|
||||
<string name="timeoutForGpsComparisonsTitle">GPS 超时 [秒]</string>
|
||||
<string name="timeoutForGpsComparisonsSummary">尝试获取 GPS 位置进行比较的最长时间(以秒为单位)。如果超时就会应用最后已知的位置。</string>
|
||||
<string name="rememberLastActivePoiSummary">如果您在某个位置,重启设备或此应用时离开该位置,此应用将在下次启动时运行离开该位置相关的规则。</string>
|
||||
<string name="rememberLastActivePoiTitle">记住最后活动位置</string>
|
||||
<string name="muteTextToSpeechDuringCallsTitle">通话时静音</string>
|
||||
<string name="muteTextToSpeechDuringCallsSummary">通话时将文字转语音静音</string>
|
||||
<string name="anotherPoiByThatName">已经有另一个同名的位置。</string>
|
||||
<string name="anotherRuleByThatName">已经有另一个同名的规则。</string>
|
||||
<string name="startOtherActivity">启动另一个程序</string>
|
||||
<string name="selectApplication">选择应用</string>
|
||||
<string name="selectPackageOfApplication">选择软件包</string>
|
||||
<string name="selectActivityToBeStarted">选择所选软件包的活动</string>
|
||||
<string name="errorStartingOtherActivity">启动其他活动时出错</string>
|
||||
<string name="anotherAppIsRunning">另一个应用启动/停止</string>
|
||||
<string name="settingsCategoryProcessMonitoring">进程监控</string>
|
||||
<string name="timeBetweenProcessMonitoringsTitle">进程监控之间的秒数</string>
|
||||
<string name="timeBetweenProcessMonitoringsSummary">值越低,电池用量越高</string>
|
||||
<string name="processes">进程</string>
|
||||
<string name="processMonitoring">进程监控</string>
|
||||
<string name="settings">设置</string>
|
||||
<string name="settingsErased">设置已删除。</string>
|
||||
<string name="settingsSetToDefault">设置为默认值。</string>
|
||||
<string name="batteryLevel">电池电量</string>
|
||||
<string name="selectSpeed">选择速度</string>
|
||||
<string name="selectBattery">选择电池电量</string>
|
||||
<string name="privacy">隐私政策</string>
|
||||
<string name="privacyConfirmationText">现在将在您的设备上打开浏览器,从开发者的网站加载隐私政策。</string>
|
||||
<string name="waitBeforeNextAction">下个动作前等待</string>
|
||||
<string name="wakeupDevice">唤醒设备</string>
|
||||
<string name="waitBeforeNextActionEnterValue">输入下个动作之前等待的时间(以毫秒为单位)。</string>
|
||||
<string name="wakeupDeviceValue">输入设备保持唤醒的最短时间(以毫秒为单位)。0 表示默认值。</string>
|
||||
<string name="enterAPositiveValidNonDecimalNumber">输入一个有效的正整数。</string>
|
||||
<string name="moveUp">向上移动</string>
|
||||
<string name="moveDown">向下移动</string>
|
||||
<string name="cantMoveUp">无法向上移动项目。它已经在顶部了。</string>
|
||||
<string name="cantMoveDown">无法向下移动项目。它已经在底部了。</string>
|
||||
<string name="airplaneMode">飞行模式</string>
|
||||
<string name="activate">启用</string>
|
||||
<string name="deactivate">停用</string>
|
||||
<string name="airplaneModeSdk17Warning">从 Android 4.2 版本开始,此功能仅在您的设备已获得 root 权限时才有效。</string>
|
||||
<string name="addIntentValue">添加 Intent 对</string>
|
||||
<string name="parameterName">参数名称</string>
|
||||
<string name="parameterValue">参数值</string>
|
||||
<string name="parameterType">参数类型</string>
|
||||
<string name="selectTypeOfIntentPair">选择 Intent 对的类型。</string>
|
||||
<string name="enterNameForIntentPair">输入 Intent 对的名称。</string>
|
||||
<string name="enterValueForIntentPair">输入 Intent 对的值。</string>
|
||||
<string name="whatToDoWithIntentPair">对 Intent 对做什么?</string>
|
||||
<string name="gettingListOfInstalledApplications">正在获取已安装应用列表…</string>
|
||||
<string name="timeFrameWhichDays">在星期几?</string>
|
||||
<string name="insideOrOutsideTimeFrames">时间范围之内还是之外?</string>
|
||||
<string name="selectToggleDirection">打开还是关闭?</string>
|
||||
<string name="name">名称</string>
|
||||
<string name="radiusWithUnit">半径 [米]</string>
|
||||
<string name="status">状态</string>
|
||||
<string name="actionDataConnection">移动数据连接</string>
|
||||
<string name="actionSetDataConnectionOn">打开移动数据</string>
|
||||
<string name="actionSetDataConnectionOff">关闭移动数据</string>
|
||||
<string name="roaming">漫游</string>
|
||||
<string name="activated">启用</string>
|
||||
<string name="deactivated">停用</string>
|
||||
<string name="until">到</string>
|
||||
<string name="application">应用</string>
|
||||
<string name="is">已</string>
|
||||
<string name="phoneCall">通话</string>
|
||||
<string name="with">和</string>
|
||||
<string name="phoneNumber">电话号码</string>
|
||||
<string name="enterPhoneNumberBlankForAny">输入电话号码。留空表示任何号码。</string>
|
||||
<string name="enterPhoneNumber">输入电话号码。</string>
|
||||
<string name="phoneDirection">选择通话\n方向</string>
|
||||
<string name="any">任何</string>
|
||||
<string name="incoming">来电</string>
|
||||
<string name="outgoing">去电</string>
|
||||
<string name="incomingAdjective">来电</string>
|
||||
<string name="outgoingAdjective">去电</string>
|
||||
<string name="anyNumber">任何号码</string>
|
||||
<string name="number">号码</string>
|
||||
<string name="nfcTag">NFC 标签</string>
|
||||
<string name="closeTo">接近</string>
|
||||
<string name="withLabel">ID 为</string>
|
||||
<string name="deviceDoesNotHaveNfc">这个设备似乎没有 NFC。</string>
|
||||
<string name="nfcReadTag">从标签中读取 ID</string>
|
||||
<string name="nfcWriteTag">写入标签</string>
|
||||
<string name="nfcEnterValidIdentifier">输入有效的标签标识符(如“家门”)。</string>
|
||||
<string name="nfcTagWrittenSuccessfully">标记写入成功。</string>
|
||||
<string name="nfcTagWriteError">写入标签时出错。标签在范围内吗?</string>
|
||||
<string name="nfcTagDiscovered">发现标签。</string>
|
||||
<string name="nfcBringTagIntoRange">请将 NFC 标签置于范围内。</string>
|
||||
<string name="nfcTagFoundWithText">找到标签,文本为:</string>
|
||||
<string name="nfcUnsupportedEncoding">不支持的编码:</string>
|
||||
<string name="nfcNoNdefIntentBut">没有 NFC NDEF Intent,但是</string>
|
||||
<string name="nfcNotSupportedInThisAndroidVersionYet">此 Android 版本尚不支持 NFC。</string>
|
||||
<string name="cantRunRule">无法运行规则。</string>
|
||||
<string name="nfcApplyTagToRule">将标签应用到规则</string>
|
||||
<string name="nfcTagReadSuccessfully">标签读取成功。</string>
|
||||
<string name="nfcValueNotSuitable">存储的值不适合。</string>
|
||||
<string name="nfcNoTag">没有标签。</string>
|
||||
<string name="newNfcId">写入新的 NFC ID</string>
|
||||
<string name="useExistingTag">使用现有的 NFC 标签</string>
|
||||
<string name="newId">新 ID:</string>
|
||||
<string name="currentId">当前 ID:</string>
|
||||
<string name="nfcTagDataNotUsable">标签数据不可用,请重新写入。</string>
|
||||
<string name="nfcBringTagIntoRangeToRead">请将标签置于读取范围内。</string>
|
||||
<string name="toggleRule">切换规则</string>
|
||||
<string name="toggling">切换</string>
|
||||
<string name="toggle">切换</string>
|
||||
<string name="overlapBetweenPois">检测到与位置 %1$s 重叠了 %2$s 米。请至少将半径减少该值。</string>
|
||||
<string name="none">无</string>
|
||||
<string name="anyLocation">任何位置</string>
|
||||
<string name="invalidPoiName">位置名称无效。</string>
|
||||
<string name="eraseSettings">清除设置</string>
|
||||
<string name="defaultSettings">默认设置</string>
|
||||
<string name="areYouSure">你确定吗?</string>
|
||||
<string name="activityDetection">活动检测</string>
|
||||
<string name="android.permission.ACTIVITY_RECOGNITION">活动检测</string>
|
||||
<string name="detectedActivity">检测到的活动:</string>
|
||||
<string name="detectedActivityInVehicle">在车辆中(汽车/公共汽车)</string>
|
||||
<string name="detectedActivityOnBicycle">在自行车上</string>
|
||||
<string name="detectedActivityOnFoot">步行或跑步</string>
|
||||
<string name="detectedActivityStill">静止</string>
|
||||
<string name="detectedActivityUnknown">未知</string>
|
||||
<string name="detectedActivityTilting">倾斜</string>
|
||||
<string name="detectedActivityWalking">步行</string>
|
||||
<string name="detectedActivityRunning">跑步</string>
|
||||
<string name="detectedActivityInvalidStatus">无效活动</string>
|
||||
<string name="selectTypeOfActivity">选择活动类型</string>
|
||||
<string name="triggerOnlyAvailableIfPlayServicesInstalled">此触发器仅在已安装 Google Play 服务时可用。</string>
|
||||
<string name="activityDetectionFrequencyTitle">活动检测频率 [秒]</string>
|
||||
<string name="activityDetectionFrequencySummary">尝试检测活动之间的秒数。</string>
|
||||
<string name="activityDetectionRequiredProbabilityTitle">活动检测概率</string>
|
||||
<string name="activityDetectionRequiredProbabilitySummary">达到此概率时,活动被接受为确定发生。</string>
|
||||
<string name="incomingCallFrom">来自 %1$s 的来电。</string>
|
||||
<string name="outgoingCallTo">去电至 %1$s。</string>
|
||||
<string name="actionSpeakText">朗读文字</string>
|
||||
<string name="textToSpeak">要朗读的文字</string>
|
||||
<string name="toggleNotAllowed">目前仅允许切换有 NFC 标签触发器的规则。请参阅帮助以获取更多信息。</string>
|
||||
<string name="errorReadingPoisAndRulesFromFile">从文件中读取位置和规则时出错。</string>
|
||||
<string name="noDataChangedReadingAnyway">似乎没有保存过数据更改。但内存中可能有更改需要回滚。正在重新读取文件。</string>
|
||||
<string name="bluetoothConnection">蓝牙连接</string>
|
||||
<string name="bluetoothConnectionTo">蓝牙连接到 %1$s</string>
|
||||
<string name="bluetoothDisconnectFrom">与 %1$s 断开蓝牙连接</string>
|
||||
<string name="bluetoothDeviceInRange">蓝牙设备 %1$s 在范围内。</string>
|
||||
<string name="bluetoothDeviceOutOfRange">蓝牙设备 %1$s 不在范围内。</string>
|
||||
<string name="anyDevice">任何设备</string>
|
||||
<string name="noDevice">无设备</string>
|
||||
<string name="selectDeviceFromList">列表中的一个</string>
|
||||
<string name="connectionToDevice">连接到设备</string>
|
||||
<string name="disconnectionFromDevice">与设备断开连接</string>
|
||||
<string name="deviceInRange">设备在范围内</string>
|
||||
<string name="deviceOutOfRange">设备不在范围内</string>
|
||||
<string name="selectDeviceOption">选择设备选项。</string>
|
||||
<string name="selectConnectionOption">选择连接选项。</string>
|
||||
<string name="triggerHeadsetPlugged">耳机连接</string>
|
||||
<string name="actionPlayMusic">打开音乐播放器</string>
|
||||
<string name="headsetConnected">耳机(类型:%1$s)已连接</string>
|
||||
<string name="headsetDisconnected">耳机(类型:%1$s)已断开连接</string>
|
||||
<string name="headphoneSimple">无麦克风</string>
|
||||
<string name="headphoneMicrophone">有麦克风</string>
|
||||
<string name="headphoneAny">均可</string>
|
||||
<string name="headphoneSelectType">选择耳机类型</string>
|
||||
<string name="whatsThis">这是什么?</string>
|
||||
<string name="privacyLocationingTitle">仅私人定位</string>
|
||||
<string name="privacyLocationingSummary">避免可能会将您的位置发送给提供商(如 Google)的定位方法。这将仅使用 GPS,所以可能较慢或不够可靠。</string>
|
||||
<string name="noiseDetectionHint">如果您认为噪声检测不正确(根据您指定的值),请注意每部手机都有差别。所以您可以在设置中更改“噪声测量参考”。更多信息请参阅 https://zh.wikipedia.org/wiki/分贝 。您可以使用主屏幕上的音量校准器来校准您的设备。</string>
|
||||
<string name="hint">提示</string>
|
||||
<string name="selectNoiseLevel">选择噪声级</string>
|
||||
<string name="showOnMap">在地图上显示</string>
|
||||
<string name="noMapsApplicationFound">在您的设备上找不到地图应用。</string>
|
||||
<string name="locationEngineNotActive">定位未激活。</string>
|
||||
<string name="addProfile">添加情景模式</string>
|
||||
<string name="profile">情景模式</string>
|
||||
<string name="soundMode">声音模式</string>
|
||||
<string name="volumes">音量</string>
|
||||
<string name="incomingCallsRingtone">来电提示音</string>
|
||||
<string name="notificationRingtone">通知提示音</string>
|
||||
<string name="hapticFeedback">触感反馈(触摸屏幕时振动)</string>
|
||||
<string name="volumeMusicVideoGameMedia">音乐、视频、游戏等媒体</string>
|
||||
<string name="volumeRingtoneNotifications">铃声和通知</string>
|
||||
<string name="volumeAlarms">闹钟</string>
|
||||
<string name="change">更改</string>
|
||||
<string name="audibleSelection">触摸提示音(进行屏幕选择时的声音)</string>
|
||||
<string name="screenLockUnlockSound">屏幕锁定/解锁提示音</string>
|
||||
<string name="vibrateWhenRinging">响铃时振动</string>
|
||||
<string name="profiles">情景</string>
|
||||
<string name="soundModeNormal">正常</string>
|
||||
<string name="soundModeVibrate">振动</string>
|
||||
<string name="soundModeSilent">静音</string>
|
||||
<string name="enterAname">输入名称。</string>
|
||||
<string name="noChangeSelectedProfileDoesntMakeSense">未选择更改。情景模式没有意义。</string>
|
||||
<string name="noProfilesCreateOneFirst">您的配置中没有情景模式。请先创建一个。</string>
|
||||
<string name="errorActivatingProfile">激活情景模式时出错:</string>
|
||||
<string name="anotherProfileByThatName">已经有另一个同名的情景模式。</string>
|
||||
<string name="invalidProfileName">情景模式名称无效。</string>
|
||||
<string name="errorWritingFile">写入设置文件时出错。</string>
|
||||
<string name="unknownError">未知错误。</string>
|
||||
<string name="noWritableFolderFound">找不到可写目录,无法保存配置文件。</string>
|
||||
<string name="usbTetheringFailForAboveGingerbread">这很可能不起作用,因为您使用的是 Android 2.3 以上版本。您可以改用 WLAN 网络共享。</string>
|
||||
<string name="usingNewThreadForRuleExecution">使用新线程激活规则。</string>
|
||||
<string name="startNewThreadForRuleExecution">启动新线程激活规则。</string>
|
||||
<string name="newThreadRules">新线程</string>
|
||||
<string name="showIcon">显示图标</string>
|
||||
<string name="showIconWhenServiceIsRunning">服务运行时显示图标(隐藏仅在 Android 7 以下有效)。如果您使用的是更高版本,请转到系统设置 - Automation - 通知,禁用“Service notification”。</string>
|
||||
<string name="ruleHistory">规则历史(最近的在前):</string>
|
||||
<string name="someOptionsNotAvailableYet">部分选项已禁用,它们目前还无法使用。它们将在以后的程序版本中加入。</string>
|
||||
<string name="lockSoundChanges">锁定声音更改</string>
|
||||
<string name="noProfileChangeSoundLocked">情景模式将不会激活。最后激活的情景模式已被锁定。</string>
|
||||
<string name="currentVolume">当前音量</string>
|
||||
<string name="enterValidReferenceValue">输入有效的参考值。</string>
|
||||
<string name="volumeTest">音量校准</string>
|
||||
<string name="volumeCalibrationExplanation">要计算噪声监测的分贝值,您需要指定一个所谓的物理参考值。请阅读维基百科以获取更多信息。每个手机的参考值很可能是不同的。调整拖动条以更改设定的物理参考值。参考值越高,分贝值越低。将持续每 %1$s 秒执行一次测量,结果显示在下方。找到合适的值后按返回键。</string>
|
||||
<string name="settingsWillTakeTime">部分设置将在某些环境设置更改或服务重新启动后应用。</string>
|
||||
<string name="rootExplanation">您需要 root 手机才能使用此功能。之后您需要“手动运行规则”来显示超级用户权限提示。出现超级用户弹窗时,您需要始终允许应用执行此操作。否则,手机无人值守时规则将无法生效。</string>
|
||||
<string name="errorWritingConfig">写入配置时出错。有可写存储吗?</string>
|
||||
<string name="phoneNrReplacementError">无法在变量中插入最后一个电话号码。未找到号码。</string>
|
||||
<string name="username">用户名</string>
|
||||
<string name="password">密码</string>
|
||||
<string name="useAuthentication">使用身份验证</string>
|
||||
<string name="permissionsTitle">所需权限</string>
|
||||
<string name="permissionsExplanation">所需权限的说明</string>
|
||||
<string name="ok">确定</string>
|
||||
<string name="disabledFeatures">禁用的功能</string>
|
||||
<string name="theFollowingPermissionsHaveBeenDenied">以下权限已被拒绝:</string>
|
||||
<string name="permissionsExplanationGeneric">该应用当前以受限模式运行,已停用部分功能。完整运行需要权限。如果您想使用所有功能,必须在以下权限对话框中授予权限,否则某些规则将无法执行。下面给出了所需权限的解释。准备好后请点击“继续”。</string>
|
||||
<string name="permissionsExplanationSmall">要启用您正尝试使用的功能,需要更多权限。点击继续请求权限。</string>
|
||||
<string name="continueText">继续</string>
|
||||
<string name="rule">规则</string>
|
||||
<string name="storeSettings">读取和保存设置</string>
|
||||
<string name="featuresDisabled">警告:功能已禁用,Automation 以受限模式运行。点击这里查看更多信息。</string>
|
||||
<string name="ruleLegend">绿 = 启用,红 = 禁用,黄 = 权限不足</string>
|
||||
<string name="systemSettingsNote1">需要修改系统设置的权限(即使简单的设置,如打开蓝牙或 WLAN,也需要权限)。点击“继续”后,将弹出一个窗口,您需要对 Automation 启用此权限。然后按返回键。</string>
|
||||
<string name="systemSettingsNote2">之后将在下一个对话框中请求其他权限。</string>
|
||||
<string name="appRequiresPermissiontoAccessExternalStorage">Automation 需要访问外部存储以读取设置和规则。</string>
|
||||
<string name="mainScreenPermissionNote">Automation 需要更多权限才能完整运行。点击此文本以了解更多信息并请求权限。</string>
|
||||
<string name="invalidDevice">无效设备</string>
|
||||
<string name="logFileMaxSizeSummary">最大日志文件大小(以兆字节为单位)。超出后会轮替。</string>
|
||||
<string name="logFileMaxSizeTitle">最大日志文件大小 [Mb]</string>
|
||||
<string name="android.permission.READ_CALL_LOG">读取通话记录</string>
|
||||
<string name="android.permission.READ_CALENDAR">读取日历条目</string>
|
||||
<string name="android.permission.ACCESS_FINE_LOCATION">获取确切位置</string>
|
||||
<string name="android.permission.ACCESS_COARSE_LOCATION">获取粗略位置</string>
|
||||
<string name="readLocation">获取位置</string>
|
||||
<string name="android.permission.INTERNET">通过网络连接发送数据</string>
|
||||
<string name="android.permission.ACCESS_NETWORK_STATE">读取设备的网络状态</string>
|
||||
<string name="android.permission.ACCESS_WIFI_STATE">读取设备的 WLAN 状态</string>
|
||||
<string name="android.permission.BLUETOOTH">更改蓝牙设置</string>
|
||||
<string name="android.permission.BLUETOOTH_ADMIN">更改蓝牙设置</string>
|
||||
<string name="android.permission.NFC">使用 NFC 模块</string>
|
||||
<string name="android.permission.VIBRATE">让手机振动</string>
|
||||
<string name="android.permission.WAKE_LOCK">保持手机唤醒</string>
|
||||
<string name="android.permission.MODIFY_AUDIO_SETTINGS">更改音频设置</string>
|
||||
<string name="android.permission.RECORD_AUDIO">录制音频</string>
|
||||
<string name="android.permission.PROCESS_OUTGOING_CALLS">检测拨出电话</string>
|
||||
<string name="android.permission.MODIFY_PHONE_STATE">更改设备设置</string>
|
||||
<string name="android.permission.READ_PHONE_STATE">检测手机状态</string>
|
||||
<string name="android.permission.READ_EXTERNAL_STORAGE">读取存储</string>
|
||||
<string name="android.permission.WRITE_EXTERNAL_STORAGE">写入存储</string>
|
||||
<string name="android.permission.GET_TASKS">检测正在运行的进程</string>
|
||||
<string name="android.permission.WRITE_SETTINGS">更改设备设置</string>
|
||||
<string name="android.permission.RECEIVE_BOOT_COMPLETED">检测设备重启</string>
|
||||
<string name="android.permission.WRITE_SECURE_SETTINGS">更改设备设置</string>
|
||||
<string name="android.permission.BATTERY_STATS">读取电池状态</string>
|
||||
<string name="android.permission.CHANGE_BACKGROUND_DATA_SETTING">更改数据连接</string>
|
||||
<string name="android.permission.SEND_SMS">发送短信</string>
|
||||
<string name="android.permission.READ_CONTACTS">读取联系人数据</string>
|
||||
<string name="android.permission.ACCESS_NOTIFICATION_POLICY">覆盖请勿打扰设置</string>
|
||||
<string name="theseAreThePermissionsRequired">需要这些权限:</string>
|
||||
<string name="ruleXrequiresThis">规则“%1$s”需要这个。</string>
|
||||
<string name="profileXrequiresThis">情景模式“%1$s”需要这个。</string>
|
||||
<string name="helpTextActivityDetection">此功能可以检测您当前是否在旅途中,以及是否步行或乘坐哪种车辆(在一定程度上)。此功能并非 Automation 完全内置,而是由 Google Play 服务提供。技术上它不会给出是/否结果,而是会返回一个百分比,代表对状态检测的确定程度。您可以设置 Automation 会接受结果的百分比值。两点说明:1) 可能同时出现多种状态。例如,您可能在行驶的公共汽车内行走。2) 这种传感器相对耗电。如果可能,您可以考虑使用替代方案,例如要求连接到汽车的免提设备以检测您正在驾驶。</string>
|
||||
<string name="sendTextMessage">发送短信</string>
|
||||
<string name="textToSend">要发送的文本</string>
|
||||
<string name="textMessageAnnotations">您可以直接输入电话号码,或者使用通讯录选项选择一个。但请注意:这里保存的是号码,而不是联系人。如果您更改了所选联系人的电话号码,则需要更新此规则。它不会自动更新。</string>
|
||||
<string name="importNumberFromContacts">从通讯录导入号码</string>
|
||||
<string name="android9RecordAudioNotice">如果您正在使用噪声级触发器:不幸的是,从 Android 9 (Pie) 开始,Google 决定禁止后台应用使用麦克风。所以这个触发器不再有效,无法触发任何规则。</string>
|
||||
<string name="android10WifiToggleNotice">不幸的是,Google 决定在 Android 10 中删除此功能,不再允许常规应用打开或关闭 WLAN。只有当您的设备已获得 root 权限时,它才能继续工作,否则恐怕就没有效果了。</string>
|
||||
<string name="messageNotShownAgain">此消息不会再次显示。</string>
|
||||
<string name="chooseActivityHint">在最后一个选择窗口中,您需要选择一个特定的活动。简而言之,这就像所选应用程序的特定窗口。如果您不知道选哪一个,通常最好选择名称中包含“main”或“launcher”的一个。</string>
|
||||
<string name="edit">编辑</string>
|
||||
<string name="clickAndHoldForOptions">点击并按住项目以获取选项。</string>
|
||||
<string name="positioningEngine">定位引擎</string>
|
||||
<string name="googleSarcasm">感谢 Google 的无限智慧和保护所有人隐私的不懈努力(讽刺),所有可能用于发送短信或读取手机状态的触发器和操作都被删除了,因为 Google 认为它们有风险。</string>
|
||||
<string name="startAutomationAsService">启动 Automation 服务</string>
|
||||
<string name="setScreenBrightness">设置屏幕亮度</string>
|
||||
<string name="setScreenBrightnessEnterValue">输入所需的亮度(从 0 到 100)。</string>
|
||||
<string name="autoBrightness">启用自动亮度</string>
|
||||
<string name="apply">应用</string>
|
||||
<string name="brightnessAuto">自动亮度</string>
|
||||
<string name="brightnessManual">手动亮度</string>
|
||||
<string name="autoBrightnessNotice">如果使用自动亮度,下面设置的亮度值可能不会应用很长时间。</string>
|
||||
<string name="screenLockSoundNotice">在运行 Android 6.0 或更高版本的设备上,屏幕锁定声音无法再自动更改。无论此处如何设置,都不会以任何方式起作用。</string>
|
||||
<string name="startScreen">启动屏幕</string>
|
||||
<string name="startScreenSummary">选择启动应用时打开的屏幕。</string>
|
||||
<string name="executeRulesAndProfilesWithSingleClickTitle">单击运行规则/配置文件。</string>
|
||||
<string name="googleLocationChicanery">为支持基于位置的规则和速度检测,本应用会收集位置数据,即使在关闭或未使用状态下也仍会持续收集。</string>
|
||||
<string name="googleLocationChicaneryOld">此应用收集位置数据,以确定您当前是否位于您创建的位置之一。此外,如果您在规则中使用速度触发器,它还用于确定您当前的速度。即使在关闭或未使用状态下(仅当服务激活时),也仍会持续收集。</string>
|
||||
<string name="android.permission.ACCESS_BACKGROUND_LOCATION">在后台获取位置。</string>
|
||||
<string name="deviceDoesNotHaveBluetooth">该设备似乎没有蓝牙。您仍然可以继续配置,但它很可能没有效果。</string>
|
||||
<string name="manageLocations">创建或编辑位置</string>
|
||||
<string name="error">错误</string>
|
||||
<string name="featureNotInFdroidVersion">此功能基于非自由软件,因此在 F-Droid 版本中不可用。</string>
|
||||
<string name="settingsReferringToRestrictedFeaturesInFdroid">您的设置和/或规则目前正在使用 F-Droid 版本中无法提供的非自由软件功能。这包括检测您当前的身体活动。</string>
|
||||
<string name="settingsReferringToRestrictedFeaturesInGoogle">您的设置和/或规则目前正在使用 Google Play 版本中无法提供的功能。其中包括与电话和短信相关的任何功能。</string>
|
||||
<string name="publishedOn">发布于</string>
|
||||
<string name="displayNewsOnMainScreen">在主屏幕上显示应用新闻</string>
|
||||
<string name="displayNewsOnMainScreenDescription">仅是关于此应用的公告,大概每年 1-2 条,不会更多。</string>
|
||||
<string name="filesHaveBeenMovedTo">Automation 现在使用另一个路径来保存您的文件。您所有的 Automation 文件都已移至此处:“%s”。不再需要外部存储权限;您可以撤销它。它将在未来的版本中被删除。</string>
|
||||
<string name="locationDisabled">位置已禁用</string>
|
||||
<string name="locationEngineDisabledShort">无法继续在后台确定位置。点击此处了解原因。</string>
|
||||
<string name="locationEngineDisabledLong">不幸的是,无法继续确定您的位置。感谢谷歌的无限智慧与和蔼可亲。\\n\\n让我进一步解释一下。Android 10 开始引入了一项新权限,需要这个权限才能在后台确定您的位置(当然对于本应用是必需的)。虽然我认为这总体上是个好主意,但它给开发人员带来的骚扰却并非如此。\\n\\n开发应用时,可以通过遵守一组要求来尝试获得此权限。不幸的是,我的应用的新版本在三个月内不断被拒绝。我满足了所有的要求,Google 糟糕的开发支持却声称我没有。在向他们证明我确实做到了之后——我得到的回应是“我不能再帮助你了”。最后我放弃了。\\n\\n因此,Google Play 版本无法再使用您的位置作为触发器。我唯一的其他选择是将此应用从商店中完全删除。\\n\\n非常抱歉,但我已尽我所能与没有帮助的“支持”争论了。\\n\\n好消息:您仍然可以使用这个功能!\\n\\nAutomation 现在是开源的,可以在 F-Droid 中找到。这是一个真正关心您的隐私的应用商店——而不仅仅是表现地像这样。只需备份您的配置文件,卸载此应用,从 F-Droid 重新安装它,恢复您的配置文件即可。\\n\\n点击此处了解更多信息:</string>
|
||||
<string name="filesStoredAt">配置和日志文件保存在文件夹 %1$s 中。点击此文本以打开文件管理器。不幸的是,这只适用于有 root 权限的设备。对于所有其他设备:只需使用导出按钮进行备份。</string>
|
||||
<string name="notification">通知</string>
|
||||
<string name="title">标题</string>
|
||||
<string name="text">文本</string>
|
||||
<string name="directionStringEquals">等于</string>
|
||||
<string name="directionStringContains">包含</string>
|
||||
<string name="directionStringStartsWith">开头是</string>
|
||||
<string name="directionStringEndsWith">结尾是</string>
|
||||
<string name="directionStringNotEquals">不等于</string>
|
||||
<string name="anyApp">任何应用</string>
|
||||
<string name="notificationTriggerExplanation">此触发器将响应其他应用在通知区域打开(或关闭)通知。您可以指定通知必须来自的另一个应用。如果不指定,则来自任何其他应用的通知都会触发。您还可以指定标题或通知正文中必须有或没有的字符串。比较不区分大小写。</string>
|
||||
<string name="postsNotification">%1$s 发布通知</string>
|
||||
<string name="removedNotification">来自 %1$s 的通知已删除</string>
|
||||
<string name="notificationAppears">通知出现</string>
|
||||
<string name="notificationDisappears">通知消失</string>
|
||||
<string name="direction">方向</string>
|
||||
<string name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">读取系统通知</string>
|
||||
<string name="playSound">播放声音</string>
|
||||
<string name="alwaysPlay">始终播放</string>
|
||||
<string name="alwaysPlayExplanation">如果启用此设置,则始终播放声音。如果停用,则仅当手机未处于静音或振动状态时播放。但启用时不会更改音量,例如手机在响铃模式时,媒体音量也不会自动增加。因此,如果媒体音量处于静音状态,您也不会听到声音。</string>
|
||||
<string name="selectSoundFile">选择声音文件</string>
|
||||
<string name="fileDoesNotExist">文件不存在。</string>
|
||||
<string name="noFileManageInstalled">没有安装文件管理器。</string>
|
||||
<string name="shareConfigAndLogFilesWithDev">附加配置和日志文件。</string>
|
||||
<string name="shareConfigAndLogExplanation">这将开始写一封新电子邮件,以配置和日志文件作为 zip 附件。它不会自动发送,您仍然需要点击“发送”。比如您也可以将收件人更改为您自己。</string>
|
||||
<string name="startAppChoiceNote">这里有 2 个常规选项:\n\n1. 您可以通过选择活动来启动程序。这就像预先选择应用的特定屏幕/窗口。注意这可能并不总是有效,因为应用的窗口可能会相互交互,如传递参数。直接启动一个没有交互过的特定屏幕时,窗口可能会立即关闭(所以它不会真的显示)。还是试试吧!您可以手动输入活动路径,但建议使用“选择”按钮。若要手动输入,请在上方字段中输入应用包名,在下方字段中输入活动的完整路径。\n\n2. 按动作选择:除选择特定窗口外,您还可以按动作启动程序。这就像大喊“我想要 xyz”,如果安装了支持的应用,它就会启动。典型的例子是启动浏览器——您可能安装了多个浏览器(通常有一个是默认的)。这里您需要手动输入,包名是可选的。注意不会解析变量。例如,如果想启动相机,使用“MediaStore.ACTION_IMAGE_CAPTURE”是不行的。您必须查看 Android 文档并使用此变量的实际值来代替,在本例中为“android.media.action.IMAGE_CAPTURE”。</string>
|
||||
<string name="errorRunningRule">运行规则时出错。</string>
|
||||
<string name="cantFindSoundFile">找不到声音文件 %1$s,无法播放。</string>
|
||||
<string name="addParameters">添加参数</string>
|
||||
<string name="com.wireguard.android.permission.CONTROL_TUNNELS">控制 WireGuard 应用的隧道</string>
|
||||
<string name="startAppSelectionType">选择应用\n的方法</string>
|
||||
<string name="startAppByActivity">按活动</string>
|
||||
<string name="startAppByAction">按动作</string>
|
||||
<string name="enterValidAction">输入有效的动作</string>
|
||||
<string name="enterPackageName">输入有效的包名。</string>
|
||||
<string name="state">状态</string>
|
||||
<string name="phoneNumberExplanation">您可以输入特定的远程电话号码,但不是必填的。若要指定一个号码,可以从通讯录中选择或手动输入。此外,还可以使用正则表达式。要测试正则表达式,建议使用这个页面:</string>
|
||||
<string name="importConfiguration">导入配置</string>
|
||||
<string name="exportConfiguration">导出配置</string>
|
||||
<string name="moreSettings">更多设置</string>
|
||||
<string name="configurationExportedSuccessfully">配置导出成功。</string>
|
||||
<string name="ConfigurationExportError">导出配置时出错。</string>
|
||||
<string name="rulesImportedSuccessfully">规则和位置导入成功。</string>
|
||||
<string name="rulesImportError">导入规则和位置时出错。</string>
|
||||
<string name="configurationImportedSuccessfully">配置导入成功。</string>
|
||||
<string name="prefsImportError">导入设置时出错。</string>
|
||||
<string name="noApplicableFilesFoundInDirectory">该目录中找不到适用的文件。</string>
|
||||
<string name="noFilesImported">无法导入任何文件。</string>
|
||||
<string name="notAllFilesImported">并非所有适用的文件都能导入。</string>
|
||||
<string name="importExportExplanation">点击导入或导出时,您可以选择导入或导出文件的目录。导出时可能会覆盖现有文件。</string>
|
||||
<string name="intentDataComment">如果参数是 Uri 类型,并指定名称为“IntentData”(不区分大小写),则该参数将不会作为普通参数用 putExtra() 添加,而是用 setData() 添加到 Intent 中。</string>
|
||||
<string name="stringNotAllowed">不允许使用字符串 %1$s。</string>
|
||||
<string name="startAppStartType">选择启动类型</string>
|
||||
<string name="startAppByStartActivity">通过 startActivity()</string>
|
||||
<string name="startAppBySendBroadcast">通过 sendBroadcast()</string>
|
||||
<string name="openExamplesPage">打开示例网页</string>
|
||||
<string name="packageName">包名</string>
|
||||
<string name="activityOrActionName">活动/动作名称</string>
|
||||
<string name="warning">警告</string>
|
||||
<string name="ringing">响铃</string>
|
||||
<string name="from">从</string>
|
||||
<string name="to">到</string>
|
||||
<string name="matching">匹配</string>
|
||||
<string name="loadWifiList">加载 WLAN 列表</string>
|
||||
<string name="needLocationPermForWifiList">您的设备已连接过的 WLAN 列表可用于确定您去过的地点。因此,加载 WLAN 列表需要位置权限。若要从列表中选择 WLAN,就需要授予该权限。如果不想这样,您仍然可以手动输入 WLAN 名称。</string>
|
||||
<string name="noKnownWifis">您的设备上没有已知的 WLAN。</string>
|
||||
<string name="urlToTriggerExplanation">此功能不会打开浏览器,而是在后台触发网址。例如可以使用此功能向智能家居发送命令。</string>
|
||||
<string name="automaticUpdateCheck">检查更新</string>
|
||||
<string name="automaticUpdateCheckSummary">仅适用于 APK 版本。</string>
|
||||
<string name="updateAvailable">有可用更新。要打开浏览器下载吗?</string>
|
||||
<string name="locationFound">位置已找到。建议的最小半径为 %1$d 米。</string>
|
||||
<string name="locationFoundInaccurate">只能找到精度有限的位置。可能不太可靠。建议的最小半径为 %1$d。</string>
|
||||
<string name="clone">克隆</string>
|
||||
<string name="noLocationCouldBeFound">无法找到位置,超时时间 %1$s 秒已到。</string>
|
||||
<string name="pleaseGiveBgLocation">下一个屏幕中请转到权限 - 位置,选择“始终允许”以允许 Automation 在后台确定您的位置。</string>
|
||||
<string name="vibrate">振动</string>
|
||||
<string name="test">测试</string>
|
||||
<string name="VibrateExplanation">输入振动时间,后跟逗号,然后是暂停时间。可以根据需要连接任意数量的振动(同样用逗号分隔)。例如,模式 100,500,500,1000,100 会振动 100、等待 500、振动 500、等待 1000、振动 100 毫秒。如果发现丢掉了一次振动,请尝试增加它之前的暂停。</string>
|
||||
<string name="pleaseEnterValidVibrationPattern">请输入有效的振动模式。</string>
|
||||
<string name="newsOptIn">您愿意在主屏幕上接收有关此应用的新闻吗(仅重要的)?它们是从开发者的网站下载的。不会有侵入性通知,只是打开应用时主屏幕上显示文本。</string>
|
||||
<string name="top">顶部</string>
|
||||
<string name="bottom">底部</string>
|
||||
<string name="tabsPlacement">标签栏位置</string>
|
||||
<string name="tabsPlacementSummary">选择标签栏的位置。</string>
|
||||
<string name="wifiApi30">因为 Google 又破坏了 Android 的部分功能,从 API 30 开始只能显示当前可见的 WLAN,而不是设备已连接过的所有 WLAN。</string>
|
||||
<string name="silentTriggersDnd">注意:在较新的设备上,静音模式通常会触发勿扰。如果您的设备出现这种情况,建议改用正常模式并将所有音量降低为零。</string>
|
||||
<string name="tones">提示音</string>
|
||||
<string name="miscellaneous">杂项</string>
|
||||
<string name="dnd">勿扰</string>
|
||||
<string name="dndOff">关闭勿扰</string>
|
||||
<string name="dndPriority">仅限优先事项通知</string>
|
||||
<string name="dndAlarms">仅限闹钟</string>
|
||||
<string name="dndNothing">完全阻止</string>
|
||||
<string name="dndRemarks">详细设置(如允许通话、选择特定号码等)只能在系统设置更改。</string>
|
||||
<string name="automationNotificationsIgnored">如果不选择特定应用,而是选择“任何应用”,则会忽略来自 Automation 的通知以避免循环。</string>
|
||||
<string name="repeatEveryXseconds">每 x 秒重复一次</string>
|
||||
<string name="repeatEveryXsecondsWithVariable">每 %1$s 秒重复一次</string>
|
||||
<string name="enterRepetitionTime">请输入正整数的重复时间。</string>
|
||||
<string name="elementSkipped">无法读取配置文件的某个元素。该文件可能是由较新的程序版本创建的。</string>
|
||||
<string name="donate">捐赠</string>
|
||||
<string name="btTetheringNotice">此功能已确认在 Android 8.0 之前有效。从某个更高版本开始它就失效了,但是由于缺少物理设备,我不知道是哪个版本。在 Android 11 上它肯定失效了。如果您有两者之间的版本,请告诉我此功能是否有效。</string>
|
||||
<string name="notice">注意</string>
|
||||
<string name="deviceOrientation">设备方向</string>
|
||||
<string name="tolerance">公差 (0-180)</string>
|
||||
<string name="orientationAzimuth">方位角:</string>
|
||||
<string name="orientationPitch">俯仰角:</string>
|
||||
<string name="orientationRoll">倾侧角:</string>
|
||||
<string name="enterValidNumbersIntoAllFields">请在所有字段中输入有效数字。</string>
|
||||
<string name="deviceOrientationExplanation">设备移动时以下数字会更新。以下是设备的当前方向(以度为单位)。如果处于所需的方向,请点击应用按钮将当前值复制到所需字段。因为再次达到这个精确方向的可能性很小,所以还必须输入公差。公差是方向可以在两侧偏离的度数。因此 15° 对应 30° 的总角度,两侧各 15°。如果您只关心某个轴,请为其他两个轴指定 180° 的公差。</string>
|
||||
<string name="wouldCurrentlyApply">当前符合吗?</string>
|
||||
<string name="deviceIsInCertainOrientation">设备处于特定方向</string>
|
||||
<string name="toleranceOf180OnlyAllowedIn2Fields">仅允许 2 个公差字段为 180,不允许 3 个均为此值。否则触发器将始终应用。</string>
|
||||
<string name="unknown">未知</string>
|
||||
<string name="orientation">方向</string>
|
||||
<string name="triggerWrong">这个触发器有问题。无法正确加载。</string>
|
||||
<string name="turnScreenOnOrOff">打开或关闭屏幕</string>
|
||||
<string name="turnScreenOn">打开屏幕</string>
|
||||
<string name="turnScreenOff">关闭屏幕</string>
|
||||
<string name="mustApply">必须符合</string>
|
||||
<string name="deviceOrientationTimeAcceptIntervalTitle">信号频率</string>
|
||||
<string name="deviceOrientationTimeAcceptIntervalSummary">每 x 毫秒接收一次新的运动信号</string>
|
||||
<string name="deviceOrientationSettings">设备方向设置</string>
|
||||
<string name="android.permission.BIND_DEVICE_ADMIN">设备管理员</string>
|
||||
<string name="deviceAdminNote">您创建的至少 1 条规则需要设备管理员权限。</string>
|
||||
<string name="explanationDeviceOrientationDirection">如果选中该复选框,则要求设备必须处于您指定的方向。如果未选中,任何不符合设定的方向都可接受。</string>
|
||||
<string name="permissionsRequiredNotAvailable">您的规则需要权限,而已安装的 Automation 版本无法请求这些权限。</string>
|
||||
<string name="smsDialogNotice">如果您没有在本程序中使用过发送短信操作,Android 可能会显示一个额外的确认对话框,请求您允许发送消息。如果希望此动作可在后台运行,您需要选中“始终允许”复选框并确认。建议手动运行一次此规则以触发此确认对话框。</string>
|
||||
<string name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS">从电池优化中排除</string>
|
||||
<string name="recommendedForBetterReliability">推荐,可提高可靠性</string>
|
||||
<string name="needsToBeActive">需要激活</string>
|
||||
<string name="checkSettings">检查设置</string>
|
||||
<string name="profileActive">情景模式 %1$s 已激活</string>
|
||||
<string name="profileNotActive">情景模式 %1$s 未激活</string>
|
||||
<string name="profileTriggerCheckSettings">如果未禁用此复选框,则仅检查所选情景模式是否上次激活。从外部更改任何声音相关设置都没有影响。然而,如果启用此复选框,则当前音频设置确实需要和情景模式中定义的相同。注意:目前尚不支持检查铃声文件。</string>
|
||||
<string name="ruleXIsUsingProfileY">无法删除此情景模式。规则 %1$s 引用了情景模式 %2$s。</string>
|
||||
<string name="profileCouldNotBeDeleted">无法删除情景模式。</string>
|
||||
<string name="noRepetition">无重复</string>
|
||||
<string name="usingAuthentication">使用身份验证</string>
|
||||
<string name="toNumber">到号码</string>
|
||||
<string name="message">信息</string>
|
||||
<string name="onDays">在星期中的</string>
|
||||
<string name="notSet">未设置</string>
|
||||
<string name="takeLauncherActivity">自动查找</string>
|
||||
<string name="pickActivityManually">手动选择</string>
|
||||
<string name="launcherOrManualExplanation">简易模式:Automation 可以尝试自动识别该程序的启动器活动,或者您也可以手动选择该应用的一个活动。您想要怎么做?</string>
|
||||
<string name="launcherNotFound">无法识别此应用的启动器活动。必须手动选择。</string>
|
||||
<string name="createNotification">创建通知</string>
|
||||
<string name="enterTitle">输入标题。</string>
|
||||
<string name="enterText">输入文本。</string>
|
||||
<string name="info">信息</string>
|
||||
<string name="profileWasNotFound">此规则使用的情景模式似乎已不存在。已选择按字母顺序排列的第一个。</string>
|
||||
<string name="notificationCloseActionExplanation">若不指定任何条件,则此动作将关闭所有通知。因此,建议至少指定应用、标题或文本之一。</string>
|
||||
<string name="closeNotifications">关闭通知</string>
|
||||
<string name="comparisonCaseInsensitive">比较不区分大小写</string>
|
||||
<string name="profileWarning">此处的设置可能会导致您无法再注意到手机中的某些内容,甚至可以让您的起床闹钟静音。所以无论怎样设置——强烈建议测试,在 Android 更新之后也要再测试。</string>
|
||||
<string name="ifString">如果</string>
|
||||
<string name="emailContactNotice">电子邮件是向我报告错误、提出问题或建议的首选联系方式。前往控制中心了解更多信息。\n许多问题无法立即解答,需要进行一些技术研究。所以请耐心等待。</string>
|
||||
<string name="controlCenter">控制中心</string>
|
||||
<string name="sendEmailToDev">向开发者发送电子邮件</string>
|
||||
<string name="screenIs">屏幕 %1$s</string>
|
||||
<string name="on">开启</string>
|
||||
<string name="off">关闭</string>
|
||||
<string name="unlocked">解锁</string>
|
||||
<string name="selectDesiredState">选择所需状态</string>
|
||||
<string name="screenState">屏幕状态</string>
|
||||
<string name="featureCeasedToWorkLastWorkingAndroidVersion">由于 Google 的无限智慧,已知可以使用此功能的最后一个 Android 版本是 %1$s。您可以配置它,但它可能没有任何效果。</string>
|
||||
<string name="actionMediaControl">控制媒体播放</string>
|
||||
<string name="selectCommand">选择命令</string>
|
||||
<string name="playPause">切换播放/暂停</string>
|
||||
<string name="play">播放</string>
|
||||
<string name="pause">暂停</string>
|
||||
<string name="previous">上一个</string>
|
||||
<string name="next">下一个</string>
|
||||
<string name="android.permission.MEDIA_CONTENT_CONTROL">控制媒体播放</string>
|
||||
<string name="stop">停止</string>
|
||||
<string name="pleaseSelectActionValue">请选择一个动作!</string>
|
||||
<string name="actionMediaControlNotice">注意此操作可能不适用于所有播放器。即使适用,也可能不是每个按钮都可用。</string>
|
||||
<string name="musicPlaying">音乐播放</string>
|
||||
<string name="selectParameters">选择参数</string>
|
||||
<string name="musicIsPlaying">正在播放音乐</string>
|
||||
<string name="musicIsNotPlaying">未在播放音乐</string>
|
||||
<string name="musicPlayingDetection">音乐播放检测</string>
|
||||
<string name="musicCheckFrequencyTitle">检测频率 [ms]</string>
|
||||
<string name="musicCheckFrequencySummary">检测之间的毫秒数</string>
|
||||
<string name="locationNotWorkingOn12">目前获取位置似乎在 Android 12 设备上无效。如果在你的设备上无效,我很抱歉。我找到原因后会尽快解决。所以如果圆圈不停止旋转,你就知道为什么了。</string>
|
||||
<string name="lastProfile">最后的情景模式:</string>
|
||||
<string name="queryAllPackages">获取已安装应用列表</string>
|
||||
<string name="timeFrameDaysHint">如果您使用的时间范围跨过午夜,希望触发器在午夜之后也应用,您还需要选择第二天。</string>
|
||||
<string name="featureNotInGooglePlayVersion">此功能在 Google Play 版本中不再可用。\n\nGoogle 时常欺负开发者。要想继续使用某些功能,就必须提交文件。不幸的是,文件被拒绝的可能性为 99%。这很像 Asterix 漫画/电影中的情况。\n\n以前我花了数周时间与他们争论这类情况,但不断遭到拒绝 - 要么是被机器人拒绝,要么是和机器人同样聪明的人。最后我只能决定是从 Play 商店中完全删除此应用,还是删除此功能。\n如果您需要这些功能,请考虑使用我网站上的 APK 版本或 F-Droid 中的版本。</string>
|
||||
<string name="startActivityInsertManually">此限制仅涉及应用选择,不涉及实际启动。因此,如果您知道应用名称,您仍然可以手动输入它。</string>
|
||||
<string name="deviceStarts">设备启动</string>
|
||||
<string name="serviceStarts">服务启动</string>
|
||||
<string name="deviceIsStarting">设备正在启动</string>
|
||||
<string name="serviceIsStarting">服务正在启动</string>
|
||||
<string name="broadcastReceived">收到广播</string>
|
||||
<string name="broadcastNotReceived">未收到广播</string>
|
||||
<string name="explanationBroadcastTrigger">您手机上的大多数事件将通过在整个操作系统中广播来“发布”。\n例如打开/关闭飞行模式将触发这样的广播。这些广播不是自动可见/可听的,但如果某个应用(如 Automation)感兴趣,它可以连接到广播。当广播发生时,它就会收到通知并可以做出反应。\n\n您可以在此处定义应用将等待的广播事件。您可以手动输入,从某处复制粘贴,或从建议列表中选择一个。由于此触发器应该非常灵活,我无法提供有关这些项目的解释。\n\n建议列表并不完整。请访问以下网址查看 Android 文档。\n此外,任何应用都可以发送自定义事件,当然这些事件不会出现在 Android 文档中。\n\n许多广播需要特定权限才能工作。我会尝试在我知道需要的地方请求权限。如果您认为输入的动作需要某个权限,请告诉我。\n\n“未收到”表示自服务启动后尚未收到这种广播。响应某些参数正在开发中。</string>
|
||||
<string name="broadcastReceivedTitle">收到广播</string>
|
||||
<string name="logsExplanation">为避免不必要的存储损耗,默认不保存日志。因此,如果您遇到问题,请先在设置中启用日志,并将日志级别设置为 5,然后重现问题。只有这样才能附加日志。</string>
|
||||
<string name="broadcastsShowSuggestions">显示建议</string>
|
||||
<string name="selectBroadcast">选择广播</string>
|
||||
<string name="lockedWithoutSecurity">锁定(仅滑动,无 PIN)</string>
|
||||
<string name="lockedWithSecurity">锁定(使用 PIN 等)</string>
|
||||
<string name="lockedCommentScreenMustBeOff">任何锁定状态都只能在屏幕关闭时检测到。</string>
|
||||
<string name="emailPretext">如果您想报告错误、提出建议或问题,请在电子邮件中写下内容。不要只给我发送附件和默认邮件正文。除非我们已经在对话中,否则我会忽略这些。</string>
|
||||
<string name="sendBroadcast">发送广播</string>
|
||||
<string name="enterBroadcast">输入广播操作。</string>
|
||||
<string name="broadcastExplanation">此动作允许通过 Android 消息系统发送广播。这对用户不可见,但侦听该特定广播的应用可以响应广播发送。</string>
|
||||
<string name="directionStringDoesNotContain">不包含</string>
|
||||
<string name="runExecutable">运行脚本或可执行文件</string>
|
||||
<string name="path">路径</string>
|
||||
<string name="parameters">参数</string>
|
||||
<string name="chooseExecutable">选择可执行文件</string>
|
||||
<string name="runAsRoot">以 root 身份运行</string>
|
||||
<string name="selectValidExecutable">选择有效的可执行文件。</string>
|
||||
<string name="fileNotExecutable">该文件不是可执行文件。</string>
|
||||
<string name="wifiExplanation1">以 Android Q 或更高版本为目标平台的应用无法再打开或关闭 WLAN。请将此限制归咎于 Google,而不是我。您可以通过 root 您的设备并选中下面的复选框来绕过此限制。也可以从 F-Droid 或我的网站下载此应用,因为这些版本不强制以最新的 API 级别为目标平台。</string>
|
||||
<string name="wifiExplanation2">当启用飞行模式时,应用只能使用 root 权限切换 WLAN。</string>
|
||||
<string name="usingRoot">使用 root</string>
|
||||
<string name="runExecutableExplanation">您可以在此处选择将作为动作执行的脚本或可执行文件。\n\n但是您必须自己处理一些先决条件。Google 已经让运行常规 Android 应用以外的任何程序变得非常困难。\n\n1. 该脚本需要标记为可执行。在普通的 Android 系统(没有 root)上,这实际上是困难的部分。\n\n2. 这也意味着 Automation 必须能够执行文件,而不仅仅是所有者或组。\n\n3. 如果是脚本,则必须在脚本的标头中指定有效的 shell。\n\n如果无法满足上述要求,您也可以尝试将一个 shell 指定为实际的可执行文件(例如 /system/bin/sh),将脚本作为参数。这对至少一个用户有效。</string>
|
||||
<string name="tetheringActive">网络共享已激活</string>
|
||||
<string name="tetheringNotActive">网络共享未激活</string>
|
||||
<string name="tetheringState">网络共享状态</string>
|
||||
<string name="regularExpressionsIfEquals">如果选择“等于”,您可以输入正则表达式。</string>
|
||||
<string name="enter_a_number">输入一个数字。</string>
|
||||
<string name="duration">持续时间 [ms]</string>
|
||||
<string name="keepDeviceAwake">保持设备唤醒</string>
|
||||
<string name="wakeLockTimeout">指定超时</string>
|
||||
<string name="wakeLockExplanation">启用会保持屏幕打开,停用则允许屏幕关闭。要保持打开状态,可以输入一个持续时间(之后屏幕就可以关闭),也可以无限期保持打开。在后一种情况下,您需要创建另一个保持唤醒操作(在本规则或其他规则中)并选择停用。</string>
|
||||
<string name="mayUseRegularExpressions">此处也可以输入正则表达式。</string>
|
||||
<string name="simplyDismissNotification">直接关闭</string>
|
||||
<string name="clickNotificationButton">点击一个按钮</string>
|
||||
<string name="withButton">使用按钮 %1$s</string>
|
||||
<string name="subSystemState">子系统状态</string>
|
||||
<string name="bluetooth">蓝牙</string>
|
||||
<string name="locationRequiredToDetermineWifiName">要获取 WLAN SSID,应用需要位置权限。由于 Google 版本无法获取该权限,使用此触发器时只能不指定 SSID。因此只能用于检测 WLAN 是否连接。</string>
|
||||
<string name="usb">USB</string>
|
||||
<string name="type">类型</string>
|
||||
<string name="cable">网线</string>
|
||||
<string name="tetheringBluetoothNotPossible">目前无法检测蓝牙网络共享。只有其他连接方式才会激活此触发器。</string>
|
||||
<string name="startPhoneCall">拨打电话号码</string>
|
||||
<string name="android.permission.CALL_PHONE">拨打电话号码</string>
|
||||
<string name="makePhoneCallExplanation1">此处可以输入一个电话号码,该号码会无提示直接拨打。可以用它来进行如调整呼叫转移等设置。请自行搜索所需的代码。</string>
|
||||
<string name="endPhoneCall">结束通话</string>
|
||||
<string name="android.permission.ANSWER_PHONE_CALLS">结束通话</string>
|
||||
<string name="setVariable">设置变量</string>
|
||||
<string name="deleteVariable">删除变量</string>
|
||||
<string name="VariableKey">变量名</string>
|
||||
<string name="variableValue">变量值</string>
|
||||
<string name="setVariableExplanation">如果将变量设置为空值,它将被删除。</string>
|
||||
<string name="enterVariableKey">输入变量名。</string>
|
||||
<string name="checkVariable">检查变量</string>
|
||||
<string name="checkVariableExplanation">如果值留空,则变量必须未设置才能满足条件。</string>
|
||||
<string name="variableCheckString">如果变量 %1$s 是 %2$s</string>
|
||||
<string name="variableCheckStringDeleted">如果变量 %1$s 未设置</string>
|
||||
<string name="messageType">消息类型</string>
|
||||
<string name="sms">短信</string>
|
||||
<string name="mms">彩信</string>
|
||||
<string name="attachment">附件</string>
|
||||
<string name="chooseFile">选择文件</string>
|
||||
<string name="startAppByStartService">通过 startService()</string>
|
||||
<string name="showToastsForEvents">显示消息框</string>
|
||||
<string name="showToastsForEventsSummary">当规则执行等事件发生时显示消息框</string>
|
||||
<string name="notificationAccessAndroid13">点击“确定”后,选择 Automation,然后选择“授予通知使用权”,然后选择“允许”。\n\n在某些系统上,此设置是灰色的。这种情况下需要前往“设置”->“应用”->“Automation”->3点菜单->解除这些限制。之后返回这里。</string>
|
||||
<string name="displayLanguage">显示语言</string>
|
||||
<string name="displayLanguageSummary">为应用设置自定义语言</string>
|
||||
<string name="wifiMonitoringAlsoRequiresThis">如果触发器使用当前的 WLAN 连接,则也需要此权限。</string>
|
||||
<string name="copyTextToClipboard">将文本复制到剪贴板</string>
|
||||
<string name="textToCopy">要复制的文本</string>
|
||||
<string name="android.permission.SYSTEM_ALERT_WINDOW">显示在其他应用的上层</string>
|
||||
<string name="overlayPermissionHint">点击“确定”后,您将转到一个系统对话框。请在其中选择 Automation 并允许“显示在其他应用的上层”。</string>
|
||||
<string name="variablesOnlyForTypes">变量仅适用于 String 和 URI 参数类型</string>
|
||||
<string name="languageSystemDefault">系统默认</string>
|
||||
<string name="languageEnglish">英语</string>
|
||||
<string name="languageGerman">德语</string>
|
||||
<string name="languageItalian">意大利语</string>
|
||||
<string name="languageSpanish">西班牙语</string>
|
||||
<string name="languageDutch">荷兰语</string>
|
||||
<string name="languageRussian">俄语</string>
|
||||
<string name="languageFrench">法语</string>
|
||||
<string name="languagePolish">波兰语</string>
|
||||
<string name="languageChineseChina">中文(中国)</string>
|
||||
<string name="intentParametersHint">若要指定一个参数,还必须点击“添加 Intent 对”,否则更改不会保存。</string>
|
||||
</resources>
|
@ -31,8 +31,7 @@
|
||||
<item name="5">@string/languageDutch</item>
|
||||
<item name="6">@string/languageRussian</item>
|
||||
<item name="7">@string/languageFrench</item>
|
||||
<item name="8">@string/languagePolish</item>
|
||||
<item name="9">@string/languageChineseChina</item>
|
||||
<item name="7">@string/languagePolish</item>
|
||||
|
||||
</string-array>
|
||||
<string-array name="displayLanguageValues">
|
||||
@ -45,7 +44,6 @@
|
||||
<item name="6">ru</item>
|
||||
<item name="7">fr</item>
|
||||
<item name="8">pl</item>
|
||||
<item name="9">zh_CN</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="tabsPlacementOptions">
|
||||
@ -68,5 +66,4 @@
|
||||
<string name="languageRussian">Russian</string>
|
||||
<string name="languageFrench">French</string>
|
||||
<string name="languagePolish">Polish</string>
|
||||
<string name="languageChineseChina">Chinese (China)</string>
|
||||
</resources>
|
@ -1,4 +0,0 @@
|
||||
* Behoben: [Variablenname] wurde am Ende fälschlicherweise durch ein ] ersetzt
|
||||
* Behoben: Benutzerdefinierte Sprache einstellen
|
||||
* Behoben: Sonderzeichen beim Ausführen von Telefonanrufen wurden nicht kodiert
|
||||
* Hinzugefügt: Chinesische Übersetzung (vereinfacht)
|
@ -1,4 +0,0 @@
|
||||
* Fixed: [variable-name] was incorrectly replaced with an ] at the end
|
||||
* Fixed: Set custom language
|
||||
* Fixed: Special characters in making phone call action were not encoded
|
||||
* Added: Chinese translation (simplified)
|
@ -1,4 +0,0 @@
|
||||
* Corregido: [variable-name] fue reemplazado incorrectamente por un ] al final
|
||||
* Corregido: Establecer idioma personalizado
|
||||
* Corregido: Los caracteres especiales al realizar la acción de llamada telefónica no estaban codificados
|
||||
* Añadido: traducción al chino (simplificada)
|
@ -1,4 +0,0 @@
|
||||
* Correction : [nom_variable] a été remplacé à tort par un ] à la fin
|
||||
* Corrigé: Définir la langue personnalisée
|
||||
* Correction : les caractères spéciaux dans l'action d'appel téléphonique n'étaient pas codés
|
||||
* Ajouté: Traduction chinoise (simplifiée)
|
@ -1,4 +0,0 @@
|
||||
* Risolto: [nome-variabile] è stato erroneamente sostituito con un ] alla fine
|
||||
* Risolto: imposta la lingua personalizzata
|
||||
* Risolto: i caratteri speciali nell'effettuare un'azione di chiamata telefonica non sono stati codificati
|
||||
* Aggiunto: traduzione cinese (semplificata)
|
@ -1,4 +0,0 @@
|
||||
* Opgelost: [variabele-naam] is ten onrechte vervangen door een ] aan het einde
|
||||
* Opgelost: Stel aangepaste taal in
|
||||
* Opgelost: Speciale tekens bij het maken van telefoongesprek actie waren niet gecodeerd
|
||||
* Toegevoegd: Chinese vertaling (vereenvoudigd)
|
@ -1,4 +0,0 @@
|
||||
* Naprawiono: [zmienna-nazwa] została niepoprawnie zastąpiona ] na końcu
|
||||
* Naprawiono: Ustaw niestandardowy język
|
||||
* Naprawiono: Znaki specjalne w wykonywaniu czynności połączenia telefonicznego nie były kodowane
|
||||
* Dodano: Chińskie tłumaczenie (uproszczone)
|
@ -1,4 +0,0 @@
|
||||
* Исправлено: [имя-переменной] было неправильно заменено на ] в конце
|
||||
* Исправлено: Установить пользовательский язык
|
||||
* Исправлено: Специальные символы при совершении действия телефонного звонка не кодировались
|
||||
* Добавлено: Китайский перевод (упрощенный)
|
@ -1,4 +0,0 @@
|
||||
* 修复:[变量名]末尾被错误地替换为]
|
||||
* 修复:设置自定义语言
|
||||
* 修复:拨打电话动作时的特殊字符未编码的问题
|
||||
* 新增:中文翻译(简体)
|
@ -1,64 +0,0 @@
|
||||
创建由触发器和动作组成的规则。典型的例子是“在公司将手机静音”等。
|
||||
|
||||
以下是支持的触发器和动作列表:
|
||||
|
||||
支持的触发器:
|
||||
* 位置
|
||||
* 日期/时间
|
||||
* 充电状态
|
||||
* 电池电量
|
||||
* USB 已连接到电脑
|
||||
* 您当前的速度
|
||||
* 背景噪声(仅 Android 7 以下)
|
||||
* WLAN 连接
|
||||
* 其他应用运行
|
||||
* 飞行模式
|
||||
* 漫游状态
|
||||
* NFC 标签
|
||||
* 蓝牙连接
|
||||
* 耳机连接
|
||||
* 通话中
|
||||
* 其他应用的通知
|
||||
* 设备方向(陀螺仪)
|
||||
* 情景模式是否激活
|
||||
* 其他应用的广播
|
||||
* 已设置的变量
|
||||
|
||||
支持的动作:
|
||||
* 更改 WLAN 状态
|
||||
* 更改蓝牙状态
|
||||
* 切换 USB 网络共享
|
||||
* 切换 WLAN 网络共享
|
||||
* 切换蓝牙网络共享
|
||||
* 切换自动屏幕旋转
|
||||
* 发出 HTTP 请求
|
||||
* 更改铃声/声音设置
|
||||
* 启动另一个应用
|
||||
* 等待(在其他动作之间)
|
||||
* 打开或关闭屏幕
|
||||
* 切换飞行模式
|
||||
* 切换移动数据连接
|
||||
* 朗读文字
|
||||
* 打开音乐播放器
|
||||
* 更改屏幕亮度
|
||||
* 发送短信
|
||||
* 播放声音文件
|
||||
* 创建通知
|
||||
* 设置变量
|
||||
* 发起通话
|
||||
|
||||
保持这个应用在各种不同硬件、Android 版本的大量更改中正常运行是很困难的。我可以在模拟器中测试,但这样不能显示所有的错误。
|
||||
因此,如果某个功能无法在您的设备上运行——请告诉我。多年来,我已经修复了几乎所有合理地报告给我的错误。但为此我依赖于您的输入。
|
||||
|
||||
如果您有问题并考虑和我联系,请
|
||||
- 首先更新到最新版本,看看您的问题是否也存在。
|
||||
- 首先检查这个已知问题列表:https://server47.de/automation/index.php#knownProblems
|
||||
|
||||
捐赠当然是好事,但不是激励我的唯一方式 :-)
|
||||
* 如果您想支持我,您还可以在 Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2) 对这个应用留下好评。
|
||||
* 如果您喜欢这个应用,若可以用电子邮件给我发几句友好的话,我将不胜感激。
|
||||
* 此外,我随时欢迎您提供翻译应用的帮助。我自己会说英语、德语和一些西班牙语,意大利语和俄语已经完成了。其他所有语言我都非常欢迎。
|
||||
* 如果您在平面设计方面有天赋或经验,有一些更好图标的想法,请告诉我。
|
||||
* 如果您有一个有趣的用例,或找到了一种方法来组合触发器与动作实现特别的事情,并且您认为值得放在示例页面 (https://server47.de/automation/examples.html) ,请告诉我。
|
||||
|
||||
可以在此处找到各个权限的解释:https://server47.de/automation/permissions.php
|
Binary file not shown.
Before Width: | Height: | Size: 207 KiB |
Binary file not shown.
Before Width: | Height: | Size: 124 KiB |
Binary file not shown.
Before Width: | Height: | Size: 153 KiB |
Binary file not shown.
Before Width: | Height: | Size: 126 KiB |
Binary file not shown.
Before Width: | Height: | Size: 206 KiB |
Binary file not shown.
Before Width: | Height: | Size: 190 KiB |
@ -1 +0,0 @@
|
||||
通过创建规则自动化您设备上的事项。
|
Loading…
Reference in New Issue
Block a user