Skip to content

Commit

Permalink
Auto-translate README
Browse files Browse the repository at this point in the history
  • Loading branch information
Continuous Integration committed Dec 5, 2023
1 parent 9e8ae9e commit 99d7726
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 330 deletions.
101 changes: 6 additions & 95 deletions README.Arabic.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,104 +11,15 @@
* [عربى](README.Arabic.md)


# المقدمة
# مقدمة

> [!NOTE]
> إن مترجم الإصدار `v1` تم تنفيذه باستخدام حزمة الطرف الثالث `Linux`؛ بينما يتم تنفيذ الإصدار `v2` باستخدام [`g4f`](https://github.com/xtekky/gpt4free) لاستدعاء واجهة برمجة تطبيقات openai مجانًا للترجمة.
> نسخة `v1` من المترجم تم تنفيذها من خلال حزمة طرف ثالث `Linux`؛ نسخة `v2` تم تنفيذها من خلال [`g4f`](https://github.com/xtekky/gpt4free) استدعاء مجاني لواجهة برمجة التطبيقات المفتوحة
* نحن جميعًا نعلم أن كتابة وثيقة README تستغرق الكثير من الوقت، ولكن الآن هناك حلاً يمكن أن يوفر لك نصف الوقت. هذا هو `action-translate-readme` الخاص بنا

* نعلم جميعًا أن كتابة وثيقة README تستغرق وقتًا طويلاً ، ولكن الآن هناك حلاً يمكنك من خلاله توفير نصف الوقت. هذا هو `action-translate-readme` لدينا.
* ترجمة إصدارات README بلغات مختلفة من خلال `gpt3.5`

* قم بترجمة إصدارات README المختلفة بواسطة `gpt3.5`.
* تلقائياً **من خلال أفعال Github(CI/CD) تقديم(commit، push)** للملف المترجم

* تقديم **Github Actions(CI/CD) للترجمة التلقائية (commit، push)** للملفات المترجمة.

* على سبيل المثال: **كتابة** أو **تعديل** إصدار README باللغة الإنجليزية ، ستتم إنشاء إصدارات README باللغة التايوانية التقليدية واللغة الصينية المبسطة واللغة الفرنسية وما إلى ذلك.


# كيفية الاستخدام؟


> [!IMPORTANT]
> نظرًا لأن `gpt3.5` هو نموذج AI القائم على الإنتاج ، فإنه يحتمل أن تكون هناك مشاكل في كل نتيجة للترجمة ، ويُنصح باستخدام الفروع للاختبار ومحاولة عدة مرات.
> [!WARNING]
> إذا واجهت الخطأ التالي: `Error: Input required and not supplied: token`، يُرجى التأكد من إنشاء `Token` وفقًا للخطوة الثانية ، أو التحقق مما إذا كان الـ `Token` قد انتهت صلاحيته!
1. انقر على رمز النجمة :star: لإضافة هذا المشروع إلى مستودع Github الخاص بك.

2. قم بتعيين `Github Token` الخاص بك:

* [أنشئ **`Github Secret Token`** جديد](https://github.com/settings/tokens/new)
* قم بإعداده
* إعدادات المطور
* رمز الوصول الشخصي - `Tokens(classic)`
* إنشاء رمز جديد
* اختيار **دورة حياة الرمز** - يُوصى باستخدام **غير محددة المدة**
* اختيار النطاق: `repo` و `workflow`
* **احتفظ** برمز الوصول السري الخاص بك (لا تفقده ، ستحتاج إليه في المستقبل)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/b7487b49-817c-4925-b94a-bdb7b025a0c2" width=" 60%" />

* أنشئ **`repository secret`** جديدًا
* في مستودعك - `settings`
* `Securits and variables`
* `Actions`
* `New repository secret`
* قم بتعبئة علامة `token` وتسميتها (على سبيل المثال: `Action_Bot`)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/27dc7bcd-633f-431e-98e8-387b97ecd47c" width=" 60%" />

3. قم بإنشاء مثال الإجراء الخاص بك في الدليل `.github/workflows/your_action.yml`. يمكنك نسخه مباشرة كما يلي:

```
# .github/workflows/translate.yml
name: Translate Readme
on:
push:
branches: ['**']
jobs:
translate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 3
- name: Auto Translate
uses: Lin-jun-xiang/action-translate-readme@v2 # Based on the tag
with:
token: ${{ secrets.Action_Bot }} # Based on step2 name
g4f_provider: g4f.Provider.DeepAi # You can change this provider
langs: "en,zh-TW,zh-CN,French,Arabic" # You can define any langs
```

هناك ثلاثة معلمات تحتاج إلى إيلاء اهتمام خاص في الملف `.yml`:

* `token`: الرمز الذي تم إنشاؤه في الخطوة 2 في المستودع
* `g4f_provider`: مزود gpt ، يُرجى الرجوع إلى المزيد من التفاصيل في ال[رابط](https://github.com/xtekky/gpt4free/tree/main#gpt-35--gpt-4)
* `langs`: الإصدارات التي تريد إنشاءها ، يجب عليك تحديد اللغات المختلفة بفاصلة `,` ، على سبيل المثال:
* `"en"`: ترجمة الإصدار الإنجليزي فقط
* `"en,zh-TW"`: ترجمة الإصدار الإنجليزي والإصدار التايواني التقليدي
* `"French,Arabic"`: ترجمة الإصدار الفرنسي والإصدار العربي

4. يمكنك الآن تحديث `README.md` وسيتم إنشاء إصدار مترجم تلقائيًا!

---

# عرض توضيحي

![](./img/auto-translation.gif)

---

# نتائج وثيقة الاختبار

* شاهد [وثيقة الاختبار](https://github.com/Lin-jun-xiang/vscode-extensions-best/tree/main)
* استخدم أداةنا لتحديث وثيقة الاختبار

<a href="#top">العودة إلى الأعلى</a>
--------------------------------
* على سبيل المثال: **كتابة** أو **تعديل** الإصدار الإنجليزي من README، سيتم إنشاء تلقائياً إصدارات باللغة التايوانية المعقدة، الصينية المبسطة، الفرنس
102 changes: 20 additions & 82 deletions README.French.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,100 +14,38 @@
# Introduction

> [!NOTE]
> La version `v1` du traducteur est implémentée à l'aide d'un package tiers `Linux`; la version `v2` est mise en œuvre en appelant gratuitement l'API openai à l'aide de [`g4f`](https://github.com/xtekky/gpt4free).
> The `v1` version of the translator is implemented through a third-party package on `Linux`; the `v2` version is implemented by calling the openai api for free translation using [`g4f`](https://github.com/xtekky/gpt4free)

* Nous savons tous que rédiger une documentation README prend beaucoup de temps, mais il existe maintenant une solution qui vous permet d'économiser la moitié de votre temps. C'est notre `action-translate-readme`.
* We all know that writing README documentation takes a lot of time, but now there is a solution that can save you half the time. That's our `action-translate-readme`

* Traduisez différentes versions de README dans différentes langues en utilisant `gpt3.5`.
* Translate README into different language versions using `gpt3.5`

* Soumettez automatiquement (commit, push) les fichiers traduits à l'aide de **Github Actions (CI/CD)**.
* Automatically submit (commit, push) the translated files through **Github Actions (CI/CD)**

* Par exemple: **Écrivez** ou **modifiez** la version anglaise de README, et les versions en chinois traditionnel, en chinois simplifié, en français, etc., seront générées automatiquement.
* For example: **write** or **modify** the English version of README, automatically generate versions of README in Traditional Chinese, Simplified Chinese, French, and other languages


# Comment utiliser ?
# How to use?


> [!IMPORTANT]
> Comme `gpt3.5` est un modèle d'IA génératif, il y a une probabilité que chaque résultat de traduction présente des problèmes. Il est recommandé de tester sur une branche et d'essayer plusieurs fois.
> Since `gpt3.5` is a generative AI model, there is a chance of problems with each translation result. It is recommended to use branch testing and try several times.
> [!WARNING]
> Si vous rencontrez l'erreur suivante : `Error: Input required and not supplied: token`, veuillez suivre l'étape 2 pour vérifier si vous avez créé le `Token` ou si le `Token` est expiré !
> If you encounter the following error: `Error: Input required and not supplied: token`, please follow step two to determine if you have created a `Token` or if the `Token` has expired!
1. Cliquez sur l'icône :star: pour ajouter ce projet à votre dépôt Github.
1. Click on the :star: icon to add this project to your Github repository.

2. Configurez votre `Github Token` :
2. Set your `Github Token`:

* [Créez un nouveau **`Github Secret Token`**](https://github.com/settings/tokens/new)
* Réglages
* Réglages développeur
* Jetons d'accès personnels - `Tokens(classic)`
* Générer un nouveau jeton
* Choisissez la **durée de vie** du jeton - il est recommandé d'utiliser **illimité**
* Choisissez les autorisations : `repo` et `workflow`
* **Conservez** votre secret token (ne le perdez pas, vous en aurez besoin plus tard)
* [Create a new **`Github Secret Token`**](https://github.com/settings/tokens/new)
* Set
* Developer settings
* Personal access tokens - `Tokens(classic)`
* Generate new token
* Choose token **lifecycle** - it is recommended to use **infinite**
* Choose scopes: `repo` and `workflow`
* **Keep** your secret token (don't lose it, you'll need to paste it later)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/b7487b49-817c-4925-b94a-bdb7b025a0c2" width=" 60%" />

* Créez un nouveau **`repository secret`**
* Dans votre dépôt - Paramètres
* Sécurité et variables
* Actions
* Nouveau secret de dépôt
* Étiquetez et nommez le secret (par ex : `Action_Bot`)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/27dc7bcd-633f-431e-98e8-387b97ecd47c" width=" 60%" />

3. Créez votre exemple d'action dans le répertoire `.github/workflows/your_action.yml`. Vous pouvez simplement copier le contenu suivant :

```
# .github/workflows/translate.yml
name: Translate Readme
on:
push:
branches: ['**']
jobs:
translate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 3
- name: Auto Translate
uses: Lin-jun-xiang/action-translate-readme@v2 # Basé sur le tag
with:
token: ${{ secrets.Action_Bot }} # Basé sur le nom de l'étape 2
g4f_provider: g4f.Provider.DeepAi # Vous pouvez changer ce fournisseur
langs: "en,zh-TW,zh-CN,French,Arabic" # Vous pouvez définir n'importe quelles langues
```

Il y a trois paramètres dans le `.yml` à noter :

* `token` : le token créé dans l'étape 2 dans le repo
* `g4f_provider` : le fournisseur de gpt, pour en savoir plus, veuillez consulter le [lien](https://github.com/xtekky/gpt4free/tree/main#gpt-35--gpt-4)
* `langs` : les versions linguistiques que vous souhaitez générer, veillez à séparer les différentes langues par des virgules, par exemple :
* `"en"` : traduire uniquement la version anglaise
* `"en,zh-TW"` : traduire l'anglais et le chinois traditionnel
* `"French,Arabic"` : traduire le français et l'arabe

4. Maintenant, vous pouvez mettre à jour `README.md`, et une version traduite sera générée automatiquement !

---

# Démo

![](./img/auto-translation.gif)

---

# Résultats du document de test

* Voir [le document de test](https://github.com/Lin-jun-xiang/vscode-extensions-best/tree/main)
* Mettez à jour le document de test avec notre outil

<a href="#top">Retour en haut</a>
--------------------------------
<img src="https://github.com/Lin
93 changes: 15 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,100 +14,37 @@
# Introduction

> [!NOTE]
> The translator of version `v1` is implemented through a third-party package on `Linux`; version `v2` is implemented by calling the OpenAI API for free through [`g4f`](https://github.com/xtekky/gpt4free).
> The `v1` version of the translator is implemented through a third-party package on `Linux`; the `v2` version is implemented by calling the openai api for free through [`g4f`](https://github.com/xtekky/gpt4free).
* We all know that writing README documents takes a lot of time, but now there is a solution that can save you half the time. This is our `action-translate-readme`.

* We all know that writing README documentation takes a lot of time, but now there is a solution that can save you half the time. This is our `action-translate-readme`.
* Translate different language versions of README through `gpt3.5`

* Translate different language versions of README using `gpt3.5`.
* Automatically commit and push translated files through **Github Actions (CI/CD)**

* Automatically commit (commit, push) the translated files through **Github Actions (CI/CD)**.
* For example: **write** or **modify** the English version of README, and automatically generate versions in traditional Chinese, simplified Chinese, French, and so on.

* For example: **Write** or **modify** the English version of README, and automatically generate versions of README in Traditional Chinese, Simplified Chinese, French, etc.


# How to use?
# How to use ?


> [!IMPORTANT]
> Since `gpt3.5` is a generative AI model, there is a chance of problems with the translation results each time. It is recommended to use branch testing and try several times.
> Since `gpt3.5` is a generative AI model, there is a probability of issues in each translation result, it is recommended to use branch testing and try several times.
> [!WARNING]
> If you encounter the following error: `Error: Input required and not supplied: token`, please follow step two to ensure that the `Token` has been created or whether the `Token` has expired!
> If you encounter the following error: `Error: Input required and not supplied: token`, please make sure that you have created a `Token` according to step two, or whether the `Token` has expired!
1. Click on the :star: icon to add this project to your Github repository.
1. Click the :star: icon to add this project to your Github repository.

2. Set up your `Github Token`:
2. Set your `Github Token`:

* [Create a new **`Github Secret Token`**](https://github.com/settings/tokens/new)
* Setting
* Setup
* Developer settings
* Personal access tokens - `Tokens (classic)`
* Personal access tokens - `Tokens(classic)`
* Generate new token
* Choose token **lifespan** - it is recommended to use **unlimited**
* Choose token **lifespan** - it is recommended to use **infinite**
* Choose scopes: `repo` and `workflow`
* **Keep** your secret token (do not lose it, you will need to paste it later)
* **Keep** your secret token (don't lose it, you'll need to paste it later)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/b7487b49-817c-4925-b94a-bdb7b025a0c2" width=" 60%" />

* Create a new **`repository secret`**
* In your repository - `settings`
* `Securits and variables`
* `Actions`
* `New repository secret`
* Fill in the label with `token` and name it (eg: `Action_Bot`)

<img src="https://github.com/Lin-jun-xiang/action-translate-readme/assets/63782903/27dc7bcd-633f-431e-98e8-387b97ecd47c" width=" 60%" />

3. Create an example of your action in the directory `.github/workflows/your_action.yml`. You can directly copy the following:

```
# .github/workflows/translate.yml
name: Translate Readme
on:
push:
branches: ['**']
jobs:
translate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 3
- name: Auto Translate
uses: Lin-jun-xiang/action-translate-readme@v2 # Based on the tag
with:
token: ${{ secrets.Action_Bot }} # Based on step2 name
g4f_provider: g4f.Provider.DeepAi # You can change this provider
langs: "en,zh-TW,zh-CN,French,Arabic" # You can define any langs
```

There are three parameters in `.yml` that need special attention:

* `token`: The token created in the repos based on step 2.
* `g4f_provider`: The provider of gpt, for more information, please refer to the [link](https://github.com/xtekky/gpt4free/tree/main#gpt-35--gpt-4)
* `langs`: The language versions you want to generate, be sure to separate different languages with `,`, for example:
* `"en"`: Translate only the English version
* `"en,zh-TW"`: Translate English and Traditional Chinese
* `"French,Arabic"`: Translate French and Arabic

4. Now you can update `README.md`, and it will automatically generate a translated version!

---

# Demo

![](./img/auto-translation.gif)

---

# Results of Test Document

* View the [test document](https://github.com/Lin-jun-xiang/vscode-extensions-best/tree/main)
* Use our tool to update the test document

<a href="#top">Back to top</a>
<img src="https://github.com/Lin-jun-x
Loading

0 comments on commit 99d7726

Please sign in to comment.