Перейти к содержимому
Zone of Games Forum
lilinoa

Не поддерживается русский язык при вводе имени

Рекомендованные сообщения

Здравствуйте!

Закончили перевод новеллы Amnesia:Memories , но как всегда в последний момент обнаружилась проблема. Невозможно ввести имя героини на русском языке,  оно просто не отображается. 

Покопавшись в файлах, оказалось, что алфавит для ввода имени записан вот такими символами “ABCDEFGHIJKLM” , естественно, замена на обычные “А Б В Г Д” только ухудшила ситуацию:

Скрытый текст

6I7OPiiwRzw.jpg

Возможно ли как-то решить эту проблему? Или тут уже всё, без вариантов? Не вводить имя нельзя, игра не пускает без этого. Можно как-то заблокировать возможность выбора имени?

p.s. заменяла информацию в файлах: mode_name.iet и function_utility.lua. Можно скачать вот тут 

Поделиться сообщением


Ссылка на сообщение
On 6/3/2018 at 11:38 PM, lilinoa said:

Здравствуйте!

Закончили перевод новеллы Amnesia:Memories , но как всегда в последний момент обнаружилась проблема. Невозможно ввести имя героини на русском языке,  оно просто не отображается. 

Покопавшись в файлах, оказалось, что алфавит для ввода имени записан вот такими символами “ABCDEFGHIJKLM” , естественно, замена на обычные “А Б В Г Д” только ухудшила ситуацию:

Spoiler

 

Чтобы отображались русские имена и русские символы при вводе, вы сможете лишь в том случае, если перерисуете в шрифте ttf или otf английский и японский в японской локали. (U+FF21 и далее) (Это сработает)

Spoiler

fullwidth = fullwidth .. "abcdefghijklmnopqrstuvwxyz" (для отображения введённого символа)
fullwidth = fullwidth .. "ABCDEFGHIJKLMNOPQRSTUVWXYZ" (для отображения введённого символа)
fullwidth = fullwidth .. "アイウエオカキクケコサシスセソ\タチツテトナニヌネノ" (для отображения введённого символа)
fullwidth = fullwidth .. "ハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ" (для отображения введённого символа)

table.insert(t, "ABCDEFGHIJKLM") (для отображения вводимого символа)
table.insert(t, "NOPQRSTUVWXYZ") (для отображения вводимого символа)
table.insert(t, "abcdefghijklm") (для отображения вводимого символа)
table.insert(t, "nopqrstuvwxyz") (для отображения вводимого символа)
table.insert(t, "ハヒフヘホマミムメモヤユヨラ") (для отображения вводимого символа)

 

Но учтите, что ширина русской буквы должны быть, такой же как и в японской кодировке.

33/33 русских символов (нижнего и верхнего регистра) = 26/26 английских символов (нижнего и верхнего регистра) + 14 символов японской локали итого = 66 перерисованных символов, но можно и сократить, убрав из верхнего регистра несколько ненужных русских символов.

Spoiler

af1f368096c1afa58b4ae35d7467ac7d.jpg

 

А можно всего этого избежать.

 

Spoiler

 

mode_name.iet

    local t = {}
    table.insert(t, "АБВГДЕЁЖЗИЙКЛМНОП")
    table.insert(t, "РСТУФХЦЧШЩЪЫЬЭЮЯ")
    table.insert(t, "абвгдеёжзийклмноп")
    table.insert(t, "рстуфхцчшщъыьэюя")
    table.insert(t, "0123456789!?-@#$")
    S_TxtInput.txt_area2 = {}
    _text_set(e, S_TxtInput.txt_area2, t, 2)  (изначально стоит 3 = три символа для отображения японских символов в ANSI / 2 символа для отображения русских символов в ANSI)

    table.insert(t, "АБВГДЕЁЖЗИЙКЛМНОП") (вмещается 13 символов) МНОП — будут видны, но не будут работать как вводимый символ.

