mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
i18n: transcribe missing english subtitles (#3199)
Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> Co-authored-by: blahpy <68830177+blahpy@users.noreply.github.com>
This commit is contained in:
parent
cca829aecd
commit
014cbb04da
10
crowdin.yml
10
crowdin.yml
|
@ -12,3 +12,13 @@ files:
|
||||||
- "en-GB"
|
- "en-GB"
|
||||||
- source: /game/assets/jak2/text/game_custom_text_en-US.json
|
- source: /game/assets/jak2/text/game_custom_text_en-US.json
|
||||||
translation: /game/assets/jak2/text/game_custom_text_%locale%.json
|
translation: /game/assets/jak2/text/game_custom_text_%locale%.json
|
||||||
|
- source: /game/assets/jak1/subtitle/subtitle_lines_en-US.json
|
||||||
|
translation: /game/assets/jak2/subtitle/subtitle_lines_%locale%.json
|
||||||
|
excluded_target_languages:
|
||||||
|
- "fr"
|
||||||
|
- "de"
|
||||||
|
- "es-ES"
|
||||||
|
- "it"
|
||||||
|
- "ja"
|
||||||
|
- "ko"
|
||||||
|
- "en-GB"
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
{
|
{
|
||||||
"cutscenes": {},
|
"cutscenes": {},
|
||||||
"other": {},
|
"other": {},
|
||||||
"speakers": {}
|
"speakers": {
|
||||||
|
"agent": "Agent",
|
||||||
|
"ashelin": "Ashelin",
|
||||||
|
"baron": "Baron Praxis",
|
||||||
|
"brutter": "Brutter",
|
||||||
|
"citizen-female": "Citizen",
|
||||||
|
"citizen-male": "Citizen",
|
||||||
|
"computer": "Computer",
|
||||||
|
"darkjak": "Dark Jak",
|
||||||
|
"daxter": "Daxter",
|
||||||
|
"errol": "Erol",
|
||||||
|
"grim": "Grim",
|
||||||
|
"guard": "Krimzon Guard",
|
||||||
|
"guard-a": "Guard A",
|
||||||
|
"guard-b": "Guard B",
|
||||||
|
"jak": "Jak",
|
||||||
|
"jinx": "Jinx",
|
||||||
|
"keira": "Keira",
|
||||||
|
"keira-before-class-3": "Mechanic",
|
||||||
|
"kid": "Kid",
|
||||||
|
"kor": "Kor",
|
||||||
|
"krew": "Krew",
|
||||||
|
"metalkor": "Metal Kor",
|
||||||
|
"mog": "Mog",
|
||||||
|
"onin": "Onin",
|
||||||
|
"oracle": "Oracle",
|
||||||
|
"pecker": "Pecker",
|
||||||
|
"precursor": "Precursor",
|
||||||
|
"samos": "Samos",
|
||||||
|
"sig": "Sig",
|
||||||
|
"tess": "Tess",
|
||||||
|
"torn": "Torn",
|
||||||
|
"vin": "Vin",
|
||||||
|
"youngsamos": "Young Samos",
|
||||||
|
"youngsamos-before-rescue": "Samos"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
{
|
{
|
||||||
"cutscenes": {},
|
"cutscenes": {},
|
||||||
"other": {},
|
"other": {},
|
||||||
"speakers": {}
|
"speakers": {
|
||||||
|
"agent": "Agent",
|
||||||
|
"ashelin": "Ashelin",
|
||||||
|
"baron": "Baron Praxis",
|
||||||
|
"brutter": "Brutter",
|
||||||
|
"citizen-female": "Citizen",
|
||||||
|
"citizen-male": "Citizen",
|
||||||
|
"computer": "Computer",
|
||||||
|
"darkjak": "Dark Jak",
|
||||||
|
"daxter": "Daxter",
|
||||||
|
"errol": "Erol",
|
||||||
|
"grim": "Grim",
|
||||||
|
"guard": "Krimzon Guard",
|
||||||
|
"guard-a": "Guard A",
|
||||||
|
"guard-b": "Guard B",
|
||||||
|
"jak": "Jak",
|
||||||
|
"jinx": "Jinx",
|
||||||
|
"keira": "Keira",
|
||||||
|
"keira-before-class-3": "Mechanic",
|
||||||
|
"kid": "Kid",
|
||||||
|
"kor": "Kor",
|
||||||
|
"krew": "Krew",
|
||||||
|
"metalkor": "Metal Kor",
|
||||||
|
"mog": "Mog",
|
||||||
|
"onin": "Onin",
|
||||||
|
"oracle": "Oracle",
|
||||||
|
"pecker": "Pecker",
|
||||||
|
"precursor": "Precursor",
|
||||||
|
"samos": "Samos",
|
||||||
|
"sig": "Sig",
|
||||||
|
"tess": "Tess",
|
||||||
|
"torn": "Torn",
|
||||||
|
"vin": "Vin",
|
||||||
|
"youngsamos": "Young Samos",
|
||||||
|
"youngsamos-before-rescue": "Samos"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,40 @@
|
||||||
{
|
{
|
||||||
"cutscenes": {},
|
"cutscenes": {},
|
||||||
"other": {},
|
"other": {},
|
||||||
"speakers": {}
|
"speakers": {
|
||||||
|
"agent": "Agent",
|
||||||
|
"ashelin": "Ashelin",
|
||||||
|
"baron": "Baron Praxis",
|
||||||
|
"brutter": "Brutter",
|
||||||
|
"citizen-female": "Citizen",
|
||||||
|
"citizen-male": "Citizen",
|
||||||
|
"computer": "Computer",
|
||||||
|
"darkjak": "Dark Jak",
|
||||||
|
"daxter": "Daxter",
|
||||||
|
"errol": "Erol",
|
||||||
|
"grim": "Grim",
|
||||||
|
"guard": "Krimzon Guard",
|
||||||
|
"guard-a": "Guard A",
|
||||||
|
"guard-b": "Guard B",
|
||||||
|
"jak": "Jak",
|
||||||
|
"jinx": "Jinx",
|
||||||
|
"keira": "Keira",
|
||||||
|
"keira-before-class-3": "Mechanic",
|
||||||
|
"kid": "Kid",
|
||||||
|
"kor": "Kor",
|
||||||
|
"krew": "Krew",
|
||||||
|
"metalkor": "Metal Kor",
|
||||||
|
"mog": "Mog",
|
||||||
|
"onin": "Onin",
|
||||||
|
"oracle": "Oracle",
|
||||||
|
"pecker": "Pecker",
|
||||||
|
"precursor": "Precursor",
|
||||||
|
"samos": "Samos",
|
||||||
|
"sig": "Sig",
|
||||||
|
"tess": "Tess",
|
||||||
|
"torn": "Torn",
|
||||||
|
"vin": "Vin",
|
||||||
|
"youngsamos": "Young Samos",
|
||||||
|
"youngsamos-before-rescue": "Samos"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,15 +158,6 @@
|
||||||
"asha054": [
|
"asha054": [
|
||||||
"On va se les faire !"
|
"On va se les faire !"
|
||||||
],
|
],
|
||||||
"asha055": [
|
|
||||||
"Ugh..."
|
|
||||||
],
|
|
||||||
"asha056": [
|
|
||||||
"Hm-agh..."
|
|
||||||
],
|
|
||||||
"asha057": [
|
|
||||||
"Hah...agh..."
|
|
||||||
],
|
|
||||||
"asht002": [
|
"asht002": [
|
||||||
"Vous aviez raison, Jak. Ce que fait mon père est mal.",
|
"Vous aviez raison, Jak. Ce que fait mon père est mal.",
|
||||||
"Je veux vous aider. Nous pourrons peut-être l'arrêter si",
|
"Je veux vous aider. Nous pourrons peut-être l'arrêter si",
|
||||||
|
@ -449,9 +440,6 @@
|
||||||
"bf094": [
|
"bf094": [
|
||||||
"Allez approche !"
|
"Allez approche !"
|
||||||
],
|
],
|
||||||
"bf095": [
|
|
||||||
"To the end!"
|
|
||||||
],
|
|
||||||
"bf098": [
|
"bf098": [
|
||||||
"ARGHHH !"
|
"ARGHHH !"
|
||||||
],
|
],
|
||||||
|
@ -668,9 +656,6 @@
|
||||||
"cityv009": [
|
"cityv009": [
|
||||||
"Ravie de vous voir vivant."
|
"Ravie de vous voir vivant."
|
||||||
],
|
],
|
||||||
"cityv010": [
|
|
||||||
"Security clearance granted."
|
|
||||||
],
|
|
||||||
"cityv011": [
|
"cityv011": [
|
||||||
"Entrée refusée. Vous n'avez pas l'autorisation."
|
"Entrée refusée. Vous n'avez pas l'autorisation."
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
{
|
{
|
||||||
"cutscenes": {},
|
"cutscenes": {},
|
||||||
"other": {},
|
"other": {},
|
||||||
"speakers": {}
|
"speakers": {
|
||||||
|
"agent": "Agent",
|
||||||
|
"ashelin": "Ashelin",
|
||||||
|
"baron": "Baron Praxis",
|
||||||
|
"brutter": "Brutter",
|
||||||
|
"citizen-female": "Citizen",
|
||||||
|
"citizen-male": "Citizen",
|
||||||
|
"computer": "Computer",
|
||||||
|
"darkjak": "Dark Jak",
|
||||||
|
"daxter": "Daxter",
|
||||||
|
"errol": "Erol",
|
||||||
|
"grim": "Grim",
|
||||||
|
"guard": "Krimzon Guard",
|
||||||
|
"guard-a": "Guard A",
|
||||||
|
"guard-b": "Guard B",
|
||||||
|
"jak": "Jak",
|
||||||
|
"jinx": "Jinx",
|
||||||
|
"keira": "Keira",
|
||||||
|
"keira-before-class-3": "Mechanic",
|
||||||
|
"kid": "Kid",
|
||||||
|
"kor": "Kor",
|
||||||
|
"krew": "Krew",
|
||||||
|
"metalkor": "Metal Kor",
|
||||||
|
"mog": "Mog",
|
||||||
|
"onin": "Onin",
|
||||||
|
"oracle": "Oracle",
|
||||||
|
"pecker": "Pecker",
|
||||||
|
"precursor": "Precursor",
|
||||||
|
"samos": "Samos",
|
||||||
|
"sig": "Sig",
|
||||||
|
"tess": "Tess",
|
||||||
|
"torn": "Torn",
|
||||||
|
"vin": "Vin",
|
||||||
|
"youngsamos": "Young Samos",
|
||||||
|
"youngsamos-before-rescue": "Samos"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
{
|
{
|
||||||
"cutscenes": {},
|
"cutscenes": {},
|
||||||
"other": {},
|
"other": {},
|
||||||
"speakers": {}
|
"speakers": {
|
||||||
|
"agent": "Agent",
|
||||||
|
"ashelin": "Ashelin",
|
||||||
|
"baron": "Baron Praxis",
|
||||||
|
"brutter": "Brutter",
|
||||||
|
"citizen-female": "Citizen",
|
||||||
|
"citizen-male": "Citizen",
|
||||||
|
"computer": "Computer",
|
||||||
|
"darkjak": "Dark Jak",
|
||||||
|
"daxter": "Daxter",
|
||||||
|
"errol": "Erol",
|
||||||
|
"grim": "Grim",
|
||||||
|
"guard": "Krimzon Guard",
|
||||||
|
"guard-a": "Guard A",
|
||||||
|
"guard-b": "Guard B",
|
||||||
|
"jak": "Jak",
|
||||||
|
"jinx": "Jinx",
|
||||||
|
"keira": "Keira",
|
||||||
|
"keira-before-class-3": "Mechanic",
|
||||||
|
"kid": "Kid",
|
||||||
|
"kor": "Kor",
|
||||||
|
"krew": "Krew",
|
||||||
|
"metalkor": "Metal Kor",
|
||||||
|
"mog": "Mog",
|
||||||
|
"onin": "Onin",
|
||||||
|
"oracle": "Oracle",
|
||||||
|
"pecker": "Pecker",
|
||||||
|
"precursor": "Precursor",
|
||||||
|
"samos": "Samos",
|
||||||
|
"sig": "Sig",
|
||||||
|
"tess": "Tess",
|
||||||
|
"torn": "Torn",
|
||||||
|
"vin": "Vin",
|
||||||
|
"youngsamos": "Young Samos",
|
||||||
|
"youngsamos-before-rescue": "Samos"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -463,14 +463,18 @@ void SubtitleEditor::draw_subtitle_options(GameSubtitleSceneInfo& scene, bool cu
|
||||||
if (!line_meta.merge) {
|
if (!line_meta.merge) {
|
||||||
if (ImGui::BeginCombo(
|
if (ImGui::BeginCombo(
|
||||||
"Speaker",
|
"Speaker",
|
||||||
m_subtitle_db.m_banks[m_current_language]->m_speakers.at(line_speaker).c_str())) {
|
fmt::format("{} ({})",
|
||||||
|
m_subtitle_db.m_banks[m_current_language]->m_speakers.at(line_speaker),
|
||||||
|
line_speaker)
|
||||||
|
.c_str())) {
|
||||||
for (const auto& [speaker_id, localized_name] :
|
for (const auto& [speaker_id, localized_name] :
|
||||||
m_subtitle_db.m_banks[m_current_language]->m_speakers) {
|
m_subtitle_db.m_banks[m_current_language]->m_speakers) {
|
||||||
const bool is_selected = speaker_id == line_speaker;
|
const bool is_selected = speaker_id == line_speaker;
|
||||||
if (is_selected) {
|
if (is_selected) {
|
||||||
ImGui::SetItemDefaultFocus();
|
ImGui::SetItemDefaultFocus();
|
||||||
}
|
}
|
||||||
if (ImGui::Selectable(localized_name.c_str(), is_selected)) {
|
if (ImGui::Selectable(fmt::format("{} ({})", localized_name, speaker_id).c_str(),
|
||||||
|
is_selected)) {
|
||||||
line_meta.speaker = speaker_id;
|
line_meta.speaker = speaker_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -524,14 +528,16 @@ void SubtitleEditor::draw_new_scene_line_form() {
|
||||||
current_speaker =
|
current_speaker =
|
||||||
m_subtitle_db.m_banks[m_current_language]->m_speakers.at(m_current_scene_speaker);
|
m_subtitle_db.m_banks[m_current_language]->m_speakers.at(m_current_scene_speaker);
|
||||||
}
|
}
|
||||||
if (ImGui::BeginCombo("Speaker", current_speaker.c_str())) {
|
if (ImGui::BeginCombo("Speaker",
|
||||||
|
fmt::format("{} ({})", current_speaker, m_current_scene_speaker).c_str())) {
|
||||||
for (const auto& [speaker_id, localized_name] :
|
for (const auto& [speaker_id, localized_name] :
|
||||||
m_subtitle_db.m_banks[m_current_language]->m_speakers) {
|
m_subtitle_db.m_banks[m_current_language]->m_speakers) {
|
||||||
const bool is_selected = speaker_id == m_current_scene_speaker;
|
const bool is_selected = speaker_id == m_current_scene_speaker;
|
||||||
if (is_selected) {
|
if (is_selected) {
|
||||||
ImGui::SetItemDefaultFocus();
|
ImGui::SetItemDefaultFocus();
|
||||||
}
|
}
|
||||||
if (ImGui::Selectable(localized_name.c_str(), is_selected)) {
|
if (ImGui::Selectable(fmt::format("{} ({})", localized_name, speaker_id).c_str(),
|
||||||
|
is_selected)) {
|
||||||
m_current_scene_speaker = speaker_id;
|
m_current_scene_speaker = speaker_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
|
||||||
(defconstant PC_SUBTITLE_FILE_SIZE (* 192 1024)) ;; 192K heap for subtitles. adjust later if necessary.
|
(defconstant PC_SUBTITLE_FILE_SIZE (* 384 1024)) ;; 384K heap for subtitles. adjust later if necessary.
|
||||||
(defconstant PC_SUBTITLE_FILE_NAME "subti2")
|
(defconstant PC_SUBTITLE_FILE_NAME "subti2")
|
||||||
(defconstant PC_SUBTITLE_QUEUE_SIZE 5) ;; up to 8 things that display subtitles can be detected at once
|
(defconstant PC_SUBTITLE_QUEUE_SIZE 5) ;; up to 8 things that display subtitles can be detected at once
|
||||||
(defconstant PC_SUBTITLE_QUEUE_MAX_LINES 2) ;; up to 2 lines can be queued per queueable thing
|
(defconstant PC_SUBTITLE_QUEUE_MAX_LINES 2) ;; up to 2 lines can be queued per queueable thing
|
||||||
|
|
Loading…
Reference in a new issue