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 178ff72
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 242 deletions.
77 changes: 28 additions & 49 deletions README.Arabic.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,68 @@
```markdown
# action-translate-readme

<p align="center">
<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` من خلال حزمة جهة ثالث على `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 الخاص بك.
1. انقر على :star: الرمز لإضافة هذا المشروع إلى مستودع Github الخاص بك.

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

* [أنشئ **`Github Secret Token`** جديد](https://github.com/settings/tokens/new)
* قم بإعداده
* [إنشاء **`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`** جديدًا
* إنشاء **`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 @@ -84,31 +85,9 @@
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
# openai_api_key: ${{ secrets.OPENAI_API_KEY }} # If you pass the openai api key, it'll use openai gpt instead of 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]
> هناك بعض المعلمات في `.yml` يجب أن تولي انتباهًا خاصًا لها:
> *
90 changes: 10 additions & 80 deletions README.French.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,100 +14,30 @@
# 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 réalisée via le package tiers `Linux`; la version `v2` est réalisée 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 permet d'économiser la moitié de votre 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: **rédiger** ou **modifier** la version anglaise de README, générer automatiquement les versions en chinois traditionnel, chinois simplifié, français, 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.
> Étant donné que `gpt3.5` est un modèle AI génératif, il y a donc une probabilité de problèmes à chaque traduction; il est recommandé d'effectuer des tests de branchement 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 vous assurer que vous avez créé un `Token` selon l'étape deux, ou que le `Token` n'a pas 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 des développeurs
Loading

0 comments on commit 178ff72

Please sign in to comment.