Skip to content

goroshirow/PDF-Translator

Repository files navigation

PDF翻訳アプリ (React + TypeScript + Vite)

このテンプレートは、React と Vite を使用した最小限のセットアップを提供し、HMR (Hot Module Replacement) と ESLint ルールを含んでいます。

概要

PDFファイルを閲覧し、選択したテキストを自動的に翻訳するアプリケーションです。

始め方 (Getting Started)

プロジェクトをローカルで実行するには、以下のコマンドを使用してください。

Dependenciesのインストール:

npm install

開発サーバーの起動:

npm run dev

環境設定 (Environment Setup)

このアプリケーションは翻訳機能に DeepL API を使用しています。利用するには以下の手順で設定を行ってください:

  1. DeepL API に登録し、APIキーを取得してください(無料プランの DeepL API Free でも動作します)。
  2. プロジェクトのルートディレクトリにある .env.example ファイルをコピーして .env という名前に変更してください。
  3. .env ファイルを開き、VITE_DEEPL_API_KEY に取得したAPIキーを入力してください:
VITE_DEEPL_API_KEY=your_deepl_api_key_here

注意: .env ファイルにはAPIキーなどの機密情報が含まれるため、Gitコミットには含めないでください(.gitignore に設定済み)。

利用可能なプラグイン

現在は、以下の2つの公式プラグインが利用可能です:

React Compiler

React Compiler は、開発およびビルドのパフォーマンスへの影響があるため、このテンプレートでは有効になっていません。追加するには、公式ドキュメントを参照してください。

ESLint 設定の拡張 (Expanding the ESLint configuration)

本番アプリケーションを開発している場合、型認識 (type-aware) のリントルールを有効にするために設定を更新することを推奨します:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // 他の設定...

      // tseslint.configs.recommended を削除し、以下に置き換えます
      tseslint.configs.recommendedTypeChecked,
      // または、より厳格なルールを使用する場合
      tseslint.configs.strictTypeChecked,
      // オプションで、スタイルルールを追加する場合
      tseslint.configs.stylisticTypeChecked,

      // 他の設定...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // その他のオプション...
    },
  },
])

React 固有のリントルールを追加するために、eslint-plugin-react-xeslint-plugin-react-dom をインストールすることもできます:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // 他の設定...
      // React のリントルールを有効化
      reactX.configs['recommended-typescript'],
      // React DOM のリントルールを有効化
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // その他のオプション...
    },
  },
])

About

PDFをスムーズに日本語翻訳するためのアプリ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors