株の買い時を考えるブログ

株歴7年目。株式投資ブログ。個別銘柄分析、株の買い時考察など。寝ている時意外は株のことを考えています。笑





TradingViewの銘柄コードを日本語化するやり方解説

f:id:home1990:20201213223801p:plain

 

 

TradingViewの銘柄コードを日本語化するやり方解説します!

 

★2021/02/23 ソースコード修正★

(Chromeのアップデートの影響でソースコードを更新)

 

TradingView日本語化やり方 

 

このやり方はどこにも公開されてない、ここだけの手法です!

 

 

▼詳細は動画の方で解説しています。

 

▼ソースコード(2021/02/23 更新)

 

 

window.addEventListener('load', (event) => {

//CSS追加
var add_style = document.createElement('style');
add_style.type = 'text/css';
add_style.innerText = 'body .kdkJpName{ padding-left:10px !important;flex:0 1 200px !important; }';
add_style.innerText += 'body .kdkJpName-text{ font-size:12px !important;letter-spacing:-0.04em; }';
add_style.innerText += 'body .kdkJpName-delayed{ display:block;background-color:#ff9800;width:6px;height:6px;border-radius:50%;color:transparent;margin-right:-4px!important; }';
document.getElementsByTagName('head').item(0).appendChild(add_style);

//ウォッチリスト銘柄変換
function cvt_jp() {
document.querySelectorAll('.symbol-17NLytxZ').forEach(function(elm,index){ //各銘柄コード行に対して処理を実行
var elm_title = elm.getAttribute('title'); //銘柄コード行から社名や市場名等を取得
var elm_title_ary = elm_title.split(","); //カンマ区切りを配列に格納
var jp_name = elm_title_ary[0].trim(); //銘柄コード行から社名を取得
if (typeof elm_title_ary[1] !== "undefined"){ var ex_name = elm_title_ary[1].trim(); }

//文字入れ替え
jp_name = jp_name.replace('TSE MOTHERS INDEX', 'マザーズ指数');
jp_name = jp_name.replace('FISHERY/AGRICULTURE/FORESTRY','水産・農林業(東証業種別指数)');
jp_name = jp_name.replace('MINING INDUSTRY','鉱業(東証業種別指数)');
jp_name = jp_name.replace('CONSTRUCTION','建設業(東証業種別指数)');
jp_name = jp_name.replace('FOODS','食料品(東証業種別指数)');
jp_name = jp_name.replace('TEXTILES & APPARELS','繊維製品(東証業種別指数)');
jp_name = jp_name.replace('PULP & PAPER','パルプ・紙(東証業種別指数)');
jp_name = jp_name.replace('CHEMICALS','化学(東証業種別指数)');
jp_name = jp_name.replace('PHARMACEUTICAL','医薬品(東証業種別指数)');
jp_name = jp_name.replace('OIL & COAL PRODUCTS','石油・石炭製品(東証業種別指数)');
jp_name = jp_name.replace('RUBBER PRODUCTS','ゴム製品(東証業種別指数)');
jp_name = jp_name.replace('GLASS & CERAMICS PRODUCTS','ガラス・土石製品(東証業種別指数)');
jp_name = jp_name.replace('IRON & STEEL','鉄鋼(東証業種別指数)');
jp_name = jp_name.replace('NONFERROUS METALS','非鉄金属(東証業種別指数)');
jp_name = jp_name.replace('METAL PRODUCTS','金属製品(東証業種別指数)');
jp_name = jp_name.replace('MACHINERY','機械(東証業種別指数)');
jp_name = jp_name.replace('ELECTRIC APPLIANCES','電気機器(東証業種別指数)');
jp_name = jp_name.replace('TRANSPORTATION EQUIPMENT','輸送用機器(東証業種別指数)');
jp_name = jp_name.replace('PRECISION INSTRUMENTS','精密機器(東証業種別指数)');
jp_name = jp_name.replace('OTHER PRODUCTS','その他製品(東証業種別指数)');
jp_name = jp_name.replace('ELECTRIC POWER & GAS','電気・ガス業(東証業種別指数)');
jp_name = jp_name.replace('LAND TRANSPORTATION','陸運業(東証業種別指数)');
jp_name = jp_name.replace('MARINE TRANSPORTATION','海運業(東証業種別指数)');
jp_name = jp_name.replace('AIR TRANSPORTATION','空運業(東証業種別指数)');
jp_name = jp_name.replace('WAREHOUSING & HARBOR TRANSPORTATION SERVICES','倉庫・運輸関連(東証業種別指数)');
jp_name = jp_name.replace('INFORMATION & COMMUNICATION','情報・通信業(東証業種別指数)');
jp_name = jp_name.replace('WHOLESALE TRADE','卸売業(東証業種別指数)');
jp_name = jp_name.replace('RETAIL TRADE','小売業(東証業種別指数)');
jp_name = jp_name.replace('BANKS','銀行業(東証業種別指数)');
jp_name = jp_name.replace('SECURITES & COMMODITY FUTURES','証券、商品先物取引業(東証業種別指数)');
jp_name = jp_name.replace('INSURANCE','保険業(東証業種別指数)');
jp_name = jp_name.replace('OTHER FINANCIAL BUSINESS','その他金融業(東証業種別指数)');
jp_name = jp_name.replace('REAL ESTATE','不動産業(東証業種別指数)');
jp_name = jp_name.replace('SERVICES','サービス業(東証業種別指数)');

var symbolName = elm.querySelectorAll('.symbolName-aMd2VpDf')[0];
var symbolNameInner = symbolName.querySelectorAll('.inner-1TPTS2KY')[0]; //銘柄コードテキスト
var symbolNameDelayed = symbolName.querySelectorAll('.tv-data-mode--delayed')[0]; //遅延中文字

if( ex_name == 'TSE' || ex_name == 'TVC' && jp_name == '日経225' ){ //日本株,NI225のみ銘柄日本語化
if(symbolName){ //テキスト微調整のためclass付与
symbolName.classList.add('kdkJpName');
}
if(symbolNameInner){ //コードを銘柄名に変更
symbolNameInner.classList.add('kdkJpName-text');
symbolNameInner.textContent = jp_name;
}
}
if(symbolNameDelayed){ //遅延中の文字を オレンジの●に
symbolNameDelayed.classList.add('kdkJpName-delayed');
symbolNameDelayed.textContent = '';
}
});
}

 

//Wait Function
function sleep(waitSec, callbackFunc) {
var spanedSec = 0;
var id = setInterval(function () {
spanedSec++;
if (spanedSec >= waitSec) {
clearInterval(id);
if (callbackFunc) callbackFunc();
}
}, 500);
}

//実行
sleep(1, function (){
cvt_jp();
});

var tgt_wl_hover = document.querySelector('.scrollable-3Hp_e-W2');
tgt_wl_hover.addEventListener('mouseover', () => {
cvt_jp();
}, {passive: true});

 

}); //window.addEventListener('load', (event)

 

こちらをそのまま貼り付ければ完了です。

 

FireFoxはこちら

 

f:id:home1990:20201217001418p:plain

f:id:home1990:20201217001432p:plain

 

 

▼リンク

https://addons.mozilla.org/ja/firefox/addon/custom-style-script/

 

f:id:home1990:20201217001520p:plain

f:id:home1990:20201217001529p:plain

f:id:home1990:20201217001541p:plain

 

以上。