mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-11 15:13:37 +02:00
Merge pull request #21285 from hrydgard/lang-fixes
Minor translation fixes
This commit is contained in:
+102
-190
@@ -302,7 +302,7 @@ fn check_keys(target_ini: &IniFile) -> io::Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn fixup_keys(target_ini: IniFile, dry_run: bool) -> io::Result<()> {
|
||||
fn fixup_keys(target_ini: &IniFile, dry_run: bool) -> io::Result<()> {
|
||||
for section in &target_ini.sections {
|
||||
let mut mismatches = Vec::new();
|
||||
|
||||
@@ -611,7 +611,7 @@ fn generate_prompt(filenames: &[String], section: &str, value: &str, extra: &str
|
||||
let base_str = format!("Please translate '{value}' from US English to all of these languages: {languages}.
|
||||
Output in json format, a single dictionary, key=value. Include en_US first (the original string).
|
||||
For context, the string will be in the translation section '{section}', and these strings are UI strings for my PSP emulator application.
|
||||
Keep the strings relatively short, don't let them become more than 40% longer than the original string.
|
||||
Keep the strings relatively short, try not to let them become more than 60% longer than the original string.
|
||||
Do not output any text before or after the list of translated strings, do not ask followups.
|
||||
{extra}");
|
||||
|
||||
@@ -664,7 +664,7 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
let root = "../../assets/lang";
|
||||
let reference_ini_filename = "en_US.ini";
|
||||
|
||||
let mut reference_ini =
|
||||
let reference_ini =
|
||||
IniFile::parse_file(&format!("{root}/{reference_ini_filename}")).unwrap();
|
||||
|
||||
let mut filenames = Vec::new();
|
||||
@@ -672,9 +672,6 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
// Grab them all.
|
||||
for path in std::fs::read_dir(root).unwrap() {
|
||||
let path = path.unwrap();
|
||||
if path.file_name() == reference_ini_filename {
|
||||
continue;
|
||||
}
|
||||
let filename = path.file_name();
|
||||
let filename = filename.to_string_lossy();
|
||||
if !filename.ends_with(".ini") {
|
||||
@@ -767,6 +764,8 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
|
||||
let mut target_ini = IniFile::parse_file(&target_ini_filename).unwrap();
|
||||
|
||||
let is_reference = filename == reference_ini_filename;
|
||||
|
||||
match cmd {
|
||||
Command::ApplyRegex {
|
||||
ref section,
|
||||
@@ -793,27 +792,48 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
language: _,
|
||||
section: _,
|
||||
} => {}
|
||||
Command::FixupRefKeys => {}
|
||||
Command::CheckRefKeys => {}
|
||||
Command::FixupRefKeys => if is_reference {
|
||||
fixup_keys(&target_ini, dry_run).unwrap();
|
||||
}
|
||||
Command::CheckRefKeys => if is_reference {
|
||||
check_keys(&target_ini).unwrap();
|
||||
}
|
||||
Command::CopyMissingLines {
|
||||
dont_comment_missing,
|
||||
} => {
|
||||
copy_missing_lines(reference_ini, &mut target_ini, !dont_comment_missing).unwrap();
|
||||
}
|
||||
Command::CommentUnknownLines {} => {
|
||||
deal_with_unknown_lines(reference_ini, &mut target_ini, UnknownLineAction::Comment)
|
||||
if !is_reference {
|
||||
deal_with_unknown_lines(
|
||||
reference_ini,
|
||||
&mut target_ini,
|
||||
UnknownLineAction::Comment,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
Command::RemoveUnknownLines {} => {
|
||||
deal_with_unknown_lines(reference_ini, &mut target_ini, UnknownLineAction::Remove)
|
||||
if !is_reference {
|
||||
deal_with_unknown_lines(
|
||||
reference_ini,
|
||||
&mut target_ini,
|
||||
UnknownLineAction::Remove,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
Command::ListUnknownLines {} => {
|
||||
deal_with_unknown_lines(reference_ini, &mut target_ini, UnknownLineAction::Log)
|
||||
.unwrap();
|
||||
if !is_reference {
|
||||
deal_with_unknown_lines(reference_ini, &mut target_ini, UnknownLineAction::Log)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
Command::GetNewKeys => {
|
||||
print_keys_if_not_in(reference_ini, &mut target_ini, &target_ini_filename).unwrap();
|
||||
if !is_reference {
|
||||
print_keys_if_not_in(reference_ini, &mut target_ini, &target_ini_filename)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
Command::SortSection { ref section } => sort_section(&mut target_ini, section).unwrap(),
|
||||
Command::RenameKey {
|
||||
@@ -828,51 +848,73 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
Command::AddNewKeyAI {
|
||||
ref section,
|
||||
ref key,
|
||||
extra: _,
|
||||
ref extra,
|
||||
overwrite_translated,
|
||||
} => {
|
||||
let lang = filename.split_once('.').unwrap().0;
|
||||
if let Some(ai_response) = &ai_response {
|
||||
// Process it.
|
||||
if let Some(translated_string) = ai_response.get(lang) {
|
||||
println!("{lang}:");
|
||||
add_new_key(
|
||||
&mut target_ini,
|
||||
section,
|
||||
key,
|
||||
&format!("{translated_string} # AI translated"),
|
||||
overwrite_translated,
|
||||
)
|
||||
.unwrap();
|
||||
} else {
|
||||
println!("Language {lang} not found in response. Bailing.");
|
||||
return;
|
||||
if !is_reference {
|
||||
let lang = filename.split_once('.').unwrap().0;
|
||||
if let Some(ai_response) = &ai_response {
|
||||
// Process it.
|
||||
if let Some(translated_string) = ai_response.get(lang) {
|
||||
println!("{lang}:");
|
||||
add_new_key(
|
||||
&mut target_ini,
|
||||
section,
|
||||
key,
|
||||
&format!("{translated_string} # AI translated"),
|
||||
overwrite_translated,
|
||||
)
|
||||
.unwrap();
|
||||
} else {
|
||||
println!("Language {lang} not found in response. Bailing.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ai_response.is_some() {
|
||||
let _ = extra;
|
||||
add_new_key(&mut target_ini, section, key, key, overwrite_translated)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
Command::AddNewKeyValueAI {
|
||||
ref section,
|
||||
ref key,
|
||||
value: _, // was translated above
|
||||
extra: _,
|
||||
ref value, // was translated above
|
||||
ref extra,
|
||||
overwrite_translated,
|
||||
} => {
|
||||
let lang = filename.split_once('.').unwrap().0;
|
||||
if let Some(ai_response) = &ai_response {
|
||||
// Process it.
|
||||
if let Some(translated_string) = ai_response.get(lang) {
|
||||
println!("{lang}:");
|
||||
if !is_reference {
|
||||
let lang = filename.split_once('.').unwrap().0;
|
||||
if let Some(ai_response) = &ai_response {
|
||||
// Process it.
|
||||
if let Some(translated_string) = ai_response.get(lang) {
|
||||
println!("{lang}:");
|
||||
add_new_key(
|
||||
&mut target_ini,
|
||||
section,
|
||||
key,
|
||||
&format!("{translated_string} # AI translated"),
|
||||
overwrite_translated,
|
||||
)
|
||||
.unwrap();
|
||||
} else {
|
||||
println!("Language {lang} not found in response. Bailing.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ai_response.is_some() {
|
||||
let _ = extra;
|
||||
add_new_key(
|
||||
&mut target_ini,
|
||||
section,
|
||||
key,
|
||||
&format!("{translated_string} # AI translated"),
|
||||
value,
|
||||
overwrite_translated,
|
||||
)
|
||||
.unwrap();
|
||||
} else {
|
||||
println!("Language {lang} not found in response. Bailing.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -920,29 +962,31 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
ref section,
|
||||
ref key,
|
||||
} => {
|
||||
let lang_id = filename.strip_suffix(".ini").unwrap();
|
||||
if let Some(single_section) = &single_ini_section {
|
||||
if let Some(target_section) = target_ini.get_section_mut(section) {
|
||||
if let Some(single_line) = single_section.get_line(lang_id) {
|
||||
if let Some(value) = line_value(&single_line) {
|
||||
println!(
|
||||
"Inserting value {value} for key {key} in section {section} in {target_ini_filename}"
|
||||
);
|
||||
if !target_section.insert_line_if_missing(&format!(
|
||||
"{key} = {value} # AI translated"
|
||||
)) {
|
||||
// Didn't insert it, so it exists. We need to replace it.
|
||||
target_section.set_value(key, value, Some("AI translated"));
|
||||
if !is_reference {
|
||||
let lang_id = filename.strip_suffix(".ini").unwrap();
|
||||
if let Some(single_section) = &single_ini_section {
|
||||
if let Some(target_section) = target_ini.get_section_mut(section) {
|
||||
if let Some(single_line) = single_section.get_line(lang_id) {
|
||||
if let Some(value) = line_value(&single_line) {
|
||||
println!(
|
||||
"Inserting value {value} for key {key} in section {section} in {target_ini_filename}"
|
||||
);
|
||||
if !target_section.insert_line_if_missing(&format!(
|
||||
"{key} = {value} # AI translated"
|
||||
)) {
|
||||
// Didn't insert it, so it exists. We need to replace it.
|
||||
target_section.set_value(key, value, Some("AI translated"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
println!("No lang_id {lang_id} in single section");
|
||||
}
|
||||
} else {
|
||||
println!("No lang_id {lang_id} in single section");
|
||||
println!("No section {section} in {target_ini_filename}");
|
||||
}
|
||||
} else {
|
||||
println!("No section {section} in {target_ini_filename}");
|
||||
println!("No section {section} in {filename}");
|
||||
}
|
||||
} else {
|
||||
println!("No section {section} in {filename}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -954,138 +998,6 @@ fn execute_command(cmd: Command, ai: Option<&ChatGPT>, dry_run: bool, verbose: b
|
||||
|
||||
println!("Langtool processing reference {reference_ini_filename}");
|
||||
|
||||
// Some commands also apply to the reference ini.
|
||||
match cmd {
|
||||
Command::ApplyRegex {
|
||||
ref section,
|
||||
ref key,
|
||||
ref pattern,
|
||||
ref replacement,
|
||||
} => {
|
||||
apply_regex(
|
||||
&mut reference_ini,
|
||||
section,
|
||||
key,
|
||||
pattern,
|
||||
replacement.as_ref().unwrap_or(&"".to_string()),
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
Command::FinishLanguageWithAI {
|
||||
language: _,
|
||||
section: _,
|
||||
} => {}
|
||||
Command::CheckRefKeys => check_keys(&reference_ini).unwrap(),
|
||||
Command::FixupRefKeys => fixup_keys(reference_ini.clone(), dry_run).unwrap(),
|
||||
Command::AddNewKey {
|
||||
ref section,
|
||||
ref key,
|
||||
} => {
|
||||
add_new_key(&mut reference_ini, section, key, key, false).unwrap();
|
||||
}
|
||||
Command::AddNewKeyAI {
|
||||
ref section,
|
||||
ref key,
|
||||
ref extra,
|
||||
overwrite_translated,
|
||||
} => {
|
||||
if ai_response.is_some() {
|
||||
let _ = extra;
|
||||
add_new_key(&mut reference_ini, section, key, key, overwrite_translated).unwrap();
|
||||
}
|
||||
}
|
||||
Command::AddNewKeyValueAI {
|
||||
ref section,
|
||||
ref key,
|
||||
ref value,
|
||||
extra,
|
||||
overwrite_translated,
|
||||
} => {
|
||||
if ai_response.is_some() {
|
||||
let _ = extra;
|
||||
add_new_key(
|
||||
&mut reference_ini,
|
||||
section,
|
||||
key,
|
||||
value,
|
||||
overwrite_translated,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
}
|
||||
Command::AddNewKeyValue {
|
||||
ref section,
|
||||
ref key,
|
||||
ref value,
|
||||
} => {
|
||||
add_new_key(&mut reference_ini, section, key, value, false).unwrap();
|
||||
}
|
||||
Command::SortSection { ref section } => sort_section(&mut reference_ini, section).unwrap(),
|
||||
Command::RenameKey {
|
||||
ref section,
|
||||
ref old,
|
||||
ref new,
|
||||
} => {
|
||||
if old == new {
|
||||
println!("WARNING: old == new");
|
||||
}
|
||||
rename_key(&mut reference_ini, section, old, new).unwrap();
|
||||
}
|
||||
Command::MoveKey {
|
||||
ref old,
|
||||
ref new,
|
||||
ref key,
|
||||
} => {
|
||||
move_key(&mut reference_ini, old, new, key).unwrap();
|
||||
}
|
||||
Command::CopyKey {
|
||||
// between sections
|
||||
ref old_section,
|
||||
ref new_section,
|
||||
ref key,
|
||||
} => {
|
||||
copy_key(&mut reference_ini, old_section, new_section, key).unwrap();
|
||||
}
|
||||
Command::DupeKey {
|
||||
// Inside a section, preserving a value
|
||||
ref section,
|
||||
ref old,
|
||||
ref new,
|
||||
} => {
|
||||
dupe_key(&mut reference_ini, section, old, new).unwrap();
|
||||
}
|
||||
Command::SplitKey {
|
||||
ref section,
|
||||
ref key,
|
||||
} => {
|
||||
split_key(&mut reference_ini, section, key).unwrap();
|
||||
}
|
||||
Command::RemoveKey {
|
||||
ref section,
|
||||
ref key,
|
||||
} => {
|
||||
remove_key(&mut reference_ini, section, key).unwrap();
|
||||
}
|
||||
Command::RemoveLinebreaks {
|
||||
ref section,
|
||||
ref key,
|
||||
} => {
|
||||
remove_linebreaks(&mut reference_ini, section, key).unwrap();
|
||||
}
|
||||
Command::CopyMissingLines {
|
||||
dont_comment_missing: _,
|
||||
} => {}
|
||||
Command::ListUnknownLines {} => {}
|
||||
Command::CommentUnknownLines {} => {}
|
||||
Command::RemoveUnknownLines {} => {}
|
||||
Command::GetNewKeys => {}
|
||||
Command::ImportSingle {
|
||||
filename: _,
|
||||
section: _,
|
||||
key: _,
|
||||
} => {}
|
||||
}
|
||||
|
||||
if !dry_run {
|
||||
reference_ini.write().unwrap();
|
||||
}
|
||||
|
||||
@@ -1676,6 +1676,11 @@ void GameSettingsScreen::OnChangeBackground(UI::EventParams &e) {
|
||||
}
|
||||
|
||||
void GameSettingsScreen::dialogFinished(const Screen *dialog, DialogResult result) {
|
||||
if (equals(dialog->tag(), "NewLanguage") && result == DR_OK) {
|
||||
screenManager()->RecreateAllViews();
|
||||
return;
|
||||
}
|
||||
|
||||
bool recreate = false;
|
||||
if (result == DialogResult::DR_OK) {
|
||||
g_Config.iFpsLimit1 = iAlternateSpeedPercent1_ < 0 ? -1 : (iAlternateSpeedPercent1_ * 60) / 100;
|
||||
|
||||
+11
-12
@@ -108,7 +108,7 @@ Binds = Qoşulmalar
|
||||
Button Binding = Düymə Qoşulması
|
||||
Button Opacity = Düymə Şəffaflığı
|
||||
Button style = Düymə biçimi
|
||||
Calibrate Analog Stick = Analoq Çubuğunu Kalibrə et
|
||||
Calibrate analog stick = Analoq Çubuğunu Kalibrə et
|
||||
Calibrate = Kalibrə et
|
||||
Calibrated = Kalibirlənib
|
||||
Calibration = Kalibirləmə
|
||||
@@ -116,16 +116,16 @@ Circular deadzone = Dairəvi ölü bölgə
|
||||
Circular stick input = Dairəvi çubuq girişi
|
||||
Classic = Klassik
|
||||
Confine Mouse = Siçanı pəncərə/görüntü içində tut
|
||||
Control Mapping = Yönəltmə xəritələnişi
|
||||
Custom Key Setting = Özəl Düymə Quruluşu
|
||||
Customize = Özəlləşdir
|
||||
Customize Touch Controls = Toxunuşlu yönəltmə düzənini düzəlt...
|
||||
Control mapping = Yönəltmə xəritələnişi
|
||||
Custom touch button setup = Custom touch button setup
|
||||
Customize = Özəlləşdir # Customize Touch Controls = Toxunuşlu yönəltmə düzənini düzəlt...
|
||||
D-PAD = D-Pad
|
||||
Deadzone radius = Ölü bölgə radiusu
|
||||
Disable D-Pad diagonals (4-way touch) = D-Pad diaqonallarını bağla (4-yönlü toxunma)
|
||||
Disable diagonal input = Diaqonal girişi bağla
|
||||
Double tap = İkili basma
|
||||
Easier sweeping movements = Asan sürükləmə hərəkətləri
|
||||
Edit touch control layout = Edit touch control layout
|
||||
Enable analog stick gesture = Analoq çubuğunun hərəkətini aç
|
||||
Enable gesture control = Hərəkət yönəltməsini aç
|
||||
Enable standard shortcut keys = Standart qısayol düymələrini aç
|
||||
@@ -158,7 +158,7 @@ Mouse wheel button-release delay = Siçan təkər düyməsinin buraxılış geci
|
||||
MouseControl Tip = 'M' simgəsini basaraq, Siz artıq yönləndirmə xəritələnişi ekranında siçanı xəritələyə bilərsiniz.
|
||||
None (Disabled) = Heç nə (bağlıdır)
|
||||
Off = Sönülü
|
||||
OnScreen = Ekran Üstü Yönləndirmə
|
||||
On-screen touch controls = On-screen touch controls
|
||||
Portrait = Portret
|
||||
Portrait Reversed = Tərs Portret
|
||||
PSP Action Buttons = PSP eyləm düymələri
|
||||
@@ -225,7 +225,6 @@ Exit = &Çıx
|
||||
Extract File... = Faylları Ç&ıxart...
|
||||
File = &Fayl
|
||||
Frame Skipping = &Kadr buraxılışı
|
||||
Frame Skipping Type = Kadr buraxılış biçimi
|
||||
Fullscreen = &Bütün Ekran
|
||||
Game Settings = &Oyun Quruluşları
|
||||
GE Debugger... = GE &Yolaqoyanı...
|
||||
@@ -282,8 +281,6 @@ Savestate Slot = Duru&m Qorunuşu Yuvası
|
||||
Screen Scaling Filter = &Ekran Ölçəklənişi Süzgəci
|
||||
Show Debug Statistics = Yolaqoyuş Durumlarını &Göstər
|
||||
Show FPS Counter = &FPS Sayğacını Göstər
|
||||
Skip Number of Frames = Kadr buraxma sayı
|
||||
Skip Percent of FPS = FPS Buraxma Yüzdəsi
|
||||
Smart 2D texture filtering = Ağıllı 2D toxuma süzgüsü
|
||||
Stop = &Dayan
|
||||
Switch UMD = UMD'ni Dəyiş
|
||||
@@ -327,7 +324,6 @@ Enable Logging = Çözüm gündəliklənişini aç
|
||||
Enable shader cache = Kölgələyici önyaddaşını aç
|
||||
Enter address = Adresi yaz
|
||||
Fast = Sürətli
|
||||
Fast-forward mode = Sürətli irəli veriş modu
|
||||
FPU = FPU
|
||||
Fragment = Bölüntü
|
||||
Frame timing = Kadr Zamanlaması
|
||||
@@ -531,7 +527,7 @@ Failed to load executable: = işlənə bilənin yüklənişi uğursuz oldu:
|
||||
File corrupt = Fayl korlanıb
|
||||
File format not supported = Fayl formatı dəstəklənmir # AI translated
|
||||
File not found: %1 = Fayl tapılmayıb: %1
|
||||
Game disc read error - ISO korlanıb = Oyun diskində oxunuş yanlışı: ISO korlanıb.
|
||||
Game disc read error - ISO corrupt = Oyun diskində oxunuş yanlışı: ISO korlanıb.
|
||||
GenericAllStartupError = PPSSPP istənilən arxa-uclu görüntü kartı ilə başlada bilmədi. Kartınızı və başqa sürücülərinizi yüksəltməyi sınayın.
|
||||
GenericBackendSwitchCrash = PPSSPP başlayarkən çökdü.\n\nÇox vaxt bu, görüntü sürücüsündəki sıxıntıdan qaynaqlanır. Görüntü sürücülərini yüksəltməyə çalışın.\n\nGörüntü arxa-ucu dəyişildi:
|
||||
GenericGraphicsError = Görüntü Yanlışı
|
||||
@@ -668,6 +664,7 @@ Device = Qurğu
|
||||
Direct3D 11 = Direct3D 11
|
||||
Disable culling = Ayıqlamanı bağla
|
||||
Disabled = Bağlıdır
|
||||
Display = Display
|
||||
Display layout & effects = Ekran qaplaması və effektlər
|
||||
Display Resolution (HW scaler) = Ekran çözünürlüyü (Qurğu ölçəkləyicisi)
|
||||
Display rotation = Görüntü dönüşü
|
||||
@@ -706,6 +703,7 @@ Lazy texture caching Tip = Sürətlidir, ancaq bir sıra oyunda yazı sıxıntı
|
||||
Lens flare occlusion = Linza parlaması tıxanıqlığı
|
||||
Linear = Düz xəttli
|
||||
Low = Aşağı
|
||||
Low latency display = Low latency display
|
||||
LowCurves = Spline/Bezier əyrisi keyfiyyəti
|
||||
LowCurves Tip = Ancaq bir sıra oyunda işlənir. Əyrilərin axışqanlığını yönəldir
|
||||
Lower resolution for effects = Effektlər üçün aşağı çözünürlük
|
||||
@@ -1001,6 +999,7 @@ Error = Yanlış
|
||||
Failed to Bind Localhost IP = Localhost IP'ni birləşdirmə uğursuz oldu
|
||||
Failed to Bind Port = Portu birləşdirmə uğursuz oldu
|
||||
Failed to connect to Adhoc Server = Ad hoc qulluqçusuna qoşulma uğursuz oldu
|
||||
File transfer completed: %1 = File transfer completed: %1
|
||||
Forced First Connect = İlk qoşulmaya güc verdi (daha sürətli qoşulma)
|
||||
GM: Data from Unknown Port = GM: Bilinməyən Port Veriləni
|
||||
Hostname = Sahibin adı
|
||||
@@ -1040,6 +1039,7 @@ UPnP need to be reinitialized = UPnP, yenidən başladılmalıdır
|
||||
UPnP use original port = UPnP doğma portu işlədir (açıqdır = PSP uyumluğu)
|
||||
UseOriginalPort Tip = Bütün qurğular və ya oyunlar üçün işləməyə bilər, vikiyə baxın.
|
||||
Validating address... = Adres doğrulanır...
|
||||
With a web browser on the same network, go to: = With a web browser on the same network, go to:
|
||||
WLAN Channel = WLAN kanalı
|
||||
You're in Offline Mode, go to lobby or online hall = Siz bağlantısızsınız, girişə ya da çevrimiçi zalına gedin
|
||||
|
||||
@@ -1157,7 +1157,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Saytımıza baş çəkin:
|
||||
written = Sürət və daşınabilərlik baxımından C++ ilə yazılıb
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Oyunlara göz at
|
||||
|
||||
+14
-2
@@ -72,6 +72,7 @@ Audio file format not supported. Must be WAV or MP3. = Audio-Dateiformat wird ni
|
||||
Audio playback = Audio-Wiedergabe
|
||||
AudioBufferingForBluetooth = Bluetooth-freundliche Pufferung (langsamer)
|
||||
Auto = Autom.
|
||||
Buffer size = Buffer size
|
||||
Classic (lowest latency) = Klassisch (niedrigste Latenz)
|
||||
Device = Gerät
|
||||
Disabled = Deaktiviert
|
||||
@@ -250,6 +251,7 @@ Nearest = Nächster Nachbar
|
||||
Pause when not focused = Pausieren im Hintergrund
|
||||
Recent = &Zuletzt
|
||||
Restart Graphics = Grafiken neu starten
|
||||
Save frame dump = Save frame d&ump
|
||||
Skip Buffer Effects = Puffereffekte überspringen
|
||||
Off = Aus
|
||||
Open Chat = Chat öffnen
|
||||
@@ -320,6 +322,7 @@ Enable driver bug workarounds = Treiberfehler-Umgehungen aktivieren
|
||||
Enable Logging = Fehlerbehebungs-Protokollierung aktivieren
|
||||
Enable shader cache = Schattierer-Cache aktivieren
|
||||
Enter address = Adresse eingeben
|
||||
Fast = Fast
|
||||
FPU = FPU
|
||||
Fragment = Fragment
|
||||
Frame timing = Einzelbild-Timing
|
||||
@@ -331,6 +334,7 @@ GPU Allocator Viewer = GPU-Allokator-Anzeige
|
||||
GPU Driver Test = GPU-Treibertest
|
||||
GPU log profiler = GPU Protokollprofilierer
|
||||
GPU Profile = GPU-Profil
|
||||
Instant (may stutter) = Instant (may stutter)
|
||||
Jit Compare = JIT-Vergleich
|
||||
JIT debug tools = JIT-Fehlerbehebungs-Werkzeuge
|
||||
Log Dropped Frame Statistics = Statistik für fehlende Einzelbilder protokollieren
|
||||
@@ -338,14 +342,17 @@ Log Level = Protokollierungsstufe
|
||||
Log to file = In Datei protokollieren
|
||||
Log View = Protokollansicht
|
||||
Logging Channels = Protkollkanäle
|
||||
Medium = Medium
|
||||
Multi-threaded rendering = Multi-threaded rendering
|
||||
Next = Nächstes
|
||||
No block = Kein Block
|
||||
Off = Aus
|
||||
Prev = Vorheriges
|
||||
Prevent loading overlays = Prevent loading overlays
|
||||
Random = Zufall
|
||||
Remote debugger = Fern-Debugger
|
||||
Replace textures = Texturen ersetzen
|
||||
Replacement texture load speed = Replacement texture load speed
|
||||
Reset = Zurücksetzen
|
||||
Reset limited logging = Eingeschränkte Protokollierung zurücksetzen
|
||||
RestoreDefaultSettings = Alle Einstellungen auf ihre Vorgabewerte zurücksetzen?\nDies kann nicht rückgängig gemacht werden.\nBitte starte PPSSPP nach Wiederherstellung neu.
|
||||
@@ -355,12 +362,12 @@ Save new textures = Neue Texturen speichern
|
||||
Shader Viewer = Schattierer-Anzeige
|
||||
Show GPO LEDs = GPO-LEDs anzeigen
|
||||
Show in-game developer menu = Entwicklermenü anzeigen
|
||||
Slow (smooth) = Slow (smooth)
|
||||
Stats = Statistiken
|
||||
System Information = Systeminformationen
|
||||
Tests = Tests
|
||||
Texture ini file created = Textur-ini-Datei erstellt
|
||||
Texture Replacement = Texturaustausch
|
||||
Toggle Debugger = Fehlerbeheber umschalten
|
||||
Audio Debug = Audio-Fehlerbehebung
|
||||
Control Debug = Steuerungs-Fehlerbehebung
|
||||
Toggle Freeze = Einfrieren umschalten
|
||||
@@ -449,6 +456,7 @@ Logging in... = Anmeldung...
|
||||
More info = Weitere Infos
|
||||
Move = Bewegen
|
||||
Move Down = Abwärts bewegen
|
||||
Move to trash = Move to trash
|
||||
Move Up = Aufwärts bewegen
|
||||
Network Connection = Netzwerkverbindung
|
||||
NEW DATA = NEUE DATEN
|
||||
@@ -485,6 +493,7 @@ SSID = SSID
|
||||
Submit = Einreichen
|
||||
Supported = Unterstützt
|
||||
There is no data = Keine Daten vorhanden
|
||||
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
|
||||
This will overwrite the existing configuration = Dies überschreibt die vorhandene Konfiguration # AI translated
|
||||
Toggle All = Alle umschalten
|
||||
Toggle List = Liste umschalten
|
||||
@@ -904,10 +913,11 @@ Swipe Up = Aufwärts wischen
|
||||
tap to customize = zum Anpassen antippen
|
||||
Texture Dumping = Texturspeicherung
|
||||
Texture Replacement = Texturersetzung
|
||||
Toggle Debugger = Fehlerbeheber umschalten
|
||||
Toggle Fullscreen = Vollbild umschalten
|
||||
Toggle mode = Modus umschalten
|
||||
Toggle mouse input = Mauseingabe umschalten
|
||||
Toggle tilt control = Toggle tilt control
|
||||
Toggle tilt control = Neigungskontrolle umschalten
|
||||
Toggle touch controls = Berührungssteuerung umschalten
|
||||
Toggle WLAN = WLAN umschalten
|
||||
Triangle = Dreieck
|
||||
@@ -1307,6 +1317,7 @@ DPI = DPI
|
||||
Driver bugs = Treiberfehler
|
||||
Driver Version = Treiberversion
|
||||
EGL Extensions = EGL-Erweiterungen
|
||||
Font cache = Font cache
|
||||
Frames per buffer = Einzelbilder pro Zwischenspeicher
|
||||
GPU Flags = GPU Flags
|
||||
GPU Information = GPU-Information
|
||||
@@ -1436,6 +1447,7 @@ PSP Settings = PSP-Einstellungen
|
||||
PSP-1000 = PSP-1000
|
||||
PSP-2000/3000 = PSP-2000/3000
|
||||
Raw game image = Rohes Spielbild
|
||||
Recent games = Recent games
|
||||
Record Audio = Ton aufzeichnen
|
||||
Record Display = Bildschirm aufzeichnen
|
||||
Recording = Aufnahme
|
||||
|
||||
@@ -1001,6 +1001,7 @@ Network connected = Network connected
|
||||
Network functionality in this game is not guaranteed = Network functionality in this game is not guaranteed
|
||||
Network initialized = Network initialized
|
||||
Other versions of this game that should work: = Other versions of this game that should work:
|
||||
PacketRelayHint = Available on servers that provide 'aemu_postoffice' packet relay, like socom.cc. Disable this for LAN or VPN play. Can be more reliable, but sometimes slower.
|
||||
P2P mode = P2P mode
|
||||
Please change your Port Offset = Please change your port offset
|
||||
Port offset = Port offset (0 = PSP compatibility)
|
||||
|
||||
@@ -597,6 +597,7 @@ Remove From Recent = Poista "äskettäin" listalta...
|
||||
SaveData = Tallennustieto
|
||||
Setting Background = Taustakuvan asetus
|
||||
ime Played: %1h %2m %3s = Pelattu aika: %1t %2m %3s
|
||||
Time Played: %1h %2m %3s = Time Played: %1h %2m %3s
|
||||
Uncompressed = Pakkauksen purku tehty
|
||||
USA = USA
|
||||
Use background as UI background = Käytä käyttöliittymän taustakuvaa
|
||||
|
||||
@@ -439,6 +439,7 @@ Finish = םייס
|
||||
GE Frame Dumps = GE Frame Dumps
|
||||
GoldOverview1 = Buying PPSSPP Gold supports the PPSSPP project.\nIt also gives you a shiny icon to show off!
|
||||
GoldOverview2 = Your support is what makes it possible for me to continue spending so much time on PPSSPP. Thank you!
|
||||
GoldThankYou = Thank you for supporting the PPSSPP project!
|
||||
Grid = Grid
|
||||
Inactive = Inactive
|
||||
Installing... = Installing...
|
||||
@@ -453,6 +454,7 @@ Log in = Log in
|
||||
Log out = Log out
|
||||
Logged in! = Logged in!
|
||||
Logging in... = Logging in...
|
||||
More info = More info
|
||||
Move = Move
|
||||
Move Down = Move Down
|
||||
Move to trash = Move to trash
|
||||
@@ -471,6 +473,7 @@ Remove = Remove
|
||||
Reset = Reset
|
||||
Resize = Resize
|
||||
Restart = Restart
|
||||
Restore purchase = Restore purchase
|
||||
Retry = Retry
|
||||
Right side = ןימ יצד # AI translated
|
||||
Save = Save
|
||||
|
||||
@@ -208,7 +208,7 @@ Backend = Rendering di fondo (riavvia il PPSSPP)
|
||||
Bicubic = Bicubico
|
||||
Break = Interruzione
|
||||
Break on Load = Fermati al caricamento
|
||||
Buy Gold = Acquista la Versione Gold
|
||||
Buy PPSSPP Gold = Compra PPSSPP Gold
|
||||
Control Mapping... = Impostazioni dei Controlli...
|
||||
Copy PSP memory base address = Copia indirizzo base di memoria PSP
|
||||
Debugging = Debug
|
||||
|
||||
@@ -78,6 +78,7 @@ Device = Urządzenie
|
||||
Disabled = Wył.
|
||||
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
|
||||
Microphone = Mikrofon
|
||||
Microphone Device = Mikrofon
|
||||
@@ -417,6 +418,7 @@ DeleteConfirm = Dane zapisu zostaną usunięte. Czy na pewno chcesz kontynuować
|
||||
DeleteConfirmAll = Czy na pewno chcesz usunąć wszystkie dane zapisu tej gry?
|
||||
DeleteConfirmGame = Czy na pewno chcesz usunąć tę grę ze swojego urządzenia? Nie można tego cofnąć.
|
||||
DeleteConfirmGameConfig = Czy na pewno chcesz usunąć ustawienia dla tej gry?
|
||||
DeleteConfirmSaveState = Are you sure you want to permanently delete this save state?
|
||||
DeleteFailed = Nie można usunąć danych.
|
||||
Deleting = Usuwanie\nProszę czekać...
|
||||
Details = Zmiany
|
||||
@@ -607,6 +609,7 @@ Use background as UI background = Użyj tego tła
|
||||
% of the void = % pustej przestrzeni
|
||||
% of viewport = % widocznego obszaru
|
||||
%, 0:unlimited = %, 0 = bez limitu
|
||||
'Mailbox' (lower latency, recommended) = 'Mailbox' (lower latency, recommended)
|
||||
(supersampling) = (supersampling)
|
||||
(upscaling) = (skalowanie)
|
||||
1x PSP = 1× PSP
|
||||
@@ -673,8 +676,12 @@ Driver requires Android API version %1, current is %2 = Sterownik wymaga wersji
|
||||
Drivers = Sterowniki
|
||||
Enable Cardboard VR = Aktywuj Cardboard VR
|
||||
Faster, input lag = Szybsze, może powodować lagi sterowania
|
||||
FIFO (higher latency, framerate stability) = FIFO (higher latency, framerate stability)
|
||||
FIFO: latest ready = FIFO: latest ready
|
||||
FIFO: relaxed = FIFO: relaxed
|
||||
Force 60 Hz = Force 60 Hz
|
||||
FPS = Tylko FPS
|
||||
Frame presentation mode = Frame presentation mode
|
||||
Frame Rate Control = Kontrola klatek na sekundę
|
||||
Frame Skipping = Pomijanie klatek
|
||||
Framerate mode = Tryb liczby klatek
|
||||
@@ -690,6 +697,7 @@ High = Wysokie
|
||||
Hybrid = Hybrydowe
|
||||
Hybrid + Bicubic = Hybrydowe + Dwusześcienne
|
||||
Ignore camera notch when centering = Ignoruj przesunięcie kamery podczas centrowania
|
||||
Immediate (lower latency, tearing) = Immediate (lower latency, tearing)
|
||||
Install custom driver... = Zainstaluj niestandardowy sterownik...
|
||||
Integer scale factor = Całkowity współczynnik skali
|
||||
Internal Resolution = Rozdzielczość wewnętrzna
|
||||
@@ -764,6 +772,7 @@ VSync = Synchronizacja pionowa
|
||||
Vulkan = Vulkan
|
||||
Window Size = Rozmiar okna
|
||||
xBRZ = xBRZ
|
||||
Your display is set to a low refresh rate: %1 Hz. 60 Hz or higher is recommended. = Your display is set to a low refresh rate: %1 Hz. 60 Hz or higher is recommended.
|
||||
|
||||
[InstallZip]
|
||||
Data to import = Dane do importu
|
||||
@@ -1068,6 +1077,7 @@ Settings = Ustawienia
|
||||
Switch UMD = Podmień UMD
|
||||
Undo last load = Cofnij ostatnio wczytane
|
||||
Undo last save = Cofnij ostatni zapis
|
||||
Using save states is not recommended in this game = Using save states is not recommended in this game
|
||||
|
||||
[PostShaders]
|
||||
(duplicated setting, previous slider will be used) = (zduplikowane ustawienia; użyte zostanie poprzednie ustawienie)
|
||||
@@ -1111,6 +1121,7 @@ Strength = Siła
|
||||
Tex4xBRZ = 4xBRZ
|
||||
TexMMPX = MMPX
|
||||
UpscaleBicubic = UpscaleBicubic
|
||||
UpscaleSharpBilinear = Sharp bilinear upscaler
|
||||
UpscaleSpline36 = Skalowanie Spline36
|
||||
VideoSmoothingAA = Wygładzanie wideo
|
||||
Vignette = Winieta
|
||||
|
||||
@@ -1002,6 +1002,7 @@ Network functionality in this game is not guaranteed =A funcionalidade da rede n
|
||||
Network initialized = Rede inicializada
|
||||
Other versions of this game that should work: = Outras versões deste jogo que devem funcionar:
|
||||
P2P mode = Modo P2P # AI translated
|
||||
PacketRelayHint = Available on servers that provide 'aemu_postoffice' packet relay, like socom.cc. Disable this for LAN or VPN play. Can be more reliable, but sometimes slower.
|
||||
Please change your Port Offset = Por favor mude seu deslocamento da porta
|
||||
Port offset = Deslocamento da porta (0 = Compatibilidade com o PSP)
|
||||
Open PPSSPP Multiplayer Wiki Page = Abrir a Página do Multiplayer do Wiki do PPSSPP
|
||||
|
||||
@@ -672,6 +672,7 @@ CPU texture upscaler (slow) = Tipo de ampliação (CPU)
|
||||
Current GPU driver = Driver atual da GPU
|
||||
Default GPU driver = Driver padrão da GPU
|
||||
Disable culling = Desativar culling
|
||||
Disabled = Disabled
|
||||
Display = Tela
|
||||
Display layout & effects = Mostrar o editor dos esquemas
|
||||
Display rotation = Rotação da tela
|
||||
|
||||
@@ -692,8 +692,7 @@ Faster, input lag = เร็วขึ้น, อาจทำให้เกิ
|
||||
FIFO (higher latency, framerate stability) = FIFO (ความหน่วงสูงขึ้น, ความเสถียรของอัตราเฟรม)
|
||||
FIFO: latest ready = FIFO: ล่าสุดพร้อม
|
||||
FIFO: relaxed = FIFO: ผ่อนคลาย
|
||||
Force 60 Hz = Force 60 Hz
|
||||
Force 60Hz = บังคับที่ 60Hz
|
||||
Force 60 Hz = บังคับที่ 60Hz
|
||||
FPS = เฟรมต่อวินาที
|
||||
Frame presentation mode = โหมดการแสดงเฟรม
|
||||
Frame Rate Control = การควบคุมเฟรมเรท
|
||||
@@ -749,8 +748,7 @@ RenderDuplicateFrames Tip = ช่วยให้ภาพดูลื่นต
|
||||
Rendering Mode = โหมดที่ใช้ในการแสดงผล
|
||||
Rendering Resolution = ความละเอียดในการแสดงผลภาพ
|
||||
RenderingMode NonBuffered Tip = เร็วขึ้นก็จริง แต่กราฟิกอาจจะขาดหายไปในบางเกม
|
||||
Request 60 Hz = Request 60 Hz
|
||||
Request 60Hz = ต้องการที่ 60Hz
|
||||
Request 60 Hz = ต้องการที่ 60Hz
|
||||
Rotate controls = หมุนการควบคุม # AI translated
|
||||
Rotation = หมุนจอ
|
||||
Safe = ปลอดภัย
|
||||
|
||||
Reference in New Issue
Block a user