こちらが上手く行かないのでさっさと諦めました。
言語別の文字のファイル - C#ATIA
一応、フォーラムには質問しておきましたが、答えが得られるか
分からないですし、待ってられないです。
多言語対応したいのですが、今までは日本語・英語ぐらいしか
やっていませんでした。文章では無く、単なる単語が欲しいだけです。
この辺のです。
Fusion360はこれだけの言語に対応しているので
全部やります。
過去に対応言語が増えたことあったけど・・・
まぁいいや。
チマチマ調べるのは嫌です。嫌いなんです。
そこをスプリクトで処理したいんです。
先程のデータをまず作ります。
テキストコマンドの中に、ブラウザツリーの表示されている
文字を出力するコマンドがある事を知っていました。
Toolkit.browser
又、言語設定はAPIのこちらのメソッドがで判断出来ます。
Fusion 360 Help
しかし得られる値がこちらのvalue(要は数字)なんです。
Fusion 360 Help
ファイルに出力させたいので、ちょっと不便です。
これもテキストコマンドのこちらで文字として取得できます。
Options.GetUserLanguage
例えば、日本語の場合は "ja-JP" で返してくれます。
結局、雑なこんなスクリプトを作りました。
# Fusion360API Python script import traceback import adsk.fusion import adsk.core def run(context): ui = adsk.core.UserInterface.cast(None) try: app: adsk.core.Application = adsk.core.Application.get() ui = app.userInterface proj: adsk.core.DataProject = None for dp in app.data.dataProjects.asArray(): if dp.name == 'assy_test': proj = dp break if not proj: return file: adsk.core.DataFile = None for df in proj.rootFolder.dataFiles.asArray(): if df.name == 'assy_inner': file = df break if not file: return app.documents.open( file, True ) lang = app.executeTextCommand(u'Options.GetUserLanguage') msg = lang msg += '\n' msg += app.executeTextCommand(u'Toolkit.browser') path = r'C:\temp\{}.txt'.format(lang) with open(path, mode='w', encoding='utf-8') as f: f.write(msg) app.log(msg) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
これを実行すると、該当するf3dファイルを開きブラウザツリーの
文字をファイルに書き出します。書き出すファイル名は<言語名>.txt です。
後は、言語を切り替えスクリプトを実行するだけです。完璧。
見慣れない言語でも、スプリクト実行するだけなので、
アイコンやメニューの位置で何とかなります!!
後は "show/hide" に該当する各言語を調べるだけです。
・・・DeepLって韓国語無いんだ。ウケる、イヤ困る。