Hallo Ken,

das sollte trotzdem funktionieren. Wenn du immer beide Sprachen gepflegt hast, sollte er die Sprache anzeigen, die für "Switch = aus" verwendet wird.

Hier das Script erweitert um Skill- und Item-Namen. Ich habe jetzt nicht die Zeit alle Windows durchzuschauen, wo es noch verwendet wird. Falls dir irgendwo mal eine falsche Ausgabe begegnet, sag bescheid, dann erweitere ich das Script einfach.

Code:
module Vocab
  # Whenever the language is changed ingame, call:
  # Vocab.change_vocab()
  
  # Number of the language switch
  LDT_SWITCH = 101
  #language siwtch off , language switch on
  #example ["Beenden","Back to title"] # Zum Titelmenü
  LDT_BASIC = [
      ["",""], # Level/Stufe
      ["",""], #  Level/Stufe (kurz)
      ["",""], #  HP/LP
      ["",""], #  HP/LP (kurz)
      ["",""], #  MP
      ["",""], #  MP (kurz)
      ["",""], #  TP
      ["",""]] #  TP (kurz)
  LDT_COMMAND = [
      ["",""], #  Kampf
      ["",""], #  Fliegen
      ["",""], #  Angriff
      ["",""], #  Verteidigen
      ["",""], #  Gegenstände
      ["",""], #  Fähigkeiten
      ["",""], #  Ausrüstung
      ["",""], #  Status
      ["",""], #  Formation ändern
      ["",""], #  Speichern
      ["",""], #  Spiel beenden
      ["",""], #  
      ["",""], #  Waffen
      ["",""], #  Rüstungen
      ["",""], #  Wichtige Objekte
      ["",""], #  Ausrüstung wechseln
      ["",""], #  Beste Ausrüstung
      ["",""], #  Alles entfernen
      ["",""], #  Neues Spiel
      ["",""], #  Fortsetzen
      ["",""], #  Programm beenden
      ["",""], #  Zum Titelmenü
      ["",""]] #  Abbrechen
  # Skill ID => [Language switch off][Language siwtch on]
  # Skills which are not maintained here will be read from database
  LDT_SKILL = {
      1=>["",""],
      2=>["",""],
      4=>["Doppelter Hieb","Double Attack"]
      }
  # Item ID => [Language switch off][Language siwtch on]
  # Items which are not maintained here will be read from database
  LDT_ITEM = {
      1=>["Trank","Potion"],
      2=>["",""],
      4=>["",""]
      }    
  def self.change_vocab()
    Vocab::ShopBuy.replace !$game_switches[LDT_SWITCH] ? "Kaufen" : "Kaufen"
    Vocab::ShopSell.replace !$game_switches[LDT_SWITCH] ? "Verkaufen" : "Verkaufen"
    Vocab::ShopCancel.replace !$game_switches[LDT_SWITCH] ? "Abbrechen" : "Abbrechen"
    Vocab::Possession.replace !$game_switches[LDT_SWITCH] ? "Im Besitz" : "Im Besitz"

    # Status-Menübildschirm
    Vocab::ExpTotal.replace !$game_switches[LDT_SWITCH] ? "Aktuelle Exp" : "Aktuelle Exp"
    Vocab::ExpNext.replace !$game_switches[LDT_SWITCH] ? "Bis zum nächsten %s" : "Bis zum nächsten %s"

    # Speichern/Laden-Menübildschirm
    Vocab::SaveMessage.replace !$game_switches[LDT_SWITCH] ? "In welchen Stand speichern" : "In welchen Stand speichern"
    Vocab::LoadMessage.replace !$game_switches[LDT_SWITCH] ? "Welchen Stand laden" : "Welchen Stand laden"
    Vocab::File.replace !$game_switches[LDT_SWITCH] ? "Spielstand" : "Spielstand"

    # Anzeige, wenn es mehrere Gruppenmitglieder gibt
    Vocab::PartyName.replace !$game_switches[LDT_SWITCH] ? "%s's Gruppe" : "%s's Gruppe"

    # Basis-Nachrichten im Kampf
    Vocab::Emerge.replace !$game_switches[LDT_SWITCH] ? "%s erscheint!" : "%s erscheint!"
    Vocab::Preemptive.replace !$game_switches[LDT_SWITCH] ? "%s ist im Vorteil!" : "%s ist im Vorteil!"
    Vocab::Surprise.replace !$game_switches[LDT_SWITCH] ? "%s wurde überrascht!" : "%s wurde überrascht!"
    Vocab::EscapeStart.replace !$game_switches[LDT_SWITCH] ? "%s versucht zu fliehen!" : "%s versucht zu fliehen!"
    Vocab::EscapeFailure.replace !$game_switches[LDT_SWITCH] ? "War nicht in der Lage zu fliehen!" : "War nicht in der Lage zu fliehen!"

    # Nachrichten bei Kampfende
    Vocab::Victory.replace !$game_switches[LDT_SWITCH] ? "%s war siegreich!" : "%s war siegreich!"
    Vocab::Defeat.replace !$game_switches[LDT_SWITCH] ? "%s wurde besiegt." : "%s wurde besiegt."
    Vocab::ObtainExp.replace !$game_switches[LDT_SWITCH] ? "%s EXP erhalten!" : "%s EXP erhalten!"
    Vocab::ObtainGold.replace !$game_switches[LDT_SWITCH] ? "%s\\G gefunden!" : "%s\\G gefunden!"
    Vocab::ObtainItem.replace !$game_switches[LDT_SWITCH] ? "%s gefunden!" : "%s gefunden!"
    Vocab::LevelUp.replace !$game_switches[LDT_SWITCH] ? "%s ist nun %s %s!" : "%s ist nun %s %s!"
    Vocab::ObtainSkill.replace !$game_switches[LDT_SWITCH] ? "%s erlernt!" : "%s erlernt!"

    # Benutzung von Gegenständen
    Vocab::UseItem.replace !$game_switches[LDT_SWITCH] ? "%s nutzt %s!" : "%s nutzt %s!"

    # Kritischer Treffer
    Vocab::CriticalToEnemy.replace !$game_switches[LDT_SWITCH] ? "Kritischer Treffer!!" : "Kritischer Treffer!!"
    Vocab::CriticalToActor.replace !$game_switches[LDT_SWITCH] ? "Wurde schwer getroffen!!" : "Wurde schwer getroffen!!"

    # Ergebnis für Aktionen, welche die Helden betreffen
    Vocab::ActorDamage.replace !$game_switches[LDT_SWITCH] ? "%s nimmt %s Schaden!" : "%s nimmt %s Schaden!"
    Vocab::ActorRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
    Vocab::ActorGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
    Vocab::ActorLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
    Vocab::ActorDrain.replace !$game_switches[LDT_SWITCH] ? "%s wurde %s %s entzogen!" : "%s wurde %s %s entzogen!"
    Vocab::ActorNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden eritten!" : "%s hat keinen Schaden eritten!"
    Vocab::ActorNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"

    # Ergebnis für Aktionen, welche die Gegner betreffen
    Vocab::EnemyDamage.replace !$game_switches[LDT_SWITCH] ? "%s erleidet %s Schaden!" : "%s erleidet %s Schaden!"
    Vocab::EnemyRecovery.replace !$game_switches[LDT_SWITCH] ? "%s heilt %s %s!" : "%s heilt %s %s!"
    Vocab::EnemyGain.replace !$game_switches[LDT_SWITCH] ? "%s bekommt %s %s!" : "%s bekommt %s %s!"
    Vocab::EnemyLoss.replace !$game_switches[LDT_SWITCH] ? "%s verliert %s %s!" : "%s verliert %s %s!"
    Vocab::EnemyDrain.replace !$game_switches[LDT_SWITCH] ? "Entzieht %s %s von %s!" : "Entzieht %s %s von %s!"
    Vocab::EnemyNoDamage.replace !$game_switches[LDT_SWITCH] ? "%s hat keinen Schaden erlitten!" : "%s hat keinen Schaden erlitten!"
    Vocab::EnemyNoHit.replace !$game_switches[LDT_SWITCH] ? "Verfehlt! %s wurde nicht getroffen!" : "Verfehlt! %s wurde nicht getroffen!"

    # Ausweichen/Zurückwerfen
    Vocab::Evasion.replace !$game_switches[LDT_SWITCH] ? "%s weicht dem Angriff aus!" : "%s weicht dem Angriff aus!"
    Vocab::MagicEvasion.replace !$game_switches[LDT_SWITCH] ? "%s wehrt die Magie ab!" : "%s wehrt die Magie ab!"
    Vocab::MagicReflection.replace !$game_switches[LDT_SWITCH] ? "%s reflektiert die Magie!" : "%s reflektiert die Magie!"
    Vocab::CounterAttack.replace !$game_switches[LDT_SWITCH] ? "%s startet einen Gegenangriff!" : "%s startet einen Gegenangriff!"
    Vocab::Substitute.replace !$game_switches[LDT_SWITCH] ? "%s verteidigt %s!" : "%s verteidigt %s!"

    # Buff/Debuff
    Vocab::BuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird verstärkt!" : "%s's %s wird verstärkt!"
    Vocab::DebuffAdd.replace !$game_switches[LDT_SWITCH] ? "%s's %s wird geschwächt!" : "%s's %s wird geschwächt!"
    Vocab::BuffRemove.replace !$game_switches[LDT_SWITCH] ? "%s's %s ist wieder normal." : "%s's %s ist wieder normal."

    # Fähigkeit oder Gegenstand hatte keinen Effekt
    Vocab::ActionFailure.replace !$game_switches[LDT_SWITCH] ? "Hat keine Auswirkung auf %s!" : "Hat keine Auswirkung auf %s!"

    # Fehler-Meldungen
    Vocab::PlayerPosError.replace !$game_switches[LDT_SWITCH] ? "Spieler-Startpoistion wurde nicht gesetzt" : "Spieler-Startpoistion wurde nicht gesetzt"
    Vocab::EventOverflow.replace !$game_switches[LDT_SWITCH] ? "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"  : "Zuviele gleichzeitige Aufrufe Gemeinsamer Events"
  end
  
  # Basis-Status
  def self.basic(basic_id)
    return LDT_BASIC[basic_id][$game_switches[LDT_SWITCH] ? 1 : 0]
  end
  
   # Befehle
  def self.command(command_id)
    return LDT_COMMAND[command_id][$game_switches[LDT_SWITCH] ? 1 : 0]
  end 
  
  def self.get_item_text(item)
    if(item.is_a?(RPG::Skill))
      return get_skill_name(item)
    elsif(item.is_a?(RPG::Item))
      return get_item_name(item)
    else
      return item.name
    end
  end
  
  def self.get_skill_name(item)
    if(LDT_SKILL.has_key?(item.id))
      return LDT_SKILL[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
    else
      return item.name
    end
  end
  
  def self.get_item_name(item)
    if(LDT_ITEM.has_key?(item.id))
      return LDT_ITEM[item.id][$game_switches[LDT_SWITCH] ? 1 : 0]
    else
      return item.name
    end
  end
end

class Window_Base
  def draw_item_name(item, x, y, enabled = true, width = 172)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
    change_color(normal_color, enabled)
    draw_text(x + 24, y, width, line_height, Vocab.get_item_text(item))
  end
end
class Window_BattleLog
  def display_use_item(subject, item)
    if item.is_a?(RPG::Skill)
      add_text(subject.name + item.message1)
      unless item.message2.empty?
        wait
        add_text(item.message2)
      end
    else
      add_text(sprintf(Vocab::UseItem, subject.name, Vocab.get_item_text(item)))
    end
  end
end
module DataManager
  class <<self; alias ldt_vocab_load_game load_game end
  def self.load_game(index)
    treturn = ldt_vocab_load_game(index)
    Vocab.change_vocab()
    return treturn
  end
  
  class <<self; alias ldt_vocab_new_game setup_new_game end
  def self.setup_new_game
    treturn = ldt_vocab_new_game
    Vocab.change_vocab()
    return treturn
  end
end