Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
7827341
New translations en.json (Romanian)
Kief5555 Jul 25, 2026
559ebd8
New translations en.json (French)
Kief5555 Jul 25, 2026
fa3271a
New translations en.json (Spanish)
Kief5555 Jul 25, 2026
3127cc0
New translations en.json (German)
Kief5555 Jul 25, 2026
a5a0555
New translations en.json (Japanese)
Kief5555 Jul 25, 2026
69c673d
New translations en.json (Korean)
Kief5555 Jul 25, 2026
e17b966
New translations en.json (Dutch)
Kief5555 Jul 25, 2026
e69f36b
New translations en.json (Polish)
Kief5555 Jul 25, 2026
93b7f12
New translations en.json (Russian)
Kief5555 Jul 25, 2026
db762c7
New translations en.json (Turkish)
Kief5555 Jul 25, 2026
438f079
New translations en.json (Chinese Simplified)
Kief5555 Jul 25, 2026
abc6ddf
New translations en.json (Korean)
Kief5555 Jul 25, 2026
0a37744
New translations en.json (Korean)
Kief5555 Jul 25, 2026
b8bed8c
New translations en.json (Romanian)
Kief5555 Aug 9, 2026
1b0e746
New translations en.json (French)
Kief5555 Aug 9, 2026
682755c
New translations en.json (Spanish)
Kief5555 Aug 9, 2026
ce74f6b
New translations en.json (German)
Kief5555 Aug 9, 2026
69e7739
New translations en.json (Japanese)
Kief5555 Aug 9, 2026
ae1bc56
New translations en.json (Korean)
Kief5555 Aug 9, 2026
c5ce1ae
New translations en.json (Dutch)
Kief5555 Aug 9, 2026
093a5c5
New translations en.json (Polish)
Kief5555 Aug 9, 2026
7d92130
New translations en.json (Russian)
Kief5555 Aug 9, 2026
c9869fe
New translations en.json (Turkish)
Kief5555 Aug 9, 2026
5cedb43
New translations en.json (Chinese Simplified)
Kief5555 Aug 9, 2026
8b6b1ef
New translations en.json (English)
Kief5555 Aug 9, 2026
3976326
New translations en.json (Romanian)
Kief5555 Aug 10, 2026
97efa09
New translations en.json (French)
Kief5555 Aug 10, 2026
2acc478
New translations en.json (Spanish)
Kief5555 Aug 10, 2026
321eb5a
New translations en.json (German)
Kief5555 Aug 10, 2026
5ca4993
New translations en.json (Japanese)
Kief5555 Aug 10, 2026
ba7ab1b
New translations en.json (Korean)
Kief5555 Aug 10, 2026
5e15ddf
New translations en.json (Dutch)
Kief5555 Aug 10, 2026
455d759
New translations en.json (Polish)
Kief5555 Aug 10, 2026
28621f5
New translations en.json (Russian)
Kief5555 Aug 10, 2026
d2a96a2
New translations en.json (Turkish)
Kief5555 Aug 10, 2026
25814a5
New translations en.json (Chinese Simplified)
Kief5555 Aug 10, 2026
8270661
New translations en.json (English)
Kief5555 Aug 10, 2026
73fa2e0
New translations en.json (Romanian)
Kief5555 Aug 10, 2026
29687ae
New translations en.json (French)
Kief5555 Aug 10, 2026
65ef4bf
New translations en.json (Spanish)
Kief5555 Aug 10, 2026
ef248bb
New translations en.json (German)
Kief5555 Aug 10, 2026
2ceee6a
New translations en.json (Japanese)
Kief5555 Aug 10, 2026
e6fd62b
New translations en.json (Korean)
Kief5555 Aug 10, 2026
d483a2c
New translations en.json (Dutch)
Kief5555 Aug 10, 2026
630ddb1
New translations en.json (Polish)
Kief5555 Aug 10, 2026
301373e
New translations en.json (Russian)
Kief5555 Aug 10, 2026
82c5e53
New translations en.json (Turkish)
Kief5555 Aug 10, 2026
4ee82ad
New translations en.json (Chinese Simplified)
Kief5555 Aug 10, 2026
f619bcc
New translations en.json (English)
Kief5555 Aug 10, 2026
dc27637
New translations en.json (Romanian)
Kief5555 Aug 10, 2026
f92460d
New translations en.json (French)
Kief5555 Aug 10, 2026
1835ae7
New translations en.json (Spanish)
Kief5555 Aug 10, 2026
ca9edf0
New translations en.json (German)
Kief5555 Aug 10, 2026
a4cdc0b
New translations en.json (Japanese)
Kief5555 Aug 10, 2026
4b87acf
New translations en.json (Korean)
Kief5555 Aug 10, 2026
6f76300
New translations en.json (Dutch)
Kief5555 Aug 10, 2026
861e785
New translations en.json (Polish)
Kief5555 Aug 10, 2026
5632ccb
New translations en.json (Russian)
Kief5555 Aug 10, 2026
a5ec076
New translations en.json (Turkish)
Kief5555 Aug 10, 2026
5a1d43e
New translations en.json (Chinese Simplified)
Kief5555 Aug 10, 2026
53304e9
New translations en.json (English)
Kief5555 Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
479 changes: 464 additions & 15 deletions locales/de.json

