README in English is next to Japanese
大学教育用OSSを翻訳して生成されるPOをOSSを横断して検索するシステムです。 ソースコードに含まれるOSSのPOはSakai, Moodle, Maharaです。
Pythonにて開発しました。理由としてはgettext POファイルを処理するためのPOLIBが利用できたためです。PHPでは同等のモジュールを見つけることができませんでした。 フレームワークとしてBottle, SQLAlchemy, WTFormsを使っています。
データベースにPOをインポートするPOImporterとそれらを検索するPOBrowserから構成されます。
- pobrowser.py: データベースを各種条件にて検索するためのメインプログラムです。
- views/*.tpl:PythonフレームワークBottle用テンプレートです。
- pobrowser.conf: MySQL関連設定などを記載します。
- poimporter.py: POファイルをデータベースにインポートするメインプログラムです。
- pos/{oss名}/*.po: データベースにインポートされるPOファイルです。
- DB_setting_example.txt: データベース環境構築事例です。
下記、いずれの環境でも稼働実績があります。
- AWS LINUX amzn-ami-hvm-2016.03.2.x86_64-gp2 (ami-6154bb00)
- OSX Yosemite (10.10.5))
- python 2.7.10
- MySQL 5.6.25
- Apache 2.2.31
- PIP 8.1.2
- git 2.7.4
- python-devel <= MySQL-pythonの前提
- mysql-devel <= MySQL-pythonの前提
- gcc <= MySQL-pythonの前提
- bottle (0.12.9)
- bottle-sqlalchemy (0.4.3)
- MySQL-python (1.2.5)
- polib (1.0.7)
- setuptools (18.2)
- SQLAlchemy (1.0.12)
- transifex-client (0.11b3)
- wheel (0.24.0)
- WTForms (2.1)
- 実行環境を構築します。
- git clone にてPOBrowserのソースコード(ワークツリー)をダウンロードします。
- MySQLにmysqlでアクセスし、DB_setting_example.txtを参考にしてデータベースおよびユーザを設定します。
- POBrowserディレクトリにて python poimporter.py を実行します。これによりデータペースにテーブルが作成されます。デー 8000 タベース名、ユーザ名などを変更するには、pobrowser.confを変更してください。
- POBrowserディレクトリにて python pobrowser.py を実行します。ブラウザにてlocalhost:8080/pobrowser でアクセスします。
- ECL V2.0
- mahara, moodle, tecfolio の各POファイルはそれぞれのOSSのライセンスに準じます。
POBrowser enables to cross search PO files generated after translating OSS for higher eduction. Database includes PO from Sakai, Moodle, Mahara.
POBrowser is developed by Python because POLIB to handle PO files is avialable by Python not PHP. Boole, SQLAlchemy, WTForms are used as framework.
POImporter: Tool to import PO files to MySQL POBrowser: Tool to cross search PO files
- pobrowser.py: Main program to cross search databases by various keywords and conditions.
- views/*.tpl:Template for Pyhton framework - Bottls.
- pobrowser.conf: Configuration file to set parameters of MySQL.
- poimporter.py: Main program to import PO files to MySQL Database.
- pos/{oss名}/*.po: Sample PO files to be imported to Database.
- DB_setting_example.txt: Sample configuration file for MySQL.
These platforms are proven to run POBrowser and POImporter.
- AWS LINUX amzn-ami-hvm-2016.03.2.x86_64-gp2 (ami-6154bb00)
- OSX Yosemite (10.10.5)) later
- python 2.7.10
- MySQL 5.6.25
- Apache 2.2.31
- PIP 8.1.2
- git 2.7.4
- python-devel <= Pre-requisite for MySQL-python
- mysql-devel <= Pre-requisite for MySQL-python
- gcc <= Pre-requisite for MySQL-python
- bottle (0.12.9)
- bottle-sqlalchemy (0.4.3)
- MySQL-python (1.2.5)
- polib (1.0.7)
- setuptools (18.2)
- SQLAlchemy (1.0.12)
- transifex-client (0.11b3)
- wheel (0.24.0)
- WTForms (2.1)
- Configure runtime environment.
- Download souce (work tree) codes by git clone.
- Login MySQL by mysql commnad、configure database and user to refere DB_setting_example.txt.
- Run python poimporter.py in POBrowser directory. Tables are created in a database. If database name and/or user name will be changed, settings in pobrowser.conf should be changed as well.
- Run python pobrowser.py in POBrowser directory. Then access http://localhost:8080/pobrowser.
- ECL V2.0
- License of PO such as mahara, moodle, tecfolio depends on their OSS licenses.