- 1. 概要
- 2. カテゴリ名日本語化
1. 概要
当面は、現在(2019年12月8日)いじっている、「Fluxbox」のメニューを日本語化しようと思います。
本稿は、下記のサイトを参考にさせていただきました。
「Python3系の基礎文法(辞書) - Qiita」
「Pythonの辞書(dict)のforループ処理(keys, values, items) | note.nkmk.me」
ソースは、現在(2019年12月8日)あれこれ、いじっているので途中で動かなくなったりするかもしれません。
ときどき、更新されます。
2. カテゴリ名日本語化
まずは、カテゴリ名を日本語化、これは、すんなり動作しました。
#!/usr/bin/env python3.6
import os
def read_menu(filename):
f = open(filename, "r") # ファイルオープン
lines = f.readlines()
f.close()
return lines
def update_menu(lines):
mylines = []
meun_dict = get_menu_dict()
for line in lines:
for key, value in meun_dict.items():
line = line.replace(key, value)
mylines += line
return mylines
def get_menu_dict():
menu_dict = {
"(Editors)" : "(エディタ)",
"(Graphics)" : "(グラフィックス)",
"(Multimedia)" : "(マルチメディア)",
"(Network)" : "(ネットワーク)",
"(Office)" : "(オフィス)",
"(Settings)" : "(設定)",
"(Shells)" : "(シェル)",
"(Styles)" : "(スタイル)",
"(System)" : "(システム)",
"(Utilities)" : "(ユーティリティ)",
"(Workspaces)" : "(ワークスペース)",
"(Configure)" : "(設定)",
"(Reconfig)" : "(再設定)",
"(Restart)" : "(再起動)",
}
return menu_dict
def write_menu(filename, lines):
f = open(filename, "w") # ファイルオープン
f.writelines(lines)
f.close()
return
def main():
filename = os.environ.get('HOME') + '/.fluxbox/menu'
lines = read_menu(filename)
lines = update_menu(lines)
write_menu(filename, lines)
# for line in lines:
# print(line, end="") # 改行なしですって
if __name__=='__main__':
main()
解説するほどのこともないのかしら・・・。
とりあえず、
JapanizeMenu.py
てなファイル名にしています。
ログインユーザのホームディレクトリにおいて、実行権限をつければ
~/JapanizeMenu.py
で、機能します。
わたしは、今後まだ増やすかもしれないので、ホームディレクトリの下にサブディレクトリ「japanizemenu」を作成していますので
~/japanizemenu/JapanizeMenu.py
|