aicli 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +151 -0
- data/LICENSE +22 -0
- data/README.md +176 -0
- data/bin/ai +6 -0
- data/bin/aicli +6 -0
- data/lib/aicli/cli.rb +104 -0
- data/lib/aicli/commands/chat.rb +60 -0
- data/lib/aicli/commands/config.rb +49 -0
- data/lib/aicli/commands/update.rb +21 -0
- data/lib/aicli/helpers/completion.rb +275 -0
- data/lib/aicli/helpers/config.rb +161 -0
- data/lib/aicli/helpers/constants.rb +11 -0
- data/lib/aicli/helpers/error.rb +28 -0
- data/lib/aicli/helpers/i18n.rb +70 -0
- data/lib/aicli/helpers/os_detect.rb +31 -0
- data/lib/aicli/helpers/shell_history.rb +48 -0
- data/lib/aicli/helpers/strip_regex_patterns.rb +21 -0
- data/lib/aicli/prompt.rb +192 -0
- data/lib/aicli/version.rb +5 -0
- data/lib/aicli.rb +19 -0
- data/locales/ar.yml +60 -0
- data/locales/de.yml +63 -0
- data/locales/en.yml +61 -0
- data/locales/es.yml +62 -0
- data/locales/fr.yml +62 -0
- data/locales/id.yml +62 -0
- data/locales/it.yml +60 -0
- data/locales/jp.yml +58 -0
- data/locales/ko.yml +58 -0
- data/locales/pt.yml +62 -0
- data/locales/ru.yml +62 -0
- data/locales/tr.yml +60 -0
- data/locales/uk.yml +61 -0
- data/locales/vi.yml +63 -0
- data/locales/zh-Hans.yml +58 -0
- data/locales/zh-Hant.yml +58 -0
- metadata +154 -0
data/lib/aicli/prompt.rb
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'open3'
|
|
4
|
+
require 'clipboard'
|
|
5
|
+
require 'pastel'
|
|
6
|
+
require 'tty-prompt'
|
|
7
|
+
require 'tty-spinner'
|
|
8
|
+
|
|
9
|
+
module AiCli
|
|
10
|
+
module Prompt
|
|
11
|
+
module_function
|
|
12
|
+
|
|
13
|
+
def run(use_prompt: nil, silent_mode: false)
|
|
14
|
+
init_i18n
|
|
15
|
+
|
|
16
|
+
config = Helpers::Config.get
|
|
17
|
+
key = config['OPENAI_KEY']
|
|
18
|
+
model = config['MODEL']
|
|
19
|
+
api_endpoint = config['OPENAI_API_ENDPOINT']
|
|
20
|
+
skip_explanation = silent_mode || config['SILENT_MODE']
|
|
21
|
+
|
|
22
|
+
pastel = Pastel.new
|
|
23
|
+
puts ''
|
|
24
|
+
puts "┌ #{pastel.cyan(Helpers::Constants::PROJECT_NAME)}"
|
|
25
|
+
|
|
26
|
+
the_prompt = use_prompt.nil? || use_prompt.strip.empty? ? ask_prompt : use_prompt
|
|
27
|
+
|
|
28
|
+
spinner = TTY::Spinner.new("[:spinner] #{Helpers::I18n.t('Loading...')}", format: :dots)
|
|
29
|
+
spinner.auto_spin
|
|
30
|
+
|
|
31
|
+
result = Helpers::Completion.get_script_and_info(
|
|
32
|
+
prompt: the_prompt,
|
|
33
|
+
key: key,
|
|
34
|
+
model: model,
|
|
35
|
+
api_endpoint: api_endpoint
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
spinner.success(Helpers::I18n.t('Your script') + ':')
|
|
39
|
+
puts ''
|
|
40
|
+
script = result[:read_script].call(->(chunk) { print chunk })
|
|
41
|
+
puts ''
|
|
42
|
+
puts ''
|
|
43
|
+
puts pastel.dim('•')
|
|
44
|
+
|
|
45
|
+
unless skip_explanation
|
|
46
|
+
spinner = TTY::Spinner.new("[:spinner] #{Helpers::I18n.t('Getting explanation...')}", format: :dots)
|
|
47
|
+
spinner.auto_spin
|
|
48
|
+
|
|
49
|
+
info = result[:read_info].call(->(chunk) { print chunk })
|
|
50
|
+
if info.nil? || info.empty?
|
|
51
|
+
explanation = Helpers::Completion.get_explanation(
|
|
52
|
+
script: script,
|
|
53
|
+
key: key,
|
|
54
|
+
model: model,
|
|
55
|
+
api_endpoint: api_endpoint
|
|
56
|
+
)
|
|
57
|
+
spinner.success(Helpers::I18n.t('Explanation') + ':')
|
|
58
|
+
puts ''
|
|
59
|
+
explanation[:read_explanation].call(->(chunk) { print chunk })
|
|
60
|
+
puts ''
|
|
61
|
+
puts ''
|
|
62
|
+
puts pastel.dim('•')
|
|
63
|
+
else
|
|
64
|
+
spinner.success(Helpers::I18n.t('Explanation') + ':')
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
run_or_revise_flow(script, key, model, api_endpoint, silent_mode)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def init_i18n
|
|
72
|
+
config = Helpers::Config.get
|
|
73
|
+
Helpers::I18n.set_language(config['LANGUAGE'])
|
|
74
|
+
rescue StandardError
|
|
75
|
+
Helpers::I18n.set_language('en')
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def examples
|
|
79
|
+
[
|
|
80
|
+
Helpers::I18n.t('delete all log files'),
|
|
81
|
+
Helpers::I18n.t('list js files'),
|
|
82
|
+
Helpers::I18n.t('fetch me a random joke'),
|
|
83
|
+
Helpers::I18n.t('list all commits')
|
|
84
|
+
]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def ask_prompt(initial = nil)
|
|
88
|
+
prompt = TTY::Prompt.new(interrupt: :exit)
|
|
89
|
+
prompt.ask(Helpers::I18n.t('What would you like me to do?')) do |q|
|
|
90
|
+
q.required true
|
|
91
|
+
q.default initial || Helpers::I18n.t('Say hello')
|
|
92
|
+
q.validate(/.+/, Helpers::I18n.t('Please enter a prompt.'))
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def ask_revision
|
|
97
|
+
prompt = TTY::Prompt.new(interrupt: :exit)
|
|
98
|
+
prompt.ask(Helpers::I18n.t('What would you like me to change in this script?')) do |q|
|
|
99
|
+
q.required true
|
|
100
|
+
q.validate(/.+/, Helpers::I18n.t('Please enter a prompt.'))
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def run_script(script)
|
|
105
|
+
pastel = Pastel.new
|
|
106
|
+
puts "└ #{Helpers::I18n.t('Running')}: #{script}"
|
|
107
|
+
puts ''
|
|
108
|
+
system(ENV['SHELL'] || 'bash', '-c', script)
|
|
109
|
+
Helpers::ShellHistory.append(script)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def run_or_revise_flow(script, key, model, api_endpoint, silent_mode)
|
|
113
|
+
prompt = TTY::Prompt.new(interrupt: :exit)
|
|
114
|
+
empty_script = script.strip.empty?
|
|
115
|
+
|
|
116
|
+
choices = []
|
|
117
|
+
unless empty_script
|
|
118
|
+
choices << { name: "✅ #{Helpers::I18n.t('Yes')}", value: :yes }
|
|
119
|
+
choices << { name: "📝 #{Helpers::I18n.t('Edit')}", value: :edit }
|
|
120
|
+
end
|
|
121
|
+
choices << { name: "🔁 #{Helpers::I18n.t('Revise')}", value: :revise }
|
|
122
|
+
choices << { name: "📋 #{Helpers::I18n.t('Copy')}", value: :copy }
|
|
123
|
+
choices << { name: "❌ #{Helpers::I18n.t('Cancel')}", value: :cancel }
|
|
124
|
+
|
|
125
|
+
message = empty_script ? Helpers::I18n.t('Revise this script?') : Helpers::I18n.t('Run this script?')
|
|
126
|
+
answer = prompt.select(message, choices)
|
|
127
|
+
|
|
128
|
+
case answer
|
|
129
|
+
when :yes
|
|
130
|
+
run_script(script)
|
|
131
|
+
when :edit
|
|
132
|
+
new_script = prompt.ask(Helpers::I18n.t('you can edit script here'), default: script)
|
|
133
|
+
run_script(new_script) if new_script && !new_script.empty?
|
|
134
|
+
when :revise
|
|
135
|
+
revision_flow(script, key, model, api_endpoint, silent_mode)
|
|
136
|
+
when :copy
|
|
137
|
+
Clipboard.copy(script)
|
|
138
|
+
puts "└ #{Helpers::I18n.t('Copied to clipboard!')}"
|
|
139
|
+
when :cancel
|
|
140
|
+
puts "└ #{Helpers::I18n.t('Goodbye!')}"
|
|
141
|
+
exit 0
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
def revision_flow(current_script, key, model, api_endpoint, silent_mode)
|
|
146
|
+
pastel = Pastel.new
|
|
147
|
+
revision = ask_revision
|
|
148
|
+
|
|
149
|
+
spinner = TTY::Spinner.new("[:spinner] #{Helpers::I18n.t('Loading...')}", format: :dots)
|
|
150
|
+
spinner.auto_spin
|
|
151
|
+
|
|
152
|
+
result = Helpers::Completion.get_revision(
|
|
153
|
+
prompt: revision,
|
|
154
|
+
code: current_script,
|
|
155
|
+
key: key,
|
|
156
|
+
model: model,
|
|
157
|
+
api_endpoint: api_endpoint
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
spinner.success(Helpers::I18n.t('Your new script') + ':')
|
|
161
|
+
puts ''
|
|
162
|
+
script = result[:read_script].call(->(chunk) { print chunk })
|
|
163
|
+
puts ''
|
|
164
|
+
puts ''
|
|
165
|
+
puts pastel.dim('•')
|
|
166
|
+
|
|
167
|
+
unless silent_mode
|
|
168
|
+
info_spinner = TTY::Spinner.new("[:spinner] #{Helpers::I18n.t('Getting explanation...')}", format: :dots)
|
|
169
|
+
info_spinner.auto_spin
|
|
170
|
+
|
|
171
|
+
explanation = Helpers::Completion.get_explanation(
|
|
172
|
+
script: script,
|
|
173
|
+
key: key,
|
|
174
|
+
model: model,
|
|
175
|
+
api_endpoint: api_endpoint
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
info_spinner.success(Helpers::I18n.t('Explanation') + ':')
|
|
179
|
+
puts ''
|
|
180
|
+
explanation[:read_explanation].call(->(chunk) { print chunk })
|
|
181
|
+
puts ''
|
|
182
|
+
puts ''
|
|
183
|
+
puts pastel.dim('•')
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
run_or_revise_flow(script, key, model, api_endpoint, silent_mode)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
private_class_method :init_i18n, :examples, :ask_prompt, :ask_revision,
|
|
190
|
+
:run_script, :run_or_revise_flow, :revision_flow
|
|
191
|
+
end
|
|
192
|
+
end
|
data/lib/aicli.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'aicli/version'
|
|
4
|
+
require_relative 'aicli/helpers/constants'
|
|
5
|
+
require_relative 'aicli/helpers/error'
|
|
6
|
+
require_relative 'aicli/helpers/i18n'
|
|
7
|
+
require_relative 'aicli/helpers/os_detect'
|
|
8
|
+
require_relative 'aicli/helpers/strip_regex_patterns'
|
|
9
|
+
require_relative 'aicli/helpers/shell_history'
|
|
10
|
+
require_relative 'aicli/helpers/completion'
|
|
11
|
+
require_relative 'aicli/helpers/config'
|
|
12
|
+
require_relative 'aicli/prompt'
|
|
13
|
+
require_relative 'aicli/commands/chat'
|
|
14
|
+
require_relative 'aicli/commands/config'
|
|
15
|
+
require_relative 'aicli/commands/update'
|
|
16
|
+
require_relative 'aicli/cli'
|
|
17
|
+
|
|
18
|
+
module AiCli
|
|
19
|
+
end
|
data/locales/ar.yml
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: بدء محادثة جديدة
|
|
3
|
+
Goodbye!: وداعا!
|
|
4
|
+
send a message ('exit' to quit): أرسل رسالة ('exit' للخروج)
|
|
5
|
+
Please enter a prompt.: الرجاء إدخال تعليمات.
|
|
6
|
+
THINKING...: فكر...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: يرجى تعيين
|
|
8
|
+
مفتاح OpenAI API الخاص بك عبر `ai config set OPENAI_KEY=<your token>`
|
|
9
|
+
Set config: تعيين التكوين
|
|
10
|
+
Enter your OpenAI API key: أدخل مفتاح OpenAI API الخاص بك
|
|
11
|
+
"(not set)": "(غير مضبوط)"
|
|
12
|
+
OpenAI Key: مفتاح OpenAI
|
|
13
|
+
Please enter a key: الرجاء إدخال مفتاح
|
|
14
|
+
OpenAI API Endpoint: نقطة نهاية OpenAI API
|
|
15
|
+
Enter your OpenAI API Endpoint: أدخل نقطة نهاية OpenAI API الخاصة بك
|
|
16
|
+
Silent Mode: وضع صامت
|
|
17
|
+
Enable silent mode?: تمكين الوضع الصامت؟
|
|
18
|
+
Model: نموذج
|
|
19
|
+
Enter the model you want to use: أدخل النموذج الذي تريد استخدامه
|
|
20
|
+
Language: لغة
|
|
21
|
+
Enter the language you want to use: أدخل اللغة التي تريد استخدامها
|
|
22
|
+
What would you like me to do?: ماذا تريد مني أن أفعل؟
|
|
23
|
+
delete all log files: حذف جميع ملفات السجلات
|
|
24
|
+
list js files: قائمة ملفات js
|
|
25
|
+
fetch me a random joke: جلب لي نكتة عشوائية
|
|
26
|
+
list all commits: قائمة جميع الالتزامات
|
|
27
|
+
Say hello: قل مرحبا
|
|
28
|
+
you can edit script here: يمكنك تحرير النص هنا
|
|
29
|
+
What would you like me to change in this script?: ما الذي تريد تغييره في هذا النص؟
|
|
30
|
+
e.g.: على سبيل المثال
|
|
31
|
+
e.g. change the folder name: على سبيل المثال تغيير اسم المجلد
|
|
32
|
+
Your script: نصك
|
|
33
|
+
Loading...: جار التحميل...
|
|
34
|
+
Getting explanation...: الحصول على تفسير...
|
|
35
|
+
Explanation: تفسير
|
|
36
|
+
Run this script?: تشغيل هذا النص؟
|
|
37
|
+
Revise this script?: مراجعة هذا النص؟
|
|
38
|
+
'Yes': نعم
|
|
39
|
+
Lets go!: لنذهب!
|
|
40
|
+
Edit: تحرير
|
|
41
|
+
Make some adjustments before running: قم بإجراء بعض التعديلات قبل التشغيل
|
|
42
|
+
Revise: مراجعة
|
|
43
|
+
Give feedback via prompt and get a new result: تقديم ملاحظات عبر البريد الإلكتروني
|
|
44
|
+
والحصول على نتيجة جديدة
|
|
45
|
+
Copy: نسخ
|
|
46
|
+
Copy the generated script to your clipboard: انسخ النص المولد إلى الحافظة الخاصة بك
|
|
47
|
+
Cancel: إلغاء
|
|
48
|
+
Exit the program: خروج من البرنامج
|
|
49
|
+
Running: جار التشغيل
|
|
50
|
+
Copied to clipboard!: تم النسخ إلى الحافظة!
|
|
51
|
+
Your new script: نصك الجديد
|
|
52
|
+
Invalid config property: خاصية التكوين غير صالحة
|
|
53
|
+
Shell detection failed unexpectedly: فشل كشف الخطأ بشكل غير متوقع
|
|
54
|
+
Invalid model: نموذج غير صالح
|
|
55
|
+
Error: خطأ
|
|
56
|
+
Missing required parameter: معلمة مطلوبة مفقودة
|
|
57
|
+
Please open a Bug report with the information above: يرجى فتح تقرير خلل مع المعلومات
|
|
58
|
+
أعلاه
|
|
59
|
+
Prompt to run: تشغيل التعليمات
|
|
60
|
+
You: أنت
|
data/locales/de.yml
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Neues Gespräch beginnen
|
|
3
|
+
Goodbye!: Auf Wiedersehen!
|
|
4
|
+
send a message ('exit' to quit): Nachricht senden ('exit' zum Beenden)
|
|
5
|
+
Please enter a prompt.: Bitte geben Sie eine Aufforderung ein.
|
|
6
|
+
THINKING...: DENKEN...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: Bitte
|
|
8
|
+
setzen Sie Ihren OpenAI-API-Schlüssel über `ai config set OPENAI_KEY=<your token>`
|
|
9
|
+
Set config: Konfiguration setzen
|
|
10
|
+
Enter your OpenAI API key: Geben Sie Ihren OpenAI-API-Schlüssel ein
|
|
11
|
+
"(not set)": "(nicht gesetzt)"
|
|
12
|
+
OpenAI Key: OpenAI-Schlüssel
|
|
13
|
+
Please enter a key: Bitte geben Sie einen Schlüssel ein
|
|
14
|
+
OpenAI API Endpoint: OpenAI-API-Endpunkt
|
|
15
|
+
Enter your OpenAI API Endpoint: Geben Sie Ihren OpenAI-API-Endpunkt ein
|
|
16
|
+
Silent Mode: Leiser Modus
|
|
17
|
+
Enable silent mode?: Leisen Modus aktivieren?
|
|
18
|
+
Model: Modell
|
|
19
|
+
Enter the model you want to use: Geben Sie das Modell ein, das Sie verwenden möchten
|
|
20
|
+
Language: Sprache
|
|
21
|
+
Enter the language you want to use: Geben Sie die Sprache ein, die Sie verwenden möchten
|
|
22
|
+
What would you like me to do?: Was möchten Sie, dass ich tue?
|
|
23
|
+
delete all log files: Löschen Sie alle Protokolldateien
|
|
24
|
+
list js files: Liste js-Dateien auf
|
|
25
|
+
fetch me a random joke: Holen Sie mir einen zufälligen Witz
|
|
26
|
+
list all commits: Liste alle Commits auf
|
|
27
|
+
Say hello: Sag Hallo
|
|
28
|
+
you can edit script here: Sie können das Skript hier bearbeiten
|
|
29
|
+
What would you like me to change in this script?: Was möchten Sie in diesem Skript
|
|
30
|
+
ändern?
|
|
31
|
+
e.g.: z.B.
|
|
32
|
+
e.g. change the folder name: z.B. Ändern Sie den Ordnernamen
|
|
33
|
+
Your script: Ihr Skript
|
|
34
|
+
Loading...: Wird geladen...
|
|
35
|
+
Getting explanation...: Erklärung bekommen...
|
|
36
|
+
Explanation: Erklärung
|
|
37
|
+
Run this script?: Dieses Skript ausführen?
|
|
38
|
+
Revise this script?: Dieses Skript überarbeiten?
|
|
39
|
+
'Yes': Ja
|
|
40
|
+
Lets go!: Los geht's!
|
|
41
|
+
Edit: Bearbeiten
|
|
42
|
+
Make some adjustments before running: Machen Sie einige Anpassungen, bevor Sie es
|
|
43
|
+
ausführen
|
|
44
|
+
Revise: Überarbeiten
|
|
45
|
+
Give feedback via prompt and get a new result: Geben Sie Feedback über die Eingabeaufforderung
|
|
46
|
+
und erhalten Sie ein neues Ergebnis
|
|
47
|
+
Copy: Kopieren
|
|
48
|
+
Copy the generated script to your clipboard: Kopieren Sie das generierte Skript in
|
|
49
|
+
die Zwischenablage
|
|
50
|
+
Cancel: Abbrechen
|
|
51
|
+
Exit the program: Programm beenden
|
|
52
|
+
Running: Läuft
|
|
53
|
+
Copied to clipboard!: In die Zwischenablage kopiert!
|
|
54
|
+
Your new script: Ihr neues Skript
|
|
55
|
+
Invalid config property: Ungültige Konfigurationseigenschaft
|
|
56
|
+
Shell detection failed unexpectedly: Shell-Erkennung fehlgeschlagen
|
|
57
|
+
Invalid model: Ungültiges Modell
|
|
58
|
+
Error: Fehler
|
|
59
|
+
Missing required parameter: Fehlender erforderlicher Parameter
|
|
60
|
+
Please open a Bug report with the information above: Bitte öffnen Sie einen Fehlerbericht
|
|
61
|
+
mit den oben genannten Informationen
|
|
62
|
+
Prompt to run: Aufforderung zum Ausführen
|
|
63
|
+
You: Sie
|
data/locales/en.yml
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Starting new conversation
|
|
3
|
+
Goodbye!: Goodbye!
|
|
4
|
+
send a message ('exit' to quit): send a message ('exit' to quit)
|
|
5
|
+
Please enter a prompt.: Please enter a prompt.
|
|
6
|
+
THINKING...: THINKING...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: Please
|
|
8
|
+
set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`
|
|
9
|
+
Set config: Set config
|
|
10
|
+
Enter your OpenAI API key: Enter your OpenAI API key
|
|
11
|
+
"(not set)": "(not set)"
|
|
12
|
+
OpenAI Key: OpenAI Key
|
|
13
|
+
Please enter a key: Please enter a key
|
|
14
|
+
OpenAI API Endpoint: OpenAI API Endpoint
|
|
15
|
+
Enter your OpenAI API Endpoint: Enter your OpenAI API Endpoint
|
|
16
|
+
Silent Mode: Silent Mode
|
|
17
|
+
Enable silent mode?: Enable silent mode?
|
|
18
|
+
Model: Model
|
|
19
|
+
Enter the model you want to use: Enter the model you want to use
|
|
20
|
+
Language: Language
|
|
21
|
+
Enter the language you want to use: Enter the language you want to use
|
|
22
|
+
What would you like me to do?: What would you like me to do?
|
|
23
|
+
delete all log files: delete all log files
|
|
24
|
+
list js files: list js files
|
|
25
|
+
fetch me a random joke: fetch me a random joke
|
|
26
|
+
list all commits: list all commits
|
|
27
|
+
Say hello: Say hello
|
|
28
|
+
you can edit script here: you can edit script here
|
|
29
|
+
What would you like me to change in this script?: What would you like me to change
|
|
30
|
+
in this script?
|
|
31
|
+
e.g.: e.g.
|
|
32
|
+
e.g. change the folder name: e.g. change the folder name
|
|
33
|
+
Your script: Your script
|
|
34
|
+
Loading...: Loading...
|
|
35
|
+
Getting explanation...: Getting explanation...
|
|
36
|
+
Explanation: Explanation
|
|
37
|
+
Run this script?: Run this script?
|
|
38
|
+
Revise this script?: Revise this script?
|
|
39
|
+
'Yes': 'Yes'
|
|
40
|
+
Lets go!: Lets go!
|
|
41
|
+
Edit: Edit
|
|
42
|
+
Make some adjustments before running: Make some adjustments before running
|
|
43
|
+
Revise: Revise
|
|
44
|
+
Give feedback via prompt and get a new result: Give feedback via prompt and get a
|
|
45
|
+
new result
|
|
46
|
+
Copy: Copy
|
|
47
|
+
Copy the generated script to your clipboard: Copy the generated script to your clipboard
|
|
48
|
+
Cancel: Cancel
|
|
49
|
+
Exit the program: Exit the program
|
|
50
|
+
Running: Running
|
|
51
|
+
Copied to clipboard!: Copied to clipboard!
|
|
52
|
+
Your new script: Your new script
|
|
53
|
+
Invalid config property: Invalid config property
|
|
54
|
+
Shell detection failed unexpectedly: Shell detection failed unexpectedly
|
|
55
|
+
Invalid model: Invalid model
|
|
56
|
+
Error: Error
|
|
57
|
+
Missing required parameter: Missing required parameter
|
|
58
|
+
Please open a Bug report with the information above: Please open a Bug report with
|
|
59
|
+
the information above
|
|
60
|
+
Prompt to run: Prompt to run
|
|
61
|
+
You: You
|
data/locales/es.yml
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Comenzando nueva conversación
|
|
3
|
+
Goodbye!: "¡Adiós!"
|
|
4
|
+
send a message ('exit' to quit): enviar un mensaje ('exit' para salir)
|
|
5
|
+
Please enter a prompt.: Por favor ingrese un indicio.
|
|
6
|
+
THINKING...: PENSANDO...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: Por favor
|
|
8
|
+
configure su clave de API de OpenAI a través de `ai config set OPENAI_KEY=<your
|
|
9
|
+
token>`
|
|
10
|
+
Set config: Configuración
|
|
11
|
+
Enter your OpenAI API key: Ingrese su clave de API de OpenAI
|
|
12
|
+
"(not set)": "(no establecido)"
|
|
13
|
+
OpenAI Key: Clave de OpenAI
|
|
14
|
+
Please enter a key: Por favor ingrese una clave
|
|
15
|
+
OpenAI API Endpoint: Punto final de la API de OpenAI
|
|
16
|
+
Enter your OpenAI API Endpoint: Ingrese su punto final de API de OpenAI
|
|
17
|
+
Silent Mode: Modo silencioso
|
|
18
|
+
Enable silent mode?: "¿Habilitar el modo silencioso?"
|
|
19
|
+
Model: Modelo
|
|
20
|
+
Enter the model you want to use: Ingrese el modelo que desea utilizar
|
|
21
|
+
Language: Idioma
|
|
22
|
+
Enter the language you want to use: Ingrese el idioma que desea utilizar
|
|
23
|
+
What would you like me to do?: "¿Qué te gustaría que hiciera?"
|
|
24
|
+
delete all log files: eliminar todos los archivos de registro
|
|
25
|
+
list js files: listar archivos js
|
|
26
|
+
fetch me a random joke: traerme una broma aleatoria
|
|
27
|
+
list all commits: listar todos los commits
|
|
28
|
+
Say hello: Decir hola
|
|
29
|
+
you can edit script here: puede editar el script aquí
|
|
30
|
+
What would you like me to change in this script?: "¿Qué te gustaría cambiar en este
|
|
31
|
+
script?"
|
|
32
|
+
e.g.: por ejemplo
|
|
33
|
+
e.g. change the folder name: por ejemplo, cambie el nombre de la carpeta
|
|
34
|
+
Your script: Tu script
|
|
35
|
+
Loading...: Cargando...
|
|
36
|
+
Getting explanation...: Obteniendo explicación...
|
|
37
|
+
Explanation: Explicación
|
|
38
|
+
Run this script?: "¿Ejecutar este script?"
|
|
39
|
+
Revise this script?: "¿Revisar este script?"
|
|
40
|
+
'Yes': Sí
|
|
41
|
+
Lets go!: "¡Vamos!"
|
|
42
|
+
Edit: Editar
|
|
43
|
+
Make some adjustments before running: Haga algunos ajustes antes de ejecutar
|
|
44
|
+
Revise: Revisar
|
|
45
|
+
Give feedback via prompt and get a new result: Dé su opinión a través del indicio
|
|
46
|
+
y obtenga un nuevo resultado
|
|
47
|
+
Copy: Copiar
|
|
48
|
+
Copy the generated script to your clipboard: Copie el script generado en su portapapeles
|
|
49
|
+
Cancel: Cancelar
|
|
50
|
+
Exit the program: Salir del programa
|
|
51
|
+
Running: Ejecutando
|
|
52
|
+
Copied to clipboard!: "¡Copiado al portapapeles!"
|
|
53
|
+
Your new script: Tu nuevo script
|
|
54
|
+
Invalid config property: Propiedad de configuración no válida
|
|
55
|
+
Shell detection failed unexpectedly: La detección de shell falló inesperadamente
|
|
56
|
+
Invalid model: Modelo no válido
|
|
57
|
+
Error: Error
|
|
58
|
+
Missing required parameter: Falta el parámetro requerido
|
|
59
|
+
Please open a Bug report with the information above: Por favor abra un informe de
|
|
60
|
+
error con la información anterior
|
|
61
|
+
Prompt to run: Indicio para ejecutar
|
|
62
|
+
You: Tú
|
data/locales/fr.yml
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Démarrer une nouvelle conversation
|
|
3
|
+
Goodbye!: Au revoir!
|
|
4
|
+
send a message ('exit' to quit): envoyer un message ('exit' pour quitter)
|
|
5
|
+
Please enter a prompt.: Veuillez entrer une invite.
|
|
6
|
+
THINKING...: EN RÉFLEXION...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: Veuillez
|
|
8
|
+
définir votre clé API OpenAI via `ai config set OPENAI_KEY=<your token>`
|
|
9
|
+
Set config: Configurer
|
|
10
|
+
Enter your OpenAI API key: Entrez votre clé API OpenAI
|
|
11
|
+
"(not set)": "(non défini)"
|
|
12
|
+
OpenAI Key: Clé OpenAI
|
|
13
|
+
Please enter a key: Veuillez entrer une clé
|
|
14
|
+
OpenAI API Endpoint: Point de terminaison de l'API OpenAI
|
|
15
|
+
Enter your OpenAI API Endpoint: Entrez votre point de terminaison d'API OpenAI
|
|
16
|
+
Silent Mode: Mode silencieux
|
|
17
|
+
Enable silent mode?: Activer le mode silencieux?
|
|
18
|
+
Model: Modèle
|
|
19
|
+
Enter the model you want to use: Entrez le modèle que vous souhaitez utiliser
|
|
20
|
+
Language: Langue
|
|
21
|
+
Enter the language you want to use: Entrez la langue que vous souhaitez utiliser
|
|
22
|
+
What would you like me to do?: Que voulez-vous que je fasse?
|
|
23
|
+
delete all log files: supprimer tous les fichiers journaux
|
|
24
|
+
list js files: liste des fichiers js
|
|
25
|
+
fetch me a random joke: apporte-moi une blague aléatoire
|
|
26
|
+
list all commits: liste de tous les engagements
|
|
27
|
+
Say hello: Dire bonjour
|
|
28
|
+
you can edit script here: vous pouvez éditer le script ici
|
|
29
|
+
What would you like me to change in this script?: Que voulez-vous que je change dans
|
|
30
|
+
ce script?
|
|
31
|
+
e.g.: par exemple
|
|
32
|
+
e.g. change the folder name: par exemple, changer le nom du dossier
|
|
33
|
+
Your script: Votre script
|
|
34
|
+
Loading...: Chargement...
|
|
35
|
+
Getting explanation...: Obtenir une explication...
|
|
36
|
+
Explanation: Explication
|
|
37
|
+
Run this script?: Exécuter ce script?
|
|
38
|
+
Revise this script?: Réviser ce script?
|
|
39
|
+
'Yes': Oui
|
|
40
|
+
Lets go!: Allons-y!
|
|
41
|
+
Edit: Modifier
|
|
42
|
+
Make some adjustments before running: Faites quelques ajustements avant de lancer
|
|
43
|
+
Revise: Réviser
|
|
44
|
+
Give feedback via prompt and get a new result: Donnez votre avis via une invite et
|
|
45
|
+
obtenez un nouveau résultat
|
|
46
|
+
Copy: Copier
|
|
47
|
+
Copy the generated script to your clipboard: Copiez le script généré dans votre presse-papiers
|
|
48
|
+
Cancel: Annuler
|
|
49
|
+
Exit the program: Quitter le programme
|
|
50
|
+
Running: En cours d'exécution
|
|
51
|
+
Copied to clipboard!: Copié dans le presse-papiers!
|
|
52
|
+
Your new script: Votre nouveau script
|
|
53
|
+
Invalid config property: Propriété de configuration non valide
|
|
54
|
+
Shell detection failed unexpectedly: La détection de la coquille a échoué de manière
|
|
55
|
+
inattendue
|
|
56
|
+
Invalid model: Modèle invalide
|
|
57
|
+
Error: Erreur
|
|
58
|
+
Missing required parameter: Paramètre requis manquant
|
|
59
|
+
Please open a Bug report with the information above: Veuillez ouvrir un rapport de
|
|
60
|
+
bogue avec les informations ci-dessus
|
|
61
|
+
Prompt to run: Invite pour exécuter
|
|
62
|
+
You: Vous
|
data/locales/id.yml
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Memulai percakapan baru
|
|
3
|
+
Goodbye!: Selamat tinggal!
|
|
4
|
+
send a message ('exit' to quit): kirim pesan ('exit' untuk keluar)
|
|
5
|
+
Please enter a prompt.: Silakan masukkan permintaan.
|
|
6
|
+
THINKING...: BERPIKIR...
|
|
7
|
+
Please set your OpenAI API key via ai config set OPENAI_KEY=<your token>: Harap atur
|
|
8
|
+
kunci API OpenAI Anda melalui ai config set OPENAI_KEY=<token Anda>
|
|
9
|
+
Set config: Atur konfigurasi
|
|
10
|
+
Enter your OpenAI API key: Masukkan kunci API OpenAI Anda
|
|
11
|
+
"(not set)": "(belum diatur)"
|
|
12
|
+
OpenAI Key: Kunci OpenAI
|
|
13
|
+
Please enter a key: Silakan masukkan kunci
|
|
14
|
+
OpenAI API Endpoint: Titik Akhir API OpenAI
|
|
15
|
+
Enter your OpenAI API Endpoint: Masukkan Titik Akhir API OpenAI Anda
|
|
16
|
+
Silent Mode: Mode Senyap
|
|
17
|
+
Enable silent mode?: Aktifkan mode senyap?
|
|
18
|
+
Model: Model
|
|
19
|
+
Enter the model you want to use: Masukkan model yang ingin Anda gunakan
|
|
20
|
+
Language: Bahasa
|
|
21
|
+
Enter the language you want to use: Masukkan bahasa yang ingin Anda gunakan
|
|
22
|
+
What would you like me to do?: Apa yang ingin Anda saya lakukan?
|
|
23
|
+
delete all log files: hapus semua file log
|
|
24
|
+
list js files: daftar file js
|
|
25
|
+
fetch me a random joke: berikan saya lelucon acak
|
|
26
|
+
list all commits: daftar semua komit
|
|
27
|
+
Say hello: Katakan halo
|
|
28
|
+
you can edit script here: Anda dapat mengedit skrip di sini
|
|
29
|
+
What would you like me to change in this script?: Apa yang ingin Anda saya ubah dalam
|
|
30
|
+
skrip ini?
|
|
31
|
+
e.g.: contoh
|
|
32
|
+
e.g. change the folder name: 'contoh: ubah nama folder'
|
|
33
|
+
Your script: Skrip Anda
|
|
34
|
+
Loading...: Memuat...
|
|
35
|
+
Getting explanation...: Mendapatkan penjelasan...
|
|
36
|
+
Explanation: Penjelasan
|
|
37
|
+
Run this script?: Jalankan skrip ini?
|
|
38
|
+
Revise this script?: Periksa ulang skrip ini?
|
|
39
|
+
'Yes': Ya
|
|
40
|
+
Lets go!: Ayo!
|
|
41
|
+
Edit: Edit
|
|
42
|
+
Make some adjustments before running: Lakukan beberapa penyesuaian sebelum menjalankan
|
|
43
|
+
Revise: Periksa ulang
|
|
44
|
+
Give feedback via prompt and get a new result: Beri umpan balik melalui permintaan
|
|
45
|
+
dan dapatkan hasil baru
|
|
46
|
+
Copy: Salin
|
|
47
|
+
Copy the generated script to your clipboard: Salin skrip yang dihasilkan ke papan
|
|
48
|
+
klip Anda
|
|
49
|
+
Cancel: Batal
|
|
50
|
+
Exit the program: Keluar dari program
|
|
51
|
+
Running: Menjalankan
|
|
52
|
+
Copied to clipboard!: Disalin ke papan klip!
|
|
53
|
+
Your new script: Skrip baru Anda
|
|
54
|
+
Invalid config property: Properti konfigurasi tidak valid
|
|
55
|
+
Shell detection failed unexpectedly: Deteksi shell gagal secara tak terduga
|
|
56
|
+
Invalid model: Model tidak valid
|
|
57
|
+
Error: Kesalahan
|
|
58
|
+
Missing required parameter: Parameter yang diperlukan hilang
|
|
59
|
+
Please open a Bug report with the information above: Harap buka laporan Bug dengan
|
|
60
|
+
informasi di atas
|
|
61
|
+
Prompt to run: Permintaan untuk dijalankan
|
|
62
|
+
You: Anda
|
data/locales/it.yml
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
Starting new conversation: Avvia una nuova conversazione
|
|
3
|
+
Goodbye!: Arrivederci!
|
|
4
|
+
send a message ('exit' to quit): invia un messaggio ('exit' per uscire)
|
|
5
|
+
Please enter a prompt.: Per favore inserisci un prompt.
|
|
6
|
+
THINKING...: pensando...
|
|
7
|
+
Please set your OpenAI API key via `ai config set OPENAI_KEY=<your token>`: Per favore
|
|
8
|
+
imposta la tua chiave API OpenAI tramite `ai config set OPENAI_KEY=<your token>`
|
|
9
|
+
Set config: Imposta la configurazione
|
|
10
|
+
Enter your OpenAI API key: Inserisci la tua chiave API OpenAI
|
|
11
|
+
"(not set)": "(non impostato)"
|
|
12
|
+
OpenAI Key: Chiave OpenAI
|
|
13
|
+
Please enter a key: Per favore inserisci una chiave
|
|
14
|
+
OpenAI API Endpoint: Endpoint API OpenAI
|
|
15
|
+
Enter your OpenAI API Endpoint: Inserisci il tuo endpoint API OpenAI
|
|
16
|
+
Silent Mode: Modalità silenziosa
|
|
17
|
+
Enable silent mode?: Abilitare la modalità silenziosa?
|
|
18
|
+
Model: Modello
|
|
19
|
+
Enter the model you want to use: Inserisci il modello che vuoi utilizzare
|
|
20
|
+
Language: Lingua
|
|
21
|
+
Enter the language you want to use: Inserisci la lingua che vuoi utilizzare
|
|
22
|
+
What would you like me to do?: Cosa vorresti che facessi?
|
|
23
|
+
delete all log files: elimina tutti i file di log
|
|
24
|
+
list js files: elenca i file js
|
|
25
|
+
fetch me a random joke: raccontami una barzelletta
|
|
26
|
+
list all commits: elenca tutti i commit
|
|
27
|
+
Say hello: Saluta
|
|
28
|
+
you can edit script here: puoi modificare lo script qui
|
|
29
|
+
What would you like me to change in this script?: Cosa vorresti che cambiassi in questo
|
|
30
|
+
script?
|
|
31
|
+
e.g.: es.
|
|
32
|
+
e.g. change the folder name: es. cambia il nome della cartella
|
|
33
|
+
Your script: Il tuo script
|
|
34
|
+
Loading...: Caricamento...
|
|
35
|
+
Getting explanation...: Ottieni spiegazione...
|
|
36
|
+
Explanation: Spiegazione
|
|
37
|
+
Run this script?: Esegui questo script?
|
|
38
|
+
Revise this script?: Rivedi questo script?
|
|
39
|
+
'Yes': Si
|
|
40
|
+
Lets go!: Vai!
|
|
41
|
+
Edit: Modifica
|
|
42
|
+
Make some adjustments before running: Fai alcune modifiche prima di eseguire
|
|
43
|
+
Revise: Revisiona
|
|
44
|
+
Give feedback via prompt and get a new result: Dai un feedback tramite prompt e ottieni
|
|
45
|
+
un nuovo risultato
|
|
46
|
+
Copy: Copia
|
|
47
|
+
Copy the generated script to your clipboard: Copia lo script generato negli appunti
|
|
48
|
+
Cancel: Annulla
|
|
49
|
+
Exit the program: Esci dal programma
|
|
50
|
+
Running: Esecuzione
|
|
51
|
+
Copied to clipboard!: Copiato negli appunti!
|
|
52
|
+
Your new script: Il tuo nuovo script
|
|
53
|
+
Invalid config property: Proprietà di configurazione non valida
|
|
54
|
+
Shell detection failed unexpectedly: Rilevamento shell fallito inaspettatamente
|
|
55
|
+
Invalid model: Modello non valido
|
|
56
|
+
Error: Errore
|
|
57
|
+
Please open a Bug report with the information above: Apri un report di bug con le
|
|
58
|
+
informazioni sopra
|
|
59
|
+
Prompt to run: Prompt da eseguire
|
|
60
|
+
You: Tu
|