Notice that the QuitConfirmationReplay looks like it should use the "Yes", "No", "Confirmation" strings without context, since the other confirmation message boxes use those strings as well.
If I search for the translations of "Confirmation", I see they're the same for any language.
For "Yes", they're all the same except for Irish / Gaeilge / `ga`:
```
ga.public-gui-gamesetup.po-msgstr "Sea"
ga.public-gui-ingame.po-msgstr "Sea"
ga.public-gui-ingame.po-msgstr "Tá"
ga.public-gui-lobby.po-msgstr "Sea"
ga.public-gui-other.po-msgstr "Tá"
```
```
#: gui/session/session.js:720
msgctxt "replayFinished"
msgid "No"
msgstr "Ní hea"
#: gui/session/session.js:720
msgctxt "replayFinished"
msgid "Yes"
msgstr "Sea"
```
So this patch conserves the string, as I can't judge whether that translation is incorrect or unfit.
```
lines=8
[elexis@elexis l10n]$ grep -R 'msgid "Confirmation"' -A3 | grep msgstr | sort
af.public-gui-ingame.po-msgstr ""
af.public-gui-ingame.po-msgstr ""
af.public-gui-lobby.po-msgstr ""
af.public-gui-other.po-msgstr ""
ar_EG.public-gui-ingame.po-msgstr ""
ar_EG.public-gui-ingame.po-msgstr ""
ar_EG.public-gui-lobby.po-msgstr ""
ar_EG.public-gui-other.po-msgstr ""
ar.public-gui-ingame.po-msgstr "أكّد"
ar.public-gui-ingame.po-msgstr "أكّد"
ar.public-gui-lobby.po-msgstr "أكّد"
ar.public-gui-other.po-msgstr "أكّد"
ar_SA.public-gui-ingame.po-msgstr ""
ar_SA.public-gui-ingame.po-msgstr ""
ar_SA.public-gui-lobby.po-msgstr ""
ar_SA.public-gui-other.po-msgstr ""
ast.public-gui-ingame.po-msgstr "Confirmanza"
ast.public-gui-ingame.po-msgstr "Confirmanza"
ast.public-gui-lobby.po-msgstr "Confirmanza"
ast.public-gui-other.po-msgstr "Confirmanza"
az.public-gui-ingame.po-msgstr ""
az.public-gui-ingame.po-msgstr ""
az.public-gui-lobby.po-msgstr ""
az.public-gui-other.po-msgstr ""
be.public-gui-ingame.po-msgstr ""
be.public-gui-ingame.po-msgstr ""
be.public-gui-lobby.po-msgstr ""
be.public-gui-other.po-msgstr ""
bg.public-gui-ingame.po-msgstr "Потвърждаване"
bg.public-gui-ingame.po-msgstr "Потвърждаване"
bg.public-gui-lobby.po-msgstr "Потвърждение"
bg.public-gui-other.po-msgstr "Потвърждаване"
bn.public-gui-ingame.po-msgstr ""
bn.public-gui-ingame.po-msgstr ""
bn.public-gui-lobby.po-msgstr ""
bn.public-gui-other.po-msgstr ""
br.public-gui-ingame.po-msgstr "Kadarnadenn"
br.public-gui-ingame.po-msgstr "Kadarnadenn"
br.public-gui-lobby.po-msgstr "Kadarnadenn"
br.public-gui-other.po-msgstr "Kadarnadenn"
ca.public-gui-ingame.po-msgstr "Confirmació"
ca.public-gui-ingame.po-msgstr "Confirmació"
ca.public-gui-lobby.po-msgstr "Confirmació"
ca.public-gui-other.po-msgstr "Confirmació"
cs.public-gui-ingame.po-msgstr "Potvrzení"
cs.public-gui-ingame.po-msgstr "Potvrzení"
cs.public-gui-lobby.po-msgstr "Potvrzení"
cs.public-gui-other.po-msgstr "Potvrzení"
cy.public-gui-ingame.po-msgstr "Cadarnhad"
cy.public-gui-ingame.po-msgstr "Cadarnhad"
cy.public-gui-lobby.po-msgstr "Cadarnhad"
cy.public-gui-other.po-msgstr "Cadarnhad"
da.public-gui-ingame.po-msgstr "Bekræftelse"
da.public-gui-ingame.po-msgstr "Bekræftelse"
da.public-gui-lobby.po-msgstr ""
da.public-gui-other.po-msgstr "Bekræftelse"
de.public-gui-ingame.po-msgstr "Bestätigung"
de.public-gui-ingame.po-msgstr "Bestätigung"
de.public-gui-lobby.po-msgstr "Bestätigung"
de.public-gui-other.po-msgstr "Bestätigung"
el.public-gui-ingame.po-msgstr "Επιβεβαίωση"
el.public-gui-ingame.po-msgstr "Επιβεβαίωση"
el.public-gui-lobby.po-msgstr "Επιβεβαίωση"
el.public-gui-other.po-msgstr "Επιβεβαίωση"
en_GB.public-gui-ingame.po-msgstr "Confirmation"
en_GB.public-gui-ingame.po-msgstr "Confirmation"
en_GB.public-gui-lobby.po-msgstr "Confirmation"
en_GB.public-gui-other.po-msgstr "Confirmation"
eo.public-gui-ingame.po-msgstr ""
eo.public-gui-ingame.po-msgstr "Konfirmo"
eo.public-gui-lobby.po-msgstr ""
eo.public-gui-other.po-msgstr "Konfirmo"
es_AR.public-gui-ingame.po-msgstr "Confirmar"
es_AR.public-gui-ingame.po-msgstr "Confirmar"
es_AR.public-gui-lobby.po-msgstr "Confirmar"
es_AR.public-gui-other.po-msgstr "Confirmar"
es_CL.public-gui-ingame.po-msgstr "Confirmación"
es_CL.public-gui-ingame.po-msgstr "Confirmación"
es_CL.public-gui-lobby.po-msgstr ""
es_CL.public-gui-other.po-msgstr "Confirmación"
es_MX.public-gui-ingame.po-msgstr "Confirmación"
es_MX.public-gui-ingame.po-msgstr "Confirmación"
es_MX.public-gui-lobby.po-msgstr ""
es_MX.public-gui-other.po-msgstr "Confirmación"
es.public-gui-ingame.po-msgstr "Confirmación"
es.public-gui-ingame.po-msgstr "Confirmar decisión"
es.public-gui-lobby.po-msgstr "Confirmar decisión"
es.public-gui-other.po-msgstr "Confirmar decisión"
et.public-gui-ingame.po-msgstr ""
et.public-gui-ingame.po-msgstr "Kinnitus"
et.public-gui-lobby.po-msgstr ""
et.public-gui-other.po-msgstr "Kinnitus"
eu.public-gui-ingame.po-msgstr "Berrespena"
eu.public-gui-ingame.po-msgstr "Berrespena"
eu.public-gui-lobby.po-msgstr "Baieztapena"
eu.public-gui-other.po-msgstr "Baieztapena"
fa.public-gui-ingame.po-msgstr "تائید"
fa.public-gui-ingame.po-msgstr "تایید"
fa.public-gui-lobby.po-msgstr "تائید"
fa.public-gui-other.po-msgstr "تایید"
fi.public-gui-ingame.po-msgstr "Vahvistus"
fi.public-gui-ingame.po-msgstr "Vahvistus"
fi.public-gui-lobby.po-msgstr "Vahvistus"
fi.public-gui-other.po-msgstr "Vahvistus"
fr_CA.public-gui-ingame.po-msgstr ""
fr_CA.public-gui-ingame.po-msgstr ""
fr_CA.public-gui-lobby.po-msgstr ""
fr_CA.public-gui-other.po-msgstr ""
frp.public-gui-ingame.po-msgstr "Confirmacion"
frp.public-gui-ingame.po-msgstr "Confirmacion"
frp.public-gui-lobby.po-msgstr "Confirmacion"
frp.public-gui-other.po-msgstr "Confirmacion"
fr.public-gui-ingame.po-msgstr "Confirmation"
fr.public-gui-ingame.po-msgstr "Confirmation"
fr.public-gui-lobby.po-msgstr "Confirmation"
fr.public-gui-other.po-msgstr "Confirmation"
ga.public-gui-ingame.po-msgstr "Deimhniú"
ga.public-gui-ingame.po-msgstr "Deimhniú"
ga.public-gui-lobby.po-msgstr "Deimhniú"
ga.public-gui-other.po-msgstr "Deimhniú"
gd.public-gui-ingame.po-msgstr "Dearbhadh"
gd.public-gui-ingame.po-msgstr "Dearbhadh"
gd.public-gui-lobby.po-msgstr "Dearbhadh"
gd.public-gui-other.po-msgstr "Dearbhadh"
gl.public-gui-ingame.po-msgstr "Confirmación"
gl.public-gui-ingame.po-msgstr "Confirmación"
gl.public-gui-lobby.po-msgstr "Confirmación"
gl.public-gui-other.po-msgstr "Confirmación"
he.public-gui-ingame.po-msgstr "אישור "
he.public-gui-ingame.po-msgstr "אישור"
he.public-gui-lobby.po-msgstr "אישור"
he.public-gui-other.po-msgstr "אישור "
hi.public-gui-ingame.po-msgstr ""
hi.public-gui-ingame.po-msgstr "पुष्टिकरण"
hi.public-gui-lobby.po-msgstr ""
hi.public-gui-other.po-msgstr "पुष्टिकरण"
hr.public-gui-ingame.po-msgstr "Potvrda"
hr.public-gui-ingame.po-msgstr "Potvrda"
hr.public-gui-lobby.po-msgstr "Potvrda"
hr.public-gui-other.po-msgstr "Potvrda"
hu.public-gui-ingame.po-msgstr "Megerősítés"
hu.public-gui-ingame.po-msgstr "Megerősítés"
hu.public-gui-lobby.po-msgstr "Megerősítés"
hu.public-gui-other.po-msgstr "Megerősítés"
hy.public-gui-ingame.po-msgstr "Հաստատում"
hy.public-gui-ingame.po-msgstr "Հաստատում"
hy.public-gui-lobby.po-msgstr "Հաստատում"
hy.public-gui-other.po-msgstr "Հաստատում"
id.public-gui-ingame.po-msgstr "Konfirmasi"
id.public-gui-ingame.po-msgstr "Konfirmasi"
id.public-gui-lobby.po-msgstr "Konfirmasi"
id.public-gui-other.po-msgstr "Konfirmasi"
it.public-gui-ingame.po-msgstr "Conferma"
it.public-gui-ingame.po-msgstr "Conferma"
it.public-gui-lobby.po-msgstr "Conferma"
it.public-gui-other.po-msgstr "Conferma"
ja.public-gui-ingame.po-msgstr "確認"
ja.public-gui-ingame.po-msgstr "確認"
ja.public-gui-lobby.po-msgstr "確認"
ja.public-gui-other.po-msgstr "確認"
jbo.public-gui-ingame.po-msgstr ""
jbo.public-gui-ingame.po-msgstr ""
jbo.public-gui-lobby.po-msgstr ""
jbo.public-gui-other.po-msgstr ""
ka.public-gui-ingame.po-msgstr ""
ka.public-gui-ingame.po-msgstr "დამოწმება"
ka.public-gui-lobby.po-msgstr ""
ka.public-gui-other.po-msgstr "დამოწმება"
kn.public-gui-ingame.po-msgstr ""
kn.public-gui-ingame.po-msgstr ""
kn.public-gui-lobby.po-msgstr ""
kn.public-gui-other.po-msgstr ""
ko.public-gui-ingame.po-msgstr "확인"
ko.public-gui-ingame.po-msgstr "확인"
ko.public-gui-lobby.po-msgstr "확인"
ko.public-gui-other.po-msgstr "확인"
krl.public-gui-ingame.po-msgstr ""
krl.public-gui-ingame.po-msgstr ""
krl.public-gui-lobby.po-msgstr ""
krl.public-gui-other.po-msgstr ""
ku.public-gui-ingame.po-msgstr ""
ku.public-gui-ingame.po-msgstr ""
ku.public-gui-lobby.po-msgstr ""
ku.public-gui-other.po-msgstr ""
kw.public-gui-ingame.po-msgstr ""
kw.public-gui-ingame.po-msgstr ""
kw.public-gui-lobby.po-msgstr ""
kw.public-gui-other.po-msgstr ""
la.public-gui-ingame.po-msgstr ""
la.public-gui-ingame.po-msgstr "Confirmatio"
la.public-gui-lobby.po-msgstr ""
la.public-gui-other.po-msgstr "Confirmatio"
lt.public-gui-ingame.po-msgstr "Patvirtinimas"
lt.public-gui-ingame.po-msgstr "Patvirtinimas"
lt.public-gui-lobby.po-msgstr "Patvirtinimas"
lt.public-gui-other.po-msgstr "Patvirtinimas"
lv.public-gui-ingame.po-msgstr "Apstiprinājums"
lv.public-gui-ingame.po-msgstr "Apstiprinājums"
lv.public-gui-lobby.po-msgstr "Apstiprinājums"
lv.public-gui-other.po-msgstr "Apstiprinājums"
mk.public-gui-ingame.po-msgstr ""
mk.public-gui-ingame.po-msgstr ""
mk.public-gui-lobby.po-msgstr ""
mk.public-gui-other.po-msgstr ""
ml.public-gui-ingame.po-msgstr ""
ml.public-gui-ingame.po-msgstr "ഉറപ്പിക്കല്"
ml.public-gui-lobby.po-msgstr ""
ml.public-gui-other.po-msgstr "ഉറപ്പിക്കല്"
mr.public-gui-ingame.po-msgstr "पुष्टीकरण"
mr.public-gui-ingame.po-msgstr "पुष्टीकरण"
mr.public-gui-lobby.po-msgstr "पुष्टीकरण"
mr.public-gui-other.po-msgstr "पुष्टीकरण"
ms.public-gui-ingame.po-msgstr "Pengesahan"
ms.public-gui-ingame.po-msgstr "Pengesahan"
ms.public-gui-lobby.po-msgstr "Pengesahan"
ms.public-gui-other.po-msgstr "Pengesahan"
nb.public-gui-ingame.po-msgstr "Bekreftelse"
nb.public-gui-ingame.po-msgstr "Bekreftelse"
nb.public-gui-lobby.po-msgstr "Bekreftelse"
nb.public-gui-other.po-msgstr "Bekreftelse"
nl.public-gui-ingame.po-msgstr "Bevestiging"
nl.public-gui-ingame.po-msgstr "Bevestiging"
nl.public-gui-lobby.po-msgstr "Bevestiging"
nl.public-gui-other.po-msgstr "Bevestiging"
nso.public-gui-ingame.po-msgstr ""
nso.public-gui-ingame.po-msgstr ""
nso.public-gui-lobby.po-msgstr ""
nso.public-gui-other.po-msgstr ""
pl.public-gui-ingame.po-msgstr "Potwierdzenie"
pl.public-gui-ingame.po-msgstr "Potwierdzenie"
pl.public-gui-lobby.po-msgstr "Potwierdzenie"
pl.public-gui-other.po-msgstr "Potwierdzenie"
pt_BR.public-gui-ingame.po-msgstr "Confirmação"
pt_BR.public-gui-ingame.po-msgstr "Confirmação"
pt_BR.public-gui-lobby.po-msgstr "Confirmação"
pt_BR.public-gui-other.po-msgstr "Confirmação"
pt_PT.public-gui-ingame.po-msgstr "Confirmação"
pt_PT.public-gui-ingame.po-msgstr "Confirmação"
pt_PT.public-gui-lobby.po-msgstr "Confirmação"
pt_PT.public-gui-other.po-msgstr "Confirmação"
public-gui-ingame.pot-msgstr ""
public-gui-ingame.pot-msgstr ""
public-gui-lobby.pot-msgstr ""
public-gui-other.pot-msgstr ""
ro.public-gui-ingame.po-msgstr "Confirmare"
ro.public-gui-ingame.po-msgstr "Confirmare"
ro.public-gui-lobby.po-msgstr "Confirmare"
ro.public-gui-other.po-msgstr "Confirmare"
ru.public-gui-ingame.po-msgstr "Подтверждение"
ru.public-gui-ingame.po-msgstr "Подтверждение"
ru.public-gui-lobby.po-msgstr "Подтверждение"
ru.public-gui-other.po-msgstr "Подтверждение"
si.public-gui-ingame.po-msgstr ""
si.public-gui-ingame.po-msgstr ""
si.public-gui-lobby.po-msgstr ""
si.public-gui-other.po-msgstr ""
sk.public-gui-ingame.po-msgstr "Potvrdenie"
sk.public-gui-ingame.po-msgstr "Potvrdenie"
sk.public-gui-lobby.po-msgstr "Potvrdenie"
sk.public-gui-other.po-msgstr "Potvrdenie"
sl.public-gui-ingame.po-msgstr "Potrditev"
sl.public-gui-ingame.po-msgstr "Potrditev"
sl.public-gui-lobby.po-msgstr ""
sl.public-gui-other.po-msgstr "Potrditev"
sq.public-gui-ingame.po-msgstr "Vërteto"
sq.public-gui-ingame.po-msgstr "Vërteto"
sq.public-gui-lobby.po-msgstr "Vërteto"
sq.public-gui-other.po-msgstr "Vërteto"
sr.public-gui-ingame.po-msgstr "Потврда"
sr.public-gui-ingame.po-msgstr "Потврда"
sr.public-gui-lobby.po-msgstr "Потврда"
sr.public-gui-other.po-msgstr "Потврда"
sv.public-gui-ingame.po-msgstr "Bekräfta"
sv.public-gui-ingame.po-msgstr "Bekräftelse"
sv.public-gui-lobby.po-msgstr "Bekräftelse"
sv.public-gui-other.po-msgstr "Bekräfta"
sw.public-gui-ingame.po-msgstr ""
sw.public-gui-ingame.po-msgstr ""
sw.public-gui-lobby.po-msgstr ""
sw.public-gui-other.po-msgstr ""
szl.public-gui-ingame.po-msgstr ""
szl.public-gui-ingame.po-msgstr ""
szl.public-gui-lobby.po-msgstr ""
szl.public-gui-other.po-msgstr ""
ta_IN.public-gui-ingame.po-msgstr ""
ta_IN.public-gui-ingame.po-msgstr "உறுதிசெய்"
ta_IN.public-gui-lobby.po-msgstr ""
ta_IN.public-gui-other.po-msgstr "உறுதிசெய்"
te.public-gui-ingame.po-msgstr ""
te.public-gui-ingame.po-msgstr "నిర్ధారణ"
te.public-gui-lobby.po-msgstr ""
te.public-gui-other.po-msgstr "నిర్ధారణ"
th.public-gui-ingame.po-msgstr "การยืนยัน"
th.public-gui-ingame.po-msgstr "การยืนยัน"
th.public-gui-lobby.po-msgstr "การยืนยัน"
th.public-gui-other.po-msgstr "การยืนยัน"
tl.public-gui-ingame.po-msgstr ""
tl.public-gui-ingame.po-msgstr ""
tl.public-gui-lobby.po-msgstr ""
tl.public-gui-other.po-msgstr ""
tr.public-gui-ingame.po-msgstr "Onay"
tr.public-gui-ingame.po-msgstr "Onay"
tr.public-gui-lobby.po-msgstr "Onay"
tr.public-gui-other.po-msgstr "Onay"
uk.public-gui-ingame.po-msgstr "Підтвердження"
uk.public-gui-ingame.po-msgstr "Підтвердження"
uk.public-gui-lobby.po-msgstr "Підтвердження"
uk.public-gui-other.po-msgstr "Підтвердження"
ur.public-gui-ingame.po-msgstr ""
ur.public-gui-ingame.po-msgstr ""
ur.public-gui-lobby.po-msgstr ""
ur.public-gui-other.po-msgstr ""
uz.public-gui-ingame.po-msgstr ""
uz.public-gui-ingame.po-msgstr ""
uz.public-gui-lobby.po-msgstr ""
uz.public-gui-other.po-msgstr ""
vi.public-gui-ingame.po-msgstr ""
vi.public-gui-ingame.po-msgstr "Xác nhận"
vi.public-gui-lobby.po-msgstr ""
vi.public-gui-other.po-msgstr "Xác nhận"
xh.public-gui-ingame.po-msgstr ""
xh.public-gui-ingame.po-msgstr ""
xh.public-gui-lobby.po-msgstr ""
xh.public-gui-other.po-msgstr ""
zh.public-gui-ingame.po-msgstr "确认"
zh.public-gui-ingame.po-msgstr "确认"
zh.public-gui-lobby.po-msgstr "确定"
zh.public-gui-other.po-msgstr "确认"
zh_TW.public-gui-ingame.po-msgstr "確認"
zh_TW.public-gui-ingame.po-msgstr "確認"
zh_TW.public-gui-lobby.po-msgstr "確認"
zh_TW.public-gui-other.po-msgstr "確認"
```
Other than that, "make sure that it works" and any behavior is changed and tested ingame and any string preserved.
There is also the question with regards to the folder structure and object hierarchy.
We notice both `session.js` and `session/` are getting a bit crowded.
The plan for that is to transform everything into classes and then in the end have everything owned by
classes that own multiple classes. So it will be easier visible how to form the hierarchy if the transformation progressed more.
* (3) Test the Resign button for players and observers and replaymode
* (4) Test the Exit button for players replay observer hosts and observer clients
* (1) Test timewarp
* (1) Test deleting entities multiple times in the same match
* (2) Notice the program is paused in singleplayer and replaymode upon msgbox, but never in networked mode
* (2) Test out of sync
* (1) Test replay oos
* (1) test replay finished
= running the game 10-15 times