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 11, 2023
1 parent 9e8ae9e commit 2a921c2
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 236 deletions.
84 changes: 31 additions & 53 deletions README.Arabic.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,64 +4,65 @@
<img src="img/2023-11-13-16-50-04.png" width="60%"/>
</p>

* [English](README.md)
* [繁體中文版README.md](README.zh-TW.md)
* [简体中文](README.zh-CN.md)
* [Française](README.French.md)
* [الإنجليزية](README.md)
* [الصينية التقليديةREADME.md](README.zh-TW.md)
* [الصينية البسيطة](README.zh-CN.md)
* [فرنسية](README.French.md)
* [عربى](README.Arabic.md)


# المقدمة

> [!NOTE]
> إن مترجم الإصدار `v1` تم تنفيذه باستخدام حزمة الطرف الثالث `Linux`؛ بينما يتم تنفيذ الإصدار `v2` باستخدام [`g4f`](https://github.com/xtekky/gpt4free) لاستدعاء واجهة برمجة تطبيقات openai مجانًا للترجمة.
> تم تنفيذ مترجم الإصدار `v1` من خلال حزمة جد parties `Linux`؛ الإصدار `v2` تم تحقيقه عبر [`g4f`](https://github.com/xtekky/gpt4free) استدعاء مجاني لـ openai api لتحقيق الترجمة.

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

* قم بترجمة إصدارات README المختلفة بواسطة `gpt3.5`.
* ترجمة إصدارات مختلفة من README باستخدام `gpt3.5`

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

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


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


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

2. قم بتعيين `Github Token` الخاص بك:
1. انقر على :star: الرمز لإضافة هذا المشروع إلى مستودع GitHub الخاص بك.

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

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

```
```yaml
# .github/workflows/translate.yml
name: Translate Readme

Expand All @@ -79,36 +80,13 @@
fetch-depth: 3

- name: Auto Translate
uses: Lin-jun-xiang/action-translate-readme@v2 # Based on the tag
uses: Lin-jun-xiang/action-translate-readme@v2 # استنادًا إلى العلامة
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
token: ${{ secrets.Action_Bot }} # استنادًا إلى اسم الخطوة2
g4f_provider: g4f.Provider.DeepAi # يمكنك تغيير مزود هذا
langs: "en,zh-TW,zh-CN,French,Arabic" # يمكنك تحديد أي لغات
# openai_api_key: ${{ secrets.OPENAI_API_KEY }} # إذا قدمت مفتاح openai api ، سيتم استخدام openai gpt بدلاً من gpt4free
```

هناك ثلاثة معلمات تحتاج إلى إيلاء اهتمام خاص في الملف `.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>
--------------------------------
> [!NOTE]
> هناك
92 changes: 12 additions & 80 deletions README.French.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,100 +14,32 @@
# 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).
> La version `v1` du traducteur est mise en œuvre via un package tiers `Linux`; la version `v2` est mise en œuvre via [`g4f`](https://github.com/xtekky/gpt4free) appel gratuit à l'api openai pour la traduction

* 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`.
* Nous savons tous que rédiger la documentation README prend beaucoup de temps, mais maintenant il existe une solution qui vous fera gagner la moitié du temps. C'est notre `action-translate-readme`

* Traduisez différentes versions de README dans différentes langues en utilisant `gpt3.5`.
* Traduction de différentes versions de README via `gpt3.5`

* Soumettez automatiquement (commit, push) les fichiers traduits à l'aide de **Github Actions (CI/CD)**.
* Soumission automatique (commit, push) des fichiers traduits via **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.
* Par exemple: **écrire** ou **modifier** la version anglaise du README, générer automatiquement les versions chinoise traditionnelle, chinoise simplifiée, française... etc.


# Comment utiliser ?


> [!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.
> Comme `gpt3.5` est un modèle IA génératif, il y a donc une probabilité de problèmes à chaque traduction, il est recommandé de tester sur une branche et d'essayer plusieurs fois.
> [!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é !
> Si vous rencontrez l'erreur suivante: `Error: Input required and not supplied: token`, veuillez vérifier si vous avez créé un `Token` selon l'étape deux, ou si le `Token` a expiré !
1. Cliquez sur l'icône :star: pour ajouter ce projet à votre dépôt Github.

2. Configurez votre `Github Token` :
2. Configurez votre `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)

<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>
--------------------------------
* Configuration
* Configuration du développeur
* Jeton d
89 changes: 13 additions & 76 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 translator of version `v1` is implemented through a third-party package in `Linux`; version `v2` is realized by calling the openai api for free through [`g4f`](https://github.com/xtekky/gpt4free).

* 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`.
* 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`

* Translate different language versions of README using `gpt3.5`.
* Translate different language versions of README using `gpt3.5`

* Automatically commit (commit, push) the translated files through **Github Actions (CI/CD)**.
* Automatically submit (commit, push) the translated files through **Github Actions (CI/CD)**

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


# 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` belongs to a generative AI model, there is a probability of problems in each translation result. It is recommended to use branch testing and try multiple 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 follow step two to ensure that the `Token` has been created, 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`:

* [Create a new **`Github Secret Token`**](https://github.com/settings/tokens/new)
* Setting
* Set
* 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 scopes: `repo` and `workflow`
* Choose token **lifecycle** - it is recommended to use **infinite**
* Choose scope: `repo` and `workflow`
* **Keep** your secret token (do not lose it, you will 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-xiang/action-translate-readme/assets/63782903/b
Loading

0 comments on commit 2a921c2

Please sign in to comment.