From 0c331bb8575b125e17b253420041d3e38e2b38b9 Mon Sep 17 00:00:00 2001 From: Yusarina Date: Mon, 22 Jul 2024 01:21:13 +0100 Subject: [PATCH] Added Further missing translataions --- resources/translations/en_US.json | 12 ++++++++++-- resources/translations/ja_JP.json | 32 +++++++++++++++++++------------ ui/viseme.py | 8 ++++---- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/resources/translations/en_US.json b/resources/translations/en_US.json index 34c133a..e58eab8 100644 --- a/resources/translations/en_US.json +++ b/resources/translations/en_US.json @@ -33,10 +33,18 @@ "Settings.label": "Settings", "Settings.language.label": "Language", "Settings.language.desc": "Select the language for the addon's UI", - "Viseme.label": "Visemes", + "VisemePanel.label": "Visemes", "VisemePanel.error.noMesh": "No mesh selected", "VisemePanel.error.noShapekeys": "Selected mesh has no shape keys", - "VisemePanel.info.selectMesh": "Select a mesh to create visemes" + "VisemePanel.info.selectMesh": "Select a mesh to create visemes", + "VisemePanel.mouth_a.label": "Mouth A", + "VisemePanel.mouth_o.label": "Mouth O", + "VisemePanel.mouth_ch.label": "Mouth CH", + "AutoVisemeButton.label": "Create Visemes", + "AutoVisemeButton.desc": "Create visemes automatically, based on shape keys", + "AutoVisemeButton.error.noShapekeys": "No shape keys found", + "AutoVisemeButton.error.selectShapekeys": "Please Select shape keys", + "AutoVisemeButton.success": "Visemes created successfully" } } \ No newline at end of file diff --git a/resources/translations/ja_JP.json b/resources/translations/ja_JP.json index 921bd06..e9288cf 100644 --- a/resources/translations/ja_JP.json +++ b/resources/translations/ja_JP.json @@ -1,7 +1,7 @@ { "messages": { - "Language.auto": "Automatic", - "Language.en_US": "English", + "Language.auto": "自動", + "Language.en_US": "英語", "Language.ja_JP": "日本語", "Quick_Access.label": "クイックアクセス", "Quick_Access.import_export.label": "インポート/エクスポート", @@ -10,32 +10,40 @@ "Quick_Access.import": "インポート", "Quick_Access.export": "エクスポート", "Quick_Access.import_menu.desc": "モデルをインポート", - "Quick_Access.import_pmx": "PMXインポート", + "Quick_Access.import_pmx": "PMXをインポート", "Quick_Access.import_pmx.desc": "MMD PMXモデルをインポート", - "Quick_Access.import_pmd": "PMDインポート", + "Quick_Access.import_pmd": "PMDをインポート", "Quick_Access.import_pmd.desc": "MMD PMDモデルをインポート", "Quick_Access.export_menu.label": "エクスポートメニュー", "Quick_Access.select_export.label": "エクスポート方法を選択", "Quick_Access.select_export_resonite.label": "Resonite", "Export.resonite.label": "Resoniteにエクスポート", - "Export.resonite.desc": "すべてのアニメーションとマテリアルを含むGLBをエクスポートします。アニメーションデータについては以下を参照してください:", + "Export.resonite.desc": "すべてのアニメーションとマテリアルを含むGLBをエクスポート。アニメーションデータについては以下を参照:", "Optimization.label": "最適化", "Optimization.options.label": "最適化オプション", "Optimization.combine_materials.label": "マテリアルを結合", - "Optimization.combine_materials.desc": "類似したマテリアルを結合してモデルを最適化します", + "Optimization.combine_materials.desc": "類似したマテリアルを結合してモデルを最適化", "Optimization.join_all_meshes.label": "すべてのメッシュを結合", - "Optimization.join_all_meshes.desc": "すべてのメッシュを1つに結合します", + "Optimization.join_all_meshes.desc": "すべてのメッシュを1つに結合", "Optimization.join_selected_meshes.label": "選択したメッシュを結合", - "Optimization.join_selected_meshes.desc": "現在選択されているすべてのメッシュを1つに結合します", + "Optimization.join_selected_meshes.desc": "現在選択されているすべてのメッシュを1つに結合", "Tools.tools_title.label": "ツール", "Tools.convert_to_resonite.label": "Resoniteに変換", - "Tools.convert_to_resonite.desc": "モデルのボーン名をResoniteと互換性のある名前に変換します", + "Tools.convert_to_resonite.desc": "モデルのボーン名をResoniteと互換性のある名前に変換", "Settings.label": "設定", "Settings.language.label": "言語", - "Settings.language.desc": "アドオンのUI言語を選択してください", - "Viseme.label": "ビセーム", + "Settings.language.desc": "アドオンのUIの言語を選択", + "VisemePanel.label": "ビセーム", "VisemePanel.error.noMesh": "メッシュが選択されていません", "VisemePanel.error.noShapekeys": "選択されたメッシュにシェイプキーがありません", - "VisemePanel.info.selectMesh": "ビセームを作成するメッシュを選択してください" + "VisemePanel.info.selectMesh": "ビセームを作成するメッシュを選択してください", + "VisemePanel.mouth_a.label": "口 A", + "VisemePanel.mouth_o.label": "口 O", + "VisemePanel.mouth_ch.label": "口 CH", + "AutoVisemeButton.label": "ビセームを作成", + "AutoVisemeButton.desc": "シェイプキーに基づいて自動的にビセームを作成", + "AutoVisemeButton.error.noShapekeys": "シェイプキーが見つかりません", + "AutoVisemeButton.error.selectShapekeys": "シェイプキーを選択してください", + "AutoVisemeButton.success": "ビセームが正常に作成されました" } } diff --git a/ui/viseme.py b/ui/viseme.py index cede8c5..8706cf4 100644 --- a/ui/viseme.py +++ b/ui/viseme.py @@ -4,7 +4,7 @@ from ..functions.translations import t @register_wrap class AvatarToolkitVisemePanel(bpy.types.Panel): - bl_label = t("Viseme.label") + bl_label = t("VisemePanel.label") bl_idname = "OBJECT_PT_avatar_toolkit_viseme" bl_space_type = 'VIEW_3D' bl_region_type = 'UI' @@ -20,9 +20,9 @@ class AvatarToolkitVisemePanel(bpy.types.Panel): # Check if the mesh has shape keys if mesh.data.shape_keys: - layout.prop_search(context.scene, "mouth_a", mesh.data.shape_keys, "key_blocks", text=t('Scene.mouth_a.label')) - layout.prop_search(context.scene, "mouth_o", mesh.data.shape_keys, "key_blocks", text=t('Scene.mouth_o.label')) - layout.prop_search(context.scene, "mouth_ch", mesh.data.shape_keys, "key_blocks", text=t('Scene.mouth_ch.label')) + layout.prop_search(context.scene, "mouth_a", mesh.data.shape_keys, "key_blocks", text=t('VisemePanel.mouth_a.label')) + layout.prop_search(context.scene, "mouth_o", mesh.data.shape_keys, "key_blocks", text=t('VisemePanel.mouth_o.label')) + layout.prop_search(context.scene, "mouth_ch", mesh.data.shape_keys, "key_blocks", text=t('VisemePanel.mouth_ch.label')) layout.prop(context.scene, 'shape_intensity')