Spaces:
Sleeping
Sleeping
File size: 9,388 Bytes
179eccc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | # νλ‘μ νΈμ κΈ°μ¬νκΈ°
> [!CAUTION]
>
> νμ¬ νλ‘μ νΈ κ΄λ¦¬μλ€μ μλνλ λ¬Έμ κ΅μ νλ₯Ό μ°κ΅¬ μ€μ
λλ€. λ°λΌμ λ¬Έμ κ΅μ ν/λ²μκ³Ό κ΄λ ¨λ PR μ **μ λ νμ©λμ§ μμ΅λλ€**!
>
> λ¬Έμ κ΅μ ν/λ²μκ³Ό κ΄λ ¨λ PR μ μ μΆνμ§ λ§μΈμ!
μ΄ νλ‘μ νΈμ κ΄μ¬μ κ°μ Έ μ£Όμ
μ κ°μ¬ν©λλ€! κΈ°μ¬λ₯Ό μμνκΈ° μ μ, μνν κΈ°μ¬λ₯Ό μν΄ λ€μ κ°μ΄λλΌμΈμ κΌ μ½μ΄ μ£ΌμκΈ° λ°λλλ€.
## νμ©λμ§ μλ κΈ°μ¬ μ ν
1. λ¬Έμ κ΅μ ν/λ²μ
2. HTTP API λ±κ³Ό κ°μ ν΅μ¬ μΈνλΌμ κ΄λ ¨λ κΈ°μ¬
3. "λμ νμ μμ"μΌλ‘ λͺ
μμ μΌλ‘ νμλ μ΄μ ([Byaidu/PDFMathTranslate](Byaidu/PDFMathTranslate) λ° [PDFMathTranslate-next/PDFMathTranslate-next](PDFMathTranslate-next/PDFMathTranslate-next) μ μ₯μμ μ΄μ ν¬ν¨).
4. μ μ§ κ΄λ¦¬μκ° λΆμ μ νλ€κ³ νλ¨ν κΈ°ν κΈ°μ¬.
5. λ¬Έμ κΈ°μ¬μ΄μ§λ§ μμ΄ μ΄μΈμ μΈμ΄λ‘ λ¬Έμλ₯Ό λ³κ²½νλ κ²½μ°.
6. `PDF` νμΌ μμ μ΄ νμν PR.
7. `pdf2zh_next/gui_translation.yaml` νμΌμ μμ νλ PR.
μμ κ΄λ ¨λ μ νμ PR μ μ μΆνμ§ λ§μμμ€.
> [!NOTE]
>
> λ¬Έμμ κΈ°μ¬νκ³ μΆλ€λ©΄ **λ¬Έμμ μμ΄ λ²μ λ§ μμ ν΄ μ£ΌμΈμ**. λ€λ₯Έ μΈμ΄ λ²μ μ κΈ°μ¬μλ€μ΄ μ§μ λ²μν©λλ€.
- [ ] Adding new translation services.
- [ ] Adding new features.
- [ ] Adding new dependencies.
## PRs that are welcome to submit directly
- [ ] Fix typo.
- [ ] Fix grammatical errors.
- [ ] Fix broken links.
- [ ] Fix incorrect translation.
- [ ] Add missing translation.
- [ ] Improve translation quality.
- [ ] Add new language.
---
### OUTPUT
## μ μ§ κ΄λ¦¬μμ μ΄μλ₯Ό ν΅ν΄ μ¬μ λ
Όμκ° κΆμ₯λλ PR
- [ ] μλ‘μ΄ λ²μ μλΉμ€ μΆκ°.
- [ ] μλ‘μ΄ κΈ°λ₯ μΆκ°.
- [ ] μλ‘μ΄ μμ‘΄μ± μΆκ°.
## μ§μ μ μΆμ΄ κΆμ₯λλ PR
- [ ] μ€ν μμ .
- [ ] λ¬Έλ² μ€λ₯ μμ .
- [ ] κΉ¨μ§ λ§ν¬ μμ .
- [ ] μλͺ»λ λ²μ μμ .
- [ ] λλ½λ λ²μ μΆκ°.
- [ ] λ²μ νμ§ ν₯μ.
- [ ] μλ‘μ΄ μΈμ΄ μΆκ°.
- Adding new translation services.
- Adding new features.
- Adding new dependencies.
For the following types of PRs, you are welcome to submit directly:
- Fix typo.
- Fix grammatical errors.
- Fix broken links.
- Fix incorrect translation.
- Add missing translation.
- Improve translation quality.
- Add new language.
---
### OUTPUT
λ€μ μ νμ PR μ μ μΆ μ μ μ μ§ κ΄λ¦¬μμ λ¨Όμ λ
Όμνλ κ²μ΄ κΆμ₯λ©λλ€:
- μλ‘μ΄ λ²μ μλΉμ€ μΆκ°.
- μλ‘μ΄ κΈ°λ₯ μΆκ°.
- μλ‘μ΄ μμ‘΄μ± μΆκ°.
λ€μ μ νμ PR μ μ§μ μ μΆν΄ μ£Όμ
λ μ’μ΅λλ€:
- μ€ν μμ .
- λ¬Έλ² μ€λ₯ μμ .
- κΉ¨μ§ λ§ν¬ μμ .
- μλͺ»λ λ²μ μμ .
- λλ½λ λ²μ μΆκ°.
- λ²μ νμ§ ν₯μ.
- μλ‘μ΄ μΈμ΄ μΆκ°.
2. PRs related to adding new dependencies. (This project aims to maintain minimal dependencies).
3. PRs related to adding new translation services. (Translation services require extensive testing and maintenance, and we currently do not plan to add new ones).
4. PRs related to adding new features. (This project is currently in maintenance mode and does not plan to add new features).
---
### OUTPUT
1. λ€μ€ μ¬μ©μ 곡μ κΈ°λ₯κ³Ό κ΄λ ¨λ PR. (μ΄ νλ‘μ νΈλ μ£Όλ‘ λ¨μΌ μ¬μ©μ μ¬μ©μ μν΄ μ€κ³λμμΌλ©°, ν¬κ΄μ μΈ λ€μ€ μ¬μ©μ μμ€ν
μ λμ
ν κ³νμ΄ μμ΅λλ€).
2. μλ‘μ΄ μμ‘΄μ± μΆκ°μ κ΄λ ¨λ PR. (μ΄ νλ‘μ νΈλ μ΅μνμ μμ‘΄μ±μ μ μ§νλ κ²μ λͺ©νλ‘ ν©λλ€).
3. μλ‘μ΄ λ²μ μλΉμ€ μΆκ°μ κ΄λ ¨λ PR. (λ²μ μλΉμ€λ κ΄λ²μν ν
μ€νΈμ μ μ§λ³΄μκ° νμνλ©°, νμ¬ μλ‘μ΄ μλΉμ€λ₯Ό μΆκ°ν κ³νμ΄ μμ΅λλ€).
4. μλ‘μ΄ κΈ°λ₯ μΆκ°μ κ΄λ ¨λ PR. (μ΄ νλ‘μ νΈλ νμ¬ μ μ§λ³΄μ λͺ¨λμ΄λ©°, μλ‘μ΄ κΈ°λ₯μ μΆκ°ν κ³νμ΄ μμ΅λλ€).
## κΈ°μ¬ νλ‘μΈμ€
1. μ΄ μ μ₯μλ₯Ό ν¬ν¬νκ³ λ‘컬μ ν΄λ‘ ν©λλ€.
2. μλ‘μ΄ λΈλμΉλ₯Ό μμ±ν©λλ€: `git checkout -b feature/<feature-name>`.
3. κ°λ°μ μ§ννκ³ μ½λκ° μꡬ μ¬νμ μΆ©μ‘±νλμ§ νμΈν©λλ€.
4. μ½λλ₯Ό 컀λ°ν©λλ€:
```bash
git add .
git commit -m "<semantic commit message>"
```
5. μμ μ μ μ₯μμ νΈμν©λλ€: `git push origin feature/<feature-name>`.
6. GitHub μμ PR μ μμ±νκ³ μμΈν μ€λͺ
μ μ 곡ν ν [@awwaawwa](https://github.com/awwaawwa) μκ² λ¦¬λ·°λ₯Ό μμ²ν©λλ€.
7. λͺ¨λ μλνλ κ²μ¬κ° ν΅κ³Όλλμ§ νμΈν©λλ€.
> [!TIP]
>
> κ°λ°μ΄ μμ ν μλ£λ λκΉμ§ κΈ°λ€λ¦΄ νμ μμ΄ PR μ μμ±ν μ μμ΅λλ€. μΌμ° μμ±νλ©΄ ꡬνμ κ²ν νκ³ μ μμ μ 곡ν μ μμ΅λλ€.
>
> μμ€ μ½λ λλ κ΄λ ¨ μ¬νμ λν μ§λ¬Έμ΄ μμΌλ©΄ aw@funstory.ai λ‘ λ©μΈν
μ΄λμκ² λ¬ΈμνμΈμ.
>
> 2.0 λ²μ μ 리μμ€ νμΌμ [BabelDOC](https://github.com/funstory-ai/BabelDOC) μ 곡μ λ©λλ€. κ΄λ ¨ 리μμ€λ₯Ό λ€μ΄λ‘λνλ μ½λλ BabelDOC μ μμ΅λλ€. μλ‘μ΄ λ¦¬μμ€ νμΌμ μΆκ°νλ €λ©΄ BabelDOC λ©μΈν
μ΄λμκ² aw@funstory.ai λ‘ λ¬ΈμνμΈμ.
## κΈ°λ³Έ μꡬ μ¬ν
<h4 id="sop">1. μν¬νλ‘μ°</h4>
- `main` λΈλμΉμμ ν¬ν¬λ₯Ό μμ±νκ³ ν¬ν¬λ λΈλμΉμμ κ°λ°μ μ§νν΄ μ£ΌμΈμ.
- Pull Request(PR) λ₯Ό μ μΆν λ λ³κ²½ μ¬νμ λν μμΈν μ€λͺ
μ μ κ³΅ν΄ μ£ΌμΈμ.
- PR μ΄ μλνλ κ²μ¬λ₯Ό ν΅κ³Όνμ§ λͺ»νλ κ²½μ° (`checks failed` λ° λΉ¨κ°μ μμκ°λ‘ νμλ¨), ν΄λΉ `details` λ₯Ό νμΈνκ³ μ μΆλ¬Όμ μμ νμ¬ μλ‘μ΄ PR μ΄ λͺ¨λ κ²μ¬λ₯Ό ν΅κ³Όν μ μλλ‘ ν΄ μ£ΌμΈμ.
<h4 id="dev&test">2. κ°λ° λ° ν
μ€νΈ</h4>
- κ°λ° λ° ν
μ€νΈλ₯Ό μν΄ `pip install -e .` λͺ
λ Ήμ μ¬μ©νμΈμ.
<h4 id="format">3. μ½λ ν¬λ§·ν
</h4>
- `pre-commit` λꡬλ₯Ό ꡬμ±νκ³ μ½λ μμμ μν΄ `black` κ³Ό `flake8` μ νμ±ννμΈμ.
<h4 id="requpdate">4. μ’
μμ± μ
λ°μ΄νΈ</h4>
- μλ‘μ΄ μ’
μμ±μ λμ
νλ κ²½μ°, `pyproject.toml` νμΌμ μ’
μμ± λͺ©λ‘μ μ μμ μ
λ°μ΄νΈν΄ μ£ΌμΈμ.
<h4 id="docupdate">5. λ¬Έμ μ
λ°μ΄νΈ</h4>
- μλ‘μ΄ λͺ
λ Ήμ€ μ΅μ
μ μΆκ°νλ κ²½μ°, `README.md` νμΌμ λͺ¨λ μΈμ΄ λ²μ μμ λͺ
λ Ήμ€ μ΅μ
λͺ©λ‘μ ν΄λΉ μ¬νμ λ§κ² μ
λ°μ΄νΈν΄ μ£ΌμΈμ.
<h4 id="commitmsg">6. μ»€λ° λ©μμ§</h4>
- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) λ₯Ό μ¬μ©νμΈμ. μ: `feat(translator): add openai`.
<h4 id="μ½λ©μ€νμΌ">7. μ½λ© μ€νμΌ</h4>
- μ μΆν μ½λκ° κΈ°λ³Έμ μΈ μ½λ© μ€νμΌ νμ€μ μ€μνλμ§ νμΈνμΈμ.
- λ³μ μ΄λ¦μλ snake_case λλ camelCase λ₯Ό μ¬μ©νμΈμ.
<h4 id="doctypo">8. λ¬Έμ μμ</h4>
- `README.md` ν¬λ§·ν
μ [μ€κ΅μ΄ μΉ΄νΌλΌμ΄ν
κ°μ΄λλΌμΈ](https://github.com/sparanoid/chinese-copywriting-guidelines) μ λ°λ₯΄μΈμ.
- μμ΄ λ° μ€κ΅μ΄ λ¬Έμλ νμ μ΅μ μνλ‘ μ μ§νκ³ , λ€λ₯Έ μΈμ΄ λ¬Έμ μ
λ°μ΄νΈλ μ ν μ¬νμ
λλ€.
## λ²μ μμ§ μΆκ°νκΈ°
1. `pdf2zh/config/translate_engine_model.py` νμΌμ μλ‘μ΄ λ²μκΈ° κ΅¬μ± ν΄λμ€λ₯Ό μΆκ°ν©λλ€.
2. λμΌν νμΌμ `TRANSLATION_ENGINE_SETTING_TYPE` νμ
λ³μΉμ μλ‘μ΄ λ²μκΈ° κ΅¬μ± ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μΆκ°ν©λλ€.
3. `pdf2zh/translator/translator_impl` ν΄λμ μλ‘μ΄ λ²μκΈ° ꡬν ν΄λμ€λ₯Ό μΆκ°ν©λλ€.
> [!NOTE]
>
> μ΄ νλ‘μ νΈλ RPS(μ΄λΉ μμ² μ) κ° 4 λ―Έλ§μΈ λ²μ μμ§μ μ§μν μλκ° μμ΅λλ€. μ΄λ¬ν μμ§μ λν μ§μμ μμ²νμ§ λ§μμμ€.
> λ€μ μ νμ λ²μκΈ°λ ν΅ν©λμ§ μμ΅λλ€:
> - μ
μ€νΈλ¦Ό μ μ§λ³΄μμμ μν΄ μ€λ¨λ λ²μκΈ° (μ: deeplx)
> - ν° μμ‘΄μ±μ΄ μλ λ²μκΈ° (μ: pytorch μ μμ‘΄νλ κ²½μ°)
> - λΆμμ ν λ²μκΈ°
> - 리λ²μ€ μμ§λμ΄λ§ API κΈ°λ° λ²μκΈ°
>
> νΉμ λ²μκΈ°κ° μꡬ μ¬νμ μΆ©μ‘±νλμ§ νμ€νμ§ μμ κ²½μ°, μ΄μλ₯Ό λ³΄λ΄ μ μ§λ³΄μμμ λ
Όμν μ μμ΅λλ€.
## νλ‘μ νΈ κ΅¬μ‘°
- **config ν΄λ**: κ΅¬μ± μμ€ν
.
- **translator ν΄λ**: λ²μκΈ° κ΄λ ¨ ꡬν.
- **gui.py**: GUI μΈν°νμ΄μ€λ₯Ό μ 곡.
- **const.py**: μΌλΆ μμ.
- **main.py**: λͺ
λ Ήμ€ λꡬλ₯Ό μ 곡.
- **high_level.py**: BabelDOC κΈ°λ°μ κ³ μμ€ μΈν°νμ΄μ€.
- **http_api.py**: HTTP API λ₯Ό μ 곡 (μμλμ§ μμ).
AI μκ² νλ‘μ νΈ μ΄ν΄ μμ²: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next)
## λ¬ΈμνκΈ°
μ§λ¬Έμ΄ μμΌμλ©΄ Issue λ₯Ό ν΅ν΄ νΌλλ°±μ μ μΆνκ±°λ Telegram κ·Έλ£Ήμ μ°Έμ¬ν΄ μ£ΌμΈμ. κΈ°μ¬ν΄ μ£Όμ
μ κ°μ¬ν©λλ€!
> [!TIP]
>
> [Immersive Translate](https://immersivetranslate.com) λ μ΄ νλ‘μ νΈμ νλ°ν κΈ°μ¬νλ λΆλ€μ μν΄ λ§€μ Pro λ©€λ²μ μ½λλ₯Ό νμν©λλ€. μμΈν λ΄μ©μ λ€μμ μ°Έμ‘°νμΈμ: [BabelDOC/PDFMathTranslate κΈ°μ¬μ 보μ κ·μΉ](https://funstory-ai.github.io/BabelDOC/CONTRIBUTOR_REWARD/)
<div align="right">
<h6><small>μ΄ νμ΄μ§μ μΌλΆ λ΄μ©μ GPT μ μν΄ λ²μλμμΌλ©° μ€λ₯κ° ν¬ν¨λ μ μμ΅λλ€.</small></h6> |