mode_name.iet

    local t = {}
    table.insert(t, "АБВГДЕЁЖЗИЙКЛ")
    table.insert(t, "МНОПРСТУФХЦЧШ")
    table.insert(t, "ЩЪЫЬЭЮЯабвгде")
    table.insert(t, "ёжзийклмнопрст")
    table.insert(t, "уфхцчшщъыьэюя")
    S_TxtInput.txt_area2 = {}
    _text_set(e, S_TxtInput.txt_area2, t, 2)

Лучше так без твёрдого знака Ъ

 

Где-то ещё надо искать код для 3 символов ввода в mode_name.iet (данный файл служит для ввода символов) (и скорее всего код для изменения размера выделенной области для буквы, немного выше)

function_utility.lua

        halfwidth = halfwidth .. "abcdefghijklmnopqrstuvwxyz"
        halfwidth = halfwidth .. "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        halfwidth = halfwidth .. "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ。「」、・ー゙゚"
        fullwidth = fullwidth .. "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
        fullwidth = fullwidth .. "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
        fullwidth = fullwidth .. "アイウエオカキクケコサシスセソ\タチツテトナニヌネノ"
        fullwidth = fullwidth .. "ハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ"
        fullwidth = fullwidth .. "。「」、・ー゛゜"

 

Spoiler

b426ca0e58a9b2c02868f1c1e004a42c.jpg

 

Изменено пользователем Tericonio
  • +1 1

Поделиться сообщением


Ссылка на сообщение
23 часа назад, Tericonio сказал:
  Не актуально (Показать содержимое)

 

Чтобы отображались русские имена и русские символы при вводе, вы сможете лишь в том случае, если перерисуете в шрифте ttf или otf английский и японский в японской локали. (U+FF21 и далее) (Это сработает)

  Код в скриптах (Показать содержимое)

fullwidth = fullwidth .. "abcdefghijklmnopqrstuvwxyz" (для отображения введённого символа)
fullwidth = fullwidth .. "ABCDEFGHIJKLMNOPQRSTUVWXYZ" (для отображения введённого символа)
fullwidth = fullwidth .. "アイウエオカキクケコサシスセソ\タチツテトナニヌネノ" (для отображения введённого символа)
fullwidth = fullwidth .. "ハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ" (для отображения введённого символа)

table.insert(t, "ABCDEFGHIJKLM") (для отображения вводимого символа)
table.insert(t, "NOPQRSTUVWXYZ") (для отображения вводимого символа)
table.insert(t, "abcdefghijklm") (для отображения вводимого символа)
table.insert(t, "nopqrstuvwxyz") (для отображения вводимого символа)
table.insert(t, "ハヒフヘホマミムメモヤユヨラ") (для отображения вводимого символа)

 

Но учтите, что ширина русской буквы должны быть, такой же как и в японской кодировке.

33/33 русских символов (нижнего и верхнего регистра) = 26/26 английских символов (нижнего и верхнего регистра) + 14 символов японской локали итого = 66 перерисованных символов, но можно и сократить, убрав из верхнего регистра несколько ненужных русских символов.

  Как будет смотрется (Показать содержимое)

af1f368096c1afa58b4ae35d7467ac7d.jpg

 

А можно всего этого избежать.

 

  Лучший вариант (Скрыть содержимое)

 

mode_name.iet

    local t = {}
    table.insert(t, "АБВГДЕЁЖЗИЙКЛМНОП")
    table.insert(t, "РСТУФХЦЧШЩЪЫЬЭЮЯ")
    table.insert(t, "абвгдеёжзийклмноп")
    table.insert(t, "рстуфхцчшщъыьэюя")
    table.insert(t, "0123456789!?-@#$")
    S_TxtInput.txt_area2 = {}
    _text_set(e, S_TxtInput.txt_area2, t, 2)  (изначально стоит 3 = три символа для отображения японских символов в ANSI / 2 символа для отображения русских символов в ANSI)

    table.insert(t, "АБВГДЕЁЖЗИЙКЛМНОП") (вмещается 13 символов) МНОП — будут видны, но не будут работать как вводимый символ.

