Code Monkey home page Code Monkey logo

jpnwordsrem's Introduction

JpnWordsRem使用说明

使用说明

之前一直没有找到一个合适的能够帮助测试日语单词的软件。之前使用过诸如沪江之类的软件,但是感觉还是不尽如人意-毕竟和英语情况不一样,需要专门的题目。因此就自己写了一个软件。

优缺点

优点

  1. 只需要自己导入词库就可以让计算机自己出题,无需人工出题。当前版本自带新标日初级48课的词库,以后有时间会慢慢制作新的词库。词库的制作方法和导入方法下文会有介绍。

  2. 题的形式比我见过的市面上的软件要多。我设计了8种题型(给定假名选择意思、给定假名写汉字、给定汉字选择假名、给定汉字写假名、给定汉字选择意思、给定意思选择假名、给定意思写假名、给定意思选择汉字),应该能够满足大部分需求。需要指出的是:

  • 写汉字的题是真的给你一个绘图区域让你自己写,毕竟日语的(相对于中文的)异体字还是不少。不过这种题需要你自己判断写没写对-我手头没有适合这种需求的识别模型。
  • 我手头没有切割好的录音,要不然就来一个听写题了(笑)
  • 不需要日语键盘。答题界面有自己的软键盘。
  1. 纯网页,天然适配各种平台(只要别是ie浏览器,笑)。另外也尽量制作了不同平台的安装包。甚至在树莓派上可以运行!

  2. 全部开源,没有广告,内购之类的,也不需要任何权限,不保存任何数据。完全可以自己二次开发。也可商用(但是得注明原作者和开源代码库地址)

  3. 支持深色模式,大部分情况能根据系统主题自动切换。

缺点:

  1. 没有ios的适配-ios我没有开发者账号和设备。期待大神能给打包一下。用cordova就行。

  2. 毕竟是电脑出题,可能会出现题目比较死板有争议的问题。我已经尽力避免了。但是还有有可能出现-因此不必把这个当成非常严肃的出题软件。

  3. 没法保存上次进度,也没有记忆曲线等等一切需要本地存储的功能-我没那个技术和时间,但是侧面也正好避免了隐私争议。

  4. 由于electron的机制,使得打包之后的软件贼大,200m左右。本来网页自身也就几m....安卓版倒是不大,3m不到。





安装方法

部署网页版

直接把整个网页及其附属文件(根目录下的css,js,words文件夹和index.html、wordlib.json、logo.png)放到网页服务器的根目录底下就行(例如我这是ubuntu系统的apache服务器,就放到/var/www/html里面就行,其他服务器软件同理)。

安装包

考虑到有些地方上网不方便,我也制作了一些安装包,

  1. 安卓系统直接安装apk文件就行,
  2. win直接下载那两个exe就行,不需要安装。
  3. linux系统请根据cpu架构选择合适的压缩包,解压后执行start.bat。
  4. macOS我没测试过,应该就是下载darwin结尾的那两个压缩包之一(视cpu架构而定),解压后把把软件本体拖到访达的“应用程序”里面就行。




使用方法

这个小软件的使用方法非常简单,打开之后就是选择词库的页面。选择题库之后会加载出来该词库的所有单词。勾选你想考察的单词之后点击开始测试即可。

做题界面的上方是总览,包括出了几个题,当前是第几个题,哪些题做错了。点击“显示错题对应单词”会弹出所有错题对应的单词。

选择题

做题界面的上方是做题界面。选择题请选择选项之后点击“检查答案”。

填空题

填空题(就是填写假名的题)请在对应的空中填写假名-直接按下面的按钮就行。当前正在填的空是紫色边框,其他空是灰色。写完之后点击“检查答案”。
注意“请根据汉字填写假名”这个题,一个空是可以填写多个假名的,因此一个空写完后请手动切换到下一个空。而“请根据意思填写正确的假名”这个题,一个空只能填写一个假名。因此一个空填完之后会自动切换到下一个空。

写汉字题

“请框中写出正确的汉字”这个题,第一行是假名,第二行是汉字占位符-以"(1)","(2)"表示,第三行是意思。然后请在下方相应占位符所对应的框中写汉字。例如:

