litagin02 / Style-Bert-VITS2

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
GNU Affero General Public License v3.0
750 stars 94 forks source link

UIのテキストをファイルに...(Translation) #49

Open OzoneAsai opened 9 months ago

OzoneAsai commented 9 months ago

Localizationってやつ、jsonが多いかな?

https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/modules/localization.py

https://github.com/Katsuyuki-Karasawa/stable-diffusion-webui-localization-template/blob/main/template/source/StableDiffusion.json

https://github.com/Katsuyuki-Karasawa/stable-diffusion-webui-localization-ja_JP/blob/main/localizations/ja_JP.json

OzoneAsai commented 9 months ago

あ、すいません母国語教えてください。 中国語なら翻訳を作れるんですが、勝手に作ったあとで自分でできるって言われたら悲しいだけですからね

litagin02 commented 9 months ago

localizationについては自分もよく知らないのでどうのようにやるのが最適か分かっていません。 母国語は日本語です。作っていただけるならば助かります。

OzoneAsai commented 9 months ago

私は知らないんですが、pyファイルをモジュールとしてインポートする方法があるらしいじゃないですか? そこからいい感じにやってる印象....

OzoneAsai commented 9 months ago

まあ、jsonってことはdict形式ってことなんですよ(要出典) だから、app.pyのテキストをdictのkeyにして... 次のコードは、moduleとかいうよくわかんないのをやめて、直でロードする方法です。app.pyの引数に言語ファイルを指定できるようにしてもいいかなとも思います


import json

def load_json_file(file_path):
    try:
        with open(file_path, "r", encoding="utf-8") as file:
            data = json.load(file)
            return data
    except Exception as e:
        print(f"Error loading JSON file: {e}")
        return None

# 使い方の例:
file_path = "example.json"  # JSONファイルのパスを指定してください
json_data = load_json_file(file_path)

if json_data:
    # json_dataはdict形式のデータです
    print(json_data)
    # 必要に応じて、辞書としてデータにアクセスできます
    print(json_data["key"])

{
  "greeting": "こんにちは",
  "farewell": "さようなら",
  "yes": "はい",
  "no": "いいえ",
  "thank_you": "ありがとうございます",
  "you_are_welcome": "どういたしまして"
}
litagin02 commented 9 months ago

詳しい方法までありがとうございます。時間があるときに対応しようとは思います(が現状は日本人ユーザーメインで日本語特化な状況なのでそこまで優先度は高くないので、いつになるかはわかりません。)

OzoneAsai commented 9 months ago

ところで、issueにラベルはつけない派ですか? VoiceVoxは優先度のラベルなどを使用していましたが....?

litagin02 commented 9 months ago

自分でプロジェクトを運用した経験もなくGitHubにも慣れていないのと現状でもそこまで不便は感じていないので、とりあえずこのままで行こうと思います。 issueが溜まってきたらまた考えます。