mode_name.iet

    local t = {}
    table.insert(t, "АБВГДЕЁЖЗИЙКЛ")
    table.insert(t, "МНОПРСТУФХЦЧШ")
    table.insert(t, "ЩЪЫЬЭЮЯабвгде")
    table.insert(t, "ёжзийклмнопрст")
    table.insert(t, "уфхцчшщъыьэюя")
    S_TxtInput.txt_area2 = {}
    _text_set(e, S_TxtInput.txt_area2, t, 2)

Лучше так без твёрдого знака Ъ

 

Где-то ещё надо искать код для 3 символов ввода в mode_name.iet (данный файл служит для ввода символов) (и скорее всего код для изменения размера выделенной области для буквы, немного выше)

function_utility.lua

        halfwidth = halfwidth .. "abcdefghijklmnopqrstuvwxyz"
        halfwidth = halfwidth .. "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        halfwidth = halfwidth .. "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ。「」、・ー゙゚"
        fullwidth = fullwidth .. "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
        fullwidth = fullwidth .. "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
        fullwidth = fullwidth .. "アイウエオカキクケコサシスセソ\タチツテトナニヌネノ"
        fullwidth = fullwidth .. "ハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ"
        fullwidth = fullwidth .. "。「」、・ー゛゜"

 

  В итоге как будет смотреться (Показать содержимое)

b426ca0e58a9b2c02868f1c1e004a42c.jpg

 

Большое спасибо! Стало лучше, но лишь немного.. Набираются буквы с трудом, буквально через раз. Но вот в самой игре, после ввода имени,  когда персонажи обращаются к героине, оно всё ещё на английском. Возможно, где-то ещё нужно что-то исправить?

Поделиться сообщением


Ссылка на сообщение

@lilinoa 

Пока есть такая проблема, только как её решить не прибегая к первому варианту — кодирования символов английских и японских, пока нет представления.

Сами файлы написаны на Lua. Если с вводимыми символами решаемо, то если в нижнем коде менять 1 на 2, при том что — выше в коде будет стоять 3, в окне ввода введённые символы исчезают, но появляются в диалоге как и должно быть на русском.

Так же непонятен код расстояния между символами, для любой кодировки при вводе этих символов, его как будто, куда-то впихнули не в тот скрипт.

Вот эта злосчастная 1 — портит всё.

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение
On 6/3/2018 at 11:38 PM, lilinoa said:

Можно как-то заблокировать возможность выбора имени?

Заблокировать ввод имени возможно так же.

Но тогда вам придётся придумать имя Героине. Изменить немного диалог до ввода имени, и заменить #Name[0] на имя героини во всех файлах .iet/*.lua. Где что закомментировать я помогу. Но это не совсем верное решение.

Блокировку ввода добился, после диалога о вводе имени

        [maintxt_print text="   What about your name?"]
        [maintxt_print text="   Do you think you can at least"]
        [maintxt_print text="   remember your name?"]

переходит к следующему диалогу игнорируя ввод символов.

        [maintxt_print text="   #Name[0]......?"]
        [maintxt_print text="   Is that your name?"]

Если ввести за место #Name[0] — Сью, то диалог примет такой оборот.

Сью......?
Is that your name?

А вот решить проблему с вводом имени пока не удаётся, кроме как кодировать шрифт от A-Z и a-z.  Тут нужен спец по Lua, а также нужны будут:  вся игра, и все распакованные файлы, если кто-то возьмётся.

Код скорее всего для правильного ввода, находится в mode_name.iet

Spoiler

    local _text_set = function (e, dst, src, byte_len)
        for i = 1, #src do
            dst = {}
            for j = 1, math.floor(string.len(src) / byte_len) do
                local idx_begin = 1 + byte_len * (j -1)
                dst[j] = string.sub(src, idx_begin, idx_begin + (byte_len -1))
            end
        end
    end

