Добавить постоянную локализацию RU и EN

This commit is contained in:
2026-08-18 16:25:46 +03:00
parent 00323d7916
commit dcb16ef4d0
7 changed files with 721 additions and 58 deletions
@@ -0,0 +1,43 @@
package com.projectsacrifice.game;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import org.junit.Test;
public final class GameStringsTest {
@Test
public void missingOrUnknownLanguageSafelyFallsBackToEnglish() {
assertEquals(GameLanguage.EN, GameLanguage.fromCode(null));
assertEquals(GameLanguage.EN, GameLanguage.fromCode("de"));
GameStrings strings = GameStrings.forLanguage(GameLanguage.fromCode("de"));
assertEquals("Settings", strings.settingsButton());
assertEquals("The Volunteer", strings.levelTitle(1));
}
@Test
public void russianPackLocalizesTheCompletePlayerFacingContract() {
GameStrings english = GameStrings.forLanguage(GameLanguage.EN);
GameStrings russian = GameStrings.forLanguage(GameLanguage.RU);
assertEquals("Настройки", russian.settingsButton());
assertEquals("Размер управления", russian.controlSizeSetting());
assertEquals("Русский", russian.languageName());
assertEquals("Рыцарь-доброволец", russian.levelTitle(1));
assertEquals("Последнее шествие", russian.levelTitle(10));
assertEquals("Добровольцы 2 Время 00:07", russian.hudStats(2, 7_000L));
assertEquals("✓ 2 добровольца · 00:07", russian.levelBestStats(2, 7_000L));
assertEquals("★ 2 / 3 добровольца", russian.completionDeaths(true, 2, 3));
assertEquals("Смерть — это инструмент", russian.tutorialWelcomeTitle());
assertFalse(russian.tutorialSacrificeBody().trim().isEmpty());
for (int level = 1; level <= 10; level++) {
assertFalse(russian.levelTitle(level).trim().isEmpty());
assertFalse(russian.levelHint(level).trim().isEmpty());
assertNotEquals(english.levelTitle(level), russian.levelTitle(level));
assertNotEquals(english.levelHint(level), russian.levelHint(level));
}
}
}