Compare commits
68 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 79bf17fe24 | |||
| 31f66031bc | |||
| d3f2284791 | |||
| ec647608c4 | |||
| 597582ddd8 | |||
| c6d9889182 | |||
| 7c58234174 | |||
| ae9282b0af | |||
| 310ba646fc | |||
| 3e0bf25acb | |||
| f3d277c94a | |||
| 04545ecbb0 | |||
| 5350651d6f | |||
| f2e2e28419 | |||
| b9031785ac | |||
| 91a72474a1 | |||
| b6e7c425c6 | |||
| 834ace4566 | |||
| 54af70005d | |||
| f2bf168925 | |||
| 27ffbd8dec | |||
| eaa82592fe | |||
| 73784585a8 | |||
| 262d562dd9 | |||
| ab4f904dc9 | |||
| fc4fdd5ee2 | |||
| 41c5b62b1a | |||
| 239cb0435c | |||
| c6ccc7a6e2 | |||
| 6cedb9019c | |||
| 8bc64f0438 | |||
| 89e6e39e58 | |||
| 645761f677 | |||
| 0fc60f7855 | |||
| ce38460d87 | |||
| de8e759d3a | |||
| 06f6134538 | |||
| ac352b3a23 | |||
| 9b8e65e552 | |||
| 35999a05f0 | |||
| 86ee30e9b4 | |||
| a81c4a1e23 | |||
| 394ce458a0 | |||
| f187e57899 | |||
| a15335872d | |||
| beb77b4dab | |||
| aa80d8cd0a | |||
| 77d197f14e | |||
| f98fbb778c | |||
| c46a0106f2 | |||
| cbf3db0be0 | |||
| 21f3710083 | |||
| 8ac5768f4f | |||
| 2458b9305c | |||
| a8909ea2a5 | |||
| ac7c35c6c2 | |||
| e4631b5a85 | |||
| e1c50b5dc5 | |||
| c6c5a5cd12 | |||
| bd4854a607 | |||
| cd0181e6f4 | |||
| 287b1d2b4d | |||
| 10c61bb0a7 | |||
| 92215ac34f | |||
| f64d50d8c8 | |||
| b74e0ce48f | |||
| 27cb0029a8 | |||
| ce6f193f06 |
+9
-9
@@ -1,16 +1,16 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
ndkVersion "22.1.7171670"
|
||||
ndkVersion "23.0.7599858"
|
||||
|
||||
compileSdkVersion 30
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 30
|
||||
targetSdkVersion 31
|
||||
|
||||
versionName "9.9.3"
|
||||
versionCode = 264
|
||||
versionName "9.10.1"
|
||||
versionCode = 271
|
||||
}
|
||||
|
||||
flavorDimensions "root"
|
||||
@@ -118,10 +118,10 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'org.bouncycastle:bcprov-jdk15on:1.66'
|
||||
implementation 'org.bouncycastle:bcpkix-jdk15on:1.66'
|
||||
implementation 'org.bouncycastle:bcprov-jdk15on:1.69'
|
||||
implementation 'org.bouncycastle:bcpkix-jdk15on:1.69'
|
||||
implementation 'org.jcodec:jcodec:0.2.3'
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.12.12'
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.12.13'
|
||||
implementation 'com.squareup.okio:okio:1.17.5'
|
||||
implementation 'org.jmdns:jmdns:3.5.5'
|
||||
implementation 'org.jmdns:jmdns:3.5.7'
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:dataExtractionRules="@xml/backup_rules_s"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:isGame="true"
|
||||
android:banner="@drawable/atv_banner"
|
||||
|
||||
@@ -78,7 +78,6 @@ import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.security.cert.CertificateFactory;
|
||||
import java.security.cert.X509Certificate;
|
||||
@@ -118,6 +117,7 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
private boolean displayedFailureDialog = false;
|
||||
private boolean connecting = false;
|
||||
private boolean connected = false;
|
||||
private boolean autoEnterPip = false;
|
||||
private boolean surfaceCreated = false;
|
||||
private boolean attemptedConnection = false;
|
||||
|
||||
@@ -214,9 +214,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
prefConfig = PreferenceConfiguration.readPreferences(this);
|
||||
tombstonePrefs = Game.this.getSharedPreferences("DecoderTombstone", 0);
|
||||
|
||||
if (prefConfig.stretchVideo) {
|
||||
if (prefConfig.stretchVideo || shouldIgnoreInsetsForResolution(prefConfig.width, prefConfig.height)) {
|
||||
// Allow the activity to layout under notches if the fill-screen option
|
||||
// was turned on by the user
|
||||
// was turned on by the user or it's a full-screen native resolution
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
getWindow().getAttributes().layoutInDisplayCutoutMode =
|
||||
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||
@@ -377,9 +377,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
Toast.makeText(this, "Decoder does not support HEVC Main10HDR10", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
// Display a message to the user if H.265 was forced on but we still didn't find a decoder
|
||||
// Display a message to the user if HEVC was forced on but we still didn't find a decoder
|
||||
if (prefConfig.videoFormat == PreferenceConfiguration.FORCE_H265_ON && !decoderRenderer.isHevcSupported()) {
|
||||
Toast.makeText(this, "No H.265 decoder found.\nFalling back to H.264.", Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(this, "No HEVC decoder found.\nFalling back to H.264.", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
int gamepadMask = ControllerHandler.getAttachedControllerMask(this);
|
||||
@@ -571,23 +571,49 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
}
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.O)
|
||||
private PictureInPictureParams getPictureInPictureParams(boolean autoEnter) {
|
||||
PictureInPictureParams.Builder builder =
|
||||
new PictureInPictureParams.Builder()
|
||||
.setAspectRatio(new Rational(prefConfig.width, prefConfig.height))
|
||||
.setSourceRectHint(new Rect(
|
||||
streamView.getLeft(), streamView.getTop(),
|
||||
streamView.getRight(), streamView.getBottom()));
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
builder.setAutoEnterEnabled(autoEnter);
|
||||
builder.setSeamlessResizeEnabled(true);
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private void setPipAutoEnter(boolean autoEnter) {
|
||||
if (!prefConfig.enablePip) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
setPictureInPictureParams(getPictureInPictureParams(autoEnter));
|
||||
}
|
||||
else {
|
||||
autoEnterPip = autoEnter;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUserLeaveHint() {
|
||||
super.onUserLeaveHint();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
if (prefConfig.enablePip && connected) {
|
||||
// PiP is only supported on Oreo and later, and we don't need to manually enter PiP on
|
||||
// Android S and later.
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && Build.VERSION.SDK_INT < Build.VERSION_CODES.S) {
|
||||
if (autoEnterPip) {
|
||||
try {
|
||||
// This has thrown all sorts of weird exceptions on Samsung devices
|
||||
// running Oreo. Just eat them and close gracefully on leave, rather
|
||||
// than crashing.
|
||||
enterPictureInPictureMode(
|
||||
new PictureInPictureParams.Builder()
|
||||
.setAspectRatio(new Rational(prefConfig.width, prefConfig.height))
|
||||
.setSourceRectHint(new Rect(
|
||||
streamView.getLeft(), streamView.getTop(),
|
||||
streamView.getRight(), streamView.getBottom()))
|
||||
.build());
|
||||
enterPictureInPictureMode(getPictureInPictureParams(false));
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -627,6 +653,26 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
Math.round(refreshRate) % prefConfig.fps <= 3;
|
||||
}
|
||||
|
||||
private boolean shouldIgnoreInsetsForResolution(int width, int height) {
|
||||
// Never ignore insets for non-native resolutions
|
||||
if (!PreferenceConfiguration.isNativeResolution(width, height)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
Display display = getWindowManager().getDefaultDisplay();
|
||||
for (Display.Mode candidate : display.getSupportedModes()) {
|
||||
// Ignore insets if this is an exact match for the display resolution
|
||||
if ((width == candidate.getPhysicalWidth() && height == candidate.getPhysicalHeight()) ||
|
||||
(height == candidate.getPhysicalWidth() && width == candidate.getPhysicalHeight())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private float prepareDisplayForRendering() {
|
||||
Display display = getWindowManager().getDefaultDisplay();
|
||||
WindowManager.LayoutParams windowLayoutParams = getWindow().getAttributes();
|
||||
@@ -780,6 +826,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
private final Runnable hideSystemUi = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// TODO: Do we want to use WindowInsetsController here on R+ instead of
|
||||
// SYSTEM_UI_FLAG_IMMERSIVE_STICKY? They seem to do the same thing as of S...
|
||||
|
||||
// In multi-window mode on N+, we need to drop our layout flags or we'll
|
||||
// be drawing underneath the system UI.
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && isInMultiWindowMode()) {
|
||||
@@ -899,10 +948,10 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
// Add the video codec to the post-stream toast
|
||||
if (message != null) {
|
||||
if (videoFormat == MoonBridge.VIDEO_FORMAT_H265_MAIN10) {
|
||||
message += " [H.265 HDR]";
|
||||
message += " [HEVC HDR]";
|
||||
}
|
||||
else if (videoFormat == MoonBridge.VIDEO_FORMAT_H265) {
|
||||
message += " [H.265]";
|
||||
message += " [HEVC]";
|
||||
}
|
||||
else if (videoFormat == MoonBridge.VIDEO_FORMAT_H264) {
|
||||
message += " [H.264]";
|
||||
@@ -1040,8 +1089,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
// Handle a synthetic back button event that some Android OS versions
|
||||
// create as a result of a right-click. This event WILL repeat if
|
||||
// the right mouse button is held down, so we ignore those.
|
||||
if ((event.getSource() == InputDevice.SOURCE_MOUSE ||
|
||||
event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE) &&
|
||||
int eventSource = event.getSource();
|
||||
if ((eventSource == InputDevice.SOURCE_MOUSE ||
|
||||
eventSource == InputDevice.SOURCE_MOUSE_RELATIVE) &&
|
||||
event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
|
||||
|
||||
// Send the right mouse button event if mouse back and forward
|
||||
@@ -1110,8 +1160,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
|
||||
// Handle a synthetic back button event that some Android OS versions
|
||||
// create as a result of a right-click.
|
||||
if ((event.getSource() == InputDevice.SOURCE_MOUSE ||
|
||||
event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE) &&
|
||||
int eventSource = event.getSource();
|
||||
if ((eventSource == InputDevice.SOURCE_MOUSE ||
|
||||
eventSource == InputDevice.SOURCE_MOUSE_RELATIVE) &&
|
||||
event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
|
||||
|
||||
// Send the right mouse button event if mouse back and forward
|
||||
@@ -1184,18 +1235,20 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
|
||||
int eventSource = event.getSource();
|
||||
if ((eventSource & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
|
||||
if (controllerHandler.handleMotionEvent(event)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0 ||
|
||||
event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE)
|
||||
else if ((eventSource & InputDevice.SOURCE_CLASS_POINTER) != 0 ||
|
||||
(eventSource & InputDevice.SOURCE_CLASS_POSITION) != 0 ||
|
||||
eventSource == InputDevice.SOURCE_MOUSE_RELATIVE)
|
||||
{
|
||||
// This case is for mice and non-finger touch devices
|
||||
if (event.getSource() == InputDevice.SOURCE_MOUSE ||
|
||||
event.getSource() == InputDevice.SOURCE_TOUCHPAD ||
|
||||
event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE ||
|
||||
if (eventSource == InputDevice.SOURCE_MOUSE ||
|
||||
(eventSource & InputDevice.SOURCE_CLASS_POSITION) != 0 || // SOURCE_TOUCHPAD
|
||||
eventSource == InputDevice.SOURCE_MOUSE_RELATIVE ||
|
||||
(event.getPointerCount() >= 1 &&
|
||||
(event.getToolType(0) == MotionEvent.TOOL_TYPE_MOUSE ||
|
||||
event.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS ||
|
||||
@@ -1222,8 +1275,34 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
conn.sendMouseMove(deltaX, deltaY);
|
||||
}
|
||||
}
|
||||
else if ((eventSource & InputDevice.SOURCE_CLASS_POSITION) != 0) {
|
||||
// If this input device is not associated with the view itself (like a trackpad),
|
||||
// we'll convert the device-specific coordinates to use to send the cursor position.
|
||||
// This really isn't ideal but it's probably better than nothing.
|
||||
//
|
||||
// Trackpad on newer versions of Android (Oreo and later) should be caught by the
|
||||
// relative axes case above. If we get here, we're on an older version that doesn't
|
||||
// support pointer capture.
|
||||
InputDevice device = event.getDevice();
|
||||
if (device != null) {
|
||||
InputDevice.MotionRange xRange = device.getMotionRange(MotionEvent.AXIS_X, eventSource);
|
||||
InputDevice.MotionRange yRange = device.getMotionRange(MotionEvent.AXIS_Y, eventSource);
|
||||
|
||||
// All touchpads coordinate planes should start at (0, 0)
|
||||
if (xRange != null && yRange != null && xRange.getMin() == 0 && yRange.getMin() == 0) {
|
||||
int xMax = (int)xRange.getMax();
|
||||
int yMax = (int)yRange.getMax();
|
||||
|
||||
// Touchpads must be smaller than (65535, 65535)
|
||||
if (xMax <= Short.MAX_VALUE && yMax <= Short.MAX_VALUE) {
|
||||
conn.sendMousePosition((short)event.getX(), (short)event.getY(),
|
||||
(short)xMax, (short)yMax);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (view != null) {
|
||||
// Otherwise send absolute position
|
||||
// Otherwise send absolute position based on the view for SOURCE_CLASS_POINTER
|
||||
updateMousePosition(view, event);
|
||||
}
|
||||
|
||||
@@ -1518,6 +1597,7 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
|
||||
private void stopConnection() {
|
||||
if (connecting || connected) {
|
||||
setPipAutoEnter(false);
|
||||
connecting = connected = false;
|
||||
|
||||
controllerHandler.stop();
|
||||
@@ -1682,6 +1762,7 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
||||
spinner = null;
|
||||
}
|
||||
|
||||
setPipAutoEnter(true);
|
||||
connected = true;
|
||||
connecting = false;
|
||||
|
||||
|
||||
@@ -155,6 +155,13 @@ public class PcView extends Activity implements AdapterFragmentCallbacks {
|
||||
}
|
||||
});
|
||||
|
||||
// Amazon review didn't like the help button because the wiki was not entirely
|
||||
// navigable via the Fire TV remote (though the relevant parts were). Let's hide
|
||||
// it on Fire TV.
|
||||
if (getPackageManager().hasSystemFeature("amazon.hardware.fire_tv")) {
|
||||
helpButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(R.id.pcFragmentContainer, new AdapterFragment())
|
||||
.commitAllowingStateLoss();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.limelight.binding.input;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.hardware.input.InputManager;
|
||||
@@ -7,9 +8,11 @@ import android.hardware.usb.UsbDevice;
|
||||
import android.hardware.usb.UsbManager;
|
||||
import android.media.AudioAttributes;
|
||||
import android.os.Build;
|
||||
import android.os.CombinedVibration;
|
||||
import android.os.SystemClock;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.os.VibratorManager;
|
||||
import android.util.SparseArray;
|
||||
import android.view.InputDevice;
|
||||
import android.view.InputEvent;
|
||||
@@ -155,11 +158,36 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
}
|
||||
}
|
||||
|
||||
// This can happen when gaining/losing input focus with some devices.
|
||||
// Input devices that have a trackpad may gain/lose AXIS_RELATIVE_X/Y.
|
||||
@Override
|
||||
public void onInputDeviceChanged(int deviceId) {
|
||||
// Remove and re-add
|
||||
onInputDeviceRemoved(deviceId);
|
||||
onInputDeviceAdded(deviceId);
|
||||
InputDevice device = InputDevice.getDevice(deviceId);
|
||||
if (device == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we don't have a context for this device, we don't need to update anything
|
||||
InputDeviceContext existingContext = inputDeviceContexts.get(deviceId);
|
||||
if (existingContext == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
LimeLog.info("Device changed: "+existingContext.name+" ("+deviceId+")");
|
||||
|
||||
// Don't release the controller number, because we will carry it over if it is present.
|
||||
// We also want to make sure the change is invisible to the host PC to avoid an add/remove
|
||||
// cycle for the gamepad which may break some games.
|
||||
existingContext.destroy();
|
||||
|
||||
InputDeviceContext newContext = createInputDeviceContextForDevice(device);
|
||||
|
||||
// Copy over existing controller number state
|
||||
newContext.assignedControllerNumber = existingContext.assignedControllerNumber;
|
||||
newContext.reservedControllerNumber = existingContext.reservedControllerNumber;
|
||||
newContext.controllerNumber = existingContext.controllerNumber;
|
||||
|
||||
inputDeviceContexts.put(deviceId, newContext);
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
@@ -487,7 +515,10 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
context.productId = dev.getProductId();
|
||||
}
|
||||
|
||||
if (dev.getVibrator().hasVibrator()) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && hasDualAmplitudeControlledRumbleVibrators(dev.getVibratorManager())) {
|
||||
context.vibratorManager = dev.getVibratorManager();
|
||||
}
|
||||
else if (dev.getVibrator().hasVibrator()) {
|
||||
context.vibrator = dev.getVibrator();
|
||||
}
|
||||
|
||||
@@ -1283,7 +1314,58 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
}
|
||||
}
|
||||
|
||||
private void rumbleVibrator(Vibrator vibrator, short lowFreqMotor, short highFreqMotor) {
|
||||
@TargetApi(31)
|
||||
private boolean hasDualAmplitudeControlledRumbleVibrators(VibratorManager vm) {
|
||||
int[] vibratorIds = vm.getVibratorIds();
|
||||
|
||||
// There must be exactly 2 vibrators on this device
|
||||
if (vibratorIds.length != 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Both vibrators must have amplitude control
|
||||
for (int vid : vibratorIds) {
|
||||
if (!vm.getVibrator(vid).hasAmplitudeControl()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// This must only be called if hasDualAmplitudeControlledRumbleVibrators() is true!
|
||||
@TargetApi(31)
|
||||
private void rumbleDualVibrators(VibratorManager vm, short lowFreqMotor, short highFreqMotor) {
|
||||
// Normalize motor values to 0-255 amplitudes for VibrationManager
|
||||
highFreqMotor = (short)((highFreqMotor >> 8) & 0xFF);
|
||||
lowFreqMotor = (short)((lowFreqMotor >> 8) & 0xFF);
|
||||
|
||||
// If they're both zero, we can just call cancel().
|
||||
if (lowFreqMotor == 0 && highFreqMotor == 0) {
|
||||
vm.cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
// There's no documentation that states that vibrators for FF_RUMBLE input devices will
|
||||
// always be enumerated in this order, but it seems consistent between Xbox Series X (USB),
|
||||
// PS3 (USB), and PS4 (USB+BT) controllers on Android 12 Beta 3.
|
||||
int[] vibratorIds = vm.getVibratorIds();
|
||||
int[] vibratorAmplitudes = new int[] { highFreqMotor, lowFreqMotor };
|
||||
|
||||
CombinedVibration.ParallelCombination combo = CombinedVibration.startParallel();
|
||||
|
||||
for (int i = 0; i < vibratorIds.length; i++) {
|
||||
// It's illegal to create a VibrationEffect with an amplitude of 0.
|
||||
// Simply excluding that vibrator from our ParallelCombination will turn it off.
|
||||
if (vibratorAmplitudes[i] != 0) {
|
||||
combo.addVibrator(vibratorIds[i], VibrationEffect.createOneShot(60000, vibratorAmplitudes[i]));
|
||||
}
|
||||
}
|
||||
|
||||
vm.vibrate(combo.combine());
|
||||
}
|
||||
|
||||
private void rumbleSingleVibrator(Vibrator vibrator, short lowFreqMotor, short highFreqMotor) {
|
||||
// Since we can only use a single amplitude value, compute the desired amplitude
|
||||
// by taking 80% of the big motor and 33% of the small motor, then capping to 255.
|
||||
// NB: This value is now 0-255 as required by VibrationEffect.
|
||||
@@ -1339,9 +1421,13 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
if (deviceContext.controllerNumber == controllerNumber) {
|
||||
foundMatchingDevice = true;
|
||||
|
||||
if (deviceContext.vibrator != null) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && deviceContext.vibratorManager != null) {
|
||||
vibrated = true;
|
||||
rumbleVibrator(deviceContext.vibrator, lowFreqMotor, highFreqMotor);
|
||||
rumbleDualVibrators(deviceContext.vibratorManager, lowFreqMotor, highFreqMotor);
|
||||
}
|
||||
else if (deviceContext.vibrator != null) {
|
||||
vibrated = true;
|
||||
rumbleSingleVibrator(deviceContext.vibrator, lowFreqMotor, highFreqMotor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1361,12 +1447,12 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
// controls that triggered the rumble. Vibrate the device if
|
||||
// the user has requested that behavior.
|
||||
if (!foundMatchingDevice && prefConfig.onscreenController && !prefConfig.onlyL3R3 && prefConfig.vibrateOsc) {
|
||||
rumbleVibrator(deviceVibrator, lowFreqMotor, highFreqMotor);
|
||||
rumbleSingleVibrator(deviceVibrator, lowFreqMotor, highFreqMotor);
|
||||
}
|
||||
else if (foundMatchingDevice && !vibrated && prefConfig.vibrateFallbackToDevice) {
|
||||
// We found a device to vibrate but it didn't have rumble support. The user
|
||||
// has requested us to vibrate the device in this case.
|
||||
rumbleVibrator(deviceVibrator, lowFreqMotor, highFreqMotor);
|
||||
rumbleSingleVibrator(deviceVibrator, lowFreqMotor, highFreqMotor);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1803,6 +1889,7 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
|
||||
class InputDeviceContext extends GenericControllerContext {
|
||||
public String name;
|
||||
public VibratorManager vibratorManager;
|
||||
public Vibrator vibrator;
|
||||
|
||||
public int leftStickXAxis = -1;
|
||||
@@ -1849,7 +1936,10 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD
|
||||
public void destroy() {
|
||||
super.destroy();
|
||||
|
||||
if (vibrator != null) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && vibratorManager != null) {
|
||||
vibratorManager.cancel();
|
||||
}
|
||||
else if (vibrator != null) {
|
||||
vibrator.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -41,8 +41,9 @@ public class AndroidNativePointerCaptureProvider extends AndroidPointerIconCaptu
|
||||
// SOURCE_MOUSE_RELATIVE is how SOURCE_MOUSE appears when our view has pointer capture.
|
||||
// SOURCE_TOUCHPAD will have relative axes populated iff our view has pointer capture.
|
||||
// See https://developer.android.com/reference/android/view/View#requestPointerCapture()
|
||||
return event.getSource() == InputDevice.SOURCE_MOUSE_RELATIVE ||
|
||||
(event.getSource() == InputDevice.SOURCE_TOUCHPAD && targetView.hasPointerCapture());
|
||||
int eventSource = event.getSource();
|
||||
return eventSource == InputDevice.SOURCE_MOUSE_RELATIVE ||
|
||||
(eventSource == InputDevice.SOURCE_TOUCHPAD && targetView.hasPointerCapture());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -127,7 +127,12 @@ public class UsbDriverService extends Service implements UsbDriverListener {
|
||||
// just returning a false result or returning 0 enumerated devices,
|
||||
// they throw an undocumented SecurityException from this call, crashing
|
||||
// the whole app. :(
|
||||
usbManager.requestPermission(device, PendingIntent.getBroadcast(UsbDriverService.this, 0, new Intent(ACTION_USB_PERMISSION), 0));
|
||||
int intentFlags = 0;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
// This PendingIntent must be mutable to allow the framework to populate EXTRA_DEVICE and EXTRA_PERMISSION_GRANTED.
|
||||
intentFlags |= PendingIntent.FLAG_MUTABLE;
|
||||
}
|
||||
usbManager.requestPermission(device, PendingIntent.getBroadcast(UsbDriverService.this, 0, new Intent(ACTION_USB_PERMISSION), intentFlags));
|
||||
} catch (SecurityException e) {
|
||||
Toast.makeText(this, this.getText(R.string.error_usb_prohibited), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
@@ -160,6 +160,11 @@ public class RelativeTouchContext implements TouchContext {
|
||||
return;
|
||||
}
|
||||
|
||||
// The drag should only be processed for the primary finger
|
||||
if (actionIndex != maxPointerCountInGesture - 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if someone cancelled us
|
||||
if (dragTimer == null) {
|
||||
return;
|
||||
|
||||
@@ -96,7 +96,7 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
||||
}
|
||||
|
||||
private MediaCodecInfo findHevcDecoder(PreferenceConfiguration prefs, boolean meteredNetwork, boolean requestedHdr) {
|
||||
// Don't return anything if H.265 is forced off
|
||||
// Don't return anything if HEVC is forced off
|
||||
if (prefs.videoFormat == PreferenceConfiguration.FORCE_H265_OFF) {
|
||||
return null;
|
||||
}
|
||||
@@ -666,8 +666,6 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
||||
(float)lastTwo.framesLost / lastTwo.totalFrames * 100)).append('\n');
|
||||
sb.append(context.getString(R.string.perf_overlay_netlatency,
|
||||
(int)(rttInfo >> 32), (int)rttInfo)).append('\n');
|
||||
sb.append(context.getString(R.string.perf_overlay_recvtime,
|
||||
((float)lastTwo.totalTimeMs / lastTwo.totalFramesReceived) - decodeTimeMs)).append('\n');
|
||||
sb.append(context.getString(R.string.perf_overlay_dectime, decodeTimeMs));
|
||||
perfListener.onPerfUpdate(sb.toString());
|
||||
}
|
||||
@@ -1109,6 +1107,10 @@ public class MediaCodecDecoderRenderer extends VideoDecoderRenderer {
|
||||
str += "Adaptive playback: "+renderer.adaptivePlayback+"\n";
|
||||
str += "GL Renderer: "+renderer.glRenderer+"\n";
|
||||
str += "Build fingerprint: "+Build.FINGERPRINT+"\n";
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||
str += "SOC: "+Build.SOC_MANUFACTURER+" - "+Build.SOC_MODEL+"\n";
|
||||
str += "Performance class: "+Build.VERSION.MEDIA_PERFORMANCE_CLASS+"\n";
|
||||
}
|
||||
str += "Foreground: "+renderer.foreground+"\n";
|
||||
str += "Consecutive crashes: "+renderer.consecutiveCrashCount+"\n";
|
||||
str += "RFI active: "+renderer.refFrameInvalidationActive+"\n";
|
||||
|
||||
@@ -119,7 +119,7 @@ public class MediaCodecHelper {
|
||||
// if adaptive playback was enabled so let's avoid it to be safe.
|
||||
blacklistedAdaptivePlaybackPrefixes.add("omx.intel");
|
||||
// The MediaTek decoder crashes at 1080p when adaptive playback is enabled
|
||||
// on some Android TV devices with H.265 only.
|
||||
// on some Android TV devices with HEVC only.
|
||||
blacklistedAdaptivePlaybackPrefixes.add("omx.mtk");
|
||||
|
||||
constrainedHighProfilePrefixes = new LinkedList<>();
|
||||
|
||||
@@ -15,6 +15,9 @@ public class ConnectionContext {
|
||||
// This is the version quad from the appversion tag of /serverinfo
|
||||
public String serverAppVersion;
|
||||
public String serverGfeVersion;
|
||||
|
||||
// This is the sessionUrl0 tag from /resume and /launch
|
||||
public String rtspSessionUrl;
|
||||
|
||||
public int negotiatedWidth, negotiatedHeight;
|
||||
public boolean negotiatedHdr;
|
||||
|
||||
@@ -122,7 +122,7 @@ public class NvConnection {
|
||||
}
|
||||
else if ((context.streamConfig.getWidth() > 4096 || context.streamConfig.getHeight() > 4096) &&
|
||||
!context.streamConfig.getHevcSupported()) {
|
||||
context.connListener.displayMessage("Your streaming device must support H.265 to stream at resolutions above 4K.");
|
||||
context.connListener.displayMessage("Your streaming device must support HEVC to stream at resolutions above 4K.");
|
||||
return false;
|
||||
}
|
||||
else if (context.streamConfig.getHeight() >= 2160 && !h.supports4K(serverInfo)) {
|
||||
@@ -275,7 +275,7 @@ public class NvConnection {
|
||||
synchronized (MoonBridge.class) {
|
||||
MoonBridge.setupBridge(videoDecoderRenderer, audioRenderer, connectionListener);
|
||||
int ret = MoonBridge.startConnection(context.serverAddress,
|
||||
context.serverAppVersion, context.serverGfeVersion,
|
||||
context.serverAppVersion, context.serverGfeVersion, context.rtspSessionUrl,
|
||||
context.negotiatedWidth, context.negotiatedHeight,
|
||||
context.streamConfig.getRefreshRate(), context.streamConfig.getBitrate(),
|
||||
context.streamConfig.getMaxPacketSize(),
|
||||
@@ -367,6 +367,12 @@ public class NvConnection {
|
||||
}
|
||||
}
|
||||
|
||||
public void sendUtf8Text(final String text) {
|
||||
if (!isMonkey) {
|
||||
MoonBridge.sendUtf8Text(text);
|
||||
}
|
||||
}
|
||||
|
||||
public static String findExternalAddressForMdns(String stunHostname, int stunPort) {
|
||||
return MoonBridge.findExternalAddressIP4(stunHostname, stunPort);
|
||||
}
|
||||
|
||||
@@ -680,7 +680,13 @@ public class NvHTTP {
|
||||
(context.streamConfig.getAttachedGamepadMask() != 0 ? "&gcmap=" + context.streamConfig.getAttachedGamepadMask() : ""),
|
||||
false);
|
||||
String gameSession = getXmlString(xmlStr, "gamesession");
|
||||
return gameSession != null && !gameSession.equals("0");
|
||||
if (gameSession != null && !gameSession.equals("0")) {
|
||||
context.rtspSessionUrl = getXmlString(xmlStr, "sessionUrl0");
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean resumeApp(ConnectionContext context) throws IOException, XmlPullParserException {
|
||||
@@ -690,7 +696,13 @@ public class NvHTTP {
|
||||
"&surroundAudioInfo=" + context.streamConfig.getAudioConfiguration().getSurroundAudioInfo(),
|
||||
false);
|
||||
String resume = getXmlString(xmlStr, "resume");
|
||||
return Integer.parseInt(resume) != 0;
|
||||
if (Integer.parseInt(resume) != 0) {
|
||||
context.rtspSessionUrl = getXmlString(xmlStr, "sessionUrl0");
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean quitApp() throws IOException, XmlPullParserException {
|
||||
|
||||
@@ -253,6 +253,7 @@ public class MoonBridge {
|
||||
}
|
||||
|
||||
public static native int startConnection(String address, String appVersion, String gfeVersion,
|
||||
String rtspSessionUrl,
|
||||
int width, int height, int fps,
|
||||
int bitrate, int packetSize, int streamingRemotely,
|
||||
int audioConfiguration, boolean supportsHevc,
|
||||
@@ -290,6 +291,8 @@ public class MoonBridge {
|
||||
|
||||
public static native void sendMouseHighResScroll(short scrollAmount);
|
||||
|
||||
public static native void sendUtf8Text(String text);
|
||||
|
||||
public static native String getStageName(int stage);
|
||||
|
||||
public static native String findExternalAddressIP4(String stunHostName, int stunPort);
|
||||
|
||||
@@ -88,11 +88,11 @@ public class AddComputerManually extends Activity {
|
||||
|
||||
// Couldn't find a matching interface
|
||||
return true;
|
||||
} catch (SocketException e) {
|
||||
} catch (Exception e) {
|
||||
// Catch all exceptions because some broken Android devices
|
||||
// will throw an NPE from inside getNetworkInterfaces().
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
} catch (UnknownHostException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,9 +19,11 @@ import android.preference.PreferenceScreen;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Range;
|
||||
import android.view.Display;
|
||||
import android.view.DisplayCutout;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
|
||||
import com.limelight.LimeLog;
|
||||
import com.limelight.PcView;
|
||||
@@ -36,10 +38,13 @@ import java.util.Arrays;
|
||||
public class StreamSettings extends Activity {
|
||||
private PreferenceConfiguration previousPrefs;
|
||||
|
||||
// HACK for Android 9
|
||||
static DisplayCutout displayCutoutP;
|
||||
|
||||
void reloadSettings() {
|
||||
getFragmentManager().beginTransaction().replace(
|
||||
R.id.stream_settings, new SettingsFragment()
|
||||
).commit();
|
||||
).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -51,11 +56,28 @@ public class StreamSettings extends Activity {
|
||||
UiHelper.setLocale(this);
|
||||
|
||||
setContentView(R.layout.activity_stream_settings);
|
||||
reloadSettings();
|
||||
|
||||
UiHelper.notifyNewRootView(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
|
||||
// We have to use this hack on Android 9 because we don't have Display.getCutout()
|
||||
// which was added in Android 10.
|
||||
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
|
||||
// Insets can be null when the activity is recreated on screen rotation
|
||||
// https://stackoverflow.com/questions/61241255/windowinsets-getdisplaycutout-is-null-everywhere-except-within-onattachedtowindo
|
||||
WindowInsets insets = getWindow().getDecorView().getRootWindowInsets();
|
||||
if (insets != null) {
|
||||
displayCutoutP = insets.getDisplayCutout();
|
||||
}
|
||||
}
|
||||
|
||||
reloadSettings();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
finish();
|
||||
@@ -79,10 +101,20 @@ public class StreamSettings extends Activity {
|
||||
pref.setValue(value);
|
||||
}
|
||||
|
||||
private void addNativeResolutionEntry(int nativeWidth, int nativeHeight) {
|
||||
private void addNativeResolutionEntry(int nativeWidth, int nativeHeight, boolean insetsRemoved) {
|
||||
ListPreference pref = (ListPreference) findPreference(PreferenceConfiguration.RESOLUTION_PREF_STRING);
|
||||
|
||||
String newName = getResources().getString(R.string.resolution_prefix_native) + " ("+nativeWidth+"x"+nativeHeight+")";
|
||||
String newName;
|
||||
|
||||
if (insetsRemoved) {
|
||||
newName = getResources().getString(R.string.resolution_prefix_native_fullscreen);
|
||||
}
|
||||
else {
|
||||
newName = getResources().getString(R.string.resolution_prefix_native);
|
||||
}
|
||||
|
||||
newName += " ("+nativeWidth+"x"+nativeHeight+")";
|
||||
|
||||
String newValue = nativeWidth+"x"+nativeHeight;
|
||||
|
||||
CharSequence[] values = pref.getEntryValues();
|
||||
@@ -221,6 +253,38 @@ public class StreamSettings extends Activity {
|
||||
|
||||
int maxSupportedResW = 0;
|
||||
|
||||
// Add a native resolution with any insets included for users that don't want content
|
||||
// behind the notch of their display
|
||||
boolean hasInsets = false;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
DisplayCutout cutout;
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
// Use the much nicer Display.getCutout() API on Android 10+
|
||||
cutout = display.getCutout();
|
||||
}
|
||||
else {
|
||||
// Android 9 only
|
||||
cutout = displayCutoutP;
|
||||
}
|
||||
|
||||
if (cutout != null) {
|
||||
int widthInsets = cutout.getSafeInsetLeft() + cutout.getSafeInsetRight();
|
||||
int heightInsets = cutout.getSafeInsetBottom() + cutout.getSafeInsetTop();
|
||||
|
||||
if (widthInsets != 0 || heightInsets != 0) {
|
||||
DisplayMetrics metrics = new DisplayMetrics();
|
||||
display.getRealMetrics(metrics);
|
||||
|
||||
int width = Math.max(metrics.widthPixels - widthInsets, metrics.heightPixels - heightInsets);
|
||||
int height = Math.min(metrics.widthPixels - widthInsets, metrics.heightPixels - heightInsets);
|
||||
|
||||
addNativeResolutionEntry(width, height, false);
|
||||
hasInsets = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Always allow resolutions that are smaller or equal to the active
|
||||
// display resolution because decoders can report total non-sense to us.
|
||||
// For example, a p201 device reports:
|
||||
@@ -240,7 +304,7 @@ public class StreamSettings extends Activity {
|
||||
// unless they report greater than 4K resolutions.
|
||||
if (!getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION) ||
|
||||
(width > 3840 || height > 2160)) {
|
||||
addNativeResolutionEntry(width, height);
|
||||
addNativeResolutionEntry(width, height, hasInsets);
|
||||
}
|
||||
|
||||
if ((width >= 3840 || height >= 2160) && maxSupportedResW < 3840) {
|
||||
@@ -350,7 +414,7 @@ public class StreamSettings extends Activity {
|
||||
getActivity().getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
|
||||
int width = Math.max(metrics.widthPixels, metrics.heightPixels);
|
||||
int height = Math.min(metrics.widthPixels, metrics.heightPixels);
|
||||
addNativeResolutionEntry(width, height);
|
||||
addNativeResolutionEntry(width, height, false);
|
||||
}
|
||||
else {
|
||||
// On Android 4.1, we have to resort to reflection to invoke hidden APIs
|
||||
@@ -361,7 +425,7 @@ public class StreamSettings extends Activity {
|
||||
Method getRawWidthFunc = Display.class.getMethod("getRawWidth");
|
||||
int width = (Integer) getRawWidthFunc.invoke(display);
|
||||
int height = (Integer) getRawHeightFunc.invoke(display);
|
||||
addNativeResolutionEntry(Math.max(width, height), Math.min(width, height));
|
||||
addNativeResolutionEntry(Math.max(width, height), Math.min(width, height), false);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class ShortcutHelper {
|
||||
@TargetApi(Build.VERSION_CODES.N_MR1)
|
||||
private void reapShortcutsForDynamicAdd() {
|
||||
List<ShortcutInfo> dynamicShortcuts = sm.getDynamicShortcuts();
|
||||
while (dynamicShortcuts.size() >= sm.getMaxShortcutCountPerActivity()) {
|
||||
while (!dynamicShortcuts.isEmpty() && dynamicShortcuts.size() >= sm.getMaxShortcutCountPerActivity()) {
|
||||
ShortcutInfo maxRankShortcut = dynamicShortcuts.get(0);
|
||||
for (ShortcutInfo scut : dynamicShortcuts) {
|
||||
if (maxRankShortcut.getRank() < scut.getRank()) {
|
||||
@@ -118,8 +118,16 @@ public class ShortcutHelper {
|
||||
// To avoid a random carousel of shortcuts popping in and out based on polling status,
|
||||
// we only add shortcuts if it's not at the limit or the user made a conscious action
|
||||
// to interact with this PC.
|
||||
if (forceAdd || sm.getDynamicShortcuts().size() < sm.getMaxShortcutCountPerActivity()) {
|
||||
|
||||
if (forceAdd) {
|
||||
// This should free an entry for us to add one below
|
||||
reapShortcutsForDynamicAdd();
|
||||
}
|
||||
|
||||
// We still need to check the maximum shortcut count even after reaping,
|
||||
// because there's a possibility that it could be zero.
|
||||
if (sm.getDynamicShortcuts().size() < sm.getMaxShortcutCountPerActivity()) {
|
||||
// Add a shortcut if there is room
|
||||
sm.addDynamicShortcuts(Collections.singletonList(sinfo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ LOCAL_SRC_FILES := moonlight-common-c/src/AudioStream.c \
|
||||
moonlight-common-c/src/Platform.c \
|
||||
moonlight-common-c/src/PlatformCrypto.c \
|
||||
moonlight-common-c/src/PlatformSockets.c \
|
||||
moonlight-common-c/src/RtpFecQueue.c \
|
||||
moonlight-common-c/src/RtpReorderQueue.c \
|
||||
moonlight-common-c/src/RtpAudioQueue.c \
|
||||
moonlight-common-c/src/RtpVideoQueue.c \
|
||||
moonlight-common-c/src/RtspConnection.c \
|
||||
moonlight-common-c/src/RtspParser.c \
|
||||
moonlight-common-c/src/SdpGenerator.c \
|
||||
|
||||
@@ -364,6 +364,7 @@ static CONNECTION_LISTENER_CALLBACKS BridgeConnListenerCallbacks = {
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jclass clazz,
|
||||
jstring address, jstring appVersion, jstring gfeVersion,
|
||||
jstring rtspSessionUrl,
|
||||
jint width, jint height, jint fps,
|
||||
jint bitrate, jint packetSize, jint streamingRemotely,
|
||||
jint audioConfiguration, jboolean supportsHevc,
|
||||
@@ -377,6 +378,7 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jclass c
|
||||
.address = (*env)->GetStringUTFChars(env, address, 0),
|
||||
.serverInfoAppVersion = (*env)->GetStringUTFChars(env, appVersion, 0),
|
||||
.serverInfoGfeVersion = gfeVersion ? (*env)->GetStringUTFChars(env, gfeVersion, 0) : NULL,
|
||||
.rtspSessionUrl = rtspSessionUrl ? (*env)->GetStringUTFChars(env, rtspSessionUrl, 0) : NULL,
|
||||
};
|
||||
STREAM_CONFIGURATION streamConfig = {
|
||||
.width = width,
|
||||
@@ -416,6 +418,9 @@ Java_com_limelight_nvstream_jni_MoonBridge_startConnection(JNIEnv *env, jclass c
|
||||
if (gfeVersion != NULL) {
|
||||
(*env)->ReleaseStringUTFChars(env, gfeVersion, serverInfo.serverInfoGfeVersion);
|
||||
}
|
||||
if (rtspSessionUrl != NULL) {
|
||||
(*env)->ReleaseStringUTFChars(env, rtspSessionUrl, serverInfo.rtspSessionUrl);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
Submodule app/src/main/jni/moonlight-core/moonlight-common-c updated: 4723f8ba7c...a290ec032b
@@ -4,6 +4,7 @@
|
||||
#include <android/log.h>
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <string.h>
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_limelight_nvstream_jni_MoonBridge_sendMouseMove(JNIEnv *env, jclass clazz, jshort deltaX, jshort deltaY) {
|
||||
@@ -54,6 +55,13 @@ Java_com_limelight_nvstream_jni_MoonBridge_sendMouseHighResScroll(JNIEnv *env, j
|
||||
LiSendHighResScrollEvent(scrollAmount);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_limelight_nvstream_jni_MoonBridge_sendUtf8Text(JNIEnv *env, jclass clazz, jstring text) {
|
||||
const char* utf8Text = (*env)->GetStringUTFChars(env, text, NULL);
|
||||
LiSendUtf8TextEvent(utf8Text, strlen(utf8Text));
|
||||
(*env)->ReleaseStringUTFChars(env, text, utf8Text);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_limelight_nvstream_jni_MoonBridge_stopConnection(JNIEnv *env, jclass clazz) {
|
||||
LiStopConnection();
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Verwende H.265 so fern stabile Unterstützung vorhanden ist</item>
|
||||
<item>Immer H.265 verwenden (könnte Crashes verursachen)</item>
|
||||
<item>Nie H.265 verwenden</item>
|
||||
<item>Verwende HEVC so fern stabile Unterstützung vorhanden ist</item>
|
||||
<item>Immer HEVC verwenden (könnte Crashes verursachen)</item>
|
||||
<item>Nie HEVC verwenden</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -98,7 +98,6 @@
|
||||
<string name="perf_overlay_incomingfps">Bildwiederholrate der Netzwerkübertragung: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Wiedergabe-Bildwiederholungsrate: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Wegen Netzwerkübertragung ausgelassene Frames: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Durchschnittliche Übertragungsdauer: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Durchschnittliche Dekodierungszeit: %1$.2f ms</string>
|
||||
|
||||
<!-- AppList activity -->
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Usar H.265 solo si es estable</item>
|
||||
<item>Siempre usar H.265 (puede fallar)</item>
|
||||
<item>Nunca usar H.265</item>
|
||||
<item>Usar HEVC solo si es estable</item>
|
||||
<item>Siempre usar HEVC (puede fallar)</item>
|
||||
<item>Nunca usar HEVC</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
<string name="summary_checkbox_host_audio">Reproducir audio en el ordenador y en este dispositivo</string>
|
||||
|
||||
<string name="category_advanced_settings">Configuración avanzada</string>
|
||||
<string name="title_video_format">Cambiar configuración H.265</string>
|
||||
<string name="summary_video_format">H.265 reduce el ancho de banda de vídeo, pero requiere un dispositivo bastante actual.</string>
|
||||
<string name="title_video_format">Cambiar configuración HEVC</string>
|
||||
<string name="summary_video_format">HEVC reduce el ancho de banda de vídeo, pero requiere un dispositivo bastante actual.</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
<item>Contraindre le décodage matériel</item>
|
||||
</string-array>
|
||||
<string-array name="video_format_names">
|
||||
<item>Utiliser H.265 uniquement s\'il est stable</item>
|
||||
<item>Utilisez toujours H.265 (mais il peut planter)</item>
|
||||
<item>N\'utilisez jamais H.265</item>
|
||||
<item>Utiliser HEVC uniquement s\'il est stable</item>
|
||||
<item>Utilisez toujours HEVC (mais il peut planter)</item>
|
||||
<item>N\'utilisez jamais HEVC</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -92,7 +92,6 @@
|
||||
<string name="perf_overlay_incomingfps">Fréquence d\'images entrantes du réseau : %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Fréquence d\'images de rendu : %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Images perdues par votre connexion réseau : %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Temps moyen de réception : %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Temps moyen de décodage : %1$.2f ms</string>
|
||||
<!-- AppList activity -->
|
||||
<string name="applist_connect_msg">Connexion au PC…</string>
|
||||
@@ -186,8 +185,8 @@
|
||||
<string name="summary_checkbox_disable_warnings">Désactiver les messages d\'avertissement de connexion à l\'écran pendant la diffusion</string>
|
||||
<string name="title_disable_frame_drop">Ne jamais laisser tomber les frames</string>
|
||||
<string name="summary_disable_frame_drop">Peut réduire les micro-saccades sur certains appareils, mais peut augmenter la latence</string>
|
||||
<string name="title_video_format">Modifier les paramètres H.265</string>
|
||||
<string name="summary_video_format">H.265 réduit les besoins en bande passante vidéo mais nécessite un périphérique très récent</string>
|
||||
<string name="title_video_format">Modifier les paramètres HEVC</string>
|
||||
<string name="summary_video_format">HEVC réduit les besoins en bande passante vidéo mais nécessite un périphérique très récent</string>
|
||||
<string name="title_enable_hdr">Activer le HDR (expérimental)</string>
|
||||
<string name="summary_enable_hdr">Diffuser du HDR lorsque le jeu et le processeur graphique du PC le prennent en charge. HDR nécessite un GPU série GTX 1000 ou une version ultérieure.</string>
|
||||
<string name="title_enable_perf_overlay">Activer la superposition de performance</string>
|
||||
@@ -218,4 +217,7 @@
|
||||
\n
|
||||
\nSi le problème persiste, essayez de réinstaller les pilotes de votre GPU ainsi que GeForce Experience.</string>
|
||||
<string name="no_frame_received_error">Votre connexion ne fonctionne pas bien. Baissez votre paramètres de débit ou utilisez une connexion plus rapide.</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Plein-écran natif</string>
|
||||
<string name="perf_overlay_netlatency">Latence réseau moyenne : %1$d ms (variance : %2$d ms)</string>
|
||||
<string name="perf_overlay_streamdetails">Stream vidéo : %1$s %2$.2f FPS</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,210 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="summary_enable_post_stream_toast">Késleltetési információs üzenet megjelenítése az adatfolyam vége után</string>
|
||||
<string name="title_enable_post_stream_toast">A késleltetési üzenet megjelenítése streaming után</string>
|
||||
<string name="summary_enable_perf_overlay">Valós idejű adatfolyam-adat megjelenítése streaming közben</string>
|
||||
<string name="title_enable_perf_overlay">Teljesítmény statisztikák megjelenítése közvetítés közben</string>
|
||||
<string name="summary_enable_hdr">Streaming HDR, amikor a játék és a PC GPU támogatja. A HDR-hez GTX 1000 sorozatú vagy újabb verzió szükséges.</string>
|
||||
<string name="title_enable_hdr">HDR engedélyezése (kísérleti)</string>
|
||||
<string name="summary_video_format">A HEVC csökkenti a video sávszélesség követelményeit, de újabb eszközt igényel</string>
|
||||
<string name="title_video_format">Módosítsa a HEVC beállításait</string>
|
||||
<string name="summary_disable_frame_drop">Csökkentheti a mikrodadogást egyes eszközökön, de növelheti a késést</string>
|
||||
<string name="title_disable_frame_drop">Soha ne ejtse le a kereteket</string>
|
||||
<string name="summary_checkbox_disable_warnings">Streaming közben tiltsa le a képernyőn megjelenő csatlakozási figyelmeztető üzeneteket</string>
|
||||
<string name="title_checkbox_disable_warnings">Tiltsa le a figyelmeztető üzeneteket</string>
|
||||
<string name="summary_unlock_fps">A 90 vagy 120 FPS sebességgel történő streaming csökkentheti a csúcskategóriás eszközök késését, de késést vagy instabilitást okozhat azokon az eszközökön, amelyek ezt nem támogatják</string>
|
||||
<string name="title_unlock_fps">Oldja fel az összes lehetséges képsebességet</string>
|
||||
<string name="category_advanced_settings">További beállítások</string>
|
||||
<string name="summary_checkbox_host_audio">Hang lejátszása a számítógépről és az eszközről</string>
|
||||
<string name="title_checkbox_host_audio">Hang lejátszása PC-n</string>
|
||||
<string name="summary_checkbox_enable_sops">Engedje meg, hogy a GFE módosítsa a játék beállításait az optimális streaming érdekében</string>
|
||||
<string name="title_checkbox_enable_sops">Optimalizálja a játék beállításait</string>
|
||||
<string name="category_host_settings">Gazdabeállítások</string>
|
||||
<string name="summary_checkbox_small_icon_mode">Az alkalmazásrács kisebbik rajza lehetővé teszi, hogy több alkalmazás is látható legyen a képernyőn</string>
|
||||
<string name="title_checkbox_small_icon_mode">Használjon kis dobozos rajzokat</string>
|
||||
<string name="summary_language_list">A Moonlight-hoz használt nyelv</string>
|
||||
<string name="title_language_list">Nyelv</string>
|
||||
<string name="summary_checkbox_enable_pip">Lehetővé teszi az adatfolyam megtekintését (de nem vezérlését) multitasking közben</string>
|
||||
<string name="title_checkbox_enable_pip">Engedélyezze a Kép a képben megfigyelő módot</string>
|
||||
<string name="category_ui_settings">Felhasználói felület beállításai</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
<string name="dialog_title_osc_opacity">Opacitás módosítása</string>
|
||||
<string name="summary_osc_opacity">Tegye többé-kevésbé átláthatóvá a képernyőn megjelenő vezérlőket</string>
|
||||
<string name="title_osc_opacity">A képernyőn megjelenő vezérlők átlátszatlanságának módosítása</string>
|
||||
<string name="toast_reset_osc_success">A képernyőn megjelenő vezérlők visszaállnak az alapértelmezettre</string>
|
||||
<string name="dialog_text_reset_osc">Biztosan törli a képernyőn tárolt vezérlők mentett elrendezését\?</string>
|
||||
<string name="dialog_title_reset_osc">Reset Layout</string>
|
||||
<string name="summary_reset_osc">Visszaállítja az összes képernyőn megjelenő vezérlőt az alapértelmezett méretre és helyzetre</string>
|
||||
<string name="title_reset_osc">A képernyőn lévő mentett vezérlők elrendezésének törlése</string>
|
||||
<string name="summary_only_l3r3">Az összes virtuális gombot elrejti az L3 és R3 kivételével</string>
|
||||
<string name="title_only_l3r3">Csak az L3-at és az R3-at mutatják</string>
|
||||
<string name="summary_checkbox_vibrate_osc">Rezeg a készülék, hogy utánozza a képernyőn megjelenő vezérlők zúgását</string>
|
||||
<string name="title_checkbox_vibrate_osc">Rezgés engedélyezése</string>
|
||||
<string name="summary_checkbox_show_onscreen_controls">A virtuális vezérlő fedvényének megjelenítése az érintőképernyőn</string>
|
||||
<string name="title_checkbox_show_onscreen_controls">A képernyőn megjelenő vezérlők megjelenítése</string>
|
||||
<string name="category_on_screen_controls_settings">A képernyőn megjelenő vezérlők beállításai</string>
|
||||
<string name="summary_checkbox_flip_face_buttons">Átkapcsolja az A / B és X / Y arcgombokat a játékvezérlőkhöz és a képernyőn megjelenő vezérlőkhöz</string>
|
||||
<string name="title_checkbox_flip_face_buttons">Flip face gombok</string>
|
||||
<string name="summary_checkbox_mouse_nav_buttons">Ennek az opciónak az engedélyezése megszakíthatja a jobb egérgombbal való kattintást néhány hibás eszközön</string>
|
||||
<string name="title_checkbox_mouse_nav_buttons">Engedélyezze az előre és hátra gombokat</string>
|
||||
<string name="summary_checkbox_mouse_emulation">A Start gomb hosszan tartó megnyomásával egér üzemmódba kapcsol a játéktábla</string>
|
||||
<string name="title_checkbox_mouse_emulation">Egér emuláció a játékvezérlőn keresztül</string>
|
||||
<string name="summary_checkbox_usb_bind_all">Használja a Moonlight USB-illesztőprogramját az összes támogatott játékvezérlőhöz, még akkor is, ha natív Xbox vezérlő támogatás van jelen</string>
|
||||
<string name="title_checkbox_usb_bind_all">Az natív Xbox játéktámogatás felülbírálása</string>
|
||||
<string name="summary_checkbox_xb1_driver">Beépített USB-illesztőprogramot engedélyez natív Xbox vezérlő támogatás nélküli eszközökhöz</string>
|
||||
<string name="title_checkbox_xb1_driver">Xbox 360 / One USB játékvezérlő</string>
|
||||
<string name="suffix_seekbar_deadzone">%</string>
|
||||
<string name="title_seekbar_deadzone">Állítsa be az analóg bot holtzónáját</string>
|
||||
<string name="summary_checkbox_vibrate_fallback">Rezeg a készülék, hogy utánozza a dübörgést, ha a gamepad nem támogatja</string>
|
||||
<string name="title_checkbox_vibrate_fallback">A dübörgés támogatását rezgéssel utánozzuk</string>
|
||||
<string name="summary_checkbox_multi_controller">Ennek az opciónak a bejelölése arra kényszeríti a játéktáblát, hogy mindig jelen legyen</string>
|
||||
<string name="title_checkbox_multi_controller">Automatikus gamepad jelenlét-észlelés</string>
|
||||
<string name="summary_checkbox_touchscreen_trackpad">Ha engedélyezve van, az érintőképernyő úgy működik, mint egy trackpad. Ha le van tiltva, az érintőképernyő közvetlenül vezérli az egér kurzort.</string>
|
||||
<string name="title_checkbox_touchscreen_trackpad">Használja az érintőképernyőt trackpadként</string>
|
||||
<string name="category_input_settings">Bemeneti beállítások</string>
|
||||
<string name="summary_audio_config_list">Engedélyezze az 5.1 vagy 7.1 térhatású hangot házimozi rendszerekhez</string>
|
||||
<string name="title_audio_config_list">Térhatású hang konfigurációja</string>
|
||||
<string name="resolution_prefix_native">Natív</string>
|
||||
<string name="category_audio_settings">Hangbeállítások</string>
|
||||
<string name="title_checkbox_stretch_video">Nyújtsa a videót teljes képernyősre</string>
|
||||
<string name="suffix_seekbar_bitrate_mbps">Mbps</string>
|
||||
<string name="summary_seekbar_bitrate">Növelje a jobb képminőség érdekében. Csökkenjen a lassabb kapcsolatok teljesítményének javítása érdekében.</string>
|
||||
<string name="title_seekbar_bitrate">Videó bitráta</string>
|
||||
<string name="summary_fps_list">Növelje a gördülékenyebb videofolyamot. Csökkenjen a jobb teljesítmény érdekében az alsó kategóriás eszközökön.</string>
|
||||
<string name="title_fps_list">Videó képkockasebessége</string>
|
||||
<string name="text_native_res_dialog">A natív felbontási módokat a GeForce Experience hivatalosan nem támogatja, így maga nem állítja be a gazdagép kijelzőjének felbontását. A játék során manuálisan kell beállítania.
|
||||
\n
|
||||
\nHa úgy dönt, hogy az NVIDIA vezérlőpultján egyedi felbontást hoz létre, hogy megfeleljen az eszköz felbontásának, kérjük, olvassa el és értette az NVIDIA figyelmeztetéseit a monitor esetleges károsodásával, a számítógép instabilitásával és más lehetséges problémákkal kapcsolatban.
|
||||
\n
|
||||
\nNem vagyunk felelősek a PC-n egyedi felbontás létrehozásából eredő problémákért.
|
||||
\n
|
||||
\nVégül előfordulhat, hogy az eszköz vagy a fogadó PC nem támogatja a natív felbontású adatfolyamot. Ha a készülékén nem működik, sajnos csak nincs szerencséje.</string>
|
||||
<string name="title_native_res_dialog">Natív felbontás figyelmeztetés</string>
|
||||
<string name="summary_resolution_list">Növelje a kép tisztaságának növelése érdekében. Csökkenjen a jobb teljesítmény érdekében az alsó kategóriás eszközökön és a lassabb hálózatokon.</string>
|
||||
<string name="title_resolution_list">Videó felbontás</string>
|
||||
<string name="category_basic_settings">Alapbeállítások</string>
|
||||
<string name="addpc_wrong_sitelocal">Ez a cím nem tűnik megfelelőnek. Az interneten történő streaminghez az PCnyilvános IP-címét kell használnia.</string>
|
||||
<string name="addpc_enter_ip">Meg kell adnia egy IP-címet</string>
|
||||
<string name="addpc_unknown_host">Nem sikerült feloldani a PC-címet. Győződjön meg arról, hogy nem hibázott a címben.</string>
|
||||
<string name="addpc_success">A számítógép sikeresen hozzáadva</string>
|
||||
<string name="addpc_fail">Nem sikerült csatlakozni a megadott számítógéphez. Győződjön meg arról, hogy a szükséges portok engedélyezve vannak a tűzfalon keresztül.</string>
|
||||
<string name="msg_add_pc">Csatlakozás a számítógéphez…</string>
|
||||
<string name="title_add_pc">Számítógép hozzáadása manuálisan</string>
|
||||
<string name="applist_details_id">Alkalmazásazonosító:</string>
|
||||
<string name="applist_quit_confirmation">Biztosan kilép a futó alkalmazásból\? Minden nem mentett adat elvész.</string>
|
||||
<string name="applist_quit_fail">Nem sikerült kilépni</string>
|
||||
<string name="applist_quit_success">Sikeresen kiléptél</string>
|
||||
<string name="applist_quit_app">Kilépés</string>
|
||||
<string name="applist_refresh_error_msg">Nem sikerült betölteni az alkalmazások listáját</string>
|
||||
<string name="applist_refresh_error_title">Hiba</string>
|
||||
<string name="applist_refresh_msg">Alkalmazás lista frissítése…</string>
|
||||
<string name="applist_refresh_title">Alkalmazás lista</string>
|
||||
<string name="applist_menu_quit">Kilépés a játékból</string>
|
||||
<string name="applist_menu_resume">Visszalépés a játékba</string>
|
||||
<string name="applist_menu_hide_app">Alkalmazás elrejtése</string>
|
||||
<string name="applist_menu_tv_channel">Hozzáadás a csatornához</string>
|
||||
<string name="applist_menu_scut">Parancsikon létrehozása</string>
|
||||
<string name="applist_menu_details">Részletek megtekintése</string>
|
||||
<string name="applist_menu_cancel">Mégse</string>
|
||||
<string name="applist_menu_quit_and_start">Lépjen ki az aktuális játékból és indítsa el</string>
|
||||
<string name="applist_connect_msg">Csatlakozás a számítógéphez…</string>
|
||||
<string name="perf_overlay_dectime">Átlagos dekódolási idő:%1$.2f ms</string>
|
||||
<string name="perf_overlay_netlatency">Átlagos hálózati késés:%1$d ms (szórás:%2$d ms)</string>
|
||||
<string name="perf_overlay_netdrops">A hálózati kapcsolat miatt elesett keretek:%1$.2f%%</string>
|
||||
<string name="perf_overlay_renderingfps">Képkockasebesség megjelenítése:%1$.2f FPS</string>
|
||||
<string name="perf_overlay_incomingfps">Bejövő képkockasebesség a hálózatról:%1$.2f FPS</string>
|
||||
<string name="perf_overlay_decoder">Dekóder:%1$s</string>
|
||||
<string name="perf_overlay_streamdetails">Videófolyam:%1$s %2$.2f FPS</string>
|
||||
<string name="poor_connection_msg">Gyenge kapcsolat a PC-vel</string>
|
||||
<string name="slow_connection_msg">Lassú kapcsolat a PC-vel
|
||||
\nCsökkentse a bitrátát</string>
|
||||
<string name="delete_pc_msg">Biztosan törli ezt a számítógépet\?</string>
|
||||
<string name="help">Segítség</string>
|
||||
<string name="title_details">Részletek</string>
|
||||
<string name="lost_connection">Megszakadt a kapcsolat a PC-vel</string>
|
||||
<string name="no">Nem</string>
|
||||
<string name="yes">Igen</string>
|
||||
<string name="searching_pc">PC-k keresése futó GameStream segítségével ...
|
||||
\n
|
||||
\n Győződjön meg arról, hogy a GameStream engedélyezve van a GeForce Experience SHIELD beállításaiban.</string>
|
||||
<string name="ip_hint">A GeForce PC IP-címe</string>
|
||||
<string name="conn_terminated_msg">A kapcsolat megszakadt</string>
|
||||
<string name="conn_terminated_title">A kapcsolat megszűnt</string>
|
||||
<string name="conn_error_msg">Nem sikerült elindítani</string>
|
||||
<string name="conn_client_latency_hw">hardveres dekóder késleltetése:</string>
|
||||
<string name="conn_client_latency">Átlagos keret dekódolási késés:</string>
|
||||
<string name="conn_metered">Figyelem: Az aktív hálózati kapcsolatod mérésre került!</string>
|
||||
<string name="conn_establishing_msg">Kapcsolódás</string>
|
||||
<string name="conn_establishing_title">Kapcsolat létesítése</string>
|
||||
<string name="check_ports_msg">Ellenőrizze a tűzfal és a port-továbbítási szabályokat a port(ok)ra vonatkozóan:</string>
|
||||
<string name="early_termination_error">Valami nem sikerült a fogadó PC-n az adatfolyam indításakor.
|
||||
\n
|
||||
\nGyőződjön meg arról, hogy a fogadó PC-n nincs megnyitva DRM-védett tartalom. Megpróbálhatja újraindítani a gazdagépet is.
|
||||
\n
|
||||
\nHa a probléma továbbra is fennáll, próbálja meg újratelepíteni a GPU illesztőprogramokat és a GeForce Experience szoftvert.</string>
|
||||
<string name="no_frame_received_error">A hálózati kapcsolat nem működik megfelelően. Csökkentse a videó bitráta beállítását, vagy próbálkozzon gyorsabb kapcsolattal.</string>
|
||||
<string name="no_video_received_error">Nem kapott videót a gazdagéptől.</string>
|
||||
<string name="video_decoder_init_failed">A videó dekóder inicializálása nem sikerült. Előfordulhat, hogy készüléke nem támogatja a kiválasztott felbontást vagy képkockasebességet.</string>
|
||||
<string name="unable_to_pin_shortcut">A jelenlegi program nem teszi lehetővé rögzített parancsikonok létrehozását.</string>
|
||||
<string name="error_usb_prohibited">Az USB-hozzáférést az eszköz rendszergazdája tiltja. Ellenőrizze a Knox vagy az MDM beállításait.</string>
|
||||
<string name="message_decoding_reset">Az eszköz videodekóderje továbbra is összeomlik a kiválasztott adatfolyam-beállításoknál. A streaming beállításait visszaállította az alapértelmezettre.</string>
|
||||
<string name="title_decoding_reset">Videó Beállítások Alapra</string>
|
||||
<string name="message_decoding_error">A Moonlight összeomlott, mert inkompatibilis volt az eszköz videó dekóderével. Győződjön meg arról, hogy a GeForce Experience frissítve van a számítógép legújabb verziójára. Próbálja meg módosítani a streaming beállításokat, ha az összeomlások továbbra is fennállnak.</string>
|
||||
<string name="title_decoding_error">A videó dekóder összeomlott</string>
|
||||
<string name="error_404">A GFE HTTP 404 hibát adott vissza. Győződjön meg arról, hogy a számítógépen támogatott GPU fut. A távoli asztali szoftver használata szintén ezt a hibát okozhatja. Próbálja újraindítani a gépet, vagy telepítse újra a GFE-t.</string>
|
||||
<string name="conn_error_title">Csatlakozási hiba</string>
|
||||
<string name="conn_starting">Indítás</string>
|
||||
<string name="conn_hardware_latency">Átlagos hardver dekódolási késés:</string>
|
||||
<string name="error_unknown_host">Nem sikerült feloldani a gazdagépet</string>
|
||||
<string name="error_manager_not_running">A ComputerManager szolgáltatás nem fut. Várjon néhány másodpercet, vagy indítsa újra az alkalmazást.</string>
|
||||
<string name="error_pc_offline">A számítógép nem elérhető</string>
|
||||
<string name="unpair_error">Az eszköz nincs párosítva</string>
|
||||
<string name="unpair_fail">A párosítás megszüntetése nem sikerült</string>
|
||||
<string name="unpair_success">Párosítás megszüntetve</string>
|
||||
<string name="unpairing">Párosítás megszüntetése…</string>
|
||||
<string name="wol_fail">Nem sikerült elküldeni a Wake-On-LAN csomagokat</string>
|
||||
<string name="wol_waking_msg">Néhány másodpercbe telhet, mire a számítógép felébred. Ha nem, ellenőrizze, hogy megfelelően van-e konfigurálva a Wake-On-LAN számára.</string>
|
||||
<string name="wol_waking_pc">PC elindítása…</string>
|
||||
<string name="wol_no_mac">Nem lehet elindítani a PC-t, mert a GFE nem küldött MAC-címet</string>
|
||||
<string name="wol_pc_online">A számítógép elérhető</string>
|
||||
<string name="pair_already_in_progress">A párosítás már folyamatban van</string>
|
||||
<string name="pairing">Párosítás…</string>
|
||||
<string name="pair_pairing_title">Párosítás</string>
|
||||
<string name="pair_fail">Párosítás nem sikerült</string>
|
||||
<string name="pair_incorrect_pin">Hibás PIN</string>
|
||||
<string name="pair_pairing_msg">Kérjük, adja meg a következő PIN-kódot a cél PC-n:</string>
|
||||
<string name="pair_pc_ingame">A számítógép jelenleg játékban van. A párosítás előtt be kell zárni a játékot.</string>
|
||||
<string name="pair_pc_offline">A számítógép nem elérhető</string>
|
||||
<string name="nettest_text_blocked">Az eszköz jelenlegi hálózati kapcsolata blokkolja a Moonlight-ot. Előfordulhat, hogy az interneten keresztüli streaming nem működik, ha csatlakozik ehhez a hálózathoz.</string>
|
||||
<string name="nettest_text_failure">Úgy tűnik, hogy eszközének jelenlegi hálózati kapcsolata blokkolja a Moonlight-ot. Előfordulhat, hogy az interneten keresztüli streaming nem működik, ha csatlakozik ehhez a hálózathoz.
|
||||
\n
|
||||
\nA következő hálózati portokat blokkolták:
|
||||
\n</string>
|
||||
<string name="nettest_text_inconclusive">A hálózati tesztet nem sikerült elvégezni, mert a Moonlight egyik kapcsolat tesztelő szervere sem volt elérhető. Ellenőrizze az internetkapcsolatot, vagy próbálkozzon újra később.</string>
|
||||
<string name="nettest_text_success">Úgy tűnik, hogy a hálózata nem blokkolja a Moonlight-ot. Ha továbbra is problémái vannak a csatlakozással, ellenőrizze a számítógép tűzfalának beállításait.
|
||||
\n
|
||||
\nHa az interneten keresztül kíván közvetíteni, telepítse a Moonlight Internet Hosting Tool alkalmazást a számítógépére, és futtassa a mellékelt Internet Streaming Tester szoftvert a számítógép internetkapcsolatának ellenőrzéséhez.</string>
|
||||
<string name="nettest_title_done">Hálózati kapcsolat teszt kész</string>
|
||||
<string name="nettest_text_waiting">A Moonlight a hálózati kapcsolatot teszteli annak megállapítására, hogy az NVIDIA GameStream blokkolva van-e.
|
||||
\n
|
||||
\nEz eltarthat néhány másodpercig …</string>
|
||||
<string name="pcview_menu_test_network">Hálózati kapcsolat teszt</string>
|
||||
<string name="nettest_title_waiting">Hálózati kapcsolat ellenőrzése</string>
|
||||
<string name="pcview_menu_details">Részletek megtekintése</string>
|
||||
<string name="pcview_menu_delete_pc">PC törlése</string>
|
||||
<string name="pcview_menu_send_wol">Wake-On-LAN kérés küldése</string>
|
||||
<string name="pcview_menu_unpair_pc">Lecsatlakoztat</string>
|
||||
<string name="pcview_menu_pair_pc">PC csatlakoztatása</string>
|
||||
<string name="pcview_menu_app_list">Összes alkalmazás megtekintése</string>
|
||||
<string name="pcview_menu_header_unknown">Újratöltés</string>
|
||||
<string name="pcview_menu_header_offline">Nem elérhető</string>
|
||||
<string name="pcview_menu_header_online">Elérhető</string>
|
||||
<string name="help_loading_msg">Segítségek betöltés alatt…</string>
|
||||
<string name="help_loading_title">Segítség megtekintő</string>
|
||||
<string name="scut_invalid_app_id">A kiválasztott App nem érvényes</string>
|
||||
<string name="scut_invalid_uuid">A kiválasztott PC nem érvényes</string>
|
||||
<string name="scut_pc_not_found">Pc nem található</string>
|
||||
<string name="scut_not_paired">PC nincs csatlakoztatva</string>
|
||||
<string name="scut_deleted_pc">PC eltávolítva</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Natív teljes képernyős</string>
|
||||
</resources>
|
||||
@@ -150,8 +150,8 @@
|
||||
<string name="category_advanced_settings">Impostazioni avanzate</string>
|
||||
<string name="title_disable_frame_drop">Non saltare i fotogrammi</string>
|
||||
<string name="summary_disable_frame_drop">Potrebbe ridurre il micro-stuttering su alcuni dispositivi, ma può aumentare la latenza</string>
|
||||
<string name="title_video_format">Modifica impostazioni H.265</string>
|
||||
<string name="summary_video_format">H.265 riduce i requisiti di larghezza di banda video ma richiede un dispositivo molto recente</string>
|
||||
<string name="title_video_format">Modifica impostazioni HEVC</string>
|
||||
<string name="summary_video_format">HEVC riduce i requisiti di larghezza di banda video ma richiede un dispositivo molto recente</string>
|
||||
<string name="title_enable_hdr">Abilita HDR (sperimentale)</string>
|
||||
<string name="summary_enable_hdr">Utilizza l\'HDR quando il gioco e la scheda video del PC lo supportano. L\'HDR richiede una scheda video serie GTX 1000 o sucessive.</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>安定している場合にH.265を有効化</item>
|
||||
<item>H.265を強制的に有効化(クラッシュする可能性があります)</item>
|
||||
<item>H.265を無効化</item>
|
||||
<item>安定している場合にHEVCを有効化</item>
|
||||
<item>HEVCを強制的に有効化(クラッシュする可能性があります)</item>
|
||||
<item>HEVCを無効化</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -114,8 +114,8 @@
|
||||
<string name="summary_checkbox_host_audio">音声をコンピュータとこのデバイスの両方で再生します</string>
|
||||
|
||||
<string name="category_advanced_settings">高度な設定</string>
|
||||
<string name="title_video_format">H.265</string>
|
||||
<string name="summary_video_format">H.265は動画に必要な帯域幅を圧縮します。この機能にはなるべく新しいデバイスが必要です</string>
|
||||
<string name="title_video_format">HEVC</string>
|
||||
<string name="summary_video_format">HEVCは動画に必要な帯域幅を圧縮します。この機能にはなるべく新しいデバイスが必要です</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
<string name="dialog_title_osc_opacity">透過率</string>
|
||||
<string name="title_osc_opacity">透過率</string>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>안정적인 경우에 H.265 사용</item>
|
||||
<item>항상 H.265 사용(깨질 가능성 있음)</item>
|
||||
<item>H.265 사용하지 않기</item>
|
||||
<item>안정적인 경우에 HEVC 사용</item>
|
||||
<item>항상 HEVC 사용(깨질 가능성 있음)</item>
|
||||
<item>HEVC 사용하지 않기</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -3,18 +3,15 @@
|
||||
<!-- Shortcut strings -->
|
||||
<string name="scut_deleted_pc">PC 삭제됨</string>
|
||||
<string name="scut_not_paired">PC와 페어링되지 않음</string>
|
||||
|
||||
<!-- Help strings -->
|
||||
<string name="help_loading_title">도움말 뷰어</string>
|
||||
<string name="help_loading_msg">도움말 페이지 로딩중…</string>
|
||||
|
||||
<!-- PC view menu entries -->
|
||||
<string name="pcview_menu_app_list">게임 리스트 보이기</string>
|
||||
<string name="pcview_menu_app_list">모든 게임 보기</string>
|
||||
<string name="pcview_menu_pair_pc">PC와 페어링</string>
|
||||
<string name="pcview_menu_unpair_pc">페어링 해제</string>
|
||||
<string name="pcview_menu_send_wol">Wake-On-LAN request 보내기</string>
|
||||
<string name="pcview_menu_delete_pc">PC 삭제</string>
|
||||
|
||||
<!-- Pair messages -->
|
||||
<string name="pairing">페어링 중…</string>
|
||||
<string name="pair_pc_offline">컴퓨터가 오프라인입니다.</string>
|
||||
@@ -24,34 +21,28 @@
|
||||
<string name="pair_incorrect_pin">PIN이 올바르지 않음</string>
|
||||
<string name="pair_fail">페어링 실패</string>
|
||||
<string name="pair_already_in_progress">페어링이 이미 진행중입니다</string>
|
||||
|
||||
<!-- WOL messages -->
|
||||
<string name="wol_pc_online">컴퓨터가 온라인 상태입니다</string>
|
||||
<string name="wol_no_mac">Geforce Experience가 MAC 주소를 보내지 않아 PC를 깨울 수 없습니다.</string>
|
||||
<string name="wol_no_mac">Geforce Experience가 MAC 주소를 보내지 않아 PC를 켤 수 없습니다.</string>
|
||||
<string name="wol_waking_pc">PC를 깨우는 중…</string>
|
||||
<string name="wol_waking_msg">PC를 깨우는 데에 약간의 시간이 걸립니다.
|
||||
PC가 깨워지지 않으면, Wake-On-Lan이 설정되어있는지 확인하세요.
|
||||
</string>
|
||||
<string name="wol_waking_msg">PC를 켜는 데에 약간의 시간이 걸립니다. PC가 켜지지 않으면, Wake-On-Lan이 설정되어있는지 확인하세요.</string>
|
||||
<string name="wol_fail">Wake-On-LAN 패킷을 보내는 데에 실패했습니다</string>
|
||||
|
||||
<!-- Unpair messages -->
|
||||
<string name="unpairing">페어링 해제중…</string>
|
||||
<string name="unpair_success">페어링 해제 완료</string>
|
||||
<string name="unpair_fail">페어링 해제 실패</string>
|
||||
<string name="unpair_error">장치가 페어링되지 않음</string>
|
||||
|
||||
<!-- Errors -->
|
||||
<string name="error_pc_offline">컴퓨터가 오프라인 상태입니다</string>
|
||||
<string name="error_manager_not_running">ComputerManager 서비스가 실행되지 않고 있습니다. 몇 초 기다리거나 앱을 다시 시작하세요.</string>
|
||||
<string name="error_manager_not_running">ComputerManager 서비스가 실행되지 않고 있습니다. 잠시 기다리거나 앱을 다시 시작하세요.</string>
|
||||
<string name="error_unknown_host">호스트 응답에 실패함</string>
|
||||
<string name="error_404">GFE가 HTTP 404에러를 보냈습니다. 지원되는 GPU가 설치되어 있는지 확인하세요.
|
||||
원격 데스트톱 응용 프로그램을 사용하는 것도 이 에러를 유발할 수 있습니다. PC를 다시 시작하거나 Geforce Experience를 다시 설치해보세요.
|
||||
</string>
|
||||
|
||||
<!-- Start application messages -->
|
||||
<string name="conn_establishing_title">연결 수립중</string>
|
||||
<string name="conn_establishing_title">연결 시도중</string>
|
||||
<string name="conn_establishing_msg">연결 시작</string>
|
||||
<string name="conn_metered">경고: 데이터 요금이 부과될 수 있습니다.</string>
|
||||
<string name="conn_metered">경고: 데이터 요금이 부과될 수 있습니다!</string>
|
||||
<string name="conn_client_latency">평균 프레임 디코딩 지연:</string>
|
||||
<string name="conn_client_latency_hw">하드웨어 디코더 지연:</string>
|
||||
<string name="conn_hardware_latency">평균 하드웨어 디코딩 지연:</string>
|
||||
@@ -60,7 +51,6 @@
|
||||
<string name="conn_error_msg">시작 실패</string>
|
||||
<string name="conn_terminated_title">연결 종료 됨</string>
|
||||
<string name="conn_terminated_msg">연결이 종료되었습니다</string>
|
||||
|
||||
<!-- General strings -->
|
||||
<string name="ip_hint">GeForce PC의 IP 주소</string>
|
||||
<string name="searching_pc">GameStream이 실행중인 PC를 검색중…\n\n
|
||||
@@ -69,7 +59,6 @@
|
||||
<string name="no">아니오</string>
|
||||
<string name="lost_connection">PC 연결 끊김</string>
|
||||
<string name="help">도움말</string>
|
||||
|
||||
<!-- AppList activity -->
|
||||
<string name="applist_connect_msg">PC에 연결중…</string>
|
||||
<string name="applist_menu_resume">세션 계속</string>
|
||||
@@ -77,60 +66,158 @@
|
||||
<string name="applist_menu_quit_and_start">현재 게임 종료 후 시작</string>
|
||||
<string name="applist_menu_cancel">취소</string>
|
||||
<string name="applist_refresh_title">앱 리스트</string>
|
||||
<string name="applist_refresh_msg">앱 다시 로드 중…</string>
|
||||
<string name="applist_refresh_msg">앱 로드 중…</string>
|
||||
<string name="applist_refresh_error_title">오류</string>
|
||||
<string name="applist_refresh_error_msg">앱 리스트를 얻는데 실패함</string>
|
||||
<string name="applist_quit_app">종료중</string>
|
||||
<string name="applist_quit_success">종료됨</string>
|
||||
<string name="applist_quit_fail">종료에 실패함</string>
|
||||
<string name="applist_quit_confirmation">실행되고 있는 앱을 종료하길 원하시나요? 모든 저장되지 않은 데이터가 삭제됩니다</string>
|
||||
|
||||
<string name="applist_quit_fail">종료 실패</string>
|
||||
<string name="applist_quit_confirmation">실행되고 있는 앱을 종료하길 원하시나요\? 모든 저장되지 않은 데이터가 삭제됩니다.</string>
|
||||
<!-- Add computer manually activity -->
|
||||
<string name="title_add_pc">고급 설정으로 PC 추가</string>
|
||||
<string name="title_add_pc">수동으로 PC 추가</string>
|
||||
<string name="msg_add_pc">PC에 연결 중…</string>
|
||||
<string name="addpc_fail">지정된 컴퓨터에 연결하는 데에 실패했습니다. PC의 방화벽과 적절한 포트 설정을 확인하세요.</string>
|
||||
<string name="addpc_success">컴퓨터 추가 성공</string>
|
||||
<string name="addpc_unknown_host">PC의 IP주소를 확인할 수 없습니다. Make sure you didn\'t make a typo in the address.</string>
|
||||
<string name="addpc_enter_ip">반드시 IP주소를 입력해야 합니다.</string>
|
||||
|
||||
<string name="addpc_unknown_host">PC의 IP주소를 확인할 수 없습니다. 주소에 오타가 없는지 확인하십시오.</string>
|
||||
<string name="addpc_enter_ip">반드시 IP주소를 입력해야 합니다</string>
|
||||
<!-- Preferences -->
|
||||
<string name="category_basic_settings">기본 설정</string>
|
||||
<string name="title_resolution_list">해상도와 FPS 타겟 지정</string>
|
||||
<string name="summary_resolution_list">세팅 값이 자신의 PC 성능보다 너무 높으면 렉이나 깨짐을 유발할 수 있습니다.</string>
|
||||
<string name="title_resolution_list">해상도 설정</string>
|
||||
<string name="summary_resolution_list">해상도가 높을수록 선명하지만 저사양기기를 사용하거나 네트워크 연결이 느리다면 해상도를 낮추십시오.</string>
|
||||
<string name="title_seekbar_bitrate">비트레이트 타겟 지정</string>
|
||||
<string name="summary_seekbar_bitrate">낮은 비트레이트는 끊김을 줄이고, 높은 비트레이트는 품질을 높입니다.</string>
|
||||
<string name="title_checkbox_stretch_video">전체 화면으로 렌더링 스크린 늘이기</string>
|
||||
<string name="title_checkbox_stretch_video">화면을 늘려 전체화면으로 사용</string>
|
||||
<string name="title_checkbox_disable_warnings">경고 메세지 끄기</string>
|
||||
<string name="summary_checkbox_disable_warnings">화면 상의 연결 경고 메세지를 스트리밍 중에 비활성화합니다.</string>
|
||||
|
||||
<string name="category_audio_settings">오디오 설정</string>
|
||||
|
||||
<string name="title_checkbox_multi_controller">다중 컨트롤러 지원</string>
|
||||
<string name="summary_checkbox_multi_controller">이 옵션을 선택하지 않으면 모든 컨트롤러가 하나로 표시됩니다</string>
|
||||
<string name="title_seekbar_deadzone">아날로그 스틱 데드존 설정</string>
|
||||
<string name="suffix_seekbar_deadzone">%</string>
|
||||
<string name="title_checkbox_xb1_driver">Xbox 360/One 컨트롤러 드라이버</string>
|
||||
<string name="summary_checkbox_xb1_driver">네이티브 Xbox 컨트롤러 지원 없이 빌드인 USB드라이버를 활성화합니다.</string>
|
||||
|
||||
<string name="summary_checkbox_xb1_driver">네이티브 Xbox 컨트롤러 지원 없이 빌드인 USB드라이버를 활성화합니다</string>
|
||||
<string name="category_on_screen_controls_settings">화면 상의 컨트롤 설정</string>
|
||||
<string name="title_checkbox_show_onscreen_controls">화면 위에 컨트롤러 표시</string>
|
||||
<string name="summary_checkbox_show_onscreen_controls">터치스크린에 가상 컨트롤러 오버레이를 표시합니다.</string>
|
||||
|
||||
<string name="summary_checkbox_show_onscreen_controls">터치스크린에 가상 컨트롤러 오버레이를 표시합니다</string>
|
||||
<string name="category_ui_settings">UI 설정</string>
|
||||
<string name="title_language_list">언어</string>
|
||||
<string name="summary_language_list">Moonlight에서 사용할 언어를 선택합니다.</string>
|
||||
<string name="summary_language_list">Moonlight에서 사용할 언어를 선택합니다</string>
|
||||
<string name="title_checkbox_small_icon_mode">작은 아이콘 사용</string>
|
||||
<string name="summary_checkbox_small_icon_mode">더 많이 표시하기 위해 그리드 표시에서 작은 아이콘을 사용합니다.</string>
|
||||
|
||||
<string name="summary_checkbox_small_icon_mode">한 화면에서 더 많은 게임을 볼 수 있게 게임을 더 작게 표시합니다</string>
|
||||
<string name="category_host_settings">호스트 설정</string>
|
||||
<string name="title_checkbox_enable_sops">게임 설정 최적화</string>
|
||||
<string name="summary_checkbox_enable_sops">최적의 스트리밍을 위해 Geforce Experience가 게임 설정을 수정하도록 허용합니다.</string>
|
||||
<string name="title_checkbox_host_audio">PC에서 소리 재생</string>
|
||||
<string name="summary_checkbox_host_audio">이 장치와 컴퓨터에서 소리를 재생합니다.</string>
|
||||
|
||||
<string name="category_advanced_settings">고급 설정</string>
|
||||
<string name="title_video_format">H.265 설정 변경</string>
|
||||
<string name="summary_video_format">H.265는 비디오 대역폭 요구사항을 낮춰주지만 최신 장치가 필요합니다.</string>
|
||||
<string name="title_video_format">HEVC 설정 변경</string>
|
||||
<string name="summary_video_format">HEVC는 낮은 대역폭으로 더 좋은 화질을 볼 수 있게 해주지만 최신 장치가 필요합니다.</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
|
||||
</resources>
|
||||
<string name="title_checkbox_enable_pip">PIP모드 활성화</string>
|
||||
<string name="summary_checkbox_vibrate_fallback">게임 패드가 진동을 지원하지 않는 경우 장치를 진동 시켜 진동을 활성화합니다</string>
|
||||
<string name="title_checkbox_vibrate_fallback">게임패드 진동을 장치에서 사용하기</string>
|
||||
<string name="summary_checkbox_touchscreen_trackpad">활성화시 터치 스크린이 트랙 패드처럼 작동합니다. 비활성화 된 경우 터치 스크린처럼 작동합니다.</string>
|
||||
<string name="title_checkbox_touchscreen_trackpad">터치 스크린을 트랙 패드로 사용하기</string>
|
||||
<string name="category_input_settings">입력 설정</string>
|
||||
<string name="summary_audio_config_list">홈 시어터 시스템을 위한 5.1 또는 7.1 서라운드 사운드 활성화</string>
|
||||
<string name="title_audio_config_list">서라운드 사운드 설정</string>
|
||||
<string name="resolution_prefix_native">네이티브</string>
|
||||
<string name="summary_fps_list">높을수록 화면이 더 부드러워집니다. 저사양 기기에서는 낮추는것이 좋습니다.</string>
|
||||
<string name="title_fps_list">FPS 설정</string>
|
||||
<string name="text_native_res_dialog">1. 네이티브 해상도 모드는 GeForce Experience에서 공식적으로 지원되지 않으므로 호스트PC의 디스플레이 해상도는 변경되지 않습니다. 따라서 스트리밍 중에 수동으로 해상도를 변경해야합니다.
|
||||
\n
|
||||
\n2. 장치 해상도와 일치하도록 NVIDIA 제어판에서 사용자 정의 해상도를 생성 할 경우 호스트 PC의 모니터 손상, 기타 잠재적 문제에 대한 NVIDIA의 경고를 읽고 이해했는지 확인하십시오.
|
||||
\n
|
||||
\n3. Moonlight는 PC에서 사용자 정의 해상도를 생성하여 발생하는 문제에 대해 책임을 지지 않습니다.
|
||||
\n
|
||||
\n4. 장치 또는 호스트 PC가 네이티브 해상도의 스트리밍을 지원하지 않을 수 있습니다.</string>
|
||||
<string name="title_native_res_dialog">네이티브 해상도 주의사항</string>
|
||||
<string name="addpc_wrong_sitelocal">주소가 잘못된 것 같습니다. 인터넷을 통해 스트리밍하려면 라우터의 공용 IP 주소를 사용해야합니다.</string>
|
||||
<string name="applist_details_id">앱 ID:</string>
|
||||
<string name="applist_menu_hide_app">게임 숨기기</string>
|
||||
<string name="applist_menu_scut">바로가기 만들기</string>
|
||||
<string name="applist_menu_details">세부사항</string>
|
||||
<string name="perf_overlay_dectime">평균 디코딩 시간 : %1$.2f ms</string>
|
||||
<string name="perf_overlay_netlatency">평균 네트워크 지연 시간 : %1$d ms (편차 : %2$d ms)</string>
|
||||
<string name="perf_overlay_netdrops">네트워크에 의해 손실 된 프레임 : %1$.2f%%</string>
|
||||
<string name="perf_overlay_renderingfps">렌더링 프레임속도 : %1$.2f FPS</string>
|
||||
<string name="perf_overlay_incomingfps">네트워크를 통해 받은 프레임속도: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_decoder">디코더:%1$s</string>
|
||||
<string name="poor_connection_msg">PC와의 연결이 불안정함</string>
|
||||
<string name="slow_connection_msg">PC와의 연결이 불안정합니다.
|
||||
\n비트레이트를 줄이세요</string>
|
||||
<string name="delete_pc_msg">이 PC를 삭제 하시겠습니까\?</string>
|
||||
<string name="title_details">세부정보</string>
|
||||
<string name="check_ports_msg">다음 포트의 방화벽 및 포트 포워딩 설정을 확인하십시오:</string>
|
||||
<string name="early_termination_error">스트림을 시작할 때 호스트 PC에서 문제가 발생했습니다.
|
||||
\n
|
||||
\n호스트 PC에 DRM으로 보호 된 콘텐츠가 열려 있지 않은지 확인하거나 호스트 PC를 재부팅하십시오 .
|
||||
\n
|
||||
\n문제가 지속되면 GPU 드라이버와 GeForce Experience를 다시 설치해보십시오.</string>
|
||||
<string name="no_frame_received_error">네트워크 연결이 불안정합니다. 비트레이트를 낮추거나 더 빠른 네트워크에 연결하십시오.</string>
|
||||
<string name="no_video_received_error">호스트로부터 비디오를 받지 못했습니다.</string>
|
||||
<string name="video_decoder_init_failed">비디오 디코더를 실행하지 못했습니다. 이 장치가 선택한 해상도 또는 프레임 속도를 지원하지 않을 수 있습니다.</string>
|
||||
<string name="error_usb_prohibited">기기 관리자에 의해 USB 액세스가 차단되었습니다. Knox 또는 MDM 설정을 확인하십시오.</string>
|
||||
<string name="message_decoding_reset">선택한 스트리밍 설정에서 장치의 비디오 디코더가 계속 문제가 발생합니다. 스트리밍 설정이 기본값으로 재설정되었습니다.</string>
|
||||
<string name="title_decoding_reset">비디오 설정 초기화</string>
|
||||
<string name="message_decoding_error">이 장치의 비디오 디코더와 호환되지 않아 Moonlight에서 오류가 발생했습니다. GeForce Experience가 PC의 최신 버전으로 업데이트되었는지 확인하십시오. 충돌이 계속되면 스트리밍 설정을 조정 해보십시오.</string>
|
||||
<string name="title_decoding_error">비디오 디코더 오류</string>
|
||||
<string name="nettest_text_blocked">기기의 현재 네트워크가 Moonlight를 차단하고 있습니다. 이 네트워크에 연결되어 있으면 인터넷을 통한 스트리밍이 작동하지 않을 수 있습니다.</string>
|
||||
<string name="nettest_text_failure">기기의 현재 네트워크가 Moonlight를 차단하는 것 같습니다. 이 네트워크에 연결되어 있으면 인터넷을 통한 스트리밍이 작동하지 않을 수 있습니다.
|
||||
\n
|
||||
\n차단된 네트워크 포트:
|
||||
\n</string>
|
||||
<string name="nettest_text_inconclusive">Moonlight의 테스트 서버에 연결할 수 없기 때문에 네트워크 테스트를 할 수 없습니다. 인터넷 연결을 확인하거나 나중에 다시 시도하십시오.</string>
|
||||
<string name="nettest_text_success">네트워크가 Moonlight를 차단하지 않는 것 같습니다. 여전히 연결에 문제가 있으면 PC의 방화벽 설정을 확인하십시오
|
||||
\n
|
||||
\n인터넷을 통해 연결하려는 경우 PC에 Moonlight Internet Hosting Tool을 설치하고 Internet Streaming Tester를 실행하여 PC의 인터넷 연결을 확인하십시오.</string>
|
||||
<string name="nettest_title_done">네트워크 연결 테스트 완료</string>
|
||||
<string name="nettest_text_waiting">NVIDIA GameStream이 차단되었는지 확인하기 위해 네트워크 연결을 테스트하고 있습니다.
|
||||
\n
|
||||
\n잠시 기다려 주세요…</string>
|
||||
<string name="pcview_menu_header_unknown">상태 확인중</string>
|
||||
<string name="pcview_menu_test_network">네트워크 연결 테스트</string>
|
||||
<string name="pcview_menu_header_offline">오프라인</string>
|
||||
<string name="pcview_menu_header_online">온라인</string>
|
||||
<string name="nettest_title_waiting">네트워크 연결을 테스트하는 중</string>
|
||||
<string name="pcview_menu_details">PC 세부정보</string>
|
||||
<string name="scut_pc_not_found">PC를 찾을 수 없음</string>
|
||||
<string name="suffix_seekbar_bitrate_mbps">Mbps</string>
|
||||
<string name="applist_menu_tv_channel">채널 추가하기</string>
|
||||
<string name="scut_invalid_uuid">PC를 사용할 수 없음</string>
|
||||
<string name="scut_invalid_app_id">앱을 사용할 수 없음</string>
|
||||
<string name="summary_enable_post_stream_toast">스트림 종료 후 지연시간 정보 표시</string>
|
||||
<string name="title_enable_post_stream_toast">스트리밍 후 지연시간 정보 표시</string>
|
||||
<string name="title_enable_perf_overlay">스트리밍 중 성능 정보 표시</string>
|
||||
<string name="summary_enable_perf_overlay">스트리밍하는 동안 실시간 스트림 성능 정보 표시</string>
|
||||
<string name="summary_enable_hdr">게임 및 PC의 GPU가 HDR을 지원하는 경우 HDR을 활성화합니다. HDR에는 GTX 1000 시리즈 또는 그 이상의 GPU가 필요합니다.</string>
|
||||
<string name="title_enable_hdr">HDR활성화 (실험중인 기능)</string>
|
||||
<string name="summary_disable_frame_drop">일부 장치에서 미세한 끊김 현상을 줄일 수 있지만 지연 시간이 늘어날 수 있습니다.</string>
|
||||
<string name="title_disable_frame_drop">프레임드랍 최적화</string>
|
||||
<string name="summary_unlock_fps">90 또는 120FPS로 스트리밍하면 지연 시간이 줄어들 수 있지만 이를 지원할 수 없는 장치에서는 지연 또는 불안정 할 수 있습니다</string>
|
||||
<string name="title_unlock_fps">모든 프레임 속도 잠금 해제</string>
|
||||
<string name="summary_checkbox_enable_pip">PIP모드를 사용하는 중에 화면은 볼 수 있지만 제어는 할 수 없습니다</string>
|
||||
<string name="dialog_title_osc_opacity">투명도 조절</string>
|
||||
<string name="summary_osc_opacity">가상컨트롤러의 투명도를 조절할 수 있습니다</string>
|
||||
<string name="title_osc_opacity">가상컨트롤러의 투명도 설정</string>
|
||||
<string name="toast_reset_osc_success">가상 컨트롤러 배치가 초기화되었습니다</string>
|
||||
<string name="dialog_text_reset_osc">저장된 가상 컨트롤러 배치를 초기화 하시겠습니까\?</string>
|
||||
<string name="dialog_title_reset_osc">가상 컨트롤러 배치 초기화</string>
|
||||
<string name="summary_reset_osc">가상 컨트롤러를 기본 크기 및 위치로 초기화합니다</string>
|
||||
<string name="title_reset_osc">가상 컨트롤러 배치 초기화</string>
|
||||
<string name="summary_only_l3r3">L3 및 R3을 제외한 모든 가상 버튼을 숨깁니다</string>
|
||||
<string name="title_only_l3r3">L3와 R3버튼만 표시하기</string>
|
||||
<string name="summary_checkbox_flip_face_buttons">게임 패드 및 가상 컨트롤러의 A / B 와 X / Y 버튼을 바꿉니다</string>
|
||||
<string name="summary_checkbox_vibrate_osc">가상 컨트롤러에서 장치를 진동하여 게임패드 진동을 구현합니다</string>
|
||||
<string name="title_checkbox_vibrate_osc">진동 활성화</string>
|
||||
<string name="title_checkbox_flip_face_buttons">버튼 바꾸기</string>
|
||||
<string name="summary_checkbox_mouse_nav_buttons">이 옵션을 활성화하면 일부 장치에서 오른쪽 클릭에 문제가 있을 수 있습니다</string>
|
||||
<string name="title_checkbox_mouse_nav_buttons">마우스 사이드버튼 활성화</string>
|
||||
<string name="summary_checkbox_mouse_emulation">패드의 Start 버튼을 길게 누르면 게임 패드가 마우스 모드로 전환됩니다</string>
|
||||
<string name="summary_checkbox_usb_bind_all">Xbox 컨트롤러를 기본으로 지원하는 경우에도 지원되는 모든 게임 패드에 Moonlight의 USB 드라이버를 사용합니다</string>
|
||||
<string name="title_checkbox_usb_bind_all">기본 Xbox 게임 패드 지원 무시</string>
|
||||
<string name="title_checkbox_mouse_emulation">게임패드를 마우스처럼 사용하기</string>
|
||||
<string name="perf_overlay_streamdetails">비디오 스트림 : %1$s %2$.2f FPS</string>
|
||||
<string name="unable_to_pin_shortcut">현재 런처에서는 바로가기 생성이 불가능합니다.</string>
|
||||
<string name="resolution_prefix_native_fullscreen">네이티브 (전체화면)</string>
|
||||
</resources>
|
||||
@@ -7,14 +7,11 @@
|
||||
<string name="title_fps_list">Videobilderammetakt</string>
|
||||
<string name="applist_quit_confirmation">Er du sikker på at du vil avslutte det kjørende programmet\? All ulagret data vil gå tapt.</string>
|
||||
<string name="applist_refresh_msg">Gjenoppfrisker programmer …</string>
|
||||
|
||||
<string name="perf_overlay_decoder">Dekoder: %1$s</string>
|
||||
<string name="perf_overlay_incomingfps">Innkommende bilderammetakt fra nettverket: %1$.2f BPS</string>
|
||||
<string name="perf_overlay_renderingfps">Opptegningsbilderammetakt: %1$.2f BPS</string>
|
||||
<string name="perf_overlay_netdrops">Bilderammer droppet av din nettverkstilknytning: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Gjennomsnittlig mottakstid: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Gjennomsnittlig dekodingstid: %1$.2f ms</string>
|
||||
|
||||
<string name="lost_connection">Mistet tilknytning til PC</string>
|
||||
<string name="searching_pc">Søker etter PC-er med GameStream kjørende …
|
||||
\n
|
||||
@@ -50,7 +47,7 @@
|
||||
<string name="nettest_title_done">Nettverkstest fullført</string>
|
||||
<string name="title_seekbar_deadzone">Dødsonejustering for analogstikke</string>
|
||||
<string name="title_checkbox_xb1_driver">Driver for Xbox 360/One USB-spillkontroller</string>
|
||||
<string name="title_video_format">Endre H.265-innstillinger</string>
|
||||
<string name="title_video_format">Endre HEVC-innstillinger</string>
|
||||
<string name="title_disable_frame_drop">Aldri forkast bilderammer</string>
|
||||
<string name="title_checkbox_disable_warnings">Skru av advarselsmeldinger</string>
|
||||
<string name="title_unlock_fps">Lås opp alle mulige bilderammetakter</string>
|
||||
@@ -170,7 +167,7 @@
|
||||
<string name="summary_enable_post_stream_toast">Vis en informasjonsmelding om latens etter at strømmen sluttføres</string>
|
||||
<string name="title_enable_post_stream_toast">Vis latensmelding etter strømming</string>
|
||||
<string name="title_enable_hdr">Skru på HDR (eksperimentelt)</string>
|
||||
<string name="summary_video_format">H.265 senker båndbreddekravene, men krever en nyere enhet</string>
|
||||
<string name="summary_video_format">HEVC senker båndbreddekravene, men krever en nyere enhet</string>
|
||||
<string name="summary_disable_frame_drop">Kan redusere mikro-hakking på noen enheter, men kan øke latens</string>
|
||||
<string name="summary_checkbox_disable_warnings">Skru av visning av tilkoblingsadvarsler på skjermen under strømming</string>
|
||||
<string name="summary_unlock_fps">Strømming i 90 eller 120 BPS kan redusere latens på flaggskipsenheter, men kan forårsake forsinkelser eller ustabilitet på enheter som ikke klarer det.</string>
|
||||
@@ -207,4 +204,7 @@
|
||||
<string name="resolution_prefix_native">Innebygd</string>
|
||||
<string name="title_native_res_dialog">Advarsel om innebygd oppløsning</string>
|
||||
<string name="title_checkbox_flip_face_buttons">Veksle diamantknapper</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Systemspesifikk fullskjerm</string>
|
||||
<string name="perf_overlay_netlatency">Gjennomsnittlig nettverksforsinkelse: %1$d ms (variasjon: %2$d ms)</string>
|
||||
<string name="perf_overlay_streamdetails">Videostrøm: %1$s %2$.2f BPS</string>
|
||||
</resources>
|
||||
@@ -7,8 +7,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Gebruik H.265 alleen als het stabiel is.</item>
|
||||
<item>Gebruik H.265 altijd (mogelijkheid tot crashes)</item>
|
||||
<item>Gebruik H.265 nooit</item>
|
||||
<item>Gebruik HEVC alleen als het stabiel is.</item>
|
||||
<item>Gebruik HEVC altijd (mogelijkheid tot crashes)</item>
|
||||
<item>Gebruik HEVC nooit</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -118,8 +118,8 @@
|
||||
<string name="summary_checkbox_host_audio">Speel audio af op de computer en op dit apparaat</string>
|
||||
|
||||
<string name="category_advanced_settings">Geavanceerde Instellingen</string>
|
||||
<string name="title_video_format">Verander H.265 instellingen</string>
|
||||
<string name="summary_video_format">H.265 verlaagt video bandbreedte vereisten maar benodigdt een recent apparaat.</string>
|
||||
<string name="title_video_format">Verander HEVC instellingen</string>
|
||||
<string name="summary_video_format">HEVC verlaagt video bandbreedte vereisten maar benodigdt een recent apparaat.</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Folosește H.265 doar dacă e stabil</item>
|
||||
<item>Folosește H.265 mereu (se poate bloca)</item>
|
||||
<item>Nu folosi H.265</item>
|
||||
<item>Folosește HEVC doar dacă e stabil</item>
|
||||
<item>Folosește HEVC mereu (se poate bloca)</item>
|
||||
<item>Nu folosi HEVC</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
<string name="perf_overlay_incomingfps">Rata cadrelor primite din rețea: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Rata de afisare a cadrelor: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Cadre pierdute de rețea: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Timpul mediu de primire: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Timpul mediu de decodare: %1$.2f ms</string>
|
||||
|
||||
<!-- AppList activity -->
|
||||
@@ -185,8 +184,8 @@
|
||||
<string name="category_advanced_settings">Setări avansate</string>
|
||||
<string name="title_disable_frame_drop">Nu pierde cadre intenționat</string>
|
||||
<string name="summary_disable_frame_drop">Poate să reducă micro-stuttering pe anumite device-uri, dar s-ar putea să crească latența</string>
|
||||
<string name="title_video_format">Modifica setările H.265</string>
|
||||
<string name="summary_video_format">H.265 funcționează cu o conexiune mai slaba, dar necesită un dispozitiv recent, performant</string>
|
||||
<string name="title_video_format">Modifica setările HEVC</string>
|
||||
<string name="summary_video_format">HEVC funcționează cu o conexiune mai slaba, dar necesită un dispozitiv recent, performant</string>
|
||||
<string name="title_enable_hdr">Activează HDR (Experimental)</string>
|
||||
<string name="summary_enable_hdr">Folosește HDR daca aplicația si placa video suportă. Necesită o placa video seria GTX 1000 sau mai nouă.</string>
|
||||
<string name="title_enable_perf_overlay">Activează statisticile de performanță</string>
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Использовать H.265 только если безопасно</item>
|
||||
<item>Всегда использовать H.265 если доступно</item>
|
||||
<item>Никогда не использовать H.265</item>
|
||||
<item>Использовать HEVC только если безопасно</item>
|
||||
<item>Всегда использовать HEVC если доступно</item>
|
||||
<item>Никогда не использовать HEVC</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -112,8 +112,8 @@
|
||||
<string name="title_checkbox_host_audio">Проигрывать звук на PC</string>
|
||||
<string name="summary_checkbox_host_audio">Проигрывать звук на компьютере и текущем устройстве</string>
|
||||
<string name="category_advanced_settings">Расширенные Настройки</string>
|
||||
<string name="title_video_format">Изменить настройки H.265</string>
|
||||
<string name="summary_video_format">H.265 снижает требования к пропускной способности, но требует очень нового устройства</string>
|
||||
<string name="title_video_format">Изменить настройки HEVC</string>
|
||||
<string name="summary_video_format">HEVC снижает требования к пропускной способности, но требует очень нового устройства</string>
|
||||
<string name="category_on_screen_controls_settings">Настройки Экранных Кнопок</string>
|
||||
<string name="title_checkbox_show_onscreen_controls">Показывать экранные кнопки</string>
|
||||
<string name="summary_checkbox_show_onscreen_controls">Отображать оверлей виртуального контроллера на сенсорном экране</string>
|
||||
@@ -179,7 +179,6 @@
|
||||
<string name="perf_overlay_incomingfps">Входящая частота кадров из сети: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Частота кадров при рендеринге: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Отброшеных кадров вашей сетью: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Среднее время получения: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Среднее время декодирования: %1$.2f ms</string>
|
||||
<string name="summary_fps_list">Увеличение для более плавного видео потока. Уменьшите для лучшей производительности на более слабых устройствах.</string>
|
||||
<string name="scut_invalid_uuid">Указанный PC недействителен</string>
|
||||
@@ -211,4 +210,5 @@
|
||||
\nНаконец, ваше устройство или хост-компьютер может не поддерживать потоковую передачу в родном разрешении. Если это не работает на вашем устройстве, к сожалению, вам просто не повезло.</string>
|
||||
<string name="title_native_res_dialog">Предупреждение о родном разрешении</string>
|
||||
<string name="video_decoder_init_failed">Видеодекодер не инициализирован. Ваше устройство может не поддерживать выбранное разрешение или частоту кадров.</string>
|
||||
<string name="perf_overlay_streamdetails">Видеострим: %1$s %2$.2f FPS</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="summary_reset_osc">Bütün ekran kontrollerini varsayılan boyutu ve pozisyonuna sıfırlar</string>
|
||||
<string name="title_checkbox_touchscreen_trackpad">Dokunmatik ekranı trackpad olarak kullan</string>
|
||||
<string name="category_input_settings">Girdi Ayarları</string>
|
||||
<string name="summary_language_list">Moonlight için kullanılacak olan dil</string>
|
||||
<string name="ip_hint">GeForce PC\'nin IP adresi</string>
|
||||
<string name="title_details">Detaylar</string>
|
||||
<string name="dialog_title_osc_opacity">Opaklığı değiştir</string>
|
||||
<string name="conn_error_title">Bağlantı Hatası</string>
|
||||
<string name="conn_starting">Başlatılıyor</string>
|
||||
<string name="conn_error_msg">Başlatma başarısız</string>
|
||||
<string name="summary_audio_config_list">Ev-sinema sistemleri için 5.1 yada 7.1 surround sesi etkinleştir</string>
|
||||
<string name="title_checkbox_host_audio">Sesleri bilgisayarda çal</string>
|
||||
<string name="suffix_seekbar_bitrate_mbps">Mbps</string>
|
||||
<string name="error_pc_offline">Bilgisayar çevrimdışı</string>
|
||||
<string name="unpair_success">Eşleştirme başarıyla kaldırıldı</string>
|
||||
<string name="unpairing">Eşleştirme kaldırılıyor…</string>
|
||||
<string name="pair_fail">Eşleştirme başarısız</string>
|
||||
<string name="pair_incorrect_pin">Yanlış PIN</string>
|
||||
<string name="pair_pairing_title">Eşleştiriliyor</string>
|
||||
<string name="pair_pc_offline">Bilgisayar çevrimdışı</string>
|
||||
<string name="pairing">Eşleştiriliyor…</string>
|
||||
<string name="nettest_title_waiting">Ağ Bağlantısı Test Ediliyor</string>
|
||||
<string name="pcview_menu_details">Detayları Görüntüle</string>
|
||||
<string name="pcview_menu_test_network">Ağ Bağlantısını Test Et</string>
|
||||
<string name="pcview_menu_delete_pc">PC\'yi sil</string>
|
||||
<string name="pcview_menu_unpair_pc">Eşleştirmeyi kaldır</string>
|
||||
<string name="pcview_menu_pair_pc">PC ile eşle</string>
|
||||
<string name="pcview_menu_app_list">Bütün Uygulamaları Göster</string>
|
||||
<string name="pcview_menu_header_unknown">Yenileniyor</string>
|
||||
<string name="pcview_menu_header_offline">Çevrimdışı</string>
|
||||
<string name="pcview_menu_header_online">Çevrimiçi</string>
|
||||
<string name="scut_pc_not_found">PC bulunamadı</string>
|
||||
<string name="scut_not_paired">PC eşleştirilmedi</string>
|
||||
<string name="scut_deleted_pc">PC silindi</string>
|
||||
</resources>
|
||||
@@ -7,8 +7,8 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Використовувати H.265 тільки якщо безпечно</item>
|
||||
<item>Завжди використовувати H.265 якщо доступно</item>
|
||||
<item>Ніколи не використовувати H.265</item>
|
||||
<item>Використовувати HEVC тільки якщо безпечно</item>
|
||||
<item>Завжди використовувати HEVC якщо доступно</item>
|
||||
<item>Ніколи не використовувати HEVC</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
||||
@@ -1,199 +1,220 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- PC view menu entries -->
|
||||
<string name="pcview_menu_app_list">Подивитися список ігор</string>
|
||||
<string name="pcview_menu_pair_pc">Створити пару з ПК</string>
|
||||
<string name="pcview_menu_app_list">Подивитися перелік додатків</string>
|
||||
<string name="pcview_menu_pair_pc">Створити пару з пристроєм</string>
|
||||
<string name="pcview_menu_unpair_pc">Розірвати пару</string>
|
||||
<string name="pcview_menu_send_wol">Надіслати Wake-On-LAN запит</string>
|
||||
<string name="pcview_menu_delete_pc">Видалити ПК</string>
|
||||
|
||||
<string name="pcview_menu_send_wol">Надіслати запит Wake-On-LAN</string>
|
||||
<string name="pcview_menu_delete_pc">Видалити пристрій</string>
|
||||
<!-- Pair messages -->
|
||||
<string name="pairing">Створення пари…</string>
|
||||
<string name="pair_pc_offline">Комп\'ютер вимкнений або знаходиться не в мережі</string>
|
||||
<string name="pair_pc_ingame">Комп\'ютер в даний момент знаходиться в грі. Ви повинні закрити гру перед створенням пари.</string>
|
||||
<string name="pair_pc_offline">Пристрій вимкнений або знаходиться поза мережею</string>
|
||||
<string name="pair_pc_ingame">Пристрій на даний момент знаходиться у грі. Ви повинні закрити гру перед створенням пари.</string>
|
||||
<string name="pair_pairing_title">Створення пари</string>
|
||||
<string name="pair_pairing_msg">Будь ласка, введіть цей PIN на ПК:</string>
|
||||
<string name="pair_incorrect_pin">Неправильний PIN</string>
|
||||
<string name="pair_pairing_msg">Будь ласка, введіть цей код на пристрої:</string>
|
||||
<string name="pair_incorrect_pin">Неправильний код</string>
|
||||
<string name="pair_fail">Створення пари не вдалося</string>
|
||||
|
||||
<!-- WOL messages -->
|
||||
<string name="wol_pc_online">Комп\'ютер в мережі</string>
|
||||
<string name="wol_no_mac">Неможливо розбудити ПК бо GFE не відправили MAC адреса</string>
|
||||
<string name="wol_waking_pc">Пробудження ПК…</string>
|
||||
<string name="wol_waking_msg">Пробудження ПК може зайняти кілька секунд.
|
||||
Якщо цього не відбувається, упевніться що Wake-On-LAN налаштований правильно.
|
||||
</string>
|
||||
<string name="wol_pc_online">Пристрій у мережі</string>
|
||||
<string name="wol_no_mac">Неможливо розбудити пристрій бо GFE не відправило MAC адреса</string>
|
||||
<string name="wol_waking_pc">Пробудження пристрою…</string>
|
||||
<string name="wol_waking_msg">Пробудження пристрою може зайняти кілька секунд. Якщо цього не відбувається, упевніться що Wake-On-LAN налаштований правильно.</string>
|
||||
<string name="wol_fail">Помилка при відправці Wake-On-LAN пакетів</string>
|
||||
|
||||
<!-- Unpair messages -->
|
||||
<string name="unpairing">Розрив пари…</string>
|
||||
<string name="unpair_success">Розрив пари закінчився успішно</string>
|
||||
<string name="unpair_fail">Розрив пари не вдався</string>
|
||||
<string name="unpair_error">Пристрій не було спарено</string>
|
||||
|
||||
<!-- Errors -->
|
||||
<string name="error_pc_offline">Комп\'ютер вимкнений або знаходиться не в мережі</string>
|
||||
<string name="error_manager_not_running">Сервіс ComputerManager не запущено. Будь ласка, зачекайте кілька секунд або запустіть програму.</string>
|
||||
<string name="error_unknown_host">Неможливо знайти хост</string>
|
||||
<string name="error_404">GFE повернув помилку HTTP 404. Переконайтеся що Ваш ПК використовує підтримуваний GPU.
|
||||
Використання програм для віддаленого доступу також може викликати цю помилку. Спробуйте перезавантажити комп\'ютер або перевстановити GFE.
|
||||
</string>
|
||||
|
||||
<string name="error_pc_offline">Пристрій вимкнено чи знаходиться поза мережею</string>
|
||||
<string name="error_manager_not_running">Сервіс ComputerManager не запущено. Будь ласка, зачекайте кілька секунд або перезапустіть додаток.</string>
|
||||
<string name="error_unknown_host">Неможливо знайти хоста</string>
|
||||
<string name="error_404">GFE повернув помилку HTTP 404. Переконайтеся що ваш пристрій використовує підтримуваний GPU. Використання програм для віддаленого доступу також може викликати цю помилку. Спробуйте перезавантажити пристрій або перевстановити GFE.</string>
|
||||
<!-- Start application messages -->
|
||||
<string name="conn_establishing_title">Створення з\'єднання</string>
|
||||
<string name="conn_establishing_msg">Підключення</string>
|
||||
<string name="conn_metered">Увага: Відбувається вимір Вашого мережевого з\'єднання!</string>
|
||||
<string name="conn_client_latency">Середня затримка декодування кадру:</string>
|
||||
<string name="conn_client_latency_hw">затримка апаратного декодування:</string>
|
||||
<string name="conn_hardware_latency">Середня затримка апаратного декодування:</string>
|
||||
<string name="conn_metered">Увага: Ваше мережеве з\'єднання вимірюється оператором!</string>
|
||||
<string name="conn_client_latency">Середня затримка розцифрування кадру:</string>
|
||||
<string name="conn_client_latency_hw">затримка апаратного розцифрування:</string>
|
||||
<string name="conn_hardware_latency">Середня затримка апаратного розцифрування:</string>
|
||||
<string name="conn_starting">Запуск</string>
|
||||
<string name="conn_error_title">Помилка з\'єднання</string>
|
||||
<string name="conn_error_msg">Запуск не вдався</string>
|
||||
<string name="conn_terminated_title">З\'єднання припинено</string>
|
||||
<string name="conn_terminated_msg">Підключення було перервано</string>
|
||||
|
||||
<string name="conn_terminated_msg">З\'єднання перервано</string>
|
||||
<!-- General strings -->
|
||||
<string name="ip_hint">IP-адреса комп\'ютера з GeForce</string>
|
||||
<string name="searching_pc">Пошук комп\'ютерів із запущеним GameStream…\n\n
|
||||
Переконайтеся що GameStream увімкнений в налаштуваннях GeForce Experience в розділі SHIELD.</string>
|
||||
<string name="ip_hint">IP-адреса пристрою з GeForce</string>
|
||||
<string name="searching_pc">Пошук пристроїв із запущеним GameStream…
|
||||
\n
|
||||
\n Переконайтеся що GameStream увімкнений в налаштуваннях GeForce Experience в розділі SHIELD.</string>
|
||||
<string name="yes">Так</string>
|
||||
<string name="no">Ні</string>
|
||||
<string name="lost_connection">З\'єднання втрачено з ПК</string>
|
||||
|
||||
<string name="lost_connection">З\'єднання з пристроєм втрачено</string>
|
||||
<!-- AppList activity -->
|
||||
<string name="applist_menu_resume">Відновити сесію</string>
|
||||
<string name="applist_menu_quit">Вийти з сесії</string>
|
||||
<string name="applist_menu_quit_and_start">Вийти з поточної гри і запустити</string>
|
||||
<string name="applist_menu_cancel">Скасування</string>
|
||||
<string name="applist_menu_cancel">Скасувати</string>
|
||||
<string name="applist_menu_tv_channel">Додати на канал</string>
|
||||
<string name="applist_refresh_title">Список додатків</string>
|
||||
<string name="applist_refresh_title">Перелік додатків</string>
|
||||
<string name="applist_refresh_msg">Оновлення додатків…</string>
|
||||
<string name="applist_refresh_error_title">Помилка</string>
|
||||
<string name="applist_refresh_error_msg">Помилка при отриманні списку додатків</string>
|
||||
<string name="applist_quit_app">Вихід з</string>
|
||||
<string name="applist_quit_success">Вихід відбувся успішно з</string>
|
||||
<string name="applist_refresh_error_msg">Помилка отримання переліку додатків</string>
|
||||
<string name="applist_quit_app">Виходимо з</string>
|
||||
<string name="applist_quit_success">Успішний вихід з</string>
|
||||
<string name="applist_quit_fail">Помилка при виході</string>
|
||||
<string name="applist_quit_confirmation">Ви впевнені, що хочете вийти з запущеного додатку? Усі незбережені дані будуть втрачені.</string>
|
||||
|
||||
<!-- Add computer manually activity -->
|
||||
<string name="title_add_pc">Додавання ПК вручну</string>
|
||||
<string name="msg_add_pc">З\'єднання з ПК…</string>
|
||||
<string name="addpc_fail">Неможливо підключитися до вибраного комп\'ютера. Переконайтеся, що необхідні порти дозволені в налаштуваннях брандмауера.</string>
|
||||
<string name="addpc_success">Комп\'ютер доданий успішно</string>
|
||||
<string name="addpc_unknown_host">Неможливо знайти ПК за вказаною адресою. Переконайтеся, що Ви не зробили помилок під час його написання.</string>
|
||||
<string name="title_add_pc">Додати пристрій вручну</string>
|
||||
<string name="msg_add_pc">З\'єднання з пристроєм…</string>
|
||||
<string name="addpc_fail">Неможливо під\'єднатися до вибраного пристрою. Переконайтеся, що необхідні порти дозволені в налаштуваннях брандмауера.</string>
|
||||
<string name="addpc_success">Пристрій додано успішно</string>
|
||||
<string name="addpc_unknown_host">Неможливо знайти пристрій за вказаною адресою. Переконайтеся, що ви не зробили помилок під час його написання.</string>
|
||||
<string name="addpc_enter_ip">Ви повинні ввести IP адресу</string>
|
||||
|
||||
<!-- Preferences -->
|
||||
<string name="category_basic_settings">Загальні Налаштування</string>
|
||||
<string name="title_resolution_list">Виберіть розширення і частоту кадрів</string>
|
||||
<string name="summary_resolution_list">Вибір занадто високого значеня для свого пристрою може викликати гальма або вильоти</string>
|
||||
<string name="title_seekbar_bitrate">Виберіть бітрейт відео</string>
|
||||
<string name="summary_seekbar_bitrate">Низький бітрейт зменшить зависання. Збільшення бітрейта поліпшить якість зображення.</string>
|
||||
<string name="title_checkbox_stretch_video">Розтягувати відео на весь екран</string>
|
||||
<string name="title_checkbox_disable_warnings">Відключити повідомлення з попередженнями</string>
|
||||
<string name="summary_checkbox_disable_warnings">Вимкнути екранні попередження про з\'єднання під час трансляції</string>
|
||||
|
||||
<string name="category_audio_settings">Аудіо Налаштування</string>
|
||||
<string name="title_audio_config_list">Конфігурація об\'ємного звуку</string>
|
||||
<string name="category_basic_settings">Загальні налаштування</string>
|
||||
<string name="title_resolution_list">Роздільна здатність</string>
|
||||
<string name="summary_resolution_list">Вибір надто високого значення для свого пристрою може викликати сповільнення на нешвидких мережах, або вильоти на менш потужних пристроях.</string>
|
||||
<string name="title_seekbar_bitrate">Швидкість потоку відео</string>
|
||||
<string name="summary_seekbar_bitrate">Збільшіть для якіснішої картинки. Зменшіть задля кращої продуктивності на повільних мережах.</string>
|
||||
<string name="title_checkbox_stretch_video">Розтягнути відео на весь екран</string>
|
||||
<string name="title_checkbox_disable_warnings">Вимкнути попередження</string>
|
||||
<string name="summary_checkbox_disable_warnings">Вимкнути мережні попередження під час трансляції</string>
|
||||
<string name="category_audio_settings">Налаштування авдіо</string>
|
||||
<string name="title_audio_config_list">Конфігурація об\'ємного звуку</string>
|
||||
<string name="summary_audio_config_list">Увімкнути 5.1 або 7.1 об\'ємний звук для систем домашнього кінотеатру</string>
|
||||
|
||||
<string name="title_checkbox_multi_controller">Підтримка декількох контролерів</string>
|
||||
<string name="summary_checkbox_multi_controller">Коли вимкнено, всі контролери визначаються як один</string>
|
||||
<string name="title_seekbar_deadzone">Регулювати мертву зону аналогового стіку</string>
|
||||
<string name="summary_checkbox_multi_controller">Коли вимкнено, усі контролери працюють як один</string>
|
||||
<string name="title_seekbar_deadzone">Змінити мертву зону аналогового соску</string>
|
||||
<string name="suffix_seekbar_deadzone">%</string>
|
||||
<string name="title_checkbox_xb1_driver">Драйвер контролерів Xbox 360/One</string>
|
||||
<string name="summary_checkbox_xb1_driver">Увімкнути вбудований USB драйвер для пристроїв без власної підтримки контролерів Xbox</string>
|
||||
|
||||
<string name="title_checkbox_xb1_driver">Драйвер для контролерів Xbox 360/One</string>
|
||||
<string name="summary_checkbox_xb1_driver">Вмикає вбудований USB драйвер для пристроїв без власної підтримки контролерів Xbox</string>
|
||||
<string name="category_ui_settings">Налаштування інтерфейсу</string>
|
||||
<string name="title_language_list">Мова</string>
|
||||
<string name="summary_language_list">Мова, яка буде використовуватися в Moonlight</string>
|
||||
<string name="title_checkbox_small_icon_mode">Використовувати маленькі іконки</string>
|
||||
<string name="summary_checkbox_small_icon_mode">Використовувати маленькі іконки в сітці для відображення більшої кількості елементів на екрані</string>
|
||||
|
||||
<string name="category_host_settings">Налаштування Хоста</string>
|
||||
<string name="summary_checkbox_small_icon_mode">Використовувати маленькі іконки в сітці додатків, для відображення більшої кількості елементів на екрані</string>
|
||||
<string name="category_host_settings">Налаштування хоста</string>
|
||||
<string name="title_checkbox_enable_sops">Оптимізувати ігрові налаштування</string>
|
||||
<string name="summary_checkbox_enable_sops">Дозволити GFE змінювати налаштування ігор для оптимальної трансляції</string>
|
||||
<string name="title_checkbox_host_audio">Програвати звук на ПК</string>
|
||||
<string name="summary_checkbox_host_audio">Програвати звук на комп\'ютері і поточному пристрої</string>
|
||||
|
||||
<string name="category_advanced_settings">Розширені Налаштування</string>
|
||||
<string name="title_video_format">Змінити налаштування H.265</string>
|
||||
<string name="summary_video_format">H.265 знижує вимоги до пропускної здатності, але вимагає дуже нового пристрою</string>
|
||||
<string name="category_on_screen_controls_settings">Налаштування дисплею з кнопками</string>
|
||||
<string name="title_checkbox_show_onscreen_controls">Показувати екранні кнопки</string>
|
||||
<string name="summary_checkbox_show_onscreen_controls">Відображати оверлей віртуального контролера на сенсорному екрані</string>
|
||||
<string name="title_only_l3r3">Показувати тільки L3 і R3</string>
|
||||
<string name="summary_only_l3r3">Приховувати всі екранні кнопки крім L3 і R3</string>
|
||||
<string name="scut_deleted_pc">ПК видалений</string>
|
||||
<string name="scut_not_paired">ПК не сполучений</string>
|
||||
<string name="help_loading_title">Перегляд Допомоги</string>
|
||||
<string name="title_checkbox_host_audio">Програвати звук на пристрої хоста</string>
|
||||
<string name="summary_checkbox_host_audio">Програвати звук на пристроях хоста та клієнта</string>
|
||||
<string name="category_advanced_settings">Розширені налаштування</string>
|
||||
<string name="title_video_format">Змінити налаштування HEVC</string>
|
||||
<string name="summary_video_format">HEVC знижує вимоги мережі, даючи можливість транслювати на повільних мережах але, вимагає нового пристрою з підтримкою цієї системи</string>
|
||||
<string name="category_on_screen_controls_settings">Налаштування екранних ґудзиків</string>
|
||||
<string name="title_checkbox_show_onscreen_controls">Показувати екранні ґудзики</string>
|
||||
<string name="summary_checkbox_show_onscreen_controls">Відображати віртуальні ґудзики контролера на екрані</string>
|
||||
<string name="title_only_l3r3">Показувати тільки L3 та R3</string>
|
||||
<string name="summary_only_l3r3">Приховувати всі віртуальні ґудзики окрім L3 та R3</string>
|
||||
<string name="scut_deleted_pc">Пристрій видалено</string>
|
||||
<string name="scut_not_paired">Пристрій не сполучений</string>
|
||||
<string name="help_loading_title">Перегляд допомоги</string>
|
||||
<string name="help_loading_msg">Завантаження сторінки допомоги…</string>
|
||||
<string name="pair_already_in_progress">Сполучення вже в процесі</string>
|
||||
<string name="help">Допомога</string>
|
||||
<string name="applist_connect_msg">Підключення до ПК…</string>
|
||||
<string name="title_decoding_error">Збій відео декодера</string>
|
||||
<string name="message_decoding_error">Стався збій Moonlight через проблеми з відео декодером даного пристрою. Спробуйте змінити налаштування трансляції якщо збої будуть продовжуватися.</string>
|
||||
<string name="title_decoding_reset">Відео Налаштування Скинуті</string>
|
||||
<string name="message_decoding_reset">Відео декодер Вашого пристрою давав збої з вибраними налаштуваннями. Налаштування трансляції були скинуті до значень за замовчуванням.</string>
|
||||
<string name="applist_connect_msg">Підключення до пристрою…</string>
|
||||
<string name="title_decoding_error">Збій відео розцифрувача</string>
|
||||
<string name="message_decoding_error">Стався збій Moonlight через несумітність з відео розцифрувачем даного пристрою. Спробуйте змінити налаштування трансляції якщо збої продовжуватимуться.</string>
|
||||
<string name="title_decoding_reset">Налаштування відео скинуті</string>
|
||||
<string name="message_decoding_reset">Відео розцифрувач вашого пристрою продовжує давати збої з поточними налаштуваннями трансляції. Налаштування трансляції були скинуті до значень за замовчуванням.</string>
|
||||
<string name="error_usb_prohibited">USB доступ заборонений адміністратором пристрою. Перевірте налаштування Knox або MDM.</string>
|
||||
<string name="addpc_wrong_sitelocal">Адреса вказана невірно. Ви повинні ввести публічну IP-адресу Вашого роутера для передачі через інтернет.</string>
|
||||
<string name="title_checkbox_enable_pip">Увімкнути перегляд у режимі \"Картинка в картинці\"</string>
|
||||
<string name="addpc_wrong_sitelocal">Вказана адреса неправильна. Ви повинні ввести публічну IP-адресу вашого мережника (роутера) для передачі через інтернет.</string>
|
||||
<string name="title_checkbox_enable_pip">Увімкнути режим перегляду \"Картинка в картинці\"</string>
|
||||
<string name="summary_checkbox_enable_pip">Дозволяє переглядати трансляцію (але не керувати нею) під час роботи в інших додатках</string>
|
||||
<string name="title_checkbox_usb_bind_all">Відхилити підтримку контролерів Android</string>
|
||||
<string name="summary_checkbox_usb_bind_all">Змушує USB драйвер Moonlight взяти на себе роботу з усіма підтримуваними Xbox геймпадами</string>
|
||||
<string name="title_checkbox_mouse_emulation">Емуляція миші на геймпаді</string>
|
||||
<string name="summary_checkbox_mouse_emulation">Довге натиснення кнопки Start перемкне геймпад в режим миші</string>
|
||||
<string name="title_reset_osc">Скинути схему розташування екранних кнопок</string>
|
||||
<string name="title_checkbox_usb_bind_all">Вимкнути рідну підтримку Xbox контролерів від Андроїда</string>
|
||||
<string name="summary_checkbox_usb_bind_all">Використовувати USB драйвер Moonlight для усіх підтриманих контролерів, навіть якщо існує рідна підтримка</string>
|
||||
<string name="title_checkbox_mouse_emulation">Емуляція миші через контролер</string>
|
||||
<string name="summary_checkbox_mouse_emulation">Довге натиснення ґудзика Start, перемкне контролер в режим миші</string>
|
||||
<string name="title_reset_osc">Скинути власне розташування ґудзиків на екрані</string>
|
||||
<string name="summary_reset_osc">Повертає всі екранні елементи керування до їх розташуванням за замовчуванням</string>
|
||||
<string name="dialog_title_reset_osc">Скинути Схему</string>
|
||||
<string name="dialog_text_reset_osc">Ви впевнені що хочете видалити збережену схему розташування кнопок?</string>
|
||||
<string name="dialog_title_reset_osc">Скинути розташування</string>
|
||||
<string name="dialog_text_reset_osc">Ви впевнені що хочете видалити збережене розташування ґудзиків\?</string>
|
||||
<string name="toast_reset_osc_success">Екранні елементи керування повернуті до положень за замовчуванням</string>
|
||||
<string name="title_disable_frame_drop">Ніколи не пропускати кадри</string>
|
||||
<string name="summary_disable_frame_drop">Може зменшити мікрозависання на деяких пристроях, але також збільшити затримку</string>
|
||||
<string name="summary_disable_frame_drop">Може зменшити мікрозависання на деяких пристроях але, також збільшити затримку</string>
|
||||
<string name="title_enable_hdr">Увімкнути HDR (Експериментально)</string>
|
||||
<string name="summary_enable_hdr">Транслювати в HDR якщо гра і GPU комп\'ютера підтримують це. HDR вимагає відеокарти GTX 1000 серії або більш нової.</string>
|
||||
|
||||
<string name="summary_enable_hdr">Транслювати в HDR якщо гра та відео карта на пристрої хоста підтримують це. HDR вимагає відеокарти серії GTX 1000 або новіше.</string>
|
||||
<string name="title_checkbox_vibrate_osc">Увімкнути вібрацію</string>
|
||||
<string name="title_fps_list">Частота кадрів</string>
|
||||
<string name="applist_menu_details">Деталі</string>
|
||||
<string name="applist_menu_scut">Створити ярлик</string>
|
||||
<string name="category_input_settings">Налаштування введення</string>
|
||||
<string name="title_checkbox_touchscreen_trackpad">Використовувати сенсорний екран як трекпад</string>
|
||||
<string name="summary_checkbox_touchscreen_trackpad">Якщо увімкнено, сенсорний екран працює як трекпад. Якщо його вимкнено, сенсорний екран безпосередньо керує курсором миші.</string>
|
||||
<string name="delete_pc_msg">Ви впевнені що хочете видалити цей ПК?</string>
|
||||
<string name="title_checkbox_touchscreen_trackpad">Використовувати сенсорний екран як пальцевід</string>
|
||||
<string name="summary_checkbox_touchscreen_trackpad">Якщо увімкнено, сенсорний екран працює як ноутбуковий пальцевід. Якщо вимкнено, безпосередньо керує вказівником миші.</string>
|
||||
<string name="delete_pc_msg">Ви впевнені що хочете видалити цей пристрій\?</string>
|
||||
<string name="pcview_menu_details">Деталі</string>
|
||||
<string name="poor_connection_msg">Слабке з\'єднання з ПК</string>
|
||||
<string name="poor_connection_msg">Слабке з\'єднання з пристроєм</string>
|
||||
<string name="title_details">Деталі</string>
|
||||
<string name="title_enable_perf_overlay">Увімкнути відображення статистики</string>
|
||||
<string name="title_unlock_fps">Розблокувати всі можливі частоти оновлення</string>
|
||||
<string name="title_unlock_fps">Розблокувати всі можливі частоти кадрів</string>
|
||||
<string name="applist_details_id">ID додатку:</string>
|
||||
<string name="title_checkbox_vibrate_fallback">Емуляція вібровіддачі</string>
|
||||
<string name="summary_checkbox_vibrate_osc">Вібрація пристрою для емуляції вібровіддачі при екранному управлінні</string>
|
||||
<string name="summary_checkbox_vibrate_fallback">Вібрувати пристрій для емуляції вібровіддачі для геймпадов без підтримки вібрації</string>
|
||||
<string name="summary_checkbox_mouse_nav_buttons">Включення цієї опції може привести до неправильної роботи правої кнопки миші на деяких пристроях</string>
|
||||
<string name="title_checkbox_flip_face_buttons">Відкідні кнопки</string>
|
||||
<string name="summary_checkbox_flip_face_buttons">Перемикає лицьові кнопки A/B і X/Y для геймпадів та екранних елементів керування</string>
|
||||
<string name="scut_pc_not_found">ПК не знайдено</string>
|
||||
<string name="unable_to_pin_shortcut">Поточний лаунчер не дозволяє створювати закріплені ярлики</string>
|
||||
<string name="title_checkbox_mouse_nav_buttons">Увімкнути кнопки вперед і назад для миші</string>
|
||||
<string name="slow_connection_msg">Повільне підключення до ПК\nЗменшити бітрейт</string>
|
||||
<string name="summary_unlock_fps">Трансляція зі швидкістю 90 або 120 кадрів в секунду може зменшити затримку на пристроях високого класу, але може викликати затримки або збій на пристроях без підтримки цього функціоналу</string>
|
||||
<string name="summary_enable_perf_overlay">Відображення накладення на екрані з інформацією про продуктивність під час трансляції в режимі реального часу</string>
|
||||
<string name="perf_overlay_decoder">Декодер: %1$s</string>
|
||||
<string name="summary_checkbox_vibrate_fallback">Вібрує пристрій для емуляції вібровіддачі, якщо під\'єднаний контролер не підтримує її</string>
|
||||
<string name="summary_checkbox_mouse_nav_buttons">Включення цієї опції може привести до неправильної роботи правої клавіші миші на деяких пристроях</string>
|
||||
<string name="title_checkbox_flip_face_buttons">Перевернути ґудзики</string>
|
||||
<string name="summary_checkbox_flip_face_buttons">Перемикає ґудзики A/B та X/Y для контролерів та екранних елементів керування</string>
|
||||
<string name="scut_pc_not_found">Пристрій не знайдено</string>
|
||||
<string name="unable_to_pin_shortcut">Поточний запускач не дозволяє створювати закріплені ярлики.</string>
|
||||
<string name="title_checkbox_mouse_nav_buttons">Увімкнути ґудзики «вперед» та «назад» для миші</string>
|
||||
<string name="slow_connection_msg">Повільне підключення
|
||||
\nЗменшіть швидкість потоку</string>
|
||||
<string name="summary_unlock_fps">Трансляція зі швидкістю 90 або 120 кадрів на секунду може зменшити затримку на швидких пристроях але, може викликати затримки або збої на слабших</string>
|
||||
<string name="summary_enable_perf_overlay">Відображає статистику продуктивності під час трансляції, в режимі реального часу</string>
|
||||
<string name="perf_overlay_decoder">Розцифрувач: %1$s</string>
|
||||
<string name="perf_overlay_incomingfps">Вхідна частота кадрів з мережі: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Частота кадрів під час рендерінгу: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Відкинутих кадрів вашою мережею: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Середній час отримання: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Середній час декодування: %1$.2f ms</string>
|
||||
<string name="summary_fps_list">Збільшення для більш плавного відео потоку. Зменшіть для кращої продуктивності на більш слабких пристроях.</string>
|
||||
<string name="scut_invalid_uuid">Зазначений ПК недійсний</string>
|
||||
<string name="scut_invalid_app_id">Зазначений додаток недійсне</string>
|
||||
<string name="title_osc_opacity">Змінити непрозорість екранних елементів керування</string>
|
||||
<string name="perf_overlay_renderingfps">Частота кадрів при відтворенні: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Кадри втрачені вашою мережею: %1$.2f%%</string>
|
||||
<string name="perf_overlay_dectime">Середній час розцифрування: %1$.2f мс</string>
|
||||
<string name="summary_fps_list">Збільшіть для плавнішого відео потоку. Зменшіть для кращої продуктивності на повільних пристроях.</string>
|
||||
<string name="scut_invalid_uuid">Зазначений пристрій недійсний</string>
|
||||
<string name="scut_invalid_app_id">Зазначений додаток недійсний</string>
|
||||
<string name="title_osc_opacity">Змінити прозорість екранних елементів керування</string>
|
||||
<string name="summary_osc_opacity">Зробити екранні елементи керування більш/менш прозорими</string>
|
||||
<string name="dialog_title_osc_opacity">Зміна непрозорості</string>
|
||||
<string name="dialog_title_osc_opacity">Зміна прозорості</string>
|
||||
<string name="suffix_osc_opacity">%</string>
|
||||
<string name="title_enable_post_stream_toast">Показувати затримку після трансляції</string>
|
||||
<string name="summary_enable_post_stream_toast">Вивести інформаційне повідомлення про затримку після закінчення потоку</string>
|
||||
|
||||
</resources>
|
||||
<string name="title_enable_post_stream_toast">Статистика затримки після трансляції</string>
|
||||
<string name="summary_enable_post_stream_toast">Показувати статистику затримки після закінчення трансляції</string>
|
||||
<string name="early_termination_error">Щось пішло не так на пристрої хоста при початку трансляції.
|
||||
\n
|
||||
\nВпевніться що у вас не відкриті додатки з DRM змістом на пристрої хоста. Ви також можете спробувати перезапустити його.
|
||||
\n
|
||||
\nЯкщо проблема не виправиться, спробуйте перевстановити драйвера для вашої відео карти та, GeForce Experience якщо встановлено.</string>
|
||||
<string name="nettest_text_success">Схоже що ваша мережа не блокує Moonlight. Якщо у вас й надалі проблеми з підключенням, перевірте налаштування брандмауера.
|
||||
\n
|
||||
\nЯкщо ви намагаєтеся транслювати через Інтернет, встановіть на своєму пристрої Moonlight Internet Hosting Tool, та запустіть випробування мережі щоб перевірити ваше з\'єднання до Інтернету.</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Рідний повноекранний</string>
|
||||
<string name="resolution_prefix_native">Рідна</string>
|
||||
<string name="suffix_seekbar_bitrate_mbps">Мб/с</string>
|
||||
<string name="text_native_res_dialog">Режими рідної роздільної здатності не підтримуються офіційно через GeForce Experience, і тому не змінять роздільну здатність хоста на ту що в клієнта автоматично. Вам потрібно буде виставити її самостійно у грі.
|
||||
\n
|
||||
\nЯкщо ви вирішили створити власну роздільну здатність у панелі керування NVIDIA переконайтеся, що ви прочитали та зрозуміли попередження NVIDIA щодо можливих пошкоджень монітора, нестабільності пристрою та інших потенційних проблем.
|
||||
\n
|
||||
\nМи не несемо відповідальності за будь-які проблеми, спричинені створенням власних роздільних здатностей на ваших пристроях.
|
||||
\n
|
||||
\nЗрештою, пристрої клієнта чи хоста можуть не підтримувати трансляції рідною роздільною здатністю. Якщо це не працює на вашому пристрої, вам на жаль просто не пощастило.</string>
|
||||
<string name="title_native_res_dialog">Застереження про рідну роздільну здатність</string>
|
||||
<string name="applist_menu_hide_app">Сховати додаток</string>
|
||||
<string name="perf_overlay_netlatency">Середня затримка мережі: %1$d мс (розбіжність %2$d мс)</string>
|
||||
<string name="perf_overlay_streamdetails">Відео трансл: %1$s %2$.2f FPS</string>
|
||||
<string name="check_ports_msg">Перевірте правила брандмауера та переадресації для наступних портів:</string>
|
||||
<string name="no_frame_received_error">Здається, ваше мережеве з\'єднання човпає. Спробуйте зменшити швидкість потоку (бітрейт) чи переключіть пристрій на швидшу мережу.</string>
|
||||
<string name="no_video_received_error">Не отримано відео від хоста.</string>
|
||||
<string name="video_decoder_init_failed">Не вдалося запустити відео розцифрувач. Ваш пристрій може не підтримувати розмір екрану чи частоту кадрів.</string>
|
||||
<string name="nettest_text_blocked">Поточне мережеве з’єднання вашого пристрою блокує Moonlight. Трансляції через Інтернет можуть не працювати на цієї мережі.</string>
|
||||
<string name="nettest_text_failure">Поточне мережеве з’єднання вашого пристрою блокує Moonlight. Трансляції через Інтернет можуть не працювати на цієї мережі.
|
||||
\n
|
||||
\nНаступні мережеві порти були заблоковані:
|
||||
\n</string>
|
||||
<string name="nettest_text_inconclusive">Не вдалося перевірити мережу, тому що усі мережо-перевірочні сервери Moonlight недосяжні. Перевірте ваше з\'єднання з інтернетом та спробуйте знову.</string>
|
||||
<string name="nettest_title_done">Перевірка мережі завершена</string>
|
||||
<string name="nettest_text_waiting">Moonlight перевіряє мережеве з\'єднання щоб визначити чи заблокований NVIDIA GameStream.
|
||||
\n
|
||||
\nЦе займе кілька секунд…</string>
|
||||
<string name="nettest_title_waiting">Перевіряємо з\'єднання</string>
|
||||
<string name="pcview_menu_test_network">Перевірити мережеве з\'єднання</string>
|
||||
<string name="pcview_menu_header_unknown">Оновлення</string>
|
||||
<string name="pcview_menu_header_offline">Поза мережею</string>
|
||||
<string name="pcview_menu_header_online">В мережі</string>
|
||||
</resources>
|
||||
@@ -6,8 +6,8 @@
|
||||
<string name="title_enable_perf_overlay">Hiện thống kê hiệu năng trong khi stream</string>
|
||||
<string name="summary_enable_hdr">Stream HDR khi trò chơi và GPU của PC hỗ trợ nó. HDR yêu cầu GPU GTX series 1000 hoặc mới hơn.</string>
|
||||
<string name="title_enable_hdr">Bật HDR (Thử nghiệm)</string>
|
||||
<string name="summary_video_format">H.265 làm giảm yêu cầu băng thông video nhưng yêu cầu một thiết bị mới hơn</string>
|
||||
<string name="title_video_format">Thay đổi cài đặt H.265</string>
|
||||
<string name="summary_video_format">HEVC làm giảm yêu cầu băng thông video nhưng yêu cầu một thiết bị mới hơn</string>
|
||||
<string name="title_video_format">Thay đổi cài đặt HEVC</string>
|
||||
<string name="summary_disable_frame_drop">Có thể làm giảm sự khựng nhỏ trên một số thiết bị, nhưng có thể làm tăng độ trễ</string>
|
||||
<string name="title_disable_frame_drop">Không bao giờ giảm khung hình</string>
|
||||
<string name="summary_checkbox_disable_warnings">Tắt các thông báo cảnh báo kết nối trên màn hình trong khi stream</string>
|
||||
@@ -109,7 +109,6 @@
|
||||
<string name="perf_overlay_incomingfps">Tốc độ khung hình đang đến từ mạng: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">Tốc độ khung hình kết xuất: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Khung hình bị giảm bởi kết nối mạng: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">Thời gian nhận trung bình: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Thời gian giải mã trung bình: %1$.2f ms</string>
|
||||
<string name="poor_connection_msg">Kết nối đến PC bị kém</string>
|
||||
<string name="slow_connection_msg">Kết nối đến PC bị chậm.
|
||||
@@ -205,4 +204,7 @@
|
||||
<string name="scut_pc_not_found">Không tìm thấy PC</string>
|
||||
<string name="scut_not_paired">PC chưa được ghép đôi</string>
|
||||
<string name="scut_deleted_pc">PC đã bị xoá</string>
|
||||
<string name="perf_overlay_netlatency">Độ trễ mạng trung bình: %1$d ms (sai số: %2$d ms)</string>
|
||||
<string name="perf_overlay_streamdetails">Tốc độ khung hình: %1$s %2$.2f FPS</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Toàn màn hình theo hệ thống</string>
|
||||
</resources>
|
||||
@@ -8,9 +8,9 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>如果稳定才使用H.265</item>
|
||||
<item>强制使用H.265(不稳定)</item>
|
||||
<item>不使用H.265</item>
|
||||
<item>如果稳定才使用HEVC</item>
|
||||
<item>强制使用HEVC(不稳定)</item>
|
||||
<item>不使用HEVC</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="audio_config_names">
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
<string name="perf_overlay_incomingfps">网络接收帧数: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">渲染帧数: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">网络丢失帧: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">平均接收时间: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">平均解码时间: %1$.2f ms</string>
|
||||
<!-- AppList activity -->
|
||||
<string name="applist_connect_msg"> 正在连接电脑…… </string>
|
||||
@@ -166,8 +165,8 @@
|
||||
<string name="category_advanced_settings"> 高级设置 </string>
|
||||
<string name="title_disable_frame_drop"> 永不掉帧 </string>
|
||||
<string name="summary_disable_frame_drop"> 可能会减少在一些设备上的卡顿,但会增加延迟 </string>
|
||||
<string name="title_video_format"> 更改H.265设置 </string>
|
||||
<string name="summary_video_format">H.265能降低视频带宽需求,但需要较新的设备才能支持</string>
|
||||
<string name="title_video_format"> 更改HEVC设置 </string>
|
||||
<string name="summary_video_format">HEVC能降低视频带宽需求,但需要较新的设备才能支持</string>
|
||||
<string name="title_enable_hdr"> 启用 HDR (实验) </string>
|
||||
<string name="summary_enable_hdr"> 当游戏和显卡支持时以HDR模式串流。 HDR需要GTX 1000系列或更高规格显卡。 </string>
|
||||
<string name="title_enable_perf_overlay"> 启用性能信息 </string>
|
||||
@@ -216,4 +215,6 @@
|
||||
<string name="no_video_received_error">没有接收到来自主机的视频。</string>
|
||||
<string name="video_decoder_init_failed">视频解码器初始化失败。您的设备可能不支持选定的分辨率或帧数。</string>
|
||||
<string name="nettest_text_blocked">您设备当前的网络连接拦截了Moonlight。连接到该网络时可能无法通过互联网串流。</string>
|
||||
<string name="perf_overlay_netlatency">平均网络延迟: %1$d ms (抖动: %2$d ms)</string>
|
||||
<string name="perf_overlay_streamdetails">视频流: %1$s %2$.2f FPS</string>
|
||||
</resources>
|
||||
@@ -8,9 +8,9 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>如果穩定才使用H.265</item>
|
||||
<item>強制使用H.265(不穩定)</item>
|
||||
<item>不使用H.265</item>
|
||||
<item>如果穩定才使用HEVC</item>
|
||||
<item>強制使用HEVC(不穩定)</item>
|
||||
<item>不使用HEVC</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="audio_config_names">
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
<string name="perf_overlay_incomingfps">網路接收幀數: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_renderingfps">渲染幀數: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">網路丟失幀: %1$.2f%%</string>
|
||||
<string name="perf_overlay_recvtime">平均接收時間: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">平均解碼時間: %1$.2f ms</string>
|
||||
<!-- AppList activity -->
|
||||
<string name="applist_connect_msg"> 正在連接電腦…… </string>
|
||||
@@ -166,8 +165,8 @@
|
||||
<string name="category_advanced_settings"> 高級設置 </string>
|
||||
<string name="title_disable_frame_drop"> 永不掉幀 </string>
|
||||
<string name="summary_disable_frame_drop"> 可能會減少在一些設備上的卡頓,但會增加延遲 </string>
|
||||
<string name="title_video_format"> 更改H.265設置 </string>
|
||||
<string name="summary_video_format">H.265能降低視頻頻寬需求,但需要較新的設備才能支援</string>
|
||||
<string name="title_video_format"> 更改HEVC設置 </string>
|
||||
<string name="summary_video_format">HEVC能降低視頻頻寬需求,但需要較新的設備才能支援</string>
|
||||
<string name="title_enable_hdr"> 啟用 HDR (實驗) </string>
|
||||
<string name="summary_enable_hdr"> 當遊戲和顯卡支援時以HDR模式串流。 HDR需要GTX 1000系列或更高規格顯卡。 </string>
|
||||
<string name="title_enable_perf_overlay"> 啟用性能資訊 </string>
|
||||
@@ -216,4 +215,6 @@
|
||||
<string name="pcview_menu_header_unknown">刷新</string>
|
||||
<string name="pcview_menu_header_offline">離線</string>
|
||||
<string name="pcview_menu_header_online">線上</string>
|
||||
<string name="perf_overlay_netlatency">平均網路延遲: %1$d ms (抖動: %2$d ms)</string>
|
||||
<string name="perf_overlay_streamdetails">視頻流: %1$s %2$.2f FPS</string>
|
||||
</resources>
|
||||
@@ -60,6 +60,7 @@
|
||||
<item>Українська</item>
|
||||
<item>Norwegian Bokmål</item>
|
||||
<item>Tiếng Việt</item>
|
||||
<item>Magyar</item>
|
||||
</string-array>
|
||||
<string-array name="language_values" translatable="false">
|
||||
<item>default</item>
|
||||
@@ -78,6 +79,7 @@
|
||||
<item>uk</item>
|
||||
<item>nb-NO</item>
|
||||
<item>vi</item>
|
||||
<item>hu</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="decoder_names">
|
||||
@@ -92,9 +94,9 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="video_format_names">
|
||||
<item>Use H.265 only if stable</item>
|
||||
<item>Always use H.265 (may crash)</item>
|
||||
<item>Never use H.265</item>
|
||||
<item>Use HEVC only if stable</item>
|
||||
<item>Always use HEVC (may crash)</item>
|
||||
<item>Never use HEVC</item>
|
||||
</string-array>
|
||||
<string-array name="video_format_values" translatable="false">
|
||||
<item>auto</item>
|
||||
|
||||
@@ -110,7 +110,6 @@
|
||||
<string name="perf_overlay_renderingfps">Rendering frame rate: %1$.2f FPS</string>
|
||||
<string name="perf_overlay_netdrops">Frames dropped by your network connection: %1$.2f%%</string>
|
||||
<string name="perf_overlay_netlatency">Average network latency: %1$d ms (variance: %2$d ms)</string>
|
||||
<string name="perf_overlay_recvtime">Average receive time: %1$.2f ms</string>
|
||||
<string name="perf_overlay_dectime">Average decoding time: %1$.2f ms</string>
|
||||
|
||||
<!-- AppList activity -->
|
||||
@@ -155,6 +154,7 @@
|
||||
<string name="suffix_seekbar_bitrate_mbps">Mbps</string>
|
||||
<string name="title_checkbox_stretch_video">Stretch video to full-screen</string>
|
||||
<string name="resolution_prefix_native">Native</string>
|
||||
<string name="resolution_prefix_native_fullscreen">Native Full-Screen</string>
|
||||
|
||||
<string name="category_audio_settings">Audio Settings</string>
|
||||
<string name="title_audio_config_list">Surround sound configuration</string>
|
||||
@@ -218,8 +218,8 @@
|
||||
<string name="summary_checkbox_disable_warnings">Disable on-screen connection warning messages while streaming</string>
|
||||
<string name="title_disable_frame_drop">Never drop frames</string>
|
||||
<string name="summary_disable_frame_drop">May reduce micro-stuttering on some devices, but can increase latency</string>
|
||||
<string name="title_video_format">Change H.265 settings</string>
|
||||
<string name="summary_video_format">H.265 lowers video bandwidth requirements but requires a newer device</string>
|
||||
<string name="title_video_format">Change HEVC settings</string>
|
||||
<string name="summary_video_format">HEVC lowers video bandwidth requirements but requires a newer device</string>
|
||||
<string name="title_enable_hdr">Enable HDR (Experimental)</string>
|
||||
<string name="summary_enable_hdr">Stream HDR when the game and PC GPU support it. HDR requires a GTX 1000 series GPU or later.</string>
|
||||
<string name="title_enable_perf_overlay">Show performance stats while streaming</string>
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<data-extraction-rules>
|
||||
<!-- Don't sync preferences because it often contains device-specific data -->
|
||||
<cloud-backup disableIfNoEncryptionCapabilities="true">
|
||||
<exclude domain="sharedpref" path="."/>
|
||||
</cloud-backup>
|
||||
<device-transfer>
|
||||
<exclude domain="sharedpref" path="."/>
|
||||
</device-transfer>
|
||||
</data-extraction-rules>
|
||||
+2
-1
@@ -8,11 +8,12 @@ before_build:
|
||||
- 'git submodule update --init --recursive'
|
||||
- 'mklink /D C:\android-sdk "C:\Program Files (x86)\Android\android-sdk"'
|
||||
- 'set ANDROID_HOME=C:\android-sdk'
|
||||
- 'set JAVA_HOME=C:\Program Files\Java\jdk11'
|
||||
|
||||
build_script:
|
||||
- gradlew.bat build connectedCheck
|
||||
|
||||
after_build:
|
||||
- 'appveyor PushArtifact app\build\reports\lint-results.html'
|
||||
- 'appveyor PushArtifact app\build\reports\lint-results-nonRootDebug.html'
|
||||
|
||||
deploy: off
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ buildscript {
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:4.2.1'
|
||||
classpath 'com.android.tools.build:gradle:7.0.0'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
- Significantly improved audio quality over unreliable network connections
|
||||
- Updated community-contributed translations from Weblate
|
||||
@@ -0,0 +1,3 @@
|
||||
- Optimizations to core streaming code
|
||||
- Changed "H.265" to "HEVC" to match other Moonlight clients
|
||||
- Fixed possible crash when audio packet sizes change while streaming
|
||||
@@ -0,0 +1,4 @@
|
||||
- Added separate notched and full-screen native resolution options
|
||||
- Fixed audio problems with old versions of GeForce Experience and Sunshine/OpenStream
|
||||
- Fixed unexpected left click in some cases when performing a right click
|
||||
- Added Hungarian translation from the Weblate community
|
||||
@@ -0,0 +1,4 @@
|
||||
- Improved controller rumble support with independent rumble motor control using the new Android 12 APIs
|
||||
- Fixed touchpad input on DualShock controllers (if supported by the Android device itself)
|
||||
- Fixed certain controllers disconnecting from the host when Moonlight enters the background
|
||||
- Updated community-contributed translations from Weblate
|
||||
@@ -0,0 +1,2 @@
|
||||
- Fixed crash on Android 12 when using USB driver
|
||||
- Fixed several other rare user-reported crashes
|
||||
+1
-1
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
|
||||
|
||||
Reference in New Issue
Block a user