Ukrainian localization (thanks to Arcus87)

This commit is contained in:
Souryo 2016-09-02 20:10:24 -04:00
parent 17b13bfc0a
commit 47902bbc5c
13 changed files with 642 additions and 2 deletions

View File

@ -236,7 +236,8 @@ enum class Language
French = 2,
Japanese = 3,
Russian = 4,
Spanish = 5
Spanish = 5,
Ukrainian = 6
};
enum class StereoFilter

View File

@ -322,6 +322,69 @@ std::unordered_map<string, string> MessageManager::_esResources = {
{ "SynchronizationCompleted", u8"Sincronización completada." },
};
std::unordered_map<string, string> MessageManager::_ukResources = {
{ "Cheats", u8"Чiти" },
{ "Debug", u8"Налагодження" },
{ "EmulationSpeed", u8"Швидкість емуляції" },
{ "ClockRate", u8"Тактова частота" },
{ "Error", u8"Помилка" },
{ "GameInfo", u8"Інформація про гру" },
{ "GameLoaded", u8"Гра завантажена" },
{ "IPS", u8"IPS" },
{ "Movies", u8"Записи" },
{ "NetPlay", u8"Гра по мережi" },
{ "Region", u8"Регiон" },
{ "SaveStates", u8"Збереження" },
{ "ScreenshotSaved", u8"Скріншот збережений" },
{ "SoundRecorder", u8"Запис звуку" },
{ "Test", u8"Тест" },
{ "ApplyingIps", u8"Застосування патчу: %1" },
{ "CheatApplied", u8"1 Чiт застосований." },
{ "CheatsApplied", u8"Чiтів застосовано %1" },
{ "ConnectedToServer", u8"Підключення до сервера." },
{ "ConnectedAsPlayer", u8"Пiдключен як гравець %1" },
{ "ConnectedAsSpectator", u8"Підключений як спостерігач." },
{ "ConnectionLost", u8"З'єднання втрачено." },
{ "CouldNotConnect", u8"Не вдалося підключитися до сервера" },
{ "CouldNotIniitalizeAudioSystem", u8"Не вдалося ініціалізувати звукову підсистему" },
{ "CouldNotFindRom", u8"Не вдалося знайти відповідний ROM." },
{ "CouldNotLoadFile", u8"Не вдалося завантажити файл: %1" },
{ "EmulationMaximumSpeed", u8"Максимальна швидкiсть" },
{ "EmulationSpeedPercent", u8"%1%" },
{ "GameCrash", u8"Гра була аварійно завершена (%1)" },
{ "Lag", u8"Лаг" },
{ "Mapper", u8"Mapper: %1, SubMapper: %2" },
{ "MovieEnded", u8"Відтворення закінчено." },
{ "MovieInvalid", u8"Некоректна запис" },
{ "MovieMissingRom", u8"Всутнiй ROM (%1) необхідний для відтворення" },
{ "MovieNewerVersion", u8"Запис створена в більш нової версії Mesen. Будь ласка завантажте останню версію." },
{ "MovieIncompatibleVersion", u8"Ця запись не сумісна з вашою версією Mesen" },
{ "MoviePlaying", u8"Відтворення запису: %1" },
{ "MovieRecordingTo", u8"Запис розпочато: %1" },
{ "MovieSaved", u8"Запис збережена: %1" },
{ "NetplayVersionMismatch", u8"Версія Mesen відрізняється. %1 був відключений." },
{ "PrgSizeWarning", u8"Розмiр PRG менше 32kb" },
{ "SaveStateEmpty", u8"Слот порожнiй." },
{ "SaveStateIncompatibleVersion", u8"Збереження #%1 несумісне з вашою версією Mesen." },
{ "SaveStateInvalidFile", u8"Некоректне збереження." },
{ "SaveStateLoaded", u8"Збереження #%1 завантажено." },
{ "SaveStateNewerVersion", u8"Збереження створено в більш нової версії Mesen. Будь ласка завантажте останню версію." },
{ "SaveStateSaved", u8"Збережено в #%1 слот." },
{ "ScanlineTimingWarning", u8"Таймiнг PPU був змінений." },
{ "ServerStarted", u8"Сервер запущено (Порт: %1)" },
{ "ServerStopped", u8"Сервер зупинено" },
{ "SoundRecorderStarted", u8"Запис розпочато to: %1" },
{ "SoundRecorderStopped", u8"Запис збережена: %1" },
{ "TestFileSavedTo", u8"Тест збережений: %1" },
{ "UnsupportedMapper", u8"Непідтримуваний mapper (%1), гра не завантажена." },
{ "Google Диск", u8"Google Drive" },
{ "SynchronizationStarted", u8"Синхронізацію розпочато." },
{ "SynchronizationFailed", u8"Синхронізація не вдалася." },
{ "SynchronizationCompleted", u8"Синхронізація завершена." }
};
std::list<string> MessageManager::_log;
SimpleLock MessageManager::_logLock;
IMessageManager* MessageManager::_messageManager = nullptr;
@ -341,6 +404,7 @@ string MessageManager::Localize(string key)
case Language::Japanese: resources = &_jaResources; break;
case Language::Russian: resources = &_ruResources; break;
case Language::Spanish: resources = &_esResources; break;
case Language::Ukrainian: resources = &_ukResources; break;
}
if(resources) {
if(resources->find(key) != resources->end()) {

View File

@ -17,6 +17,7 @@ private:
static std::unordered_map<string, string> _jaResources;
static std::unordered_map<string, string> _ruResources;
static std::unordered_map<string, string> _esResources;
static std::unordered_map<string, string> _ukResources;
static SimpleLock _logLock;
static std::list<string> _log;

View File

@ -137,6 +137,7 @@
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
<Enum ID="RamPowerOnState">
<Value ID="AllZeros">All 0s (Default)</Value>

View File

@ -511,6 +511,7 @@
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
</Enums>
</Resources>

View File

@ -589,6 +589,7 @@
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
<Enum ID="RamPowerOnState">
<Value ID="AllZeros">Tous les bits à 0 (Défaut)</Value>

View File

@ -571,6 +571,7 @@
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
<Enum ID="RamPowerOnState">
<Value ID="AllZeros">ビット全てを0にする (デフォルト)</Value>

View File

@ -537,6 +537,7 @@
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
<Enum ID="RamPowerOnState">
<Value ID="AllZeros">Все 0 (По умолчанию)</Value>

View File

@ -0,0 +1,560 @@
<?xml version="1.0" encoding="UTF-8"?>
<Resources>
<Forms>
<Form ID="frmMain" Title="Mesen">
<Control ID="mnuFile">Файл</Control>
<Control ID="mnuOpen">Відкрити</Control>
<Control ID="mnuSaveState">Зберегти</Control>
<Control ID="mnuLoadState">Завантажити</Control>
<Control ID="mnuRecentFiles">Недавнi файлы</Control>
<Control ID="mnuExit">Вых</Control>
<Control ID="mnuGame">Гра</Control>
<Control ID="mnuPause">Пауза</Control>
<Control ID="mnuReset">Скидання</Control>
<Control ID="mnuStop">Стоп</Control>
<Control ID="mnuSwitchDiskSide">Змінити сторону диска</Control>
<Control ID="mnuSelectDisk">Вибрати диск</Control>
<Control ID="mnuEjectDisk">Вилучити диск</Control>
<Control ID="mnuVsGameConfig">Конфігурація VS</Control>
<Control ID="mnuInsertCoin1">Вставити монету в слот 1</Control>
<Control ID="mnuInsertCoin2">Вставити монету в слот 2</Control>
<Control ID="mnuOptions">Опції</Control>
<Control ID="mnuEmulationSpeed">Швидкість емуляції</Control>
<Control ID="mnuEmuSpeedNormal">Нормальна (100%)</Control>
<Control ID="mnuIncreaseSpeed">Збiльшити швидкiсть</Control>
<Control ID="mnuDecreaseSpeed">Зменшити швидкiсть</Control>
<Control ID="mnuEmuSpeedMaximumSpeed">Максимальна швидкiсть</Control>
<Control ID="mnuEmuSpeedTriple">Потрiйна (300%)</Control>
<Control ID="mnuEmuSpeedDouble">Подвiйна (200%)</Control>
<Control ID="mnuEmuSpeedHalf">Половина (50%)</Control>
<Control ID="mnuEmuSpeedQuarter">Чверть (25%)</Control>
<Control ID="mnuShowFPS">Показувати FPS</Control>
<Control ID="mnuVideoScale">Розмір екрану</Control>
<Control ID="mnuScale1x">1x</Control>
<Control ID="mnuScale2x">2x</Control>
<Control ID="mnuScale3x">3x</Control>
<Control ID="mnuScale4x">4x</Control>
<Control ID="mnuScaleCustom">Вручну</Control>
<Control ID="mnuFullscreen">Повний екран</Control>
<Control ID="mnuVideoFilter">Фільтр зображення</Control>
<Control ID="mnuNoneFilter">Немає</Control>
<Control ID="mnuNtscFilter">NTSC</Control>
<Control ID="mnuBilinearInterpolation">Білінійна інтерполяція</Control>
<Control ID="mnuAudioConfig">Звук</Control>
<Control ID="mnuInput">Пристрої введення</Control>
<Control ID="mnuRegion">Регiон</Control>
<Control ID="mnuRegionAuto">Авто</Control>
<Control ID="mnuRegionNtsc">NTSC</Control>
<Control ID="mnuRegionPal">PAL</Control>
<Control ID="mnuRegionDendy">Dendy</Control>
<Control ID="mnuVideoConfig">Вео</Control>
<Control ID="mnuEmulationConfig">Емуляція</Control>
<Control ID="mnuPreferences">Налаштування</Control>
<Control ID="mnuTools">Утиліти</Control>
<Control ID="mnuNetPlay">Гра по мережі</Control>
<Control ID="mnuStartServer">Запустити сервер</Control>
<Control ID="mnuConnect">Підключитися до сервера</Control>
<Control ID="mnuNetPlaySelectController">Вибрати контроллер</Control>
<Control ID="mnuNetPlayPlayer1">Гравець 1</Control>
<Control ID="mnuNetPlayPlayer2">Гравець 2</Control>
<Control ID="mnuNetPlayPlayer3">Гравець 3</Control>
<Control ID="mnuNetPlayPlayer4">Гравець 4</Control>
<Control ID="mnuNetPlaySpectator">Спостерігач</Control>
<Control ID="mnuFindServer">Знайти сервер...</Control>
<Control ID="mnuProfile">Налаштувати профіль</Control>
<Control ID="mnuMovies">Записи</Control>
<Control ID="mnuPlayMovie">Програти</Control>
<Control ID="mnuRecordFrom">Записати</Control>
<Control ID="mnuRecordFromStart">Спочатку</Control>
<Control ID="mnuRecordFromNow">Негайно</Control>
<Control ID="mnuStopMovie">Зупинити запис</Control>
<Control ID="mnuSoundRecorder">Запис звуку</Control>
<Control ID="mnuWaveRecord">Почати</Control>
<Control ID="mnuWaveStop">Зупинити</Control>
<Control ID="mnuCheats">Чити</Control>
<Control ID="mnuTests">Тести</Control>
<Control ID="mnuTestRun">Запустити...</Control>
<Control ID="mnuTestRecordFrom">Записати</Control>
<Control ID="mnuTestRecordStart">Спочатку</Control>
<Control ID="mnuTestRecordNow">Негайно</Control>
<Control ID="mnuTestRecordMovie">Iз запису</Control>
<Control ID="mnuTestRecordTest">Тест</Control>
<Control ID="mnuTestStopRecording">Зупинити запис</Control>
<Control ID="mnuRunAllTests">Запустіті всі тести</Control>
<Control ID="mnuDebugger">Налагодження</Control>
<Control ID="mnuLogWindow">Лог</Control>
<Control ID="mnuTakeScreenshot">Зробити скріншот</Control>
<Control ID="mnuHelp">Допомога</Control>
<Control ID="mnuCheckForUpdates">Перевірити оновлення</Control>
<Control ID="mnuReportBug">Повідомити про помилку</Control>
<Control ID="mnuAbout">Про програму</Control>
<!-- Archive Load Message -->
<Control ID="lblExtractingFile">Витяг файлу, будь ласка почекайте</Control>
<!-- NSF Player -->
<Control ID="lblTitle">Назва</Control>
<Control ID="lblArtist">Автор</Control>
<Control ID="lblCopyright">Copyright</Control>
<Control ID="lblSoundChips">Звукові чіпи</Control>
</Form>
<Form ID="frmLogWindow" Title="Лог">
<Control ID="btnClose">Закрити</Control>
</Form>
<Form ID="frmAudioConfig" Title="Звук">
<Control ID="tpgGeneral">Загальнi</Control>
<Control ID="tpgAdvanced">Розширені</Control>
<Control ID="chkSwapDutyCycles">Переплутана шпаруватість (як на старих клонах)</Control>
<Control ID="chkSilenceTriangleHighFreq">Заглушати ультразвукові частоти на каналі triangle (зменшує "трiск")</Control>
<Control ID="tpgEffects">Ефекти</Control>
<Control ID="grpStereo">Стерео</Control>
<Control ID="radStereoDisabled">Відключити</Control>
<Control ID="radStereoDelay">Затримка</Control>
<Control ID="radStereoPanning">Панорамування</Control>
<Control ID="lblStereoDelayMs">мс</Control>
<Control ID="lblStereoPanningAngle">кут в градусах</Control>
<Control ID="grpReverb">Відлуння</Control>
<Control ID="chkReverbEnabled">Включена</Control>
<Control ID="lblReverbDelay">Затримка :</Control>
<Control ID="lblReverbStrength">Сила :</Control>
<Control ID="chkMuteSoundInBackground">Відключати звук при втраті фокуса</Control>
<Control ID="chkReduceSoundInBackground">Приглушати звук при потере фокуса</Control>
<Control ID="chkEnableAudio">Увімкнути звук</Control>
<Control ID="lblSampleRate">Частота дискретизації:</Control>
<Control ID="lblLatencyMs">мс</Control>
<Control ID="lblAudioLatency">Затримка:</Control>
<Control ID="lblAudioDevice">Пристрій:</Control>
<Control ID="tpgVolume">Гучність</Control>
<Control ID="grpVolume">Гучність</Control>
<Control ID="btnReset">Скидання</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Відміна</Control>
<Control ID="trkDmcVol">DMC</Control>
<Control ID="trkNoiseVol">Noise</Control>
<Control ID="trkTriangleVol">Triangle</Control>
<Control ID="trkSquare2Vol">Square 2</Control>
<Control ID="trkSquare1Vol">Square 1</Control>
<Control ID="trkMaster">Загальна</Control>
<Control ID="trkFdsVol">FDS</Control>
<Control ID="trkMmc5Vol">MMC5</Control>
<Control ID="trkVrc6Vol">VRC6</Control>
<Control ID="trkVrc7Vol">VRC7</Control>
<Control ID="trkNamco163Vol">Namco</Control>
<Control ID="trkSunsoft5b">Sunsoft</Control>
</Form>
<Form ID="frmInputConfig" Title="Пристрої введення">
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Отмена</Control>
<Control ID="tpgControllers">Контролери</Control>
<Control ID="btnSetupP4">Налаштувати</Control>
<Control ID="btnSetupP3">Налаштувати</Control>
<Control ID="lblPlayer1">Контролер 1:</Control>
<Control ID="lblPlayer2">Контролер 2:</Control>
<Control ID="lblPlayer4">Контролер 4:</Control>
<Control ID="lblPlayer3">Контролер 3:</Control>
<Control ID="btnSetupP1">Налаштувати</Control>
<Control ID="btnSetupP2">Налаштувати</Control>
<Control ID="lblNesType">Тип консолі :</Control>
<Control ID="lblExpansionPort">Порт розширення :</Control>
<Control ID="chkFourScore">Використовувати NES Four Score</Control>
<Control ID="chkAutoConfigureInput">Автоматично налаштовувати контролери при завантаженні гри</Control>
<Control ID="tpgEmulatorKeys">Emulator Keys</Control>
<Control ID="tpgAdvanced">Розширені</Control>
<Control ID="grpDisplayInput">Відображати введення</Control>
<Control ID="chkDisplayPort1">Порт 1</Control>
<Control ID="chkDisplayPort2">Порт 2</Control>
<Control ID="chkDisplayPort3">Порт 3</Control>
<Control ID="chkDisplayPort4">Порт 4</Control>
<Control ID="lblDisplayPosition">Позиція :</Control>
<Control ID="chkDisplayInputHorizontally">Відображати горизонтально</Control>
</Form>
<Form ID="frmControllerConfig" Title="Налаштування контролера">
<Control ID="lblTurboSpeed">Швидкість турбо-кнопок:</Control>
<Control ID="lblTurboFast">Швидко</Control>
<Control ID="lblSlow">Повiльно</Control>
<Control ID="tpgSet1">Контролер #1</Control>
<Control ID="tpgSet2">Контролер #2</Control>
<Control ID="tpgSet3">Контролер #3</Control>
<Control ID="tpgSet4">Контролер #4</Control>
<Control ID="btnReset">Скидання</Control>
<Control ID="btnClear">Очистити</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Відміна</Control>
</Form>
<Form ID="frmVideoConfig" Title="Налаштування вiдео">
<Control ID="tpgGeneral">Загальнi</Control>
<Control ID="lblVideoScale">Розмір :</Control>
<Control ID="lblVideoFilter">Фiльтр :</Control>
<Control ID="chkVerticalSync">Включити вертикальну синхронізацію</Control>
<Control ID="lblDisplayRatio">Співвідношення сторін :</Control>
<Control ID="chkBilinearInterpolation">Білінійна інтерполяція</Control>
<Control ID="chkShowFps">Показувати FPS</Control>
<Control ID="chkUseHdPacks">Використовувати HDNes HD packs</Control>
<Control ID="tpgOverscan">Overscan</Control>
<Control ID="grpCropping">Overscan</Control>
<Control ID="lblLeft">Злiвава</Control>
<Control ID="lblTop">Зверху</Control>
<Control ID="lblBottom">Знизу</Control>
<Control ID="lblRight">Справа</Control>
<Control ID="tpgPalette">Палiтра</Control>
<Control ID="mnuDefaultPalette">За замовчуванням (NTSC)</Control>
<Control ID="btnSelectPalette">Вибрати палітру</Control>
<Control ID="btnExportPalette">Експорт .pal</Control>
<Control ID="btnLoadPalFile">Завантажити .pal</Control>
<Control ID="tpgPicture">Зображення</Control>
<Control ID="btnSelectPreset">Шаблони</Control>
<Control ID="grpCommon">Загальні налаштування</Control>
<Control ID="trkBrightness">Яркiсть</Control>
<Control ID="trkContrast">Контраст</Control>
<Control ID="trkHue">Відтінок</Control>
<Control ID="trkSaturation">Насиченість</Control>
<Control ID="grpNtscFilter">NTSC фiльтр</Control>
<Control ID="trkArtifacts">Артефакти</Control>
<Control ID="trkBleed">Вицвітання</Control>
<Control ID="trkFringing">Окантування</Control>
<Control ID="trkGamma">Гамма</Control>
<Control ID="trkResolution">Дозвіл</Control>
<Control ID="trkSharpness">Рiзкiсть</Control>
<Control ID="chkMergeFields">Злиття полів</Control>
<Control ID="grpScanlines">Scanlines</Control>
<Control ID="trkScanlines">Scanlines</Control>
<Control ID="btnResetPictureSettings">Скидання</Control>
<Control ID="mnuPresetComposite">Composite</Control>
<Control ID="mnuPresetSVideo">S-Video</Control>
<Control ID="menuPresetRgb">RGB</Control>
<Control ID="mnuPresetMonochrome">Monochrome</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Відміна</Control>
</Form>
<Form ID="frmEmulationConfig" Title="Налаштування емуляції">
<Control ID="tpgGeneral">Загальні</Control>
<Control ID="lblEmuSpeedHint">% (0 = Максимальна швидкiсть)</Control>
<Control ID="lblEmulationSpeed">Швидкість емуляції :</Control>
<Control ID="tpgAdvanced">Розширені</Control>
<Control ID="chkUseAlternativeMmc3Irq">Використовувати альтернативний IRQ MMC3</Control>
<Control ID="chkAllowInvalidInput">Дозволити неприпустимі комбінації (Вниз+Вгору і Ліворуч+Вправо)</Control>
<Control ID="chkRemoveSpriteLimit">Відключити ліміт спрайтів (зменшує мерехтіння)</Control>
<Control ID="lblRamPowerOnState">Вміст ОЗУ при включенні : </Control>
<Control ID="tpgOverclocking">Розгін</Control>
<Control ID="grpOverclocking">Розгін CPU</Control>
<Control ID="lblOverclockWarning">УВАГА: Розгін може викликати помилки в деяких іграх!</Control>
<Control ID="lblClockRate">Тактова частота : </Control>
<Control ID="lblClockRatePercent">% (За замовчуванням: 100%)</Control>
<Control ID="grpPpuTiming">Конфігурація PPU</Control>
<Control ID="lblExtraScanlinesBeforeNmi">Додаткові scanlines до NMI : </Control>
<Control ID="lblExtraScanlinesAfterNmi">Додаткові scanlines пiсля NMI : </Control>
<Control ID="lblEffectiveClockRate">Тактова частота (NTSC) : </Control>
<Control ID="lblEffectiveClockRatePal">Тактова частота (PAL) : </Control>
<Control ID="lblEffectiveClockRateDendy">Тактова частота (Dendy) : </Control>
<Control ID="chkOverclockAdjustApu">Не розганяти APU (Запобігає зміні тону звуку)</Control>
<Control ID="chkShowLagCounter">Показувати лічильник лага</Control>
<Control ID="btnResetLagCounter">Скинути лічильник лага</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmPreferences" Title="Налаштування">
<Control ID="tpgGeneral">Загальні</Control>
<Control ID="lblDisplayLanguage">Мова :</Control>
<Control ID="chkSingleInstance">Запускати тільки одну копію Mesen</Control>
<Control ID="chkAutomaticallyCheckForUpdates">Автоматично перевіряти оновлення</Control>
<Control ID="chkPauseOnMovieEnd">Ставити на паузу після програвання запису</Control>
<Control ID="chkAllowBackgroundInput">Дозволити введення в тлі</Control>
<Control ID="chkPauseWhenInBackground">Ставити на паузу при втраті фокуса</Control>
<Control ID="chkAutoLoadIps">Автоматично завантажувати IPS</Control>
<Control ID="btnOpenMesenFolder">Відкрити папку Mesen</Control>
<Control ID="tpgFileAssociations">Асоціації файлів</Control>
<Control ID="grpFileAssociations">Асоціації файлів</Control>
<Control ID="chkNesFormat">.NES</Control>
<Control ID="chkFdsFormat">.FDS (Famicom Disk System)</Control>
<Control ID="chkMmoFormat">.MMO (Записи)</Control>
<Control ID="chkMstFormat">.MST (Збереження)</Control>
<Control ID="tpgAdvanced">Розширені</Control>
<Control ID="chkFdsAutoLoadDisk">Автоматично вставляти диск 1 стороною А при завантаженні FDS</Control>
<Control ID="chkFdsFastForwardOnLoad">Використовувати швидке завантаження FDS</Control>
<Control ID="tpgCloudSave">Хмарні збереження</Control>
<Control ID="lblGoogleDriveIntegration">Mesen має можливість інтеграції з Google Drive . Коли інтеграція з Google Drive включена, ваші збереження стають доступні з будь-якого комп'ютера і можуть бути синхронізовані між комп'ютерами. Також, збереження зберігаються на Google Drive можуть бути відновлені якщо ви видалите їх зі свого комп'ютера.</Control>
<Control ID="lblIntegrationOK">Iнтеграція с Google Drive включена</Control>
<Control ID="btnDisableIntegration">Вимкнути інтеграцію</Control>
<Control ID="btnEnableIntegration">Увімкнути інтеграцію</Control>
<Control ID="lblLastSync">Востаннє синхронізовано : </Control>
<Control ID="btnResync">Синхронізувати</Control>
<Control ID="chkDisableGameDatabase">Відключити вбудовану базу даних</Control>
<Control ID="tpgNsf">NSF / NSFe</Control>
<Control ID="chkNsfAutoDetectSilence">Переходити на наступний трек після</Control>
<Control ID="lblNsfMillisecondsOfSilence">мілісекунд тиші</Control>
<Control ID="chkNsfMoveToNextTrackAfterTime">Обмежити тривалість відтворення</Control>
<Control ID="lblNsfSeconds">секундами</Control>
<Control ID="chkNsfDisableApuIrqs">Відключити IRQs APU (Рекомендовано)</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmServerConfig" Title="Налаштування сервера">
<Control ID="txtPort">8888</Control>
<Control ID="lblPort">Порт:</Control>
<Control ID="chkPublicServer">Публічний сервер</Control>
<Control ID="lblServerName">Назва :</Control>
<Control ID="chkSpectator">Дозволити спостерігачів</Control>
<Control ID="lblMaxPlayers">Максимально гравців :</Control>
<Control ID="lblPassword">Пароль:</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmClientConfig" Title="Підключення до сервера">
<Control ID="txtPort">8888</Control>
<Control ID="lblHost">Iм'я сервера:</Control>
<Control ID="lblPort">Порт:</Control>
<Control ID="chkSpectator">Ввійти як спостерігач</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmCheatImport" Title="Iмпорт читов">
<Control ID="grpImportOptions">Налаштування імпорту</Control>
<Control ID="lblCheatFile">Файл:</Control>
<Control ID="lblGame">Гра:</Control>
<Control ID="btnBrowseCheat">Вибрати...</Control>
<Control ID="btnBrowseGame">Вибрати...</Control>
<Control ID="btnImport">Iмпорт</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmCheatImportFromDb" Title="Выбор игры...">
<Control ID="lblSearch">Пошук :</Control>
<Control ID="btnOK">Iмпорт</Control>
<Control ID="btnCancel">Вео</Control>
</Form>
<Form ID="frmCheatList" Title="Чiты">
<Control ID="tabCheats">Чiты</Control>
<Control ID="btnAddCheat">Додати чiт</Control>
<Control ID="btnDelete">Видалити</Control>
<Control ID="btnDeleteCheat">Видалити вибрані чіти</Control>
<Control ID="btnDeleteGameCheats">Видалити всі чіти для обраної гри</Control>
<Control ID="mnuAddCheat">Додати чiт</Control>
<Control ID="mnuDeleteGameCheats">Видалити</Control>
<Control ID="mnuDeleteCheat">Видалити</Control>
<Control ID="colGameName">Гра</Control>
<Control ID="colCheatName">Опис чiта</Control>
<Control ID="colCode">Код</Control>
<Control ID="btnImport">Iмпорт</Control>
<Control ID="btnImportCheatDB">З бази даних</Control>
<Control ID="btnImportFromFile">З файлу (XML, CHT)</Control>
<Control ID="btnExport">Експорт</Control>
<Control ID="btnExportAllCheats">Всi чіти</Control>
<Control ID="btnExportGame">Для обраної гри</Control>
<Control ID="mnuExportGame">Експорт</Control>
<Control ID="btnExportSelectedCheats">Обрані чiты</Control>
<Control ID="mnuExportSelectedCheats">Експорт</Control>
<Control ID="chkDisableCheats">Відключити всі чіти</Control>
<Control ID="tpgCheatFinder">Пошук чiтiв</Control>
<Control ID="btnReset">Скидання</Control>
<Control ID="btnUndo">Вiдмiна</Control>
<Control ID="lblCurrentValue">Поточне значення</Control>
<Control ID="lblPreviousValue">Попереднє значення</Control>
<Control ID="btnAddCurrentFilter">Додати фiльтр</Control>
<Control ID="btnAddPrevFilter">Додати фiльтр</Control>
<Control ID="btnCreateCheat">Створити чiт</Control>
<Control ID="mnuCreateCheat">Створити чiт</Control>
<Control ID="lblAtAddress"></Control>
<Control ID="chkPauseGameWhileWindowActive">Ставити на паузу коли вікно не активно</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmCheat" Title="Додати чiт">
<Control ID="label2">Гра:</Control>
<Control ID="label1">Опис чiта :</Control>
<Control ID="grpCode">Код</Control>
<Control ID="radCustom">Вручну :</Control>
<Control ID="radGameGenie">Game Genie :</Control>
<Control ID="radProActionRocky">Pro Action Rocky :</Control>
<Control ID="lblAddress">Адрес :</Control>
<Control ID="lblNewValue">Нове значення :</Control>
<Control ID="radRelativeAddress">Пам'ять</Control>
<Control ID="radAbsoluteAddress">Game Code</Control>
<Control ID="chkCompareValue">Порівняти значення</Control>
<Control ID="btnBrowse">Вибрати</Control>
<Control ID="chkEnabled">Чiт активований</Control>
<Control ID="btnOK">OK</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmAbout" Title="Про програму">
<Control ID="labelProductName">Mesen</Control>
<Control ID="labelCopyright">© 2016 M. Bibaud (aka Sour)</Control>
<Control ID="lblWebsite">Сайт:</Control>
<Control ID="lblLink">www.mesen.ca</Control>
<Control ID="labelVersion">Версiя: 0.4.3 (Beta)</Control>
<Control ID="okButton">&amp;OK</Control>
</Form>
<Form ID="frmVsGameConfig" Title="Конфігурація VS">
<Control ID="lblGame">Гра</Control>
<Control ID="lblPpuModel">Модель PPU</Control>
<Control ID="grpDipSwitches">DIP Switches</Control>
</Form>
<Form ID="frmUpdatePrompt" Title="Mesen - Доступно оновлення">
<Control ID="lblLatestVersion">Остання версія : </Control>
<Control ID="lblCurrentVersion">Поточна версія : </Control>
<Control ID="lblChangeLog">Changelog</Control>
<Control ID="btnUpdate">Оновити</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
<Form ID="frmSelectRom" Title="Вибрати гру">
<Control ID="lblSearch">Пошук :</Control>
<Control ID="btnOK">ОК</Control>
<Control ID="btnCancel">Вiдмiна</Control>
</Form>
</Forms>
<Messages>
<Message ID="FilterAll">Всi файли (*.*)|*.*</Message>
<Message ID="FilterMovie">Записи (*.mmo)|*.mmo|All Files (*.*)|*.*</Message>
<Message ID="FilterWave">Wave files (*.wav)|*.wav|All Files (*.*)|*.*</Message>
<Message ID="FilterPalette">Palette Files (*.pal)|*.pal|All Files (*.*)|*.*</Message>
<Message ID="FilterRom">Всі підтримувані формати (*.nes, *.zip, *.7z, *.nsf, *.nsfe, *.fds, *.unf)|*.NES;*.ZIP;*.7z;*.FDS;*.NSF;*.NSFE;*.UNF|NES Roms (*.nes, *.unf)|*.NES;*.UNF|Famicom Disk System Roms (*.fds)|*.FDS|NSF files (*.nsf, *.nsfe)|*.nsf;*.nsfe|ZIP Archives (*.zip)|*.ZIP|7-Zip Archives (*.7z)|*.7z|All (*.*)|*.*</Message>
<Message ID="FilterRomIps">Всі підтримувані формати (*.nes, *.zip, *.7z, *.fds, *.nsf, *.nsfe, *.unf, *.ips)|*.NES;*.ZIP;*.7z;*.IPS;*.FDS;*.NSF;*.NSFE;*.UNF|NES Roms (*.nes, *.unf)|*.NES;*.UNF|Famicom Disk System Roms (*.fds)|*.FDS|NSF files (*.nsf, *.nsfe)|*.nsf;*.nsfe|ZIP Archives (*.zip)|*.ZIP|7-Zip Archives (*.7z)|*.7z|IPS Patches (*.ips)|*.IPS|All (*.*)|*.*</Message>
<Message ID="FilterTest">Test files (*.mtp)|*.mtp|All (*.*)|*.*</Message>
<Message ID="FilterCheat">Всі підтримувані формати (*.cht, *.xml)|*.cht;*.xml</Message>
<Message ID="Resume">Продовжити</Message>
<Message ID="Pause">Пауза</Message>
<Message ID="StartServer">Запустити сервер</Message>
<Message ID="StopServer">Зупинити сервер</Message>
<Message ID="ConnectToServer">Пiдключитися к серверу</Message>
<Message ID="Disconnect">Відключитися</Message>
<Message ID="PlayerNumber">Гравець {0}</Message>
<Message ID="RomsFound">{0} Знайдені ROM файли</Message>
<Message ID="CheatsFound">iгр {0}, читiв {1}</Message>
<Message ID="CheatsImported">{0} читiв імпортовано для {1}.</Message>
<Message ID="NsfNextTrack">Наступний трек (Затисніть для перемотування)</Message>
<Message ID="NsfUnnamedTrack">&lt;безіменний&gt;</Message>
<Message ID="NsfUnknownField">&lt;невідомий&gt;</Message>
<Message ID="CouldNotInstallRuntime">The Visual Studio Runtime не встановлений.</Message>
<Message ID="EmptyState">&lt;пусто&gt;</Message>
<Message ID="ErrorWhileCheckingUpdates">Не вдалося перевірити оновлення.&#xA;&#xA;Детально:&#xA;{0}</Message>
<Message ID="FdsBiosNotFound">FDS BIOS не знайдений. BIOS необхідний для запуску FDS игр.&#xA;&#xA;Вибрати BIOS зараз?</Message>
<Message ID="FdsDiskSide">Диск {0} Сторона {1}</Message>
<Message ID="FileNotFound">Файл не знайдено: {0}</Message>
<Message ID="InvalidFdsBios">Обраний биос некоректний.</Message>
<Message ID="HDNesTooltip">Дана опція дозволяє використовувати HD packs для емулятора HDNes якщо вони знайдени.&#xA;&#xA;HD Packs повинні бути поміщені в папку "HdPacks" в папці з ім'ям збігається з ім'ям ROM.&#xA;наприклад: HD Pack для MyRom.nes повинні лежати в "HdPacks\MyRom\hires.txt".&#xA;&#xA;Зауваження: Підтримка HD Packs не закінчена і має ряд обмежень.</Message>
<Message ID="MesenUpToDate">Ви використовуєте останню версію Mesen</Message>
<Message ID="PatchAndReset">Пропатчити і скинути поточну гру?</Message>
<Message ID="SelectRomIps">Будь ласка, оберіть ROM відповідний IPS.</Message>
<Message ID="UnableToDownload">Неможливо завантажити файл. Перевірте ваше з'єднання з інтернетом і спробуйте ще раз.&#xA;&#xA;Детально:</Message>
<Message ID="UnableToStartMissingDependencies">Mesen повинен завантажити та встановити Microsoft Visual Studio 2015 runtime щоб продовжити. Хочете автоматично завантажити Microsoft Visual Studio 2015 runtime з сайту Microsoft і встановити його зараз?"</Message>
<Message ID="UnableToStartMissingFiles">Mesen не може запуститися через відсутні файли.&#xA;&#xA;Помилка: WinMesen.dll не знайдений.</Message>
<Message ID="UnexpectedError">Невідома помилка.&#xA;&#xA;Детально:&#xA;{0}</Message>
<Message ID="UpdateDownloadFailed">Завантаження не вдалася - файл пошкоджений. Будь ласка відвідайте сайт Mesen і завантажте останню версію вручну.</Message>
<Message ID="UpgradeSuccess">Оновлення пройшло успішно.</Message>
<Message ID="UpdaterNotFound">Оновлення не може бути розпочато через відсутніх файлів</Message>
<Message ID="Net45NotFound">Microsoft .NET Framework 4.5 не знайдений. Будь ласка завантажте і встановіть останню версію .NET Framework з сайту Microsoft і спробуйте знову.</Message>
<Message ID="GoogleDriveIntegrationError">Mesen не зміг підключитися до вашого аккаунту Google Drive - спробуйте ще раз.</Message>
<Message ID="InvalidCheatFile">The selected file ({0}) is not a valid cheat file.</Message>
<Message ID="InvalidXmlFile">The selected file ({0}) is not a valid XML file.</Message>
<Message ID="NoMatchingCheats">The selected cheat file ({0}) contains no cheats that match the selected game.</Message>
</Messages>
<Enums>
<Enum ID="ControllerType">
<Value ID="None">Пусто</Value>
<Value ID="StandardController">Стандартний контролер</Value>
<Value ID="Zapper">Zapper</Value>
<Value ID="ArkanoidController">Arkanoid</Value>
</Enum>
<Enum ID="VideoAspectRatio">
<Value ID="Auto">Auto</Value>
<Value ID="NTSC">NTSC (8:7)</Value>
<Value ID="PAL">PAL (11:8)</Value>
<Value ID="Standard">Стандарт (4:3)</Value>
<Value ID="Widescreen">Широкий екран (16:9)</Value>
</Enum>
<Enum ID="VideoFilterType">
<Value ID="None">Відсутнє</Value>
<Value ID="NTSC">NTSC</Value>
<Value ID="xBRZ2x">xBRZ 2x</Value>
<Value ID="xBRZ3x">xBRZ 3x</Value>
<Value ID="xBRZ4x">xBRZ 4x</Value>
<Value ID="xBRZ5x">xBRZ 5x</Value>
<Value ID="xBRZ6x">xBRZ 6x</Value>
<Value ID="HQ2x">HQ 2x</Value>
<Value ID="HQ3x">HQ 3x</Value>
<Value ID="HQ4x">HQ 4x</Value>
<Value ID="Scale2x">Scale2x</Value>
<Value ID="Scale3x">Scale3x</Value>
<Value ID="Scale4x">Scale4x</Value>
<Value ID="_2xSai">2xSai</Value>
<Value ID="Super2xSai">Super2xSai</Value>
<Value ID="SuperEagle">SuperEagle</Value>
<Value ID="Prescale2x">Prescale 2x</Value>
<Value ID="Prescale3x">Prescale 3x</Value>
<Value ID="Prescale4x">Prescale 4x</Value>
</Enum>
<Enum ID="ConsoleType">
<Value ID="Nes">NES</Value>
<Value ID="Famicom">Famicom</Value>
</Enum>
<Enum ID="ExpansionPortDevice">
<Value ID="None">Пусто</Value>
<Value ID="Zapper">Zapper</Value>
<Value ID="FourPlayerAdapter">Адаптер на 4 гравців</Value>
<Value ID="ArkanoidController">Arkanoid</Value>
<Value ID="OekaKidsTablet">Oeka Kids Tablet</Value>
</Enum>
<Enum ID="PpuModel">
<Value ID="Ppu2C03">RP2C03</Value>
<Value ID="Ppu2C04A">RP2C04-0001</Value>
<Value ID="Ppu2C04B">RP2C04-0002</Value>
<Value ID="Ppu2C04C">RP2C04-0003</Value>
<Value ID="Ppu2C04D">RP2C04-0004</Value>
<Value ID="Ppu2C05A">RP2C05-01</Value>
<Value ID="Ppu2C05B">RP2C05-02</Value>
<Value ID="Ppu2C05C">RP2C05-03</Value>
<Value ID="Ppu2C05D">RP2C05-04</Value>
<Value ID="Ppu2C05E">RP2C05-05</Value>
</Enum>
<Enum ID="InputDisplayPosition">
<Value ID="TopLeft">Зверху злiва</Value>
<Value ID="TopRight">Зверху справа</Value>
<Value ID="BottomLeft">Снизу злiва</Value>
<Value ID="BottomRight">Снизу справа</Value>
</Enum>
<Enum ID="Language">
<Value ID="SystemDefault">Використовувати мову за замовчуванням</Value>
<Value ID="English">English</Value>
<Value ID="French">Français</Value>
<Value ID="Japanese">日本語</Value>
<Value ID="Russian">Русский</Value>
<Value ID="Spanish">Español</Value>
<Value ID="Ukrainian">Українська</Value>
</Enum>
<Enum ID="RamPowerOnState">
<Value ID="AllZeros">Всi 0 (По умолчанию)</Value>
<Value ID="AllOnes">Всi 1</Value>
<Value ID="Random">Випадкові значення</Value>
</Enum>
<Enum ID="CheatCurrentFilterType">
<Value ID="Smaller">Менше нiж</Value>
<Value ID="Equal">Дорівнює</Value>
<Value ID="NotEqual">Не дорівнює</Value>
<Value ID="Greater">Більше ніж</Value>
</Enum>
<Enum ID="CheatPrevFilterType">
<Value ID="Smaller">Менше</Value>
<Value ID="Equal">Дорівнює</Value>
<Value ID="NotEqual">Не дорівнює</Value>
<Value ID="Greater">Бiльше</Value>
</Enum>
</Enums>
</Resources>

View File

@ -21,7 +21,8 @@ namespace Mesen.GUI.Forms
French = 2,
Japanese = 3,
Russian = 4,
Spanish = 5
Spanish = 5,
Ukrainian = 6
}
class ResourceHelper
@ -51,6 +52,7 @@ namespace Mesen.GUI.Forms
case "ja": language = Language.Japanese; break;
case "ru": language = Language.Russian; break;
case "es": language = Language.Spanish; break;
case "uk": language = Language.Ukrainian; break;
}
}
@ -63,6 +65,7 @@ namespace Mesen.GUI.Forms
case Language.Japanese: filename = "resources.ja.xml"; break;
case Language.Russian: filename = "resources.ru.xml"; break;
case Language.Spanish: filename = "resources.es.xml"; break;
case Language.Ukrainian: filename = "resources.uk.xml"; break;
}
_language = language;