Large diffs are not rendered by default.

160 changes: 149 additions & 11 deletions locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"continue": "Continue",
"delete": "Delete",
"done": "Done",
"exit": "Exit OpenNOW",
"open": "Open",
"play": "Play",
"buy": "Buy",
Expand All @@ -32,7 +33,9 @@
"showInFolder": "Show in folder",
"sort": "Sort",
"stop": "Stop",
"switch": "Switch"
"switch": "Switch",
"readMore": "Read more",
"showLess": "Show less"
},
"status": {
"checking": "Checking",
Expand Down Expand Up @@ -251,6 +254,8 @@
"gameCard": {
"selectGame": "Select {{title}}",
"playGame": "Play {{title}}",
"viewDetails": "View details",
"viewDetailsFor": "View details for {{title}}",
"store": "{{store}} store",
"owned": "Owned",
"available": "Available",
Expand All @@ -260,6 +265,13 @@
"unavailable": "Unavailable"
}
},
"gameDetails": {
"eyebrow": "Game details",
"details": "About this game",
"notOwned": "Not owned",
"playOn": "Play on {{store}}",
"storeOption": "{{store}}, {{ownership}}"
},
"streamLoading": {
"labels": {
"launchError": "Launch Error",
Expand Down Expand Up @@ -315,7 +327,11 @@
"advertisementInProgress": "Advertisement in progress",
"mediaWillAppear": "Ad media will appear here as soon as it is available.",
"advertisement": "Advertisement",
"titledAdvertisement": "{{title}} advertisement"
"titledAdvertisement": "{{title}} advertisement",
"mute": "Mute",
"unmute": "Unmute",
"muteAdvertisement": "Mute advertisement",
"unmuteAdvertisement": "Unmute advertisement"
},
"actions": {
"cancelLoading": "Cancel loading"
Expand Down Expand Up @@ -394,12 +410,78 @@
"decodeTime": "D = decode time",
"renderTime": "R = render time",
"jitterBuffer": "JB = jitter buffer delay",
"packetLoss": "Packet loss percentage",
"packetLoss": "Packet loss",
"packetLossValue": "{{value}}% loss",
"timeRemainingShort": "Left",
"inputQueuePressure": "Input queue pressure (buffered bytes and delayed flush)",
"inputChannelState": "Partially reliable input channel state and queued bytes",
"mouseFlushCadence": "Mouse flush cadence and packet rate"
"mouseFlushCadence": "Mouse flush cadence and packet rate",
"codecFallbackFrom": "Negotiated fallback codec; requested {{codec}}",
"codecRequestedShort": "requested {{codec}}",
"title": "Stream",
"fpsUnit": "(FPS)",
"msUnit": "(ms)",
"game": "GAME",
"stream": "STREAM",
"ping": "PING",
"stability": "Stability",
"bandwidth": "Bandwidth",
"frameLoss": "Frame loss",
"totalAvailable": "Total available",
"targetBitrate": "Target bitrate",
"totalUsed": "Total used",
"streamSection": "Stream",
"resolution": "Resolution",
"codec": "Codec",
"codecFallback": "{{requested}} couldn't be negotiated → {{negotiated}}",
"codecFallbackShort": "{{requested}} → {{negotiated}}",
"serverLocation": "Server location",
"framePipeline": "Frame pipeline",
"serverRx": "Server RX",
"serverRxHint": "Frames arriving from the server per second",
"localDecode": "Local decode",
"localDecodeHint": "Frames decoded locally per second — below the RX rate means the local decoder is the bottleneck",
"frameDecodeTime": "Decode time",
"frameDecodeTimeHint": "Average time to decode one frame — above 16.7ms cannot sustain 60fps",
"jitter": "Jitter",
"transport": "Transport",
"shaderFx": "Shader FX",
"on": "On",
"nativeRenderer": "Native renderer",
"fpsValue": "{{value}} fps",
"millisecondsValue": "{{value}} ms",
"lagReasonNetwork": "Network",
"lagReasonDecode": "Decode",
"lagReasonInput": "Input",
"lagReasonRender": "Render",
"lagReasonStable": "Stable",
"lagReasonUnknown": "Unknown",
"rttSpikeAlert": "RTT spike {{value}}ms",
"frameLossAlert": "{{value}}% frame loss",
"packetLossAlert": "{{value}}% packet loss",
"shaderActiveCompact": "Shader FX on",
"shaderActiveHint": "Client-side WebGL post-processing is applying a visible effect to the stream frames",
"activeValue": "active",
"idleValue": "idle",
"inUseValue": "in use",
"notActiveValue": "not active",
"offValue": "off",
"noneValue": "none",
"unknownValue": "unknown",
"advancedTiming": "Decode {{decode}}ms · Render {{render}}ms · JitterBuf {{jitterBuffer}}ms · Jitter {{jitter}}ms",
"advancedInputQueue": "Input queue {{buffered}}KB · peak {{peak}}KB · drops {{drops}} · sched {{scheduling}}ms · residual {{residual}}px",
"advancedMouseFlush": "Mouse flush {{interval}}ms · {{rate}}/s · PR {{partiallyReliable}}",
"advancedGstreamerEnabled": "GStreamer enabled · {{state}}",
"advancedGstreamerDisabled": "GStreamer disabled · Chromium WebRTC",
"advancedIceCandidate": "ICE {{transport}} candidate",
"advancedShaderActive": "Shader FX active (WebGL post-processing)",
"advancedDecoderRecovery": "Decoder recovery {{state}} · attempts {{attempts}} · action {{action}}",
"advancedRequestedFps": " · requested {{value}}fps",
"advancedPendingFrames": " · pending {{value}}",
"advancedFlushCounts": " · flush {{partial}}/{{complete}}",
"advancedNativeTransition": "Native transition {{transition}} · queue {{queue}} · caps {{caps}}{{requested}}{{pending}}{{flush}}",
"advancedStreamFeatures": "Stream features requested {{requested}} · finalized {{finalized}}",
"advancedLagSource": "Lag source {{source}} · {{detail}}"
},
"controls": {
"antiAfkEnabled": "Anti-AFK is enabled",
Expand Down Expand Up @@ -436,7 +518,21 @@
"title": "Recordings",
"delete": "Delete recording",
"scrollLeft": "Scroll recordings left",
"scrollRight": "Scroll recordings right"
"scrollRight": "Scroll recordings right",
"settingsTitle": "Recording Settings",
"settingsNextRecording": "Changes apply to the next recording.",
"resolution": "Resolution",
"frameRate": "Frame Rate",
"bitrate": "Bitrate",
"performanceHint": "Recording is bounded to protect live playback. Higher resolution and frame rate still increase local encode work.",
"codec": "Codec: {{codec}}",
"activeProfile": "{{resolution}} · {{fps}} FPS · {{bitrate}}",
"record": "Record",
"recording": "Recording {{duration}}",
"starting": "Starting…",
"finalizing": "Finalizing…",
"start": "Start",
"stop": "Stop"
},
"shortcuts": {
"empty": "Shortcut cannot be empty.",
Expand All @@ -445,7 +541,7 @@
"clickThenPress": "Click, then press a key",
"clickHereThenPress": "Click here, then press a key",
"focusAndPress": "Focus and press the key combination to bind",
"examples": "Examples: F3, Ctrl+Shift+Q, Ctrl+Shift+K",
"examples": "Examples: Ctrl+N, Ctrl+Shift+Q, Ctrl+Shift+K",
"stats": "Stats"
}
},
Expand All @@ -461,10 +557,12 @@
"title": "Settings",
"saved": "Saved",
"searchPlaceholder": "Search settings...",
"clearSearch": "Clear settings search",
"noMatches": "No settings matched \"{{query}}\".",
"sections": {
"account": "Account",
"stream": "Stream",
"diagnostics": "Diagnostics",
"nativeStreamer": "Native Streamer",
"game": "Game",
"audio": "Audio",
Expand Down Expand Up @@ -556,17 +654,29 @@
"recently": "recently"
},
"video": {
"title": "Video",
"title": "Stream Quality",
"profile": "Quality Profile",
"profileHint": "Set the stream resolution, frame rate, and bandwidth ceiling.",
"codecAndColor": "Codec & Color",
"codecAndColorHint": "Choose the preferred decoder format, safe fallback, and color format.",
"aspectRatio": "Aspect Ratio",
"resolution": "Resolution",
"fps": "FPS",
"codec": "Codec",
"codecAutoPick": "Auto ({{codec}})",
"codecAutoHint": "Chooses the best codec available for WebRTC decode on this device.",
"codecManualHint": "Manual choices are used when supported; negotiation can fall back safely.",
"codecUnsupported": "Unavailable on this device",
"fallbackCodec": "Fallback Codec",
"fallbackCodecHint": "Used if the requested codec is rejected. Auto keeps all supported codecs available.",
"decoder": "Decoder",
"encoder": "Encoder",
"colorDepth": "Color Depth",
"maxBitrate": "Max Bitrate",
"maxBitrate": "Stream Max Bitrate",
"recordingBitrate": "Recording Bitrate",
"recordingBitrateHint": "Controls local recording video bitrate. Auto lets the browser choose.",
"recordingResolution": "Recording Resolution",
"recordingFps": "Recording FPS",
"recordingBitrateHint": "Controls local recording video bitrate up to the safe 12 Mbps cap. Auto lets the browser choose.",
"customBitrate": "Custom",
"appliesAfterRestart": "Applies after app restart.",
"requiresH265OrAv1": "This mode requires H265 or AV1. Codec will be auto-switched.",
Expand All @@ -576,6 +686,10 @@
"softwareCpu": "Software (CPU)",
"sessionProxy": "Session proxy",
"sessionProxyHint": "Used for Nvidia games catalog, session creation, and queue polling. Streaming/signaling traffic is not proxied.",
"session": "Session & Compatibility",
"sessionHint": "Connection routing and launch requests applied when a new stream starts.",
"processing": "Video Processing",
"processingHint": "Optional local effects applied after the browser decodes each frame.",
"zortosCommunityProxy": {
"useButton": "Use Zortos community proxy",
"enabledBadge": "Using Zortos community proxy",
Expand All @@ -596,6 +710,18 @@
"launchInConsoleMode": "Console Mode (TV / Big Picture)",
"launchInConsoleModeHint": "Start OpenNOW fullscreen with Controller Mode enabled, like GeForce NOW's TV mode. Sessions ask NVIDIA to launch games gamepad-friendly (big picture) while Console Mode or Controller Mode is active."
},
"recording": {
"title": "Browser Recording",
"description": "Local browser recording controls. Changes apply to the next recording and do not affect the native streamer."
},
"diagnostics": {
"title": "Diagnostics",
"description": "Frame Stats overlay preferences and browser codec hardware checks.",
"frameStats": "Frame Stats Overlay",
"frameStatsHint": "Choose when the in-stream performance HUD appears and what session timing it includes.",
"codecHardware": "Codec & Hardware",
"codecHardwareHint": "Control browser acceleration preferences and test local WebRTC codec support."
},
"videoFilters": {
"title": "Video Filters",
"hint": "GPU post-processing shaders applied to the decoded stream: sharpening, color grading, and film grain. Can also be adjusted live from the in-stream sidebar.",
Expand All @@ -619,7 +745,9 @@
"decode": "Decode",
"encode": "Encode",
"profiles": "Profiles:",
"linuxHardwareHint": "Linux AppImage diagnostics use Chromium's WebRTC/MediaCapabilities report. Hardware decode depends on the Chromium build plus your distro GPU/video stack: x64 systems may need VA-API/NVIDIA VA-API drivers, while ARM V4L2 support depends on Chromium/Electron exposing that decoder."
"linuxHardwareHint": "Linux AppImage diagnostics use Chromium's WebRTC/MediaCapabilities report. Hardware decode depends on the Chromium build plus your distro GPU/video stack: x64 systems may need VA-API/NVIDIA VA-API drivers, while ARM V4L2 support depends on Chromium/Electron exposing that decoder.",
"gpuDriverLine": "{{gpu}} · driver {{version}}",
"quickSyncHint": "GPU decode is active, but H.264 encode is using the CPU. Installing the full graphics driver may restore the hardware Media Foundation encoder."
},
"colorQuality": {
"mostCompatible": "Most compatible",
Expand Down Expand Up @@ -716,6 +844,10 @@
"hideServerSelectorHint": "Skip the free-tier server selection dialog and always launch with OpenNOW's default routing.",
"showAntiAfkIndicator": "Show Anti-AFK Indicator",
"showAntiAfkIndicatorHint": "Show the ANTI-AFK ON badge while Anti-AFK is enabled during streaming.",
"antiAfkReminderInterval": "Anti-AFK Reminder Interval",
"antiAfkReminderIntervalHint": "Show a brief Anti-AFK activation reminder at this interval when the persistent indicator is hidden (0 disables reminders).",
"antiAfkReminderDuration": "Anti-AFK Reminder Visible Time",
"antiAfkReminderDurationHint": "How long each periodic Anti-AFK activation reminder stays visible.",
"autoFullScreen": "Auto Full Screen",
"autoFullScreenHint": "Automatically enter fullscreen when connecting to or starting a session.",
"controllerMode": "Controller Mode",
Expand All @@ -736,7 +868,13 @@
"sessionTimerVisibleTimeHint": "How long the session timer stays visible each time it appears.",
"sessionTimerDisabledHint": "Disabling the session elapsed counter stops the live elapsed timer from rendering at all. Remaining playtime indicators stay unchanged.",
"off": "Off",
"everyMinutes": "Every {{count}} min"
"everyMinutes": "Every {{count}} min",
"statsOverlayPosition": "Stats overlay position",
"statsOverlayPositionHint": "Choose which corner anchors the stream stats HUD.",
"posBottomLeft": "Bottom left",
"posBottomRight": "Bottom right",
"posTopLeft": "Top left",
"posTopRight": "Top right"
},
"about": {
"applicationUpdates": "Application Updates",
Expand Down
Loading