diff --git a/labelImg.py b/labelImg.py index 00805bc9..915ca04b 100755 --- a/labelImg.py +++ b/labelImg.py @@ -267,8 +267,8 @@ class MainWindow(QMainWindow, WindowMixin): create_mode = action(get_str('crtBox'), self.set_create_mode, 'w', 'new', get_str('crtBoxDetail'), enabled=False) - edit_mode = action('&Edit\nRectBox', self.set_edit_mode, - 'Ctrl+J', 'edit', u'Move and edit Boxs', enabled=False) + edit_mode = action(get_str('editBox'), self.set_edit_mode, + 'Ctrl+J', 'edit', get_str('editBoxDetail'), enabled=False) create = action(get_str('crtBox'), self.create_shape, 'w', 'new', get_str('crtBoxDetail'), enabled=False) @@ -282,10 +282,10 @@ class MainWindow(QMainWindow, WindowMixin): 'Ctrl+Shift+A', 'expert', get_str('advancedModeDetail'), checkable=True) - hide_all = action('&Hide\nRectBox', partial(self.toggle_polygons, False), + hide_all = action(get_str('hideAllBox'), partial(self.toggle_polygons, False), 'Ctrl+H', 'hide', get_str('hideAllBoxDetail'), enabled=False) - show_all = action('&Show\nRectBox', partial(self.toggle_polygons, True), + show_all = action(get_str('showAllBox'), partial(self.toggle_polygons, True), 'Ctrl+A', 'hide', get_str('showAllBoxDetail'), enabled=False) @@ -348,7 +348,7 @@ class MainWindow(QMainWindow, WindowMixin): self.pop_label_list_menu) # Draw squares/rectangles - self.draw_squares_option = QAction('Draw Squares', self) + self.draw_squares_option = QAction(get_str('drawSquares'), self) self.draw_squares_option.setShortcut('Ctrl+Shift+R') self.draw_squares_option.setCheckable(True) self.draw_squares_option.setChecked(settings.get(SETTING_DRAW_SQUARE, False)) @@ -1500,7 +1500,7 @@ class MainWindow(QMainWindow, WindowMixin): action.setEnabled(False) def choose_shape_line_color(self): - color = self.color_dialog.getColor(self.line_color, u'Choose line color', + color = self.color_dialog.getColor(self.line_color, u'Choose Line Color', default=DEFAULT_LINE_COLOR) if color: self.canvas.selected_shape.line_color = color @@ -1508,7 +1508,7 @@ class MainWindow(QMainWindow, WindowMixin): self.set_dirty() def choose_shape_fill_color(self): - color = self.color_dialog.getColor(self.fill_color, u'Choose fill color', + color = self.color_dialog.getColor(self.fill_color, u'Choose Fill Color', default=DEFAULT_FILL_COLOR) if color: self.canvas.selected_shape.fill_color = color diff --git a/readme/README.jp.rst b/readme/README.jp.rst new file mode 100644 index 00000000..dcf3bfdf --- /dev/null +++ b/readme/README.jp.rst @@ -0,0 +1,197 @@ +labelImg +======== + +.. image:: https://img.shields.io/pypi/v/labelimg.svg + :target: https://pypi.python.org/pypi/labelimg + +.. image:: https://img.shields.io/travis/tzutalin/labelImg.svg + :target: https://travis-ci.org/tzutalin/labelImg + +.. image:: https://img.shields.io/badge/lang-en-blue.svg + :target: https://github.com/tzutalin/labelImg/blob/master/README.zh.rst + +.. image:: https://img.shields.io/badge/lang-zh-green.svg + :target: https://github.com/tzutalin/labelImg/blob/master/readme/README.zh.rst + +.. image:: https://img.shields.io/badge/lang-zh--TW-green.svg + :target: (https://github.com/jonatasemidio/multilanguage-readme-pattern/blob/master/README.pt-br.md + +.. image:: /resources/icons/app.png + :width: 200px + :align: center + +LabelImgは、PythonとQtを使うアノテーション補助ツールです。 + +このツールはPascalVOCフォーマットとYOLOとCreateMLをサポートしています。 + +.. image:: https://raw.githubusercontent.com/tzutalin/labelImg/master/demo/demo3.jpg + :alt: Demo Image + +.. image:: https://raw.githubusercontent.com/tzutalin/labelImg/master/demo/demo.jpg + :alt: Demo Image + +`サンプル動画は にあります。`__ + +インストール方法 +------------------- + + +ソースからビルドする +~~~~~~~~~~~~~~~~~~~~ + +Linuxまたは、Ubuntuまたは、macOSの場合は + +Ubuntuの場合 +^^^^^^^^^^^^ + +Python 3とQt5を使う場合 + +.. code:: shell + + sudo apt-get install pyqt5-dev-tools + sudo pip3 install -r requirements/requirements-linux-python3.txt + make qt5py3 + python3 labelImg.py + python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] + +macOSの場合 +^^^^^^^^^^^ + +Python 3とQt5を使う場合 + +.. code:: shell + + brew install qt # Install qt-5.x.x by Homebrew + brew install libxml2 + + or using pip + + pip3 install pyqt5 lxml # Install qt and lxml by pip + + make qt5py3 + python3 labelImg.py + python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] + + +Python 3 Virtualenv (推奨) + +VirtualenvはQtとPythonのバージョン衝突問題を解消できます。 + +.. code:: shell + + brew install python3 + pip3 install pipenv + pipenv run pip install pyqt5==5.12.1 lxml + pipenv run make qt5py3 + pipenv run python3 labelImg.py + [任意で] rm -rf build dist; python setup.py py2app -A;mv "dist/labelImg.app" /Applications + + +注意:最後のコマンドを実行すると、/ApplicationsフォルダにSVGアイコンを含む.appファイルが生成されます。build-tools/build-for-macos.shというスクリプトの仕様も検討してください。 + + +Windowsの場合 +^^^^^^^^^^^^^ + +最初に`Python `__ と +`PyQt5 `__ と +`install lxml `__ をインストールしてください。 + +コマンドプロンプトを起動し `labelImg <#labelimg>`__ がインストールされているフォルダに移動してから以下のコマンドを実行します。 + +.. code:: shell + + pyrcc4 -o libs/resources.py resources.qrc + (pyqt5の場合は、 pyrcc5 -o libs/resources.py resources.qrc) + + python labelImg.py + python labelImg.py [画像パス] [定義済みクラスファイル] + +Windows + Anaconda +^^^^^^^^^^^^^^^^^^ + +`Anaconda `__ をダウンロードしてからインストールしてください。 + +Anaconda Promptを起動し `labelImg <#labelimg>`__ インストールされているフォルダに移動してから以下のコマンドを実行します。 + +.. code:: shell + + conda install pyqt=5 + conda install -c anaconda lxml + pyrcc5 -o libs/resources.py resources.qrc + python labelImg.py + python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] + +PyPIから入手する(Python 3以降のみ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +現代的なLinuxディストリビューションの場合は以下のコマンドを入力するだけでインストールできます。 + +.. code:: shell + + pip3 install labelImg + labelImg + labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE] + +Dockerの場合 +~~~~~~~~~~~~~~~~~ +.. code:: shell + + docker run -it \ + --user $(id -u) \ + -e DISPLAY=unix$DISPLAY \ + --workdir=$(pwd) \ + --volume="/home/$USER:/home/$USER" \ + --volume="/etc/group:/etc/group:ro" \ + --volume="/etc/passwd:/etc/passwd:ro" \ + --volume="/etc/shadow:/etc/shadow:ro" \ + --volume="/etc/sudoers.d:/etc/sudoers.d:ro" \ + -v /tmp/.X11-unix:/tmp/.X11-unix \ + tzutalin/py2qt4 + + make qt4py2;./labelImg.py + +あとは`サンプル動画`__ +を見るだけです。 + + +定義済みクラスを作成するには? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`data/predefined\_classes.txt `__ +を編集してください。 + +ショートカット一覧 +~~~~~~~~~~~~~~~~~~ + ++--------------------+--------------------------------------------+ +| Ctrl + u | そのディレクトリの画像を読み込む | ++--------------------+--------------------------------------------+ +| Ctrl + r | アノテーションの生成ディレクトリを変更 | ++--------------------+--------------------------------------------+ +| Ctrl + s | 保存する | ++--------------------+--------------------------------------------+ +| Ctrl + d | 現在選択している矩形トラベルをコピー | ++--------------------+--------------------------------------------+ +| Ctrl + Shift + d | 現在表示している画像を削除 | ++--------------------+--------------------------------------------+ +| Space | 現在の画像に検証済みフラグを立てる | ++--------------------+--------------------------------------------+ +| w | 矩形を生成する | ++--------------------+--------------------------------------------+ +| d | 次の画像へ移動する | ++--------------------+--------------------------------------------+ +| a | 前の画像へ移動する | ++--------------------+--------------------------------------------+ +| del | 選択した矩形を削除 | ++--------------------+--------------------------------------------+ +| Ctrl++ | 画像を拡大 | ++--------------------+--------------------------------------------+ +| Ctrl-- | 画像を縮小 | ++--------------------+--------------------------------------------+ +| ↑→↓← | 十字キーで矩形を移動する | ++--------------------+--------------------------------------------+ + +開発に参加するには? +~~~~~~~~~~~~~~~~~~~~~ + +このリポジトリにPull Request を送ってください。 \ No newline at end of file diff --git a/resources.qrc b/resources.qrc index bccd75aa..fd8b6c07 100644 --- a/resources.qrc +++ b/resources.qrc @@ -35,5 +35,6 @@ resources/strings/strings.properties resources/strings/strings-zh-TW.properties resources/strings/strings-zh-CN.properties +resources/strings/strings-ja-JP.properties diff --git a/resources/strings/strings-ja-JP.properties b/resources/strings/strings-ja-JP.properties new file mode 100644 index 00000000..9bba16a4 --- /dev/null +++ b/resources/strings/strings-ja-JP.properties @@ -0,0 +1,69 @@ +openFile=ファイルを開く +openFileDetail=画像かラベルファイルを開きます。 +quit=アプリを終了 +quitApp=このアプリを終了します。 +openDir=ディレクトリを開く +openAnnotation=アノテーションを開く +openAnnotationDetail=アノテーションファイルを開きます。 +changeSaveDir=保存先を変更する +resetAll=すべてリセットする +hideAll=すべての図形を非表示にする +viewAll=すべての図形を表示する +crtBox=矩形を作成する +crtBoxDetail=矩形を描画します。 +dupBox=矩形を複製する +delBox=矩形を削除する +editBox=矩形を編集する(&E) +hideAllBox=矩形を非表示にする(&H) +showAllBox=矩形を表示する(&S) +tutorialDefault=チュートリアル動画を見る +tutorialChrome=Chromeでチュートリアル動画を見る +tutorialDetail=LabelImgのデモ動画を見ます。 +info=LabelImgについて +verifyImg=画像を検証する +verifyImgDetail=画像を検証します。 +save=保存する +saveDetail=現在の編集を保存します。 +saveAs=名前を付けて保存 +saveAsDetail=ファイルに名前を付けて現在の編集を保存します。 +closeCur=このファイルを閉じる +deleteImg=この画像を削除する +resetAll=すべて初期化する。 +resetAllDetail=データをすべて初期状態に戻します。 +boxLineColor=線の色の編集 +boxLineColorDetail=色の編集を行います。 +chooseLineColor=線の色の編集 +chooseFillColor=塗りつぶす色の編集 +shortcuts=ショートカット一覧を見る(英語) +editLabel=ラベルを編集する +editLabelDetail=選択した矩形のラベル名を変更します。 +changeSaveFormat=保存するデータのフォーマットを変更します。 +nextImg=次の画像 +nextImgDetail=次の画像を開きます。 +prevImg=前の画像 +prevImgDetail=前の画像を開きます。 +zoomin=拡大 +zoomout=縮小 +useDefaultLabel=指定されたラベル名を使う +advancedMode=上級者向け機能 +advancedModeDetail=上級者向け機能を使います。 +boxLabelText=矩形ラベル一覧 +labels=ラベル一覧 +autoSaveMode=自動で保存する +singleClsMode=単一のラベルだけをアノテーションする +displayLabel=ラベルを表示する +menu_file=ファイル(&F) +menu_edit=編集(&E) +menu_view=表示(&V) +menu_help=ヘルプ(&H) +menu_openRecent=最近開いたファイル(&R) +drawSquares=四角形を書く +fitWin=ウィンドウに合わせる +fitWinDetail=ウィンドウサイズに合わせて拡大します。 +fitWidth=ウィンドウの幅に合わせる +fitWidthDetail=ウインドウの幅に合わせて拡大します。 +originalsize=原寸に戻す +displayLabel=ラベルを表示する +fileList=ファイル一覧 +files=ファイル +boxLabelText=矩形ラベル diff --git a/resources/strings/strings.properties b/resources/strings/strings.properties index bcf8ee6c..64601175 100644 --- a/resources/strings/strings.properties +++ b/resources/strings/strings.properties @@ -33,6 +33,10 @@ delBox=Delete RectBox delBoxDetail=Remove the box dupBox=Duplicate RectBox dupBoxDetail=Create a duplicate of the selected box +editBox=&Edit RectBox +editBoxDetail=Move and edit Boxs +hideAllBox=&Hide RectBox +showAllBox=&Show RectBox tutorialDefault=Tutorial tutorialChrome=Tutorial(Chrome) tutorialDetail=Show demo @@ -73,3 +77,6 @@ menu_edit=&Edit menu_view=&View menu_help=&Help menu_openRecent=Open &Recent +chooseLineColor=Choose Line Color +chooseFillColor=Choose Fill Color +drawSquares=Draw Squares \ No newline at end of file