Или может не только в ней, но ещё и ниже.

 

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • сделал свою версию через гемини. Выбирайте перевод на свой вкус
      https://www.playground.ru/daemon_x_machina_titanic_scion/file/daemon_x_machina_titanic_scion_rusifikator_teksta_mashinnyj_v1-1791435
      https://t.me/ahmadrahimov888/986
    • Ну да всё познаётся в сравнении! А на своё любимое хобби, будь то на охоту и даже рыбалку,  некоторые фанаты отваливают не меньше бабла,  чем геймеры за топовые видюхи, а то и больше...
    • Всё заработало с утра. Всем спасибо за поддержку. Впредь задумался о необходимости наличия стабильных трёх букав в ассортименте своего софта (хорошие варианты накидайте в лс, пж-ста) Мало-ли, чую железный купол уже близок.
    • Так, прошёл с данным русификатором игру. На моменте в офисе всё багается (пропадает английский текст) и дальше пройти можно только если подсмотреть в прохождении (так и сделал).
      Действительно провальный хоррор, скучный и нудный. Но мне стало интересно, а что во второй части? Сделал собственный русификатор для второй части (весь текст правил вручную на наличие ошибок и нелогичных словосочетаний). Сегодня вечером ещё раз пройду на наличие косяков и отправлю @SerGEAnt ссылку на русик. Надеюсь получилось хорошо.
    • Сделал перевод к игре на базе автотранслятора. Перевод на русский был сделан с использованием нейросети + правки по тексту + шрифт. Установка: Содержимое архива скопировать в основную папку игры, предложит заменить, нажимаете да.
      Скачать: Google | Boosty Проверено на версии: steam 1.2.3. (16919276 build от 13 января 2025 года)  
    • Тоже интересует этот вопрос. Существует ли только русификатор текста для GOG версии без всяких неофициальных патчей?
    • Так у меня тоже всё по доброму. Удивляются не таки образом — “фига, ты дурак, нафига купил? столько денег потратил?”. Удивляются больше нынешним ценам, — “Сколько, сколько ты сказал стоит?” или “Где деньги взял Лебовски?!”. У меня многие друзья раньше тоже были геймерами, но с возрастом, с появлением семьи и так далее, приоритеты в жизни изменились, на игры либо совсем времени не осталось, либо нет возможности покупать дорогое железо, чтобы с комфортом играть современные тайтлы. Поэтому люди с возрастом к играм просто остыли. Но иногда спрашивают, за тот или иной проект - “Типа классная игра? Ты играл?”. Если рекламу где-то видели, или это продолжение какой-нибудь игры, в которую они раньше играли.  Да и в целом. Я сам сейчас не играю как раньше. То постоянно загружен на работе, то семейными делами. Могу по две-три недели к играм не прикасаться. От чего у меня количество не пройденных проектов постоянно растёт. Я постоянно, что-то покупаю, что нельзя купить, скачиваю. Всё копится, копится, наслаивается и сам не знаешь когда всё пройдёшь?! Где та молодость? Когда за играми мог сутками беззаботно сидеть и проходить всё подряд?! Раньше не было денег, но было много свободного время. Сейчас есть деньги, но нет столько свободного времени. 
    • Еще раз обновил. Просто распакуйте папку data в папку с игрой. Теперь вроде бы восстановил вообще всё что только можно по форматированию. Плюс исправил в диалогах имена Рина и Макиаса. Теперь они будут консистентны. Если что по тексту будет странное тоже пишите.
      Так же исправил форматирование в talk. Плюс заменил шрифты, так-как в старом моём не было глифа дефиса.
    • Я бы с радостью объяснил почему то или это, и почему вот так.  Но если человек далёк от этого, то и особого смысла объяснять я не вижу, ведь в лучшем случае, меня просто вежливо выслушают, а мне хочется общаться на эти темы.  И с аниме такая же хрень — ты не поговоришь об этом с человеком, который не в теме.  Если у тебя есть приятели, с которыми у вас имеются общие темы, которые действительно лично тебе интересны и важны, то я считаю, что тебе повезло.
    • @\miroslav\ я после Хелла тоже наверное в Кронос буду, а жучиху оставлю на сладкое     Но да, думаю на неё много времени уйдёт.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×