diff --git a/.claude/commands/add-string.md b/.claude/commands/add-string.md index e63fd6ded7..782c225097 100644 --- a/.claude/commands/add-string.md +++ b/.claude/commands/add-string.md @@ -70,7 +70,7 @@ Follow the workflow in docs/translations.md. Run langtool from translations, check what you're about to replace first. The section has to exist already. 4. `cargo run -- add-new-key "
" ""` - **always, every language file ends up with the - key.** This writes `Key = Key` (plain English, no `# same as English` marker, so it still reads + key.** This writes the English string from `en_US.ini` (no `# same as English` marker, so it still reads as outstanding work) into every language you skipped, and leaves the ones you translated alone. A missing key would fall back to the English string at runtime anyway, but then it looks exactly like a translated one in the files, and translators can't see what's left to do. diff --git a/Core/Config.cpp b/Core/Config.cpp index dd14d9bf9d..93063deec8 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -879,9 +879,25 @@ bool DefaultAudioMixWithOthers() { #endif } +static int DefaultAndroidAudioApi() { + // AAudio isn't stable before Android 8.1 (API 27), Oboe's own cutoff. + if (System_GetPropertyInt(SYSPROP_SYSTEMVERSION) < 27) { + return (int)AndroidAudioApi::OPENSLES; + } + // An Android 11 TV played nothing over Bluetooth when AAudio used MMAP, which should never + // be used for a Bluetooth route. OpenSL ES worked, also when the headset was connected mid-game. + // Latency on a TV is mostly the TV's own anyway. + if (System_GetPropertyInt(SYSPROP_DEVICE_TYPE) == DEVICE_TYPE_TV) { + return (int)AndroidAudioApi::OPENSLES; + } + return (int)AndroidAudioApi::AAUDIO; +} + static constexpr ConfigSetting soundSettings[] = { ConfigSetting("Enable", SETTING(g_Config, bEnableSound), true, CfgFlag::PER_GAME), ConfigSetting("ExtraAudioBuffering", SETTING(g_Config, bExtraAudioBuffering), false, CfgFlag::DEFAULT), + ConfigSetting("AndroidAudioBackend", SETTING(g_Config, iAndroidAudioApi), &DefaultAndroidAudioApi, CfgFlag::DEFAULT), + ConfigSetting("AndroidAudioMMap", SETTING(g_Config, bAndroidAudioMMap), true, CfgFlag::DEFAULT), ConfigSetting("AudioBufferSize", SETTING(g_Config, iSDLAudioBufferSize), 256, CfgFlag::DEFAULT), ConfigSetting("FillAudioGaps", SETTING(g_Config, bFillAudioGaps), true, CfgFlag::DEFAULT), diff --git a/Core/Config.h b/Core/Config.h index 9c43205bae..2edda05e08 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -447,6 +447,9 @@ public: int iAltSpeedVolume; bool bExtraAudioBuffering; // For bluetooth + // Android only. + int iAndroidAudioApi; // AndroidAudioApi + bool bAndroidAudioMMap; std::string sAudioDevice; bool bAutoSwitchAudioDevice; bool bUseOldAtrac; diff --git a/Core/ConfigValues.h b/Core/ConfigValues.h index f06afd1f4c..15217eccd6 100644 --- a/Core/ConfigValues.h +++ b/Core/ConfigValues.h @@ -153,6 +153,11 @@ enum class AudioSyncMode { CLASSIC_PITCH = 1, }; +enum class AndroidAudioApi { + AAUDIO = 0, + OPENSLES = 1, +}; + // TODO: We can make this more fine-grained. enum class RestoreSettingsBits : int { SETTINGS = 1, diff --git a/Tools/langtool/src/main.rs b/Tools/langtool/src/main.rs index fc129b1da6..8f2b6935d4 100644 --- a/Tools/langtool/src/main.rs +++ b/Tools/langtool/src/main.rs @@ -950,7 +950,15 @@ fn execute_command(cmd: Command, ai: Option<&Ai>, dry_run: bool, verbose: bool) Command::AddNewKey { ref section, ref key, - } => add_new_key(&mut target_ini, section, key, key, false).unwrap(), + } => { + // The placeholder is the English string. That's the key itself for most keys, + // but not for ones like "PacketRelayHint", which would otherwise show up as-is. + let english = reference_ini + .get_section(section) + .and_then(|s| s.get_value(key)) + .unwrap_or_else(|| key.clone()); + add_new_key(&mut target_ini, section, key, &english, false).unwrap() + } Command::AddNewKeyAI { ref section, ref key, diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 4a01b83634..0066033e07 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -792,6 +792,23 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) { #if PPSSPP_PLATFORM(ANDROID) CheckBox *extraAudio = audioBackendSettings->Add(new CheckBox(&g_Config.bExtraAudioBuffering, a->T("AudioBufferingForBluetooth", "Bluetooth-friendly buffer (slower)"))); + auto restartAudio = [](UI::EventParams &) { + AndroidAudio_Restart(g_audioState); + }; + // AAudio isn't stable before Android 8.1, so there it's always OpenSL ES. + if (System_GetPropertyInt(SYSPROP_SYSTEMVERSION) >= 27) { + static const char *audioApis[] = { "AAudio", "OpenSL ES" }; + PopupMultiChoice *audioApi = audioBackendSettings->Add(new PopupMultiChoice(&g_Config.iAndroidAudioApi, a->T("Audio API"), audioApis, 0, ARRAY_SIZE(audioApis), I18NCat::AUDIO, screenManager())); + audioApi->OnChoice.Add(restartAudio); + audioBackendSettings->Add(new SettingHint(a->T("AudioApiHint", "Try the other one if you have no sound or other audio problems."), audioApi)); + + CheckBox *mmap = audioBackendSettings->Add(new CheckBox(&g_Config.bAndroidAudioMMap, a->T("Low-latency audio (MMAP)"))); + mmap->OnClick.Add(restartAudio); + mmap->SetEnabledFunc([]() { + return g_Config.iAndroidAudioApi == (int)AndroidAudioApi::AAUDIO; + }); + audioBackendSettings->Add(new SettingHint(a->T("AudioMMapHint", "Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound."), mmap)); + } // Show Oboe debug info const std::string audioErrorStr = AndroidAudio_GetErrorString(g_audioState); if (!audioErrorStr.empty()) { diff --git a/UI/SystemInfoScreen.cpp b/UI/SystemInfoScreen.cpp index fdef8aa57e..ed6637ef5c 100644 --- a/UI/SystemInfoScreen.cpp +++ b/UI/SystemInfoScreen.cpp @@ -30,6 +30,12 @@ #include "UI/OnScreenDisplay.h" #include "android/jni/app-android.h" +#if PPSSPP_PLATFORM(ANDROID) +#include "android/jni/AndroidAudio.h" + +extern AndroidAudioState *g_audioState; +#endif + void SystemInfoScreen::update() { UITabbedBaseDialogScreen::update(); g_OSD.NudgeIngameNotifications(); @@ -433,6 +439,13 @@ void SystemInfoScreen::CreateAudioInfoTab(UI::LinearLayout *audio) { audioInformation->Add(new InfoItem(a->T("Audio Error"), error.empty() ? di->T("None") : error)); } else { audioInformation->Add(new InfoItem(si->T("Sample rate"), StringFromFormat(si->T_cstr("%d Hz"), System_GetPropertyInt(SYSPROP_AUDIO_SAMPLE_RATE)))); +#if PPSSPP_PLATFORM(ANDROID) + // What actually got opened: the API, whether it's MMAP, the device's rate and buffers. + const std::string streamInfo = AndroidAudio_GetInfoString(g_audioState); + audioInformation->Add(new InfoItem(si->T("Stream format"), streamInfo.empty() ? di->T("None") : streamInfo)); + const std::string error = AndroidAudio_GetErrorString(g_audioState); + audioInformation->Add(new InfoItem(a->T("Audio Error"), error.empty() ? di->T("None") : error)); +#endif } int framesPerBuffer = System_GetPropertyInt(SYSPROP_AUDIO_FRAMES_PER_BUFFER); if (framesPerBuffer > 0) { diff --git a/android/jni/AndroidAudio.cpp b/android/jni/AndroidAudio.cpp index 9930060c85..27f0327054 100644 --- a/android/jni/AndroidAudio.cpp +++ b/android/jni/AndroidAudio.cpp @@ -6,8 +6,12 @@ #include "android/jni/OboeContext.h" std::string g_error; +std::string g_info; std::mutex g_errorMutex; +// Pause and resume come from the Java UI thread, a restart from the settings screen. +static std::mutex g_ctxMutex; + // From the input stream's callback to the CPU thread. 0.7 s at 44.1 kHz. static SampleRing<32768> g_micRing; @@ -22,6 +26,7 @@ AudioContext::AudioContext(AndroidAudioCallback cb, int _FramesPerBuffer, int _S sampleRate = _SampleRate; g_error = ""; + g_info = ""; } void AudioContext::SetErrorString(const std::string &error) { @@ -29,6 +34,11 @@ void AudioContext::SetErrorString(const std::string &error) { g_error = error; } +void AudioContext::SetInfoString(const std::string &info) { + std::unique_lock lock(g_errorMutex); + g_info = info; +} + struct AndroidAudioState { AudioContext *ctx = nullptr; AndroidAudioCallback callback = nullptr; @@ -63,6 +73,7 @@ bool AndroidAudio_Recording_Start(AndroidAudioState *state) { ERROR_LOG(Log::Audio, "AndroidAudioState not initialized, cannot start recording!"); return false; } + std::lock_guard guard(g_ctxMutex); state->input_enable = 1; if (!state->ctx) { ERROR_LOG(Log::Audio, "Audio context not initialized, cannot start recording!"); @@ -78,6 +89,7 @@ bool AndroidAudio_Recording_Stop(AndroidAudioState *state) { ERROR_LOG(Log::Audio, "AndroidAudioState not initialized, cannot stop recording!"); return false; } + std::lock_guard guard(g_ctxMutex); // Clear these even while paused, or resume would start the mic again. state->input_enable = 0; state->input_sample_rate = 0; @@ -103,30 +115,50 @@ void AndroidAudio_Recording_Clear() { g_micRing.Clear(); } +static bool StartContext(AndroidAudioState *state) { + state->ctx = new OboeContext(state->callback, state->frames_per_buffer, state->sample_rate); + bool init_retval = state->ctx->Init(); + if (!init_retval) { + delete state->ctx; + state->ctx = nullptr; + } else if (state->input_enable) { + state->ctx->AudioRecord_Start(state->input_sample_rate); + } + return init_retval; +} + bool AndroidAudio_Resume(AndroidAudioState *state) { if (!state) { ERROR_LOG(Log::Audio, "Audio was shutdown, cannot resume!"); return false; } + std::lock_guard guard(g_ctxMutex); if (!state->ctx) { - state->ctx = new OboeContext(state->callback, state->frames_per_buffer, state->sample_rate); - bool init_retval = state->ctx->Init(); - if (!init_retval) { - delete state->ctx; - state->ctx = nullptr; - } else if (state->input_enable) { - state->ctx->AudioRecord_Start(state->input_sample_rate); - } - return init_retval; + return StartContext(state); } return false; } +bool AndroidAudio_Restart(AndroidAudioState *state) { + if (!state) { + return false; + } + std::lock_guard guard(g_ctxMutex); + // While paused, there's nothing to restart. Resume picks up the settings. + if (!state->ctx) { + return false; + } + delete state->ctx; + state->ctx = nullptr; + return StartContext(state); +} + bool AndroidAudio_Pause(AndroidAudioState *state) { if (!state) { ERROR_LOG(Log::Audio, "Audio was shutdown, cannot pause!"); return false; } + std::lock_guard guard(g_ctxMutex); if (state->ctx) { delete state->ctx; state->ctx = nullptr; @@ -156,3 +188,11 @@ const std::string AndroidAudio_GetErrorString(AndroidAudioState *state) { std::unique_lock lock(g_errorMutex); return g_error; } + +const std::string AndroidAudio_GetInfoString(AndroidAudioState *state) { + if (!state) { + return ""; + } + std::unique_lock lock(g_errorMutex); + return g_info; +} diff --git a/android/jni/AndroidAudio.h b/android/jni/AndroidAudio.h index bf53156c54..4f174dc14b 100644 --- a/android/jni/AndroidAudio.h +++ b/android/jni/AndroidAudio.h @@ -19,6 +19,7 @@ public: protected: static void SetErrorString(const std::string &error); + static void SetInfoString(const std::string &info); AndroidAudioCallback audioCallback; int framesPerBuffer; @@ -42,5 +43,9 @@ void AndroidAudio_Recording_Poll(); void AndroidAudio_Recording_Clear(); bool AndroidAudio_Pause(AndroidAudioState *state); bool AndroidAudio_Resume(AndroidAudioState *state); +// Closes the streams and opens them again, to apply changed settings. +bool AndroidAudio_Restart(AndroidAudioState *state); bool AndroidAudio_Shutdown(AndroidAudioState *state); const std::string AndroidAudio_GetErrorString(AndroidAudioState *state); +// Describes the output stream that's open. +const std::string AndroidAudio_GetInfoString(AndroidAudioState *state); diff --git a/android/jni/OboeContext.cpp b/android/jni/OboeContext.cpp index c897baea0e..f45866f404 100644 --- a/android/jni/OboeContext.cpp +++ b/android/jni/OboeContext.cpp @@ -6,6 +6,9 @@ #include #include "Common/Log.h" +#include "Common/System/System.h" +#include "Core/Config.h" +#include "Core/ConfigValues.h" #include "android/jni/OboeContext.h" // Owns the streams. Held by shared_ptr since after a disconnect, Oboe calls the error @@ -13,7 +16,14 @@ class OboeContext::Streams : public oboe::AudioStreamDataCallback, public oboe::AudioStreamErrorCallback, public std::enable_shared_from_this { public: Streams(AndroidAudioCallback cb, int framesPerBuffer, int sampleRate) - : audioCallback_(cb), framesPerBuffer_(framesPerBuffer), sampleRate_(sampleRate) {} + : audioCallback_(cb), framesPerBuffer_(framesPerBuffer), sampleRate_(sampleRate) { + // The setting isn't offered before Android 8.1, where AAudio isn't stable. + if (g_Config.iAndroidAudioApi == (int)AndroidAudioApi::AAUDIO && oboe::AudioStreamBuilder::isAAudioRecommended()) { + audioApi_ = oboe::AudioApi::AAudio; + } + // Global in Oboe, and only read when an AAudio stream is opened. + oboe::OboeExtensions::setMMapEnabled(g_Config.bAndroidAudioMMap); + } bool StartOutput() { std::lock_guard guard(mutex_); @@ -85,6 +95,7 @@ private: bool OpenOutput() { oboe::AudioStreamBuilder builder; builder.setDirection(oboe::Direction::Output) + ->setAudioApi(audioApi_) ->setPerformanceMode(oboe::PerformanceMode::LowLatency) ->setSharingMode(oboe::SharingMode::Shared) ->setUsage(oboe::Usage::Game) @@ -109,16 +120,22 @@ private: CloseStream(output_); return Fail("Failed to start output stream", result); } - INFO_LOG(Log::Audio, "Oboe: Output stream open: %s, %d Hz, %d frames per burst, buffer %d frames, %s, %s", + char info[256]; + snprintf(info, sizeof(info), "%s%s, %d Hz, burst %d, buffer %d, %s, device %d", oboe::convertToText(output_->getAudioApi()), + // Only ask AAudio. An OpenSL ES stream has no AAudio stream underneath. + output_->getAudioApi() == oboe::AudioApi::AAudio && oboe::OboeExtensions::isMMapUsed(output_.get()) ? " (MMAP)" : "", output_->getSampleRate(), output_->getFramesPerBurst(), output_->getBufferSizeInFrames(), - oboe::convertToText(output_->getPerformanceMode()), oboe::convertToText(output_->getSharingMode())); + oboe::convertToText(output_->getPerformanceMode()), output_->getDeviceId()); + INFO_LOG(Log::Audio, "Oboe: Output stream open: %s", info); + OboeContext::SetInfoString(info); return true; } bool OpenInput() { oboe::AudioStreamBuilder builder; builder.setDirection(oboe::Direction::Input) + ->setAudioApi(audioApi_) ->setSharingMode(oboe::SharingMode::Shared) ->setFormat(oboe::AudioFormat::I16) ->setFormatConversionAllowed(true) @@ -159,6 +176,7 @@ private: AndroidAudioCallback audioCallback_; int framesPerBuffer_; int sampleRate_; + oboe::AudioApi audioApi_ = oboe::AudioApi::OpenSLES; std::mutex mutex_; bool shutdown_ = false; diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 456d5a337f..563438bb25 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -76,11 +76,14 @@ Win = فوز [Audio] Alternate speed volume = حجم السرعة البديل +Audio API = واجهة برمجة الصوت (API) # AI translated Audio backend = ‎(إعادة التشغيل مطلوبة) الخلفية الصوتية Audio Error = الاخطاء الصوتية Audio file format not supported. Must be WAV or MP3. = .WAV or MP3 صيغة ملف الصوت غير مدعومة. يجب ان تكون Audio playback = تشغيل الصوت +AudioApiHint = جرّب الخيار الآخر إذا لم يكن هناك صوت أو واجهت مشاكل أخرى في الصوت. # AI translated AudioBufferingForBluetooth = ‎معادلة مصادقة البلوتوث (بطئ) +AudioMMapHint = أقل تأخير للصوت. على بعض الأجهزة، يتسبب في انعدام الصوت عبر البلوتوث أو أجهزة الصوت المتصلة الأخرى. أوقفه إذا لم يكن هناك صوت. # AI translated Auto = تلقائي Buffer size = حجم التخزين المؤقت # AI translated Classic (lowest latency) = كلاسيكي (أدنى زمن تأخير) @@ -90,6 +93,7 @@ Enable Sound = ‎تفعيل الصوت Fill audio gaps = ملء الفجوات الصوتية Game preview volume = مستوى صوت معاينة اللعبة # AI translated Game volume = ‎الصوت العام +Low-latency audio (MMAP) = صوت بزمن تأخير منخفض (MMAP) # AI translated Microphone = الميكروفون # AI translated Microphone Device = جهاز المايكروفون Mix audio with other apps = مزج الصوت مع التطبيقات الأخرى # AI translated diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index 50859dd69f..321ed45c55 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -67,11 +67,14 @@ Win = Qalib gəlmək [Audio] Alternate speed volume = Alternativ sürət ucalığı +Audio API = Audio API Audio backend = Səs bekendi (yen. başlatma istənir) Audio Error = Səs yanlışı Audio file format not supported. Must be WAV or MP3. = Səs fayl biçimi dəstəklənmir. WAV ya da MP3 olmalıdır. Audio playback = Səs oxunuşu +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Blutuzla uyumlu ara yaddaş (daha yavaş) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Özbaşına Buffer size = Ara yaddaş ölçüsü Classic (lowest latency) = Klassik (minimal gecikmə) @@ -81,6 +84,7 @@ Enable Sound = Səsi Aç Fill audio gaps = Səs boşluqlarını doldur Game preview volume = Oyun önbaxışı ucalığı Game volume = Oyun ucalığı +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Mikrofon Microphone Device = Mikrofon qurğusu Mix audio with other apps = Səsi başqa uyğulamalarla qarışdır diff --git a/assets/lang/be_BY.ini b/assets/lang/be_BY.ini index ea66022897..4f5802e62d 100644 --- a/assets/lang/be_BY.ini +++ b/assets/lang/be_BY.ini @@ -67,11 +67,14 @@ Win = Пераможца [Audio] Alternate speed volume = Гучнасць з альтэрнатыўнай хуткасцю +Audio API = Аўдыё API # AI translated Audio backend = Аўдыёбэкенд (патрабуецца перазагрузка) Audio Error = Памылка гуку Audio file format not supported. Must be WAV or MP3. = Фармат аўдыёфайла не падтрымліваецца. Павінен быць WAV або MP3. Audio playback = Відпраўка аўдыё +AudioApiHint = Паспрабуйце іншы варыянт, калі няма гуку або ёсць іншыя праблемы з гукам. # AI translated AudioBufferingForBluetooth = Буфер, сумяшчальны з Bluetooth (павольнейшы) +AudioMMapHint = Найменшая затрымка гуку. На некаторых прыладах з-за гэтага няма гуку праз Bluetooth або іншыя падлучаныя аўдыёпрылады. Адключыце, калі няма гуку. # AI translated Auto = Аўта Buffer size = Buffer size Classic (lowest latency) = Класічны (найніжэйшая затрымка) @@ -81,6 +84,7 @@ Enable Sound = Уключыць гук Fill audio gaps = Запоўніць аўдыё пропускі Game preview volume = Game preview volume Game volume = Гучнасць гульні +Low-latency audio (MMAP) = Гук з нізкай затрымкай (MMAP) # AI translated Microphone = Мікрафон Microphone Device = Прылада мікрафона Mix audio with other apps = Змяшайце аўдыё з іншымі праграмамі diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 023bceb0a3..b8daae4a12 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -68,11 +68,14 @@ Win = Победа [Audio] Alternate speed volume = Alternate speed volume +Audio API = Аудио API # AI translated Audio backend = Audio backend (restart req.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Аудиоплейбек +AudioApiHint = Опитайте другия вариант, ако няма звук или имате други проблеми със звука. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Най-малко закъснение на звука. На някои устройства причинява липса на звук през Bluetooth или други свързани аудио устройства. Изключете го, ако няма звук. # AI translated Auto = Автоматично Buffer size = Buffer size Classic (lowest latency) = Класически (най-ниска латентност) @@ -82,6 +85,7 @@ Enable Sound = Включи звук Fill audio gaps = Попълнете аудио пропуските Game preview volume = Game preview volume Game volume = Обем на звука на играта +Low-latency audio (MMAP) = Звук с ниска латентност (MMAP) # AI translated Microphone = Микрофон Microphone Device = Микрофонно устройство Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 409af7a2be..514d31850c 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -68,11 +68,14 @@ Win = Guanyar [Audio] Alternate speed volume = Alternar velocitat del soroll +Audio API = API d'àudio # AI translated Audio backend = Motor d'àudio (requereix reiniciar) Audio Error = Error d'àudio Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Reproducció d'àudio +AudioApiHint = Proveu l'altra opció si no teniu so o altres problemes d'àudio. # AI translated AudioBufferingForBluetooth = Memòria intermèdia en Bluetooth (lent) +AudioMMapHint = El retard d'àudio més baix. En alguns dispositius, provoca silenci pel Bluetooth o altres dispositius d'àudio connectats. Desactiveu-ho si no teniu so. # AI translated Auto = Automàtic Buffer size = Buffer size Classic (lowest latency) = Clàssic (latència més baixa) @@ -82,6 +85,7 @@ Enable Sound = Activar el so Fill audio gaps = Omple els buits d'àudio Game preview volume = Game preview volume Game volume = Volum global +Low-latency audio (MMAP) = Àudio de baixa latència (MMAP) # AI translated Microphone = Micròfon Microphone Device = Dispositiu de micròfon Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 1bfffc05d7..1b89c9d553 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -68,11 +68,14 @@ Win = Vyhrát [Audio] Alternate speed volume = Alternate speed volume +Audio API = Zvukové API # AI translated Audio backend = Zvukové jádro (vyžaduje restart) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Přehrávání audia +AudioApiHint = Pokud nemáte zvuk nebo máte jiné problémy se zvukem, zkuste druhou možnost. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Nejnižší zpoždění zvuku. Na některých zařízeních způsobuje ticho přes Bluetooth nebo jiná připojená zvuková zařízení. Pokud nemáte zvuk, vypněte to. # AI translated Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Klasický (nejnižší latence) @@ -82,6 +85,7 @@ Enable Sound = Povolit zvuk Fill audio gaps = Vyplnit audio mezery Game preview volume = Game preview volume Game volume = Celková hlasitost +Low-latency audio (MMAP) = Zvuk s nízkou latencí (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index cc1c5d5f00..7785d9ff93 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -68,11 +68,14 @@ Win = Vinde [Audio] Alternate speed volume = Alternate speed volume +Audio API = Lyd-API # AI translated Audio backend = Lyd backend Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Lydafspilning +AudioApiHint = Prøv den anden, hvis du ikke har lyd eller har andre lydproblemer. # AI translated AudioBufferingForBluetooth = Bluetooth-venlig buffer (langsommere) +AudioMMapHint = Laveste lydforsinkelse. På nogle enheder giver det stilhed over Bluetooth eller andre tilsluttede lydenheder. Slå det fra, hvis du ikke får lyd. # AI translated Auto = Automatisk Buffer size = Buffer size Classic (lowest latency) = Klassisk (laveste latency) @@ -82,6 +85,7 @@ Enable Sound = Aktiver lyd Fill audio gaps = Udfyld lydhuller Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = Lyd med lav latency (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 35d02ce535..e2d5d99845 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -68,11 +68,14 @@ Win = Gewinnen [Audio] Alternate speed volume = Alternative Geschwindigkeitslautstärke +Audio API = Audio-API # AI translated Audio backend = Audio-Ausgabe (Neustart erforderlich) Audio Error = Audio-Fehler Audio file format not supported. Must be WAV or MP3. = Audio-Dateiformat wird nicht unterstützt. Muss WAV oder MP3 sein. Audio playback = Audio-Wiedergabe +AudioApiHint = Probiere die andere Option, wenn du keinen Ton oder andere Audioprobleme hast. # AI translated AudioBufferingForBluetooth = Bluetooth-freundliche Pufferung (langsamer) +AudioMMapHint = Geringste Audioverzögerung. Auf manchen Geräten bleibt der Ton über Bluetooth oder andere angeschlossene Audiogeräte dadurch stumm. Schalte es aus, wenn du keinen Ton hast. # AI translated Auto = Autom. Buffer size = Puffergröße Classic (lowest latency) = Klassisch (niedrigste Latenz) @@ -82,6 +85,7 @@ Enable Sound = Ton aktivieren Fill audio gaps = Audio-Lücken füllen Game preview volume = Spielvorschau-Lautstärke Game volume = Spiellautstärke +Low-latency audio (MMAP) = Audio mit niedriger Latenz (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofon-Gerät Mix audio with other apps = Audio mit anderen Apps mischen diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index da0d9c651a..bc791283cc 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -67,11 +67,14 @@ Win = Menang [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio API Audio backend = Audio backend (restart req.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Pemutaran audio +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Klasik (latensi terendah) @@ -81,6 +84,7 @@ Enable Sound = Padenni suarana Fill audio gaps = Isi rong audio Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index ca5c2c4ed0..318aada40c 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -92,11 +92,14 @@ Win = Win [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio API Audio backend = Audio backend (restart req.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Audio playback +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Classic (lowest latency) @@ -106,6 +109,7 @@ Enable Sound = Enable sound Fill audio gaps = Fill audio gaps Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index e7dfb84237..c5946f707e 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -68,11 +68,14 @@ Win = Ganar [Audio] Alternate speed volume = Alternar velocidad de sonido +Audio API = API de audio # AI translated Audio backend = Motor de audio (requiere reiniciar) Audio Error = Error de audio Audio file format not supported. Must be WAV or MP3. = Formato de audio no compatible. Debe ser WAV o MP3. Audio playback = Reproducción de audio +AudioApiHint = Pruebe la otra opción si no tiene sonido u otros problemas de audio. # AI translated AudioBufferingForBluetooth = Búfer compatible con bluetooth (lento) +AudioMMapHint = El menor retraso de audio. En algunos dispositivos, provoca silencio por Bluetooth u otros dispositivos de audio conectados. Desactívelo si no tiene sonido. # AI translated Auto = Automático Buffer size = Tamaño del búfer Classic (lowest latency) = Clásico (latencia más baja) @@ -82,6 +85,7 @@ Enable Sound = Activar sonido Fill audio gaps = Rellenar los huecos de audio Game preview volume = Volumen vista previa Game volume = Volumen global +Low-latency audio (MMAP) = Audio de baja latencia (MMAP) # AI translated Microphone = Micrófono Microphone Device = Dispositivo de entrada Mix audio with other apps = Mezcla de audio con otra aplicaciones diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 18ba1b1c54..941d71d1f0 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -68,11 +68,14 @@ Win = Ganar [Audio] Alternate speed volume = Alternar velocidad de volumen +Audio API = API de audio # AI translated Audio backend = Motor de audio (req. reiniciar) Audio Error = Error de Audio Audio file format not supported. Must be WAV or MP3. = Formato de audio no soportado. Debe ser WAV o MP3. Audio playback = Reproducción de audio +AudioApiHint = Pruebe la otra opción si no tiene sonido u otros problemas de audio. # AI translated AudioBufferingForBluetooth = AudioBuffering por Bluetooth (enlentece) +AudioMMapHint = El menor retraso de audio. En algunos dispositivos, provoca silencio por Bluetooth u otros dispositivos de audio conectados. Desactívelo si no tiene sonido. # AI translated Auto = Automático Buffer size = Buffer size Classic (lowest latency) = Clásico (baja latencia) @@ -82,6 +85,7 @@ Enable Sound = Habilitar sonido Fill audio gaps = Llenar los espacios de audio Game preview volume = Game preview volume Game volume = Volumen global +Low-latency audio (MMAP) = Audio de baja latencia (MMAP) # AI translated Microphone = Micrófono Microphone Device = Dispositivo de entrada de sonido (Micrófono) Mix audio with other apps = Mezclar audio con otras aplicaciones diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 68d3cd38ce..fcf530098f 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -67,11 +67,14 @@ Win = برنده شدن [Audio] Alternate speed volume = حجم سرعت جایگزین +Audio API = API صدا # AI translated Audio backend = رابط صدا (نیاز به راه‌اندازی دوباره دارد) Audio Error = خطای صدا Audio file format not supported. Must be WAV or MP3. = قالب فایل صوتی پشتیبانی نمی‌شود. باید WAV یا MP3 باشد. Audio playback = پخش صدا +AudioApiHint = اگر صدا ندارید یا مشکل دیگری در صدا دارید، گزینهٔ دیگر را امتحان کنید. # AI translated AudioBufferingForBluetooth = ‎بافر مناسب هندزفری بلوتوث (کند تر) +AudioMMapHint = کمترین تأخیر صدا. در برخی دستگاه‌ها باعث قطع صدا در بلوتوث یا سایر دستگاه‌های صوتی متصل می‌شود. اگر صدا ندارید، آن را خاموش کنید. # AI translated Auto = ‎اتوماتیک Buffer size = Buffer size Classic (lowest latency) = کلاسیک (کمترین تأخیر) @@ -81,6 +84,7 @@ Enable Sound = ‎فعال کردن صدا Fill audio gaps = پر کردن شکاف‌های صوتی Game preview volume = Game preview volume Game volume = ‎بلندی صدا +Low-latency audio (MMAP) = صدا با تأخیر کم (MMAP) # AI translated Microphone = میکروفن Microphone Device = میکروفن دستگاه Mix audio with other apps = میکس صدا با برنامه‌های دیگر diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index aa25e6fc93..321dfafb78 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -68,11 +68,14 @@ Win = Voittaa [Audio] Alternate speed volume = Vaihtoehtoisen nopeuden äänenvoimakkuus +Audio API = Ääni-API # AI translated Audio backend = Äänen taustajärjestelmä (uudelleenkäynnistä) Audio Error = Äänivirhe Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Äänentoisto +AudioApiHint = Kokeile toista vaihtoehtoa, jos ääntä ei kuulu tai äänessä on muita ongelmia. # AI translated AudioBufferingForBluetooth = Bluetooth-ystävällinen puskuri (hitaampi) +AudioMMapHint = Pienin äänen viive. Joillakin laitteilla se mykistää äänen Bluetoothin tai muiden liitettyjen äänilaitteiden kautta. Poista se käytöstä, jos ääntä ei kuulu. # AI translated Auto = Automaattinen Buffer size = Buffer size Classic (lowest latency) = Klassinen (alin viive) @@ -82,6 +85,7 @@ Enable Sound = Ota äänet käyttöön Fill audio gaps = Täytä ääniväli Game preview volume = Game preview volume Game volume = Yleinen äänenvoimakkuus +Low-latency audio (MMAP) = Matalan viiveen ääni (MMAP) # AI translated Microphone = Mikrofoni Microphone Device = Mikrofonin laite Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index e5f9b28b70..84f0e09505 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -92,11 +92,14 @@ Win = Gagner [Audio] Alternate speed volume = Volume en vitesse alternative +Audio API = API audio # AI translated Audio backend = Back-end du son (redémarrage requis) Audio Error = Erreur audio Audio file format not supported. Must be WAV or MP3. = Format de fichier audio non pris en charge. Le format doit être WAV ou MP3. Audio playback = Lecture audio +AudioApiHint = Essayez l'autre option si vous n'avez pas de son ou d'autres problèmes audio. # AI translated AudioBufferingForBluetooth = Mémoire tampon adaptée au Bluetooth (+ lent) +AudioMMapHint = Délai audio le plus faible. Sur certains appareils, il n'y a plus de son en Bluetooth ou sur d'autres périphériques audio connectés. Désactivez-le si vous n'avez pas de son. # AI translated Auto = Automatique Buffer size = Taille de la mémoire tampon Classic (lowest latency) = Classique (latence la plus basse) @@ -106,6 +109,7 @@ Enable Sound = Activer le son Fill audio gaps = Remplir les lacunes audio Game preview volume = Aperçu du volume du jeu Game volume = Volume global +Low-latency audio (MMAP) = Audio à faible latence (MMAP) # AI translated Microphone = Micro Microphone Device = Périphérique Micro Mix audio with other apps = Associer l'audio à d'autres applications diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index 0578438101..5a2de13d96 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -68,11 +68,14 @@ Win = Ganar [Audio] Alternate speed volume = Alternate speed volume +Audio API = API de audio # AI translated Audio backend = Motor de audio (require reiniciar) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Reproducción de audio +AudioApiHint = Proba a outra opción se non tes son ou outros problemas de audio. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = O menor atraso de audio. Nalgúns dispositivos, provoca silencio por Bluetooth ou outros dispositivos de audio conectados. Desactívao se non tes son. # AI translated Auto = Automático Buffer size = Buffer size Classic (lowest latency) = Clásico (latencia máis baixa) @@ -82,6 +85,7 @@ Enable Sound = Activar son Fill audio gaps = Completar os baleiros de audio Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = Audio de baixa latencia (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index c8cfed9e9a..670060e9e8 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -68,11 +68,14 @@ Win = Κερδίζω [Audio] Alternate speed volume = Alternate speed volume +Audio API = API ήχου # AI translated Audio backend = Backend ήχου (Απ. Επανεκκίνηση) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Αναπαραγωγή ήχου +AudioApiHint = Δοκιμάστε την άλλη επιλογή αν δεν έχετε ήχο ή άλλα προβλήματα ήχου. # AI translated AudioBufferingForBluetooth = Buffer φιλικό για Bluetooth (αργό) +AudioMMapHint = Η μικρότερη καθυστέρηση ήχου. Σε ορισμένες συσκευές προκαλεί σιωπή μέσω Bluetooth ή άλλων συνδεδεμένων συσκευών ήχου. Απενεργοποιήστε το αν δεν έχετε ήχο. # AI translated Auto = Αυτόματο Buffer size = Buffer size Classic (lowest latency) = Κλασικό (χαμηλότερη καθυστέρηση) @@ -82,6 +85,7 @@ Enable Sound = Ενεργοποίηση Ήχου Fill audio gaps = Συμπληρώστε τα κενά ήχου Game preview volume = Game preview volume Game volume = Γενική ένταση +Low-latency audio (MMAP) = Ήχος χαμηλής καθυστέρησης (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 6f91234272..09ece52261 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -68,11 +68,14 @@ Win = ניצחון [Audio] Alternate speed volume = Alternate speed volume +Audio API = API שמע # AI translated Audio backend = Audio backend (restart req.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = נגינת אודיו +AudioApiHint = נסו את האפשרות האחרת אם אין קול או שיש בעיות שמע אחרות. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = השהיית השמע הנמוכה ביותר. במכשירים מסוימים זה גורם לשקט ב-Bluetooth או בהתקני שמע מחוברים אחרים. כבו את זה אם אין קול. # AI translated Auto = Auto Buffer size = Buffer size Classic (lowest latency) = קלאסי (זמן השהיה הנמוך ביותר) @@ -82,6 +85,7 @@ Enable Sound = אפשר שמע Fill audio gaps = מלא פערי שמע Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = שמע בזמן השהיה נמוך (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index ae35f01276..289507783e 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -68,11 +68,14 @@ Win = Pobjedi [Audio] Alternate speed volume = Naizmjenična brzina zvuka +Audio API = Zvučni API # AI translated Audio backend = Poslužitelj zvuka (ponovo pokrenuti) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Reprodukcija zvuka +AudioApiHint = Isprobajte drugu opciju ako nemate zvuka ili imate druge probleme sa zvukom. # AI translated AudioBufferingForBluetooth = Bluetooth-prijateljski poliranje (sporije) +AudioMMapHint = Najmanje kašnjenje zvuka. Na nekim uređajima uzrokuje tišinu preko Bluetootha ili drugih povezanih audio uređaja. Isključite ga ako nemate zvuka. # AI translated Auto = Automatski Buffer size = Buffer size Classic (lowest latency) = Klasično (najniža latencija) @@ -82,6 +85,7 @@ Enable Sound = Uključi zvuk Fill audio gaps = Ispuni audio praznine Game preview volume = Game preview volume Game volume = Opća glasnoća +Low-latency audio (MMAP) = Zvuk s niskom latencijom (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 56c68a8dec..d980d2651c 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -68,11 +68,14 @@ Win = Nyerni [Audio] Alternate speed volume = Alternatív sebesség hangereje +Audio API = Audió API # AI translated Audio backend = Audió backend (újraindítás szükséges) Audio Error = Audió hiba Audio file format not supported. Must be WAV or MP3. = Nem támogatott audió fájlformátum. WAV vagy MP3 kell, hogy legyen. Audio playback = Hangkimenet +AudioApiHint = Próbálja ki a másik lehetőséget, ha nincs hang, vagy más hangproblémái vannak. # AI translated AudioBufferingForBluetooth = Bluetooth-barát puffer (lassabb) +AudioMMapHint = A legkisebb hangkésleltetés. Egyes eszközökön emiatt nincs hang Bluetooth-on vagy más csatlakoztatott hangeszközön. Kapcsolja ki, ha nincs hang. # AI translated Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Klasszikus (legalacsonyabb késleltetés) @@ -82,6 +85,7 @@ Enable Sound = Hang bekapcsolása Fill audio gaps = Töltse ki az audio hézagokat Game preview volume = Game preview volume Game volume = Globális hangerő +Low-latency audio (MMAP) = Alacsony késleltetésű hang (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofon eszköz Mix audio with other apps = Audió vegyítése más alkalmazásokkal diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index bcbd326067..41d193f393 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -68,11 +68,14 @@ Win = Menang [Audio] Alternate speed volume = Kecepatan volume alternatif +Audio API = API audio # AI translated Audio backend = Penyangga audio (perlu mulai ulang) Audio Error = Kesalahan audio Audio file format not supported. Must be WAV or MP3. = Format file audio tidak didukung. Gunakan WAV atau MP3. Audio playback = Pemutaran audio +AudioApiHint = Coba opsi lainnya jika tidak ada suara atau ada masalah audio lainnya. # AI translated AudioBufferingForBluetooth = Penyangga bluetooth (lambat) +AudioMMapHint = Jeda audio terendah. Pada beberapa perangkat, ini menyebabkan tidak ada suara melalui Bluetooth atau perangkat audio lain yang terhubung. Matikan jika tidak ada suara. # AI translated Auto = Otomatis Buffer size = Buffer size Classic (lowest latency) = Klasik (latensi terendah) @@ -82,6 +85,7 @@ Enable Sound = Aktifkan suara Fill audio gaps = Isi celah audio Game preview volume = Volume pratinjau game Game volume = Volume game +Low-latency audio (MMAP) = Audio latensi rendah (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Perangkat Mikrofon Mix audio with other apps = Campur audio dengan aplikasi lain diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index ef3bcf46cf..71c4aee8b5 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -68,11 +68,14 @@ Win = Vincere [Audio] Alternate speed volume = Volume a velocità alternativa +Audio API = API audio # AI translated Audio backend = Renderer Audio (riavvio necessario) Audio Error = Errore Audio Audio file format not supported. Must be WAV or MP3. = Formato audio non supportato. Deve essere WAV o MP3. Audio playback = Riproduzione audio +AudioApiHint = Prova l'altra opzione se non hai audio o hai altri problemi audio. # AI translated AudioBufferingForBluetooth = Buffer compatibile con Bluetooth (più lento) +AudioMMapHint = Il minor ritardo audio. Su alcuni dispositivi causa silenzio tramite Bluetooth o altri dispositivi audio collegati. Disattivalo se non senti alcun suono. # AI translated Auto = Automatico Buffer size = Buffer size Classic (lowest latency) = Classico (latenza più bassa) @@ -82,6 +85,7 @@ Enable Sound = Attiva il Sonoro Fill audio gaps = Riempire i vuoti audio Game preview volume = Game preview volume Game volume = Volume Globale +Low-latency audio (MMAP) = Audio a bassa latenza (MMAP) # AI translated Microphone = Microfono Microphone Device = Periferica Microfono Mix audio with other apps = Mix audio con altre app diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index abf5e87699..53243ef378 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -68,11 +68,14 @@ Win = 勝つ [Audio] Alternate speed volume = カスタム速度時のボリューム +Audio API = オーディオAPI # AI translated Audio backend = オーディオバックエンド (再起動が必要) Audio Error = オーディオエラー Audio file format not supported. Must be WAV or MP3. = オーディオファイル形式に対応していません。WAVまたはMP3である必要があります。 Audio playback = オーディオ再生 +AudioApiHint = 音が出ない場合やその他の音声の問題がある場合は、もう一方を試してください。 # AI translated AudioBufferingForBluetooth = Bluetoothに適したバッファ (低遅延) +AudioMMapHint = 音声の遅延が最小になります。一部のデバイスでは、Bluetoothやその他の接続されたオーディオデバイスから音が出なくなります。音が出ない場合はオフにしてください。 # AI translated Auto = 自動 Buffer size = Buffer size Classic (lowest latency) = クラシック(最低レイテンシ) @@ -82,6 +85,7 @@ Enable Sound = オーディオを有効にする Fill audio gaps = 音声のギャップを埋める Game preview volume = Game preview volume Game volume = グローバルボリューム +Low-latency audio (MMAP) = 低遅延オーディオ (MMAP) # AI translated Microphone = マイクの設定 Microphone Device = マイク入力機器の選択 Mix audio with other apps = 他のアプリとオーディオをミックスする diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 25a9ef8ddd..61443e33ff 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -67,11 +67,14 @@ Win = Menang [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio API Audio backend = Suoro backend (Wiwiti maneh, req) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Playback audio +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Otomatis Buffer size = Buffer size Classic (lowest latency) = Klasik (latensi paling murah) @@ -81,6 +84,7 @@ Enable Sound = Ngatifke Suoro Fill audio gaps = Isi celah audio Game preview volume = Game preview volume Game volume = Tingkat Volume +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/km_KH.ini b/assets/lang/km_KH.ini index 7f1eb8d1ff..c442c64694 100644 --- a/assets/lang/km_KH.ini +++ b/assets/lang/km_KH.ini @@ -67,11 +67,14 @@ Win =ឈ្នះ [Audio] Alternate speed volume =កម្រិតសំឡេងល្បឿនជំនួស +Audio API = Audio API Audio backend =ផ្នែក​ខាង​ក្រោយ​អូឌីយ៉ូ (ការ​ចាប់​ផ្តើ​ម req ។ ) Audio Error =កំហុសអូឌីយ៉ូ Audio file format not supported. Must be WAV or MP3. =ទម្រង់ឯកសារអូឌីយ៉ូមិនត្រូវបានគាំទ្រទេ។ ត្រូវតែជា WAV ឬ MP3 ។ Audio playback =ការចាក់សំឡេងឡើងវិញ +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth =ប៊្លូធូសដែលងាយស្រួលប្រើ (យឺតជាង) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto =ស្វ័យប្រវត្តិ Buffer size =ទំហំទ្រនាប់ Classic (lowest latency) =បុរាណ (ភាពយឺតយ៉ាវទាបបំផុត) @@ -81,6 +84,7 @@ Enable Sound =បើកសំឡេង Fill audio gaps =បំពេញចន្លោះសំឡេង Game preview volume =កម្រិតសំឡេងមើលហ្គេមជាមុន Game volume =កម្រិតសំឡេងហ្គេម +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone =មីក្រូហ្វូន Microphone Device =ឧបករណ៍មីក្រូហ្វូន Mix audio with other apps =លាយសំឡេងជាមួយកម្មវិធីផ្សេងទៀត។ diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index bfaa7af432..cfcaf6d151 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -68,11 +68,14 @@ Win = 승리 [Audio] Alternate speed volume = 대체 속도 볼륨 +Audio API = 오디오 API # AI translated Audio backend = 오디오 백엔드 (재시작 요구) Audio Error = 오디오 오류 Audio file format not supported. Must be WAV or MP3. = 오디오 파일 형식은 지원되지 않습니다. WAV/MP3여야 합니다. Audio playback = 오디오 재생 +AudioApiHint = 소리가 나지 않거나 다른 오디오 문제가 있으면 다른 쪽을 사용해 보세요. # AI translated AudioBufferingForBluetooth = 블루투스 친화적 버퍼 (느림) +AudioMMapHint = 오디오 지연이 가장 적습니다. 일부 기기에서는 블루투스나 다른 연결된 오디오 장치에서 소리가 나지 않습니다. 소리가 나지 않으면 끄세요. # AI translated Auto = 자동 Buffer size = 버퍼 크기 Classic (lowest latency) = 클래식 (최저 대기 시간) @@ -82,6 +85,7 @@ Enable Sound = 사운드 활성화 Fill audio gaps = 오디오 공백 채우기 Game preview volume = 게임 미리보기 볼륨 Game volume = 글로벌 볼륨 +Low-latency audio (MMAP) = 저지연 오디오 (MMAP) # AI translated Microphone = 마이크 Microphone Device = 마이크 장치 Mix audio with other apps = 다른 앱과 오디오 믹스 diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index e7cf332930..b5b4cbb84c 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -80,11 +80,14 @@ Win = Serkeftin [Audio] Alternate speed volume = خێرایی دەنگی جێگرەوە +Audio API = Audio API Audio backend = باکئێندی دەنگ (پێویستە کە ئاپەکە دووبارە بکرێتەوە) Audio file format not supported. Must be WAV or MP3. = بێت WAV, MP3 شێوازی دەنگەکە پاڵپشتی نەکراوە، مەرجە کە شێوازی Audio Error = هەڵەی دەنگ ڕوویدا Audio playback = Biwêjîna dîmen +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = (خاوتر) Bluetooth بەفەرێک باشبێت بۆ +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Klasik (gecikmeya herî kêm) @@ -94,6 +97,7 @@ Enable Sound = بەکارکردنی دەنگ Fill audio gaps = Bişkojka awazê pêk bîne Game preview volume = Game preview volume Game volume = دەنگی گشتی +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = مایکرۆفۆن Microphone Device = ئامێری مایکرۆفۆن Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index e4aa2e7a08..68d12cdc8a 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -67,11 +67,14 @@ Win = ໄດ້ຊະນະ [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio API Audio backend = ຮູບແບບສຽງທີ່ຮອງຮັບ (ຕ້ອງຣີສຕາຣ໌ດ) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = ການສຽງສຽງ +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = ອັດຕະໂນມັດ Buffer size = Buffer size Classic (lowest latency) = ຄລາສິກ (ລາຍການຕໍ່ສູງສຸດ) @@ -81,6 +84,7 @@ Enable Sound = ເປີດໃຊ້ງານສຽງ Fill audio gaps = ໃສ່ເຖືອດສຽງ Game preview volume = Game preview volume Game volume = ລະດັບສຽງຫຼັກ +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index fd51456f1c..ab51a05dae 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -68,11 +68,14 @@ Win = Laimėti [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio API Audio backend = Audio backend (restart req.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Garsų atkūrimas +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Bluetooth-friendly buffer (slower) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Auto Buffer size = Buffer size Classic (lowest latency) = Klasikinis (mažiausia vėla) @@ -82,6 +85,7 @@ Enable Sound = Įjungti garsą Fill audio gaps = Užpildyti garso tarpus Game preview volume = Game preview volume Game volume = Game volume +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index e81c9064d4..69547834a2 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -68,11 +68,14 @@ Win = Menang [Audio] Alternate speed volume = Kelantangan kelajuan alternatif +Audio API = API audio # AI translated Audio backend = Backend audio (PPSSPP perlu dimulakan semula) Audio Error = Ralat Audio Audio file format not supported. Must be WAV or MP3. = Format fail audio tidak disokong. Mesti WAV atau MP3. Audio playback = Main semula audio +AudioApiHint = Cuba pilihan lain jika tiada bunyi atau terdapat masalah audio lain. # AI translated AudioBufferingForBluetooth = Penimbal mesra Bluetooth (lebih perlahan) +AudioMMapHint = Kelewatan audio paling rendah. Pada sesetengah peranti, ia menyebabkan tiada bunyi melalui Bluetooth atau peranti audio lain yang disambungkan. Matikannya jika tiada bunyi. # AI translated Auto = Auto Buffer size = Saiz penimbal Classic (lowest latency) = Klasik (latensi terendah) @@ -82,6 +85,7 @@ Enable Sound = Aktifkan suara Fill audio gaps = Isi jurang audio Game preview volume = Kelantangan pratonton permainan Game volume = Kelantangan permainan +Low-latency audio (MMAP) = Audio latensi rendah (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Peranti mikrofon Mix audio with other apps = Campurkan audio dengan aplikasi lain diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index fa4d1196f6..33d54d50f1 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -68,11 +68,14 @@ Win = Winnen [Audio] Alternate speed volume = Alternate speed volume +Audio API = Audio-API # AI translated Audio backend = Audiobackend (vereist herstart) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Audio-afspelen +AudioApiHint = Probeer de andere als je geen geluid hebt of andere audioproblemen. # AI translated AudioBufferingForBluetooth = Bluetooth-vriendelijke buffer (trager) +AudioMMapHint = Laagste audiovertraging. Op sommige apparaten geeft dit stilte via Bluetooth of andere aangesloten audioapparaten. Schakel het uit als je geen geluid hebt. # AI translated Auto = Automatisch Buffer size = Buffer size Classic (lowest latency) = Klassiek (laagste latentie) @@ -82,6 +85,7 @@ Enable Sound = Geluid inschakelen Fill audio gaps = Vul audiogaten Game preview volume = Game preview volume Game volume = Globaal volume +Low-latency audio (MMAP) = Audio met lage latentie (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/nn_NO.ini b/assets/lang/nn_NO.ini index 9990d2770d..2aa34a9a19 100644 --- a/assets/lang/nn_NO.ini +++ b/assets/lang/nn_NO.ini @@ -92,11 +92,14 @@ Win = Siger [Audio] Alternate speed volume = Volum for alternativ fart +Audio API = Lyd-API # AI translated Audio backend = Lydmotor (krev omstart) Audio Error = Lydfeil Audio file format not supported. Must be WAV or MP3. = Lydfilformatet er ikkje støtta. Må vere WAV eller MP3. Audio playback = Lydavspeling +AudioApiHint = Prøv den andre om du ikkje har lyd eller har andre lydproblem. # AI translated AudioBufferingForBluetooth = Bluetooth-venleg buffer (tregare) +AudioMMapHint = Lågast lydforseinking. På nokre einingar gjev det stille over Bluetooth eller andre tilkopla lydeiningar. Slå det av om du ikkje får lyd. # AI translated Auto = Auto Buffer size = Bufferstorleik Classic (lowest latency) = Klassisk (lågast latens) @@ -106,6 +109,7 @@ Enable Sound = Slå på lyd Fill audio gaps = Fyll lydgap Game preview volume = Volum for spelforhandsvising Game volume = Spelvolum +Low-latency audio (MMAP) = Lyd med låg latens (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofoneining Mix audio with other apps = Miks lyd med andre appar diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index f3734789c0..1a1a2661dd 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -92,11 +92,14 @@ Win = Vin [Audio] Alternate speed volume = Volum for alternativ hastighet +Audio API = Lyd-API # AI translated Audio backend = Lydmotor (krever omstart) Audio Error = Lydfeil Audio file format not supported. Must be WAV or MP3. = Lydfilformatet støttes ikke. Må være WAV eller MP3. Audio playback = Lydavspilling +AudioApiHint = Prøv den andre hvis du ikke har lyd eller har andre lydproblemer. # AI translated AudioBufferingForBluetooth = Bluetooth-vennlig buffer (tregere) +AudioMMapHint = Lavest lydforsinkelse. På noen enheter gir det stillhet over Bluetooth eller andre tilkoblede lydenheter. Slå det av hvis du ikke får lyd. # AI translated Auto = Auto Buffer size = Bufferstørrelse Classic (lowest latency) = Klassisk (lavest latens) @@ -106,6 +109,7 @@ Enable Sound = Lyd Fill audio gaps = Fyll audiogap Game preview volume = Volum for spillforhåndsvisning Game volume = Spillvolum +Low-latency audio (MMAP) = Lyd med lav latens (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofonenhet Mix audio with other apps = Miks lyd med andre apper diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 928d4103f2..1fe0e0627b 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -68,11 +68,14 @@ Win = Wygrać [Audio] Alternate speed volume = Alternatywna prędkość emulacji +Audio API = API dźwięku # AI translated Audio backend = Sterownik dźwięku (wymagany restart) Audio Error = Błąd Audio Audio file format not supported. Must be WAV or MP3. = Niewspierany format pliku dźwiękowego. Plik musi być w formacie WAV lub MP3. Audio playback = Odtwarzanie audio +AudioApiHint = Spróbuj drugiej opcji, jeśli nie masz dźwięku lub masz inne problemy z dźwiękiem. # AI translated AudioBufferingForBluetooth = Bufory dźwięku dost. do Bluetooth (wolniejsze) +AudioMMapHint = Najmniejsze opóźnienie dźwięku. Na niektórych urządzeniach powoduje brak dźwięku przez Bluetooth lub inne podłączone urządzenia audio. Wyłącz to, jeśli nie masz dźwięku. # AI translated Auto = Automatyczny Buffer size = Rozmiar bufora Classic (lowest latency) = Klasyczny (najniższe opóźnienie) @@ -82,6 +85,7 @@ Enable Sound = Włącz dźwięk Fill audio gaps = Wypełnij luki dźwiękowe Game preview volume = Game preview volume Game volume = Głośność globalna +Low-latency audio (MMAP) = Dźwięk o niskim opóźnieniu (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofon Mix audio with other apps = Miksuj audio z innymi aplikacjami diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 9c0cdac750..4d434f8b30 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -92,11 +92,14 @@ Win = Vitórias [Audio] Alternate speed volume = Velocidade alternativa do volume +Audio API = API de áudio # AI translated Audio backend = Backend do áudio (requer reiniciar) Audio Error = Erro do Áudio Audio file format not supported. Must be WAV or MP3. = Formato do arquivo de áudio não suportado. Deve ser WAV ou MP3. Audio playback = Reprodução do áudio +AudioApiHint = Tente a outra opção se você não tiver som ou tiver outros problemas de áudio. # AI translated AudioBufferingForBluetooth = Buffer amigável pro Bluetooth (mais lento) +AudioMMapHint = Menor atraso de áudio. Em alguns aparelhos, causa silêncio no Bluetooth ou em outros dispositivos de áudio conectados. Desative isto se você ficar sem som. # AI translated Auto = Automático Buffer size = Tamanho do Buffer Classic (lowest latency) = Clássico (latência mais baixa) @@ -106,6 +109,7 @@ Enable Sound = Ativar som Fill audio gaps = Preencher os espaços do áudio Game preview volume = Volume da pré-visualização do jogo Game volume = Volume do jogo +Low-latency audio (MMAP) = Áudio de baixa latência (MMAP) # AI translated Microphone = Microfone Microphone Device = Dispositivo Microfone Mix audio with other apps = Misturar o áudio com os outros aplicativos diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index 8d07b7094b..87bf529663 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -92,11 +92,14 @@ Win = Vencer [Audio] Alternate speed volume = Velocidade alternativa de volume +Audio API = API de áudio # AI translated Audio backend = API de áudio (requer reiniciar) Audio Error = Erro de áudio Audio file format not supported. Must be WAV or MP3. = Formato de ficheiro áudio não compatível. Tem de ser um WAV ou MP3. Audio playback = Reprodução de áudio +AudioApiHint = Experimenta a outra opção se não tiveres som ou tiveres outros problemas de áudio. # AI translated AudioBufferingForBluetooth = Buffer mais compatível com Bluetooth (mais lento) +AudioMMapHint = Menor atraso de áudio. Em alguns dispositivos, causa silêncio no Bluetooth ou noutros dispositivos de áudio ligados. Desativa isto se ficares sem som. # AI translated Auto = Automático Buffer size = Tamanho do buffer Classic (lowest latency) = Clássico (menor latência) @@ -106,6 +109,7 @@ Enable Sound = Ativar áudio Fill audio gaps = Preencher lacunas no áudio Game preview volume = Volume na pré-visualização do jogo Game volume = Volume do jogo +Low-latency audio (MMAP) = Áudio de baixa latência (MMAP) # AI translated Microphone = Microfone Microphone Device = Dispositivo de microfone Mix audio with other apps = Mixar áudio com outras aplicações diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index c37d02584f..e8e85a4521 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -68,11 +68,14 @@ Win = Câștigă [Audio] Alternate speed volume = Alternate speed volume +Audio API = API audio # AI translated Audio backend = Format intern audio (necesită restartare) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Redare audio +AudioApiHint = Încercați cealaltă opțiune dacă nu aveți sunet sau aveți alte probleme audio. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (mai lent) +AudioMMapHint = Cea mai mică întârziere audio. Pe unele dispozitive, provoacă lipsa sunetului prin Bluetooth sau alte dispozitive audio conectate. Dezactivați-l dacă nu aveți sunet. # AI translated Auto = Automat Buffer size = Buffer size Classic (lowest latency) = Clasic (latenta minimă) @@ -82,6 +85,7 @@ Enable Sound = Activează Sunet Fill audio gaps = Umpleți golurile audio Game preview volume = Game preview volume Game volume = Volum global +Low-latency audio (MMAP) = Audio cu latență redusă (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 9e37890d85..f320207260 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -68,11 +68,14 @@ Win = Победа [Audio] Alternate speed volume = Громкость при другой скорости +Audio API = Аудио API # AI translated Audio backend = Аудио бэкенд (нужен перезапуск) Audio Error = Ошибка звука Audio file format not supported. Must be WAV or MP3. = Формат аудиофайла не поддерживается. Он должен быть WAV/MP3. Audio playback = Воспроизведение аудио +AudioApiHint = Попробуйте другой вариант, если нет звука или есть другие проблемы со звуком. # AI translated AudioBufferingForBluetooth = Буфер, подходящий для Bluetooth (медленнее) +AudioMMapHint = Наименьшая задержка звука. На некоторых устройствах из-за этого пропадает звук через Bluetooth или другие подключённые аудиоустройства. Отключите, если нет звука. # AI translated Auto = Авто Buffer size = Размер буфера Classic (lowest latency) = Классический (низкая задержка) @@ -82,6 +85,7 @@ Enable Sound = Включить звук Fill audio gaps = Заполнить пробелы в аудио Game preview volume = Громкость превью игры Game volume = Громкость игры +Low-latency audio (MMAP) = Звук с низкой задержкой (MMAP) # AI translated Microphone = Микрофон Microphone Device = Устройство микрофона Mix audio with other apps = Микшировать аудио с другими приложениями diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index 93a11a2fd4..57babb5abe 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -68,11 +68,14 @@ Win = Vinst [Audio] Alternate speed volume = Volym vid alternativ hastighet +Audio API = Ljud-API # AI translated Audio backend = Ljudgränssnitt (ändring kräver omstart) Audio Error = Ljudfel Audio file format not supported. Must be WAV or MP3. = Ljudformatet stöds inte. Använd WAV eller MP3. Audio playback = Ljuduppspelning +AudioApiHint = Prova det andra alternativet om du inte får något ljud eller har andra ljudproblem. # AI translated AudioBufferingForBluetooth = Bluetooth-anpassad buffring (långsammare) +AudioMMapHint = Lägsta ljudfördröjning. På vissa enheter blir det tyst via Bluetooth eller andra anslutna ljudenheter. Stäng av det om du inte får något ljud. # AI translated Auto = Auto Buffer size = Buffertstorlek Classic (lowest latency) = Klassisk (lägsta latens) @@ -82,6 +85,7 @@ Enable Sound = Ljud på Fill audio gaps = Fyll ljudluckor Game preview volume = Volym för spelförhandsvisning Game volume = Spelvolym +Low-latency audio (MMAP) = Ljud med låg latens (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofonenhet Mix audio with other apps = Blanda ljud med andra appar diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 7656834488..ed08848f1a 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -67,11 +67,14 @@ Win = Баракат [Audio] Alternate speed volume = Kahaliling bilis ng tunog +Audio API = Audio API Audio backend = Tunog ng instrumento (kailangan pang ulitin) Audio Error = Tunog ng pagkakamali Audio file format not supported. Must be WAV or MP3. = Hindi suportado ang format ng file ng audio. Dapat ay WAV/MP3. Audio playback = Peydori Аудио +AudioApiHint = Try the other one if you have no sound or other audio problems. AudioBufferingForBluetooth = Buffering ng Audio Para sa Bluetooth (mabagal) +AudioMMapHint = Lowest audio delay. On some devices, it causes silence over Bluetooth or other connected audio devices. Turn it off if you get no sound. Auto = Awto Buffer size = Buffer size Classic (lowest latency) = Классик (максимально кампанциал) @@ -81,6 +84,7 @@ Enable Sound = Paganahin ang tunog Fill audio gaps = Пур кардани фосилаҳои аудио Game preview volume = Game preview volume Game volume = Pangkalahatang tunog +Low-latency audio (MMAP) = Low-latency audio (MMAP) Microphone = Mikropono Microphone Device = Device ng Mikropono Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index c6554c22b0..8f9af41ba0 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -68,11 +68,14 @@ Win = ชนะ [Audio] Alternate speed volume = ระดับเสียงในโหมดเร่งความเร็ว +Audio API = API เสียง # AI translated Audio backend = รูปแบบเสียงที่สนับสนุน (จำเป็นต้องรีสตาร์ท) Audio Error = ระบบเสียงเกิดข้อผิดพลาด Audio file format not supported. Must be WAV or MP3. = ไม่รองรับรูปแบบไฟล์เสียงประเภทนี้ จะใช้ได้แค่เฉพาะรูปแบบ WAV/MP3 Audio playback = การเล่นเสียง +AudioApiHint = ลองใช้อีกตัวเลือกหนึ่งหากไม่มีเสียงหรือมีปัญหาเสียงอื่นๆ # AI translated AudioBufferingForBluetooth = บลูทูธ-เฟรนด์ลี่ บัฟเฟอร์ (ช้ากว่า) +AudioMMapHint = ความหน่วงของเสียงต่ำที่สุด ในบางอุปกรณ์จะทำให้ไม่มีเสียงผ่านบลูทูธหรืออุปกรณ์เสียงอื่นที่เชื่อมต่ออยู่ ปิดตัวเลือกนี้หากไม่มีเสียง # AI translated Auto = อัตโนมัติ Buffer size = ขนาดบัฟเฟอร์ Classic (lowest latency) = คลาสสิก (ความหน่วงต่ำสุด) @@ -82,6 +85,7 @@ Enable Sound = เปิดการใช้งานเสียง Fill audio gaps = เติมช่องเสียง Game preview volume = ระดับเสียงในหน้าตัวอย่างเกม Game volume = ระดับเสียงเกม +Low-latency audio (MMAP) = เสียงความหน่วงต่ำ (MMAP) # AI translated Microphone = ไมโครโฟน Microphone Device = อุปกรณ์ไมโครโฟน Mix audio with other apps = ระบบเสียงผสมผสานร่วมกับแอพอื่นๆ diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 9876ae27ba..b1d677e41a 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -68,11 +68,14 @@ Win = Kazanmak [Audio] Alternate speed volume = Alternatif Ses Hızı +Audio API = Ses API'si # AI translated Audio backend = Ses İşleyici Audio Error = Ses Hatası Audio file format not supported. Must be WAV or MP3. = Ses dosya biçimi desteklenmiyor. WAV, MP3 olmalı. Audio playback = Ses çalma +AudioApiHint = Ses yoksa veya başka ses sorunları yaşıyorsanız diğerini deneyin. # AI translated AudioBufferingForBluetooth = Bluetooth uyumlu arabellek (daha yavaş) +AudioMMapHint = En düşük ses gecikmesi. Bazı cihazlarda Bluetooth veya bağlı diğer ses cihazlarında sesin kesilmesine neden olur. Ses gelmiyorsa kapatın. # AI translated Auto = Otomatik Buffer size = Arabellek Boyutu Classic (lowest latency) = Klasik (en düşük gecikme) @@ -82,6 +85,7 @@ Enable Sound = Sesi Etkinleştir Fill audio gaps = Ses boşluklarını doldur Game preview volume = Game preview volume Game volume = Oyun Sesi +Low-latency audio (MMAP) = Düşük gecikmeli ses (MMAP) # AI translated Microphone = Mikrofon Microphone Device = Mikrofon Cihazı Mix audio with other apps = Sesi diğer uygulamalarla karıştırın diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 3d770854d3..c96cd6eeb9 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -68,11 +68,14 @@ Win = Перемогти [Audio] Alternate speed volume = Гучність при альтернативній швидкості +Audio API = Аудіо API # AI translated Audio backend = Бекенд аудіо (потрібне перезавантаження) Audio Error = Помилка аудіо Audio file format not supported. Must be WAV or MP3. = Формат аудіофайлу не підтримується. Має бути в WAV або MP3. Audio playback = Відтворення аудіо +AudioApiHint = Спробуйте інший варіант, якщо немає звуку або є інші проблеми зі звуком. # AI translated AudioBufferingForBluetooth = Буфер, який підходить для Bluetooth (повільніше) +AudioMMapHint = Найменша затримка звуку. На деяких пристроях через це немає звуку через Bluetooth або інші підключені аудіопристрої. Вимкніть, якщо немає звуку. # AI translated Auto = Авто Buffer size = Buffer size Classic (lowest latency) = Класичний (найнижча затримка) @@ -82,6 +85,7 @@ Enable Sound = Ввімкнути звук Fill audio gaps = Заповнити аудіо-проміжки Game preview volume = Game preview volume Game volume = Глобальна гучність +Low-latency audio (MMAP) = Звук із низькою затримкою (MMAP) # AI translated Microphone = Мікрофон Microphone Device = Мікрофонний пристрій Mix audio with other apps = Змішати аудіо з іншими програмами diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 4f8cc3f894..714f7ca1ee 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -68,11 +68,14 @@ Win = Thắng [Audio] Alternate speed volume = Alternate speed volume +Audio API = API âm thanh # AI translated Audio backend = Âm thanh backend (hãy khởi động lại.) Audio Error = Audio Error Audio file format not supported. Must be WAV or MP3. = Audio file format not supported. Must be WAV or MP3. Audio playback = Phát lại âm thanh +AudioApiHint = Hãy thử tùy chọn còn lại nếu không có âm thanh hoặc gặp vấn đề âm thanh khác. # AI translated AudioBufferingForBluetooth = Bluetooth-friendly buffer (chậm) +AudioMMapHint = Độ trễ âm thanh thấp nhất. Trên một số thiết bị, tùy chọn này làm mất âm thanh qua Bluetooth hoặc các thiết bị âm thanh được kết nối khác. Hãy tắt nếu không có âm thanh. # AI translated Auto = Tự động Buffer size = Buffer size Classic (lowest latency) = Cổ điển (độ trễ thấp nhất) @@ -82,6 +85,7 @@ Enable Sound = Mở âm thanh Fill audio gaps = Lấp khoảng trống âm thanh Game preview volume = Game preview volume Game volume = Âm lượng +Low-latency audio (MMAP) = Âm thanh độ trễ thấp (MMAP) # AI translated Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index aad4297254..ab504ec34a 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -68,11 +68,14 @@ Win = 赢 [Audio] Alternate speed volume = 加速状态的音量 +Audio API = 音频 API # AI translated Audio backend = 音频引擎 Audio Error = 音频错误 Audio file format not supported. Must be WAV or MP3. = 音频文件格式不支持,必须是WAV或MP3。 Audio playback = 音频播放 +AudioApiHint = 如果没有声音或有其他音频问题,请尝试另一个选项。 # AI translated AudioBufferingForBluetooth = 蓝牙音频优化 (更慢) +AudioMMapHint = 音频延迟最低。在某些设备上,会导致蓝牙或其他已连接的音频设备没有声音。如果没有声音,请关闭此选项。 # AI translated Auto = 自动 Buffer size = 缓冲区大小 Classic (lowest latency) = 标准模式(低延迟) @@ -82,6 +85,7 @@ Enable Sound = 开启声音 Fill audio gaps = 填充音频间隙 Game preview volume = 游戏预览音量 Game volume = 全局音量 +Low-latency audio (MMAP) = 低延迟音频 (MMAP) # AI translated Microphone = 麦克风 Microphone Device = 麦克风设备 Mix audio with other apps = 允许其他APP同时播放音频 diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 5a18fdb24b..c0cf1be27f 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -68,11 +68,14 @@ Win = 贏 [Audio] Alternate speed volume = 替代速度音量 +Audio API = 音訊 API # AI translated Audio backend = 音訊後端 (需要重新啟動) Audio Error = 音訊錯誤 Audio file format not supported. Must be WAV or MP3. = 音訊檔案格式不支援,必須是 WAV 或 MP3。 Audio playback = 音頻播放 +AudioApiHint = 如果沒有聲音或有其他音訊問題,請嘗試另一個選項。 # AI translated AudioBufferingForBluetooth = 藍牙友好緩衝區 (更慢) +AudioMMapHint = 音訊延遲最低。在某些裝置上,會導致藍牙或其他已連接的音訊裝置沒有聲音。如果沒有聲音,請關閉此選項。 # AI translated Auto = 自動 Buffer size = 緩衝區大小 Classic (lowest latency) = 經典(最低延遲) @@ -82,6 +85,7 @@ Enable Sound = 啟用音效 Fill audio gaps = 填補音訊空白 Game preview volume = 遊戲預覽音量 Game volume = 全域音量 +Low-latency audio (MMAP) = 低延遲音訊 (MMAP) # AI translated Microphone = 麥克風 Microphone Device = 麥克風裝置 Mix audio with other apps = 與其他應用程式混合音訊 diff --git a/docs/translations.md b/docs/translations.md index 2ab7cd5b7c..d5dbf81066 100644 --- a/docs/translations.md +++ b/docs/translations.md @@ -37,8 +37,9 @@ from `Tools/langtool`: already have human translations, and that the section has to exist already - langtool won't create one. 4. `cargo run -- add-new-key
""` gives every language you skipped the English string - as a placeholder - `Key = Key`, with no `# same as English` marker, so it still reads as - outstanding work - and leaves the translated ones untouched. Always do this: every language file + as a placeholder - the key's value in en_US.ini, usually the key itself, with no + `# same as English` marker, so it still reads as outstanding work - and leaves the translated + ones untouched. Always do this: every language file should end up with the key. A missing key falls back to English at runtime anyway, but in the files it's indistinguishable from a translated one, so translators can't see what's left. `copy-missing-lines` does the same job across every key in the repo at once, which is a different