View File

@ -1440,6 +1440,7 @@ namespace Mesen.GUI.Forms
case Language.Japanese: langCode = "ja"; break;
case Language.Russian: langCode = "ru"; break;
case Language.Spanish: langCode = "es"; break;
case Language.Ukrainian: langCode = "uk"; break;
}
xmlDoc.LoadXml(client.DownloadString("http://www.mesen.ca/Services/GetLatestVersion.php?v=" + InteropEmu.GetMesenVersion() + "&p=win&l=" + langCode));
Version currentVersion = new Version(InteropEmu.GetMesenVersion());

View File

@ -784,6 +784,9 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>
</Content>
<Content Include="Dependencies\resources.uk.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Dependencies\VsSystem.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
<SubType>Designer</SubType>

View File

@ -75,6 +75,7 @@ namespace Mesen.GUI
case Language.Japanese: message = "Microsoft .NET Framework 4.5はインストールされていないため、Mesenは起動できません。Microsoft .NET Frameworkの最新版をMicrosoftのサイトからダウンロードして、インストールしてください。"; break;
case Language.Russian: message = "Microsoft .NET Framework 4.5 не найден. Пожалуйста загрузите и установите последнюю версию .NET Framework с сайта Microsoft и попробуйте снова."; break;
case Language.Spanish: message = "El Microsoft .NET Framework 4.5 no se ha encontrado. Por favor, descargue la versión más reciente de .NET Framework desde el sitio de Microsoft y vuelva a intentarlo."; break;
case Language.Ukrainian: message = "Microsoft .NET Framework 4.5 не знайдений. Будь ласка завантажте і встановіть останню версію .NET Framework з сайту Microsoft і спробуйте знову."; break;
}
MessageBox.Show(message, "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
@ -85,6 +86,7 @@ namespace Mesen.GUI
case Language.Japanese: message = "予期しないエラーが発生しました。\n\nエラーの詳細:\n{0}"; break;
case Language.Russian: message = "Неизвестная ошибка.&#xA;&#xA;Подробно:&#xA;{0}"; break;
case Language.Spanish: message = "Se ha producido un error inesperado.&#xA;&#xA;Detalles del error:&#xA;{0}"; break;
case Language.Ukrainian: message = "Невідома помилка.&#xA;&#xA;Детально:&#xA;{0}"; break;
}
MessageBox.Show(string.Format(message, e.ToString()), "Mesen", MessageBoxButtons.OK, MessageBoxIcon.Error);
}