わかりません
汉字: (1) かりません
不知道

这个题就是说在 かりません前面有个汉字需要你写,编号是(1)。然后去下方页面(1)右面的框里用手/鼠标写出这个字。再例如

ジェーシーきかく
汉字: JC (1) (2)
[专有词] JC策划公司

这个题,说明JC后面有两个汉字要写,分别编号为(1)、(2)。然后去下方页面分别在(1)、(2)右侧的框里用手/鼠标写出这两个字。

写完之后点击“显示答案”,每个框右侧会显示正确的汉字,同时最底部会出现正确和错误两个按钮。写对了的话就点“正确”,反之点击“错误”。
这个题没法自动检查,因此依赖于你所点击的“正确”还是“错误”。点击了“正确”,系统就认为你做对了;反之点击“错误”,系统就认为你做错了。

设置界面

点击“设置”之后会出来设置界面-目前只有深色模式选项。默认是“跟随系统变化”。这个得看兼容性,不一定能跟随。去掉“跟随系统变化”的勾之后会显示切换按钮来切换主题。





自定义词库

如上文所示,这个软件是可以自己写词库的。方法是替换或添加根目录下的几个文件。具体分为以下两步。

1.创建词库

词库是json文件。格式为

{
  "words": [ /*"kanji项不为空的word必须>4个,否则程序可能卡死"*/
    ...
    {
      "kana": "あのひと",/*纯假名形式,只能写假名*/
      "kanji": "あの人",/*带汉字的形式,可以写假名、汉字和英文字母*/
      "character": "名",/*词性*/
      "meaning": "那个人",/*单词含义*/
      "word_id": 19/*单词id,从0开始编号,依次递增*/
    },
	...
            ]
}

请将词库保存在根目录下words文件中。这里假设是words/test_word.json。

注意:

  • win的软件请右键单击“7zip->打开压缩包”(或者类似的表述,总之请不要直接执行,用压缩软件打开它,因为这本身是一个自解压运行的7z格式的压缩包罢了)。这里所说的根目录位于"压缩包\resources\app"。

    有的软件(例如winrar)只能打开不能添加,那就直接把他解压,在完成后续动作之后找个单文件制作程序再压回去(或者不压回去也行,打开"压缩包\NihonngoWordsRem.exe"也可)。

  • Linux的软件,这里所说的根目录位于"压缩包/resources/app/"。

  • mac的软件,这里所说的根目录位于"压缩包/NihonngoWordsRem-darwin-xxx/NihonngoWordsRem.app/Contents/Resources/app/"。

  • 安卓apk文件有签名不能修改,只能自己重新打包。上述win/mac/linux/android的打包方法在 "other_platforms/android/" 与 "other_platforms/win_linux_mac/" 中

根目录应该是如下结构:

"根目录"
|
├── css
│   ├── adminlte.css
│   ├── adminlte.css.map
│   ├── OverlayScrollbars.min.css
│   └── toggle.css
├── js
│   ├── adminlte.js
│   ├── adminlte.js.map
│   ├── canvas-title.js
│   ├── choice-title.js
│   ├── common.js
│   ├── fill-blank-answer.js
│   ├── fill-blank-kana.js
│   ├── fill-blank-kanji.js
│   ├── jquery-3.6.0.js
│   ├── jquery-3.6.0.min.js
│   ├── jquery-3.6.0.min.js.map
│   ├── sel-word-page.js
│   ├── setting-page.js
│   ├── title-page.js
│   └── utils.js
├── index.html
├── wordlib.json
└── words
    ├── lesson10.json
    ├── lesson11.json
    ├── lesson12.json
    ├── lesson13.json
    ...
    └── lesson9.json

2.注册词库

打开根目录下wordlib.json,并添加

{
  "libs": [
     ...
    {
      "name": "测试词库", /*这里的内容会出现在一开始选择词库的界面中*/
      "filename": "words/test_word.json" /*词库文件位置,本例中应该为words/test_word.json*/
    },
	...
         ]
}

3.刷新

如果是网页版,直接刷新就行。 打包的软件的话需要重新打开程序。



Thanks

adminLTE


Enjoy!

jpnwordsrem's People

Contributors

abstractdatatype avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.