Disco.app localisation

Disco.app localisation

vasyan

Привет! вкратце, удалось русифицировать используя смекалку и нейрослоп).


1) качаем локализацию отсюда https://steamcommunity.com/sharedfiles/filedetails/?id=3410875811

2) внутри архива будет SynthVoiceRu.resource и папка StreamingAssets/aa/StandaloneWindows64

2.1) в установленной версии Disco.app есть похожая папка но она называется StandaloneOSX. внутри родной папки есть похожие файлы но они отличаются в конце имени. наша задача перенести файлы из StandaloneWindows64 в папку StandaloneOSX но под именами которые были в папке StandaloneOSX. Я сделал скрипт который это делает за нас.

итак

3) копируем файлы:

3.1) жмите правой мышью по значку игры Disco.app, выбирайте "показать содержимое пакета", проходим в папку Disco.app/Contents/Resources/Data/ и копируем сюда руками SynthVoiceRu.resource из архива локализации. (я додумал по смыслу. возможно именно этот файл надо кидать не сюда или под другим именем но мне итак норм. не проверял сорри)

3.2) затем проходим в папку Disco.app/Contents/Resources/Data/StreamingAssets/aa и кладём здесь папку StandaloneWindows64 из архива локализации . у вас должно получиться что в этой папке будут два файла StandaloneWindows64 и StandaloneOSX

4) создаём файл скрипта который нам переименует и перенесёт файлы. (как ? читайте ниже)

4.1) откройте терминал (в spotlight программа так называется) и пишите 

touch "/Applications/Disco.app/Contents/Resources/Data/StreamingAssets/aa/apply_localization.sh"

# делаем исполняемым
chmod +x "/Applications/Disco.app/Contents/Resources/Data/StreamingAssets/aa/apply_localization.sh"


затем нужно открыть этот файл в текстовом редакторе и вставить в него этот код:

#!/bin/bash

# Скрипт переносит файлы локализации из StandaloneWindows64 в StandaloneOSX
# Сопоставление по префиксу (имя до хеша), имя файла берётся из StandaloneOSX

SRC_DIR="StandaloneWindows64"
DST_DIR="StandaloneOSX"

if [ ! -d "$SRC_DIR" ] || [ ! -d "$DST_DIR" ]; then
  echo "Ошибка: не найдены папки $SRC_DIR или $DST_DIR"
  exit 1
fi
count=0
skipped=0

# Перебираем все .bundle файлы из Windows-папки
for src_file in "$SRC_DIR"/*.bundle; do
  [ -f "$src_file" ] || continue
  basename_src=$(basename "$src_file")
  # Извлекаем префикс: всё до последнего хеша (32 hex символа перед .bundle)
  # Формат: имя_файла_хеш.bundle
  # Удаляем .bundle, потом берём всё кроме последних 33 символов (32 хеш + подчёркивание)
  name_no_ext="${basename_src%.bundle}"
  prefix="${name_no_ext%_????????????????????????????????}"

  # Ищем соответствующий файл в OSX-папке по префиксу
  dst_file="$DST_DIR/${prefix}*.bundle"
  matched=$(echo "$DST_DIR"/${prefix}* 2>/dev/null | head -n 1)

  if [ -f "$matched" ]; then
    basename_dst=$(basename "$matched")
    cp -f "$src_file" "$DST_DIR/$basename_dst"
    echo "✓ $basename_src → $basename_dst"
    count=$((count + 1))
  else
    echo "⊘ нет пары для $basename_src"
    skipped=$((skipped + 1))
  fi
done

echo ""
echo "Готово! Скопировано: $count, Без пары: $skipped"

5) сохраняете файл и запускаете его (как? читайте ниже)

в терминале пишите

/Applications/Disco.app/Contents/Resources/Data/StreamingAssets/aa/apply_localization.sh

он немного поработает и после этого озвучка в игре заработает.

6) после всех манипуляций проверьте озвучку в игре. и затем папку StandaloneWindows64 (4гб) можно удалить. если надо удалите также и скрипт т.к. он нужен только раз. но вдруг пригодится в будущем. поэтому можно и оставить )



Report Page