Python - MenuMaker 日本語化 - 第一段階

 クラウディア
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
 
 
カウンタバックグラウンド