diff --git a/README.md b/README.md
index 4d98d097a..e08b80ab5 100644
--- a/README.md
+++ b/README.md
@@ -40,3 +40,21 @@ lib/
│
└─ main.dart # 程序入口
```
+### 本地调试内购(IAP)流程
+
+不需要真实购买即可在本地跑通前端内购流程:
+
+- 在项目根目录的环境变量文件(如 `.env`)里添加:
+
+```
+APP_IAP_MOCK=1
+```
+
+- 作用:在 `PayService` 中启用“本地内购模拟”,调用 `processGooglePayment` 或 `processApplePayment` 会:
+ - 立即触发“已发起内购(本地模拟)”;
+ - 短暂延时后触发“支付处理中…(本地模拟)”;
+ - 再触发“支付成功(本地模拟)”。
+
+- 注意:该模式不依赖 Google Play / App Store 安装来源,也不会进行服务器收据校验,仅用于前端 UI 与状态机验证。
+
+- 关闭模拟:将 `APP_IAP_MOCK` 移除或设为 `0/false`,恢复真实内购流程。
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 915595a3f..4e946db0e 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -41,7 +41,7 @@
-
+
@@ -109,6 +109,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/kotlin/com/saitong/voitrans/FloatingWindowService.kt b/android/app/src/main/kotlin/com/saitong/voitrans/FloatingWindowService.kt
index 8d4f460e9..b6e861db2 100644
--- a/android/app/src/main/kotlin/com/saitong/voitrans/FloatingWindowService.kt
+++ b/android/app/src/main/kotlin/com/saitong/voitrans/FloatingWindowService.kt
@@ -19,6 +19,7 @@ class FloatingWindowService : Service() {
private var windowManager: WindowManager? = null
private var floatingView: View? = null
private var isMinimized = true
+ private lateinit var layoutParams: WindowManager.LayoutParams
private lateinit var sourceTextView: TextView
private lateinit var translatedTextView: TextView
@@ -73,7 +74,7 @@ class FloatingWindowService : Service() {
setupClickListeners()
// 设置窗口参数
- val layoutParams = WindowManager.LayoutParams().apply {
+ layoutParams = WindowManager.LayoutParams().apply {
width = WindowManager.LayoutParams.WRAP_CONTENT
height = WindowManager.LayoutParams.WRAP_CONTENT
type = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -255,26 +256,12 @@ class FloatingWindowService : Service() {
}
private fun setupClickListeners() {
- // 最小化状态点击展开
- minimizedView.setOnClickListener {
- isMinimized = false
- updateViewState(false)
- notifyStateChange("expanded")
- }
-
- // 展开状态点击最小化
- expandedView.setOnClickListener {
- isMinimized = true
- updateViewState(true)
- notifyStateChange("minimized")
- }
-
// 长按关闭
floatingView!!.setOnLongClickListener {
closeFloatingWindow()
true
}
-
+
// 拖拽功能
setupDragListener()
}
@@ -284,25 +271,40 @@ class FloatingWindowService : Service() {
var initialY = 0
var initialTouchX = 0f
var initialTouchY = 0f
-
+ var dragging = false
+ val threshold = (4 * resources.displayMetrics.density).toInt()
floatingView!!.setOnTouchListener { _, event ->
when (event.action) {
MotionEvent.ACTION_DOWN -> {
- val layoutParams = floatingView!!.layoutParams as WindowManager.LayoutParams
initialX = layoutParams.x
initialY = layoutParams.y
initialTouchX = event.rawX
initialTouchY = event.rawY
+ dragging = false
true
}
MotionEvent.ACTION_MOVE -> {
- val layoutParams = floatingView!!.layoutParams as WindowManager.LayoutParams
- layoutParams.x = initialX + (event.rawX - initialTouchX).toInt()
- layoutParams.y = initialY + (event.rawY - initialTouchY).toInt()
+ val dx = (event.rawX - initialTouchX).toInt()
+ val dy = (event.rawY - initialTouchY).toInt()
+ if (Math.abs(dx) > threshold || Math.abs(dy) > threshold) dragging = true
+ val dm = resources.displayMetrics
+ val maxX = dm.widthPixels - (floatingView?.width ?: 0)
+ val maxY = dm.heightPixels - (floatingView?.height ?: 0)
+ layoutParams.x = (initialX + dx).coerceIn(0, maxX)
+ layoutParams.y = (initialY + dy).coerceIn(0, maxY)
windowManager?.updateViewLayout(floatingView, layoutParams)
true
}
- else -> false
+ MotionEvent.ACTION_UP -> {
+ if (!dragging) {
+ isMinimized = !isMinimized
+ updateViewState(isMinimized)
+ notifyStateChange(if (isMinimized) "minimized" else "expanded")
+ }
+ dragging = false
+ true
+ }
+ else -> true
}
}
}
@@ -347,11 +349,10 @@ class FloatingWindowService : Service() {
val x = intent.getIntExtra(EXTRA_X, 0)
val y = intent.getIntExtra(EXTRA_Y, 0)
- floatingView?.let { view ->
- val layoutParams = view.layoutParams as WindowManager.LayoutParams
+ floatingView?.let {
layoutParams.x = x
layoutParams.y = y
- windowManager?.updateViewLayout(view, layoutParams)
+ windowManager?.updateViewLayout(it, layoutParams)
}
}
diff --git a/assets/images/DefaultPicture.jpg b/assets/images/DefaultPicture.jpg
new file mode 100644
index 000000000..ef039c301
Binary files /dev/null and b/assets/images/DefaultPicture.jpg differ
diff --git a/assets/images/defaultPicture.png b/assets/images/defaultPicture.png
new file mode 100644
index 000000000..57953cc0b
Binary files /dev/null and b/assets/images/defaultPicture.png differ
diff --git a/assets/images/headphone_new3.png b/assets/images/headphone_new3.png
deleted file mode 100644
index 6906348ce..000000000
Binary files a/assets/images/headphone_new3.png and /dev/null differ
diff --git a/assets/images/headphone_new4.png b/assets/images/headphone_new4.png
deleted file mode 100644
index 7161868f8..000000000
Binary files a/assets/images/headphone_new4.png and /dev/null differ
diff --git a/doc/yhxy.html b/doc/yhxy.html
new file mode 100644
index 000000000..1c2827bca
--- /dev/null
+++ b/doc/yhxy.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+ Voitrans应用用户协议
+
+
+
+ Voitrans应用用户协议
+
+ 这些使用条款和条件告诉您如何使用Voitrans应用程序和在线服务("服务")进行访问。深圳市良闯时代科技有限公司(以下简称"良闯")在此特别提醒用户认真阅读、充分理解本《用户协议》(以下简称"本协议")。
+
+ 用户应认真阅读、充分理解本协议中各条款。请您审慎阅读并选择接受或不接受本协议。您使用Voitrans APP(以下简称"本APP"或"本软件")等行为将视为对本协议的接受,并同意接受本协议各项条款的约束。如您不同意本协议,请勿使用本APP。良闯有权修订本协议,更新后的协议条款将公布于本APP,自公布之日起生效。
+
+ 一、总则
+ 1.1 本APP是良闯提供的用于连接良闯及其合作公司发布的耳机产品的软件,本软件及相关服务的所有权和运营权均归良闯所有。
+
+ 1.2 本协议是您(以下简称"用户")与良闯及其合作公司以及运营合作单位(以下简称"合作单位")之间关于用户使用本APP及相关服务所订立的协议。
+
+ 1.3 本软件及服务包括:
+ 1.3.1 提供的软件为使用Voitrans的用户提供Voitrans的连接与绑定、功能设置管理等软件服务,具体以本APP 实际提供的软件服务为准。
+ 1.3.2 本软件的更新、升级以及其他服务。
+
+ 二、软件授权范围
+ 2.1 良闯就本软件给予用户一项个人的、不可转让、不可转授权以及非独占性的许可。
+
+ 2.2 用户可以为非商业目的在单一台移动终端设备上安装、使用、显示、运行本软件。但用户不得为商业运营目的安装、使用、运行本软件,不可以对本软件或者本软件运行过程中释放到任何终端设备内存中的数据及本软件运行过程中客户端与服务器端的交互数据进行复制、更改、修改、挂接运行或创作任何衍生作品,形式包括但不限于使用插件、外挂或非经授权的第三方工具/服务接入本软件和相关系统。如果需要进行商业性的销售、复制和散发,例如软件预装和捆绑,必须获得良闯的书面授权和许可。
+
+ 2.3 用户不得未经良闯许可,将本软件安装在未经良闯明示许可的其他终端设备上,包括但不限于电视、数字机顶盒、游戏机等装置。
+
+ 2.4 除本协议明示授权外,良闯未授权给用户其他权利,若用户使用其他权利时须另外取得良闯的书面同意。
+
+ 三、软件升级
+ 3.1 用户必须选择适合所安装之终端设置的软件版本。否则,任何软件版本与装置机型不适合所引起的软件问题、装置问题或损坏,应完全由用户自行负责。
+
+ 3.2 为了改善用户体验、完善服务内容,良闯有权不时地为您提供本软件替换、修改、升级版本,本软件为用户默认开通"升级提示"功能,视用户使用的软件版本差异,良闯提供给用户自行选择是否需要开通此功能。软件新版本发布后,良闯不保证旧版本软件的继续可用。
+
+ 四、使用规范
+ 4.1 用户在遵守法律及本协议的前提下可依本协议使用本软件及服务,用户不得实施如下行为:
+
+ 4.1.1 删除本软件及其他副本上一切关于版权的信息,以及修改、删除或避开本软件为保护知识产权而设置的技术措施。
+
+ 4.1.2 对本软件进行反向工程,如反汇编、反编译或者其他试图获得本软件的源代码。
+
+ 4.1.3 通过修改或伪造软件运行中的指令、数据,增加、删减、变动软件的功能或运行效果,或者将用于上述用途的软件、方法进行运营或向公众传播,无论这些行为是否为商业目的。
+
+ 4.1.4 使用本软件进行任何危害网络安全的行为,包括但不限于:使用未经许可的数据或进入未经许可的服务器/账户;未经允许进入公众网络或者他人操作系统并删除、修改、增加存储信息;未经许可企图探查、扫描、测试本软件的系统或网络的弱点或其它实施破坏网络安全的行为;企图干涉、破坏本软件系统或网站的正常运行,故意传播恶意程序或病毒以及其他破坏干扰正常网络信息服务的行为;伪造 TCP/IP 数据包名称或部分名称。
+
+ 4.1.6 未经良闯书面同意,用户对软件及其中的信息擅自实施包括但不限于下列行为:使用、出租、出借、复制、修改、链接、转载、汇编、发表、出版,建立镜像站点、擅自借助本软件发展与之有关的衍生产品、作品、服务、插件、外挂、兼容、互联等。
+
+ 4.1.7 利用本软件发表、传送、传播、储存违反您当地法律的内容。
+
+ 4.1.8 利用本软件发表、传送、传播、储存侵害他人知识产权、商业秘密等合法权利的内容。
+
+ 4.1.9 利用本软件批量发表、传送、传播广告信息及垃圾信息。
+
+ 4.1.10 其他以任何不合法的方式、为任何不合法的目的、或以任何与本协议许可使用不一致的方式使用本软件和良闯提供的其他服务。
+
+ 4.2 信息发布规范
+
+ 4.2.1 您使用本软件发表信息内容的(如有),您应保证,您拥有您所上传信息内容的知识产权或已获得合法授权,您使用本软件及服务的任何行为未侵犯任何第三方之合法权益。
+
+ 4.2.2 用户在使用本软件时不得利用本软件从事以下行为,包括但不限于:
+
+ 4.2.2.1 制作、复制、发布、传播、储存违反当地国家法律法规的内容。
+
+ 4.2.2.2 发布、传送、传播、储存侵害他人名誉权、肖像权、知识产权、商业秘密等合法权利的内容。
+
+ 4.2.2.3 虚构事实、隐瞒真相以误导、欺骗他人。
+
+ 4.2.2.4 发表、传送、传播广告信息及垃圾信息。
+
+ 4.2.2.5 从事其他违反当地法律法规的其他行为。
+
+ 4.2.3 未经良闯许可,您不得在本软件中进行任何诸如发布广告、销售商品的商业行为。
+
+ 4.3 用户理解并同意:
+
+ 4.3.1 良闯会对用户是否涉嫌违反上述使用规范做出认定,并根据认定结果中止、终止对您的使用许可或采取其他依本约定可采取的限制措施。
+
+ 4.3.2 对于用户使用许可软件时发布的涉嫌违法或涉嫌侵犯他人合法权利或违反本协议的信息,良闯会直接删除。
+
+ 4.3.3 对于用户违反上述使用规范的行为对第三方造成损害的,您需要以自己的名义独立承担法律责任,并应确保良闯免于因此产生损失或增加费用。
+
+ 4.3.4 若用户违反有关法律规定或协议约定,使良闯遭受损失,或受到第三方的索赔,或受到行政管理机关的处罚,用户应当赔偿良闯因此造成的损失和(或)发生的费用,包括合理的律师费、调查取证费用。
+
+ 五、第三方服务说明
+ 5.1 用户理解并同意,本软件系统可能包含由良闯的关联方或第三方提供的服务,良闯只是为了用户便利操作而在系统中提供相关功能模块,提供第三方服务的使用入口。
+
+ 5.2 不论第三方服务预置于本软件系统服务中,还是由用户自行开通或订购,用户均理解并同意,良闯不对第三方服务提供方或用户行为的合法性、有效性,以及第三方服务的合法性、准确性、有效性、安全性进行任何明示或默示的保证或担保。
+
+ 5.3 良闯并不监督第三方服务,不对其拥有任何控制权,也不对第三方服务提供任何形式的保证或担保,更不承担任何责任。
+
+ 5.4 用户与第三方服务提供方之间发生的任何争议、纠纷应由用户与该方按照第三方服务提供方的业务流程及业务规范自行协商解决,良闯不承担任何责任。
+
+ 六、隐私政策与个人信息保护
+ 6.1 良闯承诺按照隐私政策保护用户的隐私,具体请见:《Voitrans应用隐私政策》。
+
+ 七、违约责任
+ 7.1 良闯有权判断用户的行为是否符合本协议条款规定,如果认为用户违反有关法律法规或者本协议、相关规则的规定,根据用户违规情形的严重程度,良闯有权对用户采取删除违规信息、限制、中止、终止用户使用本软件服务、追究用户的法律责任以及其他良闯认为适合的处理措施。如果使良闯遭受任何损失(包括但不限于收到任何第三方的索赔或任何行政管理部门的处罚),用户应当承担全部责任。
+
+ 八、服务风险及免责声明
+ 8.1 良闯以目前的技术提供服务支持。良闯不保证本软件服务在操作上不会中断或没有错误,不保证会纠正本软件服务的所有缺陷,亦不保证本软件服务能满足用户的所有要求。由此产生的后果,良闯不承担任何责任。
+
+ 8.2 用户因第三方如通讯线路故障、技术问题、网络、电脑终端设备故障、系统不稳定性及其他各种不可抗力原因而遭受的一切损失,良闯不承担责任。
+
+ 8.3 良闯不保证通过本软件获得的信息内容(包括但不限于调用的第三方服务内容)的合法性、真实性、准确性、有效性,良闯不对用户基于查询、查看做出的任何行为的结果承担任何责任。
+
+ 8.4 本软件同大多数互联网软件一样,受包括但不限于用户原因、网络服务质量、社会环境等因素的差异影响,可能受到各种安全问题的侵扰,如他人利用用户的资料,造成现实生活中的骚扰;用户下载安装的其他软件或访问的其他网站中含有"特洛伊木马"等病毒,威胁到用户的终端设备信息和数据的安全,继而影响本软件的正常使用等等。用户应加强信息安全及使用者资料的保护意识,要注意加强密码保护,以免遭致损失和骚扰。
+
+ 8.5 因用户使用本软件或要求良闯提供特定服务时,本软件可能会调用第三方系统或第三方软件支持用户的使用或访问,使用或访问的结果由该第三方提供,用户除遵守本协议相关规则外,还应遵守第三方的协议、相关规则。用户须理解并同意,在使用第三方服务时,第三方可能会对用户数据进行读取,良闯不保证通过第三方系统或第三方软件支持实现的结果的安全性、准确性、有效性及其他不确定的风险,用户应审慎判断,由此若引发的任何争议及损害,良闯不承担任何责任。
+
+ 8.6 良闯特别提请用户注意,良闯为了保障公司业务发展和调整的自主权,良闯采取合理的方式通知用户后可随时修改或中断服务。
+
+ 8.7 除法律法规有明确规定外,良闯将尽最大努力确保软件及其所涉及的技术及信息安全、有效、准确、可靠,但受限于现有技术,用户理解良闯不能对此进行担保。
+
+ 8.8 由于用户因下述任一情况所引起或与此有关的人身伤害或附带的、间接的经济损害赔偿,包括但不限于利润损失、资料损失、业务中断的损害赔偿或其他商业损害赔偿或损失,需由用户自行承担:
+
+ (1)使用或未能使用许可软件。
+
+ (2)第三方未经许可的使用软件或更改用户的数据。
+
+ (3)用户使用软件进行的行为产生的费用及损失。
+
+ (4)用户对软件的误解。
+
+ (5)非因良闯的原因引起的与软件有关的其他损失。
+
+ 8.9 用户同意良闯有权基于司法、监管部门、监督机构的要求或自身业务原因,暂停、中断或终止向用户提供全部或者部分本服务。对此良闯不承担任何责任。
+
+ 8.10 用户理解并同意,良闯将会尽其商业上的合理努力保障用户在本软件及服务中的数据存储安全,但良闯不能提供完全保证,用户须理解,良闯不对服务中的数据的删除或储存或备份失败负责。
+
+ 8.11 在法律允许的最大范围内,开发者或供应商不对因使用应用程序而造成的任何直接、间接、偶然、特殊或后果性的损害负责。用户如有进一步的需要,请去往正规医院进行深度检测。
+
+ 九、知识产权声明
+ 9.1 良闯是本软件的知识产权权利人。本软件的一切著作权、商标权、专利权、商业秘密等知识产权,以及与本软件相关的所有信息内容(包括但不限于文字、图片、音频、视频、图表、界面设计、版面框架、有关数据或电子文档等)均受当地法律法规和相应的国际条约保护,良闯享有上述知识产权。
+
+ 9.2 未经良闯书面同意,用户不得为任何商业或非商业目的自行或许可任何第三方实施、利用、转让上述知识产权,良闯保留追究上述行为法律责任的权利。
+
+ 十、协议变更
+ 10.1 良闯有权在必要时修改本协议条款,协议条款一旦发生变动,将会在相关页面上公布修改后的协议条款。如果不同意所改动的内容,用户应主动取消此项服务。如果用户继续使用服务,则视为接受协议条款的变动。
+
+ 10.2 良闯有权按需要修改或变更所提供的收费服务、收费标准、收费方式、服务费及服务条款。良闯在提供服务时,可能现在或日后对部分服务的用户开始收取一定的费用如用户拒绝支付该等费用,则不能在收费开始后继续使用相关的服务。
+
+
\ No newline at end of file
diff --git a/doc/yhxy_en.html b/doc/yhxy_en.html
new file mode 100644
index 000000000..ad7ceffe5
--- /dev/null
+++ b/doc/yhxy_en.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+ Voitrans Application User Protocol
+
+
+
+
+
+
+
Voitrans Application User Protocol
+
+
These Terms and Conditions of Use tell you how to access using the Voitrans Application and online services (the "Services"). Saitong Industries Inc. (hereinafter referred to as "Saitong") hereby reminds users to carefully read and fully understand this User Agreement (hereinafter referred to as the "Agreement"). Users should carefully read and fully understand the terms of this Agreement. Please read carefully and choose to accept or not accept this Agreement. Your use of Voitrans APP (hereinafter referred to as "the APP" or" the Software ") will be deemed as acceptance of this Agreement and you agree to be bound by the terms of this Agreement. If you do not agree to this Agreement, do not use the APP.
+
Saitong reserves the right to amend this Agreement, and the updated terms of the Agreement will be published in this APP, effective from the date of publication.
+
+
1. General rules
+
1.1 This APP is the software provided by Saitong for connecting the headset products released by Saitong and its partner companies. The ownership and operation rights of the software and related services are all owned by Saitong.
+
1.2 This Agreement is an agreement between you (hereinafter referred to as the "User") and the company and its partners and operating partners (hereinafter referred to as the "Partners") regarding the user's use of the APP and related services.
+
1.3 The Software and services include:
+
1.3.1 The software provided provides Voitrans users with Voitrans connection and binding, function setting management and other software services, subject to the actual software services provided by the APP.
+
1.3.2 Updates, upgrades and other services of the software.
+
+
2. Scope of software license
+
2.1 We grant the user a personal, non-transferable, non-sublicensable, and non-exclusive license to the Software.
+
2.2 Users can install, use, display and run the software on a single mobile terminal device for non-commercial purposes. However, the user shall not install, use or run the software for commercial operation purposes, copy, change, modify, connect or run the software or the data released into the memory of any terminal device during the operation of the software or the interaction data between the client and the server during the operation of the software, or create any derivative works. This includes, but is not limited to, the use of plug-ins, plug-ins, or unauthorized third-party tools/services to access the Software and related systems. For commercial sale, reproduction and distribution, such as software pre-installation and bundling, written authorization and permission must be obtained from the idea.
+
2.3 The User shall not install the Software on other terminal devices without the express permission of the Creator, including but not limited to TVS, digital set-top boxes, game consoles and other devices.
+
2.4 Except as expressly authorized by this Agreement, no other rights are granted to the User, and the User shall obtain the written consent of the User to use other rights.
+
+
3. Software upgrade
+
3.1 The user must select the software version suitable for the setup of the installed terminal. Otherwise, software problems, device problems or damage caused by any software version not suitable for the device type shall be solely the responsibility of the user.
+
3.2 In order to improve the user experience and improve the service content, Saitong has the right to provide you with replacement, modification and upgrade versions of the software from time to time. The "Upgrade prompt" function is enabled for users by default. Depending on the different software versions used by users, Saitong provides users with the option to activate this function. After the release of a new version of the software, Saitong does not guarantee the continued availability of the old version of the software.
+
+
4. Usage specification
+
4.1 Users may use the Software and Services in accordance with this Agreement under the premise of abiding by the law and this Agreement, and users shall not perform the following acts:
+
4.1.1 Delete all copyright information on the Software and other copies, and modify, delete or circumvent the technical measures set up by the Software to protect intellectual property rights.
+
4.1.2 Reverse engineering the Software, such as disassembly, decompilation, or other attempts to obtain the source code of the Software.
+
4.1.3 By modifying or falsifying instructions and data in the operation of the software, increasing, deleting or changing the function or operation effect of the software, or software or methods to be used for the above purposes to operate or disseminate to the public, regardless of whether these acts are for commercial purposes.
+
4.1.4 Use the software for any behavior that jeopardizes network security, including but not limited to: using unauthorized data or accessing unauthorized servers/accounts; Access public networks or other operating systems without permission and delete, modify or add stored information; Unauthorized attempts to probe, scan, or test the weaknesses of the system or network of the software or other acts that undermine network security; Attempts to interfere with or destroy the normal operation of the software system or website, intentionally spread malicious programs or viruses, and other acts that disrupt normal network information services; Forge TCP/IP packet names or partial names.
+
4.1.6 Without the written consent of the Company, the user arbitrarily performs the following acts on the software and the information in it, including but not limited to: using, renting, lending, copying, modifying, linking, reprinting, compiling, publishing, publishing, establishing mirror sites, developing derivative products, works, services, plug-ins, plug-ins, compatibility, interconnection, etc., with the help of the Software.
+
4.1.7 Use the Software to publish, transmit, distribute, and store content that violates your local laws.
+
4.1.8 Use the software to publish, transmit, disseminate, and store content that infringes others' intellectual property rights, trade secrets, and other legitimate rights.
+
4.1.9 Use this software to publish, transmit and disseminate advertising information and junk information in bulk.
+
4.1.10 Use the Software and other Services in any unlawful manner, for any unlawful purpose, or in any manner inconsistent with the licensed use of this Agreement.
+
4.2 Information release specification
+
4.2.1 If you use the software to publish information content (if any), you should guarantee that you own the intellectual property rights of the information content uploaded by you or have obtained legal authorization, and any behavior of you using the software and services does not infringe on the legitimate rights and interests of any third party.
+
4.2.2 When using the Software, the user shall not use the Software to engage in the following activities, including but not limited to:
+
4.2.2.1 Create, copy, publish, disseminate, and store content that violates local national laws and regulations.
+
4.2.2.2 Publish, transmit, disseminate, and store content that infringes others' legal rights such as reputation, portrait, intellectual property, and trade secrets.
+
4.2.2.3 Fabricate facts, conceal the truth in order to mislead or deceive others.
+
4.2.2.4 Publish, transmit and disseminate advertising information and junk information.
+
4.2.2.5 Engaging in other acts in violation of local laws and regulations.
+
4.2.3 You may not carry out any commercial activities such as advertising and selling goods in the Software without the permission of the Company.
+
4.3 The User understands and agrees that:
+
4.3.1 Saitong will determine whether the user is suspected of violating the above specifications of use, and according to the results of the determination, suspend or terminate your license to use or take other restrictive measures that can be taken in accordance with this agreement.
+
4.3.2 For the user's use of the licensed software published suspected of illegal or suspected infringement of the legal rights of others or violation of this Agreement, the information will be directly deleted.
+
4.3.3 If the user's violation of the above rules of use causes damage to third parties, you need to bear legal responsibility independently in your own name, and you should ensure that the idea is free from losses or increased costs.
+
4.3.4 If the user violates the relevant legal provisions or agreements, causing the Saitong to suffer losses, or is subject to third-party claims, or is punished by the administrative authority, the user shall compensate the loss and/or expenses caused by the Saitong, including reasonable attorney fees, investigation and evidence collection costs.
+
+
5. Third-party service description
+
5.1 The user understands and agrees that the software system may contain services provided by affiliates of the Company or third parties, and that the Company only provides relevant functional modules in the system for the convenience of users and provides access to third-party services.
+
5.2 Whether the third-party services are preset in the software system services, or are opened or ordered by users themselves, users understand and agree that Saitong does not make any express or implied guarantee or guarantee of the legality and effectiveness of the third-party service providers or users, as well as the legality, accuracy, effectiveness and security of the third-party services.
+
5.3 The company does not supervise, control or provide any warranty or guarantee of any kind for, or assume any liability for, third party services.
+
5.4 Any dispute or dispute between the user and the third party service provider shall be resolved by the User and the third party in accordance with the business process and business norms of the third party service provider, and the company shall not assume any responsibility.
+
+
6. Privacy Policy and Protection of Personal Information
+
6.1 Saitong is committed to protecting the privacy of users in accordance with the privacy policy, please see: Voitrans applies Privacy Policy.
+
+
7. Liability for breach
+
7.1 Saitong has the right to judge whether the user's behavior complies with the provisions of this Agreement. If it is believed that the User has violated relevant laws and regulations or the provisions of this Agreement and relevant rules, according to the severity of the user's violation, Saitong has the right to delete the illegal information, restrict, suspend, terminate the user's use of the Software service, pursue the user's legal liability and take other measures that Saitong deems appropriate. If we suffer any loss (including but not limited to receiving any third party claims or penalties from any administrative department), the User shall be fully liable.
+
+
8. Service Risks and Disclaimers
+
8.1 We want to provide service support with current technology. Saitong does not warrant that the Software Service will operate without interruption or error, that all defects of the Software Service will be corrected, or that the Software Service will meet all requirements of users. The resulting consequences, the Saitong does not assume any responsibility.
+
8.2 All losses suffered by the user due to third parties such as communication line failure, technical problems, network, computer terminal equipment failure, system instability and other force majeure causes shall not be held liable.
+
8.3 Saitong does not guarantee the legality, authenticity, accuracy and effectiveness of the information content obtained through the software (including but not limited to the third party service content), and Saitong does not assume any responsibility for the results of any behavior made by users based on query and viewing.
+
8.4 The software, like most Internet software, is affected by differences in factors including but not limited to user reasons, network service quality, social environment and other factors, and may be subjected to various security problems, such as others using user information, resulting in harassment in real life; Other software downloaded and installed by users or other websites visited by users contain viruses such as "Trojan horses", which threaten the security of users' terminal equipment information and data, and then affect the normal use of the software. Users should strengthen the awareness of information security and user data protection, and pay attention to strengthen password protection to avoid loss and harassment.
+
8.5 When users use the Software or require Saitong to provide specific services, the Software may call third-party systems or third-party software to support users' use or access, and the results of use or access are provided by the third party. In addition to complying with the relevant rules of this Agreement, users shall also comply with the agreements and relevant rules of the third party. Users must understand and agree that, when using third-party services, third parties may read user data, and Saitong does not guarantee the safety, accuracy, effectiveness and other uncertain risks of the results achieved through third-party systems or third-party software support, users should exercise careful judgment, and Saitong does not assume any responsibility for any disputes and damages caused by this.
+
8.6 In order to guarantee the autonomy of the company's business development and adjustment, the company may modify or interrupt the service at any time after taking a reasonable way to notify the user.
+
8.7 Except as expressly provided by laws and regulations, Saitong will make its best efforts to ensure that the software and the technology and information involved are safe, effective, accurate and reliable, but limited by the existing technology, the user understands that Saitong cannot guarantee this.
+
8.8 Compensation for personal injury or incidental and indirect economic damage caused by or in connection with any of the following circumstances, including but not limited to loss of profits, loss of data, damages for business interruption or other business damages or losses, shall be borne by the User:
+
1) Use or failure to use the licensed software.
+
2) Unauthorized use of the software or alteration of user data by third parties.
+
3) Expenses and losses incurred by the user's actions with the software.
+
4) User misconceptions about the software.
+
5) Any other loss related to the software that is not attributable to Saitong causes.
+
8.9 The User agrees that the Company has the right to suspend, interrupt or terminate all or part of the Service to the user based on the requirements of the judicial, regulatory and supervisory authorities or its own business reasons. Saitong accepts no responsibility for this.
+
8.10 The User understands and agrees that the Company will use its commercially reasonable efforts to ensure the security of data storage in the Software and Services, but the company cannot provide a complete guarantee, and the User understands that the Company is not responsible for the deletion or storage or backup failure of data in the Service.
+
8.11 To the fullest extent permitted by law, the Developer or Supplier shall not be liable for any direct, indirect, incidental, special or consequential damages arising from the use of the Application. If the user has further needs, please go to the regular hospital for in-depth testing.
+
+
9. Intellectual property statement
+
9.1 Saitong is the intellectual property right holder of this software. All Copyrights, trademarks, patents, trade secrets and other intellectual property rights of the software, as well as all information content related to the software (including but not limited to text, pictures, audio, video, graphics, interface design, layout frame, relevant data or electronic documents, etc.) are protected by local laws and regulations and corresponding international treaties.
+
9.2 Without the written consent of the Company, the User shall not implement, utilize or transfer the above intellectual property rights for any commercial or non-commercial purpose, or permit any third party, and the Company reserves the right to pursue the legal responsibility for the above acts.
+
+
10. Protocol change
+
10.1 Saitong has the right to modify the terms of this Agreement when necessary. Once the terms of the Agreement are changed, the revised terms of the Agreement will be published on the relevant page. If you do not agree with the changed content, the user should take the initiative to cancel this service. If the User continues to use the Services, it is deemed to accept the changes in the terms of the Agreement.
+
10.2 Saitong reserves the right to modify or change the paid services, charging standards, charging methods, service fees and terms of service provided as necessary. When providing services, we may charge certain fees to users of some services now or in the future. If users refuse to pay such fees, they cannot continue to use the relevant services after the start of the fees.
+
+
+
diff --git a/doc/ysxy.html b/doc/ysxy.html
new file mode 100644
index 000000000..32abdf6ad
--- /dev/null
+++ b/doc/ysxy.html
@@ -0,0 +1,397 @@
+
+
+
+
+
+ Voitrans隐私政策
+
+
+
+
+ Voitrans 隐私政策
+ 更新日期:2025年5月27日
+ 生效日期:2025年5月27日
+ 深圳市良闯时代科技有限公司(下称“我们”),是VoitransAPP(具体范围及定义见下文)的开发者和运营者。我们深知个人信息对您的重要性,您的信任对我们非常重要,我们将按照法律法规的规定并参照行业最佳实践保护您的个人信息及隐私安全。我们制定本"隐私政策"并特别提示:希望您在使用Voitrans及相关服务前仔细阅读并理解本隐私政策,以便做出适当的选择。
+
+ 本隐私政策将帮助您了解 :
+ 我们会遵循隐私政策收集、使用您的信息,但不会仅因您同意本隐私政策而采用强制捆绑的方式收集个人信息。
+ 当您使用或开启相关功能或使用服务时,为实现功能、服务所必需,我们会收集、使用相关信息。除非是为实现业务功能或根据法律法规要求所必需的必要信息,您均可以拒绝提供且不影响其他功能或服务。我们将在隐私政策中逐项说明所要收集的信息。
+
+ 如果您未登录账号,我们会通过设备对应的标识符信息来保障信息推送的基本功能。如果您登录了账号,我们会根据账号信息实现信息推送。
+ 精确地理位置、摄像头(相机)、相册(存储)等权限,均不会默认开启,只有经过您的明示授权才会在为实现特定功能或服务时使用,您也可以撤回授权。特别需要指出的是,即使经过您的授权,我们获得了这些敏感权限,也不会在相关功能或服务不需要时而收集您的信息。
+
+ 下文将帮您详细了解我们如何收集、使用、存储、转移(如适用)与保护个人信息;帮您了解查阅、复制、更正、删除、撤回授权个人信息的方式。本政策与您使用我们的服务关系密切,我们建议您仔细阅读并理解本政策全部内容,作出您认为适当的选择,有关您个人信息权益的条款重要内容我们已用加粗形式提示
+ , 请特别关注。
+ 1.我们如何收集和使用个人信息
+ 2 .数据使用过程中涉及的合作方以及转移、公开个人信息
+ 3 .我们如何存储个人信息
+ 4 .我们如何保护个人信息的安全
+ 5 .我们如何管理您的个人信息
+ 6 .未成年人条款
+ 7 .隐私政策的修订和通知
+ 8 .联系我们
+ 1. 我们如何收集和使用个人信息
+ 我们会按照如下方式收集您在访问Voitrans平台或使用Voitrans平台提供的产品及服务时主动提供的,以及通过自动化手段收集您在使用功能或接受服务过程中产生的信息,收集和使用这些信息的目的和用途详见下述功能描述部分。
+
+ 我们不会通过共享、转让、搜集公开信息等其他渠道间接获取有关您的个人信息。如将来发生需通过其他渠道间接获取您的个人信息时,我们只获取实现产品或服务的业务功能所必需的最少数量的信息,且在收集和使用之前明确告知您并征求您的明示同意。同时,我们将在收集信息前确保信息来源的合法性,了解个人信息提供方已获得的个人信息处理的授权同意范围,包括使用目的、授权同意转让、共享、公开披露等。若我们开展业务需进行的个人信息处理活动超出该授权同意范围,会在获取个人信息后的合理期限内或处理个人信息前,征得您的明示同意。
+
+ 我们收集和使用您的信息的目的和用途详情如下:
+ 1.1 注册、登录Voitrans
+ 当您注册、登录Voitrans时,您可以通过手机号,电子邮箱,以及微信授权方式,创建“Voitrans账号”,并且完善相关的网络身份识别信息(账号、密码、头像、昵称),我们会收集您的手机号,并且获取短信验证码,以便我们对您的账户进行身份核验。
+
+ 收集您的上述信息是为了帮助您完成手机号注册和登陆,保证您的账户权益。此类信息属于使用手机号注册和登录的必要信息,如您不提供将无法完成注册/登录操作。
+ 1.2 录音
+ 1.2.1 必要信息范围
+ 在您联网使用录音功能服务时,我们将收集您的语音信息与/或您提供的其他录音内容 。此类信息属于录音功能服务的必要信息 。请您知悉,在未联网的环境下或您未主动上传的情况下,前述信息仅会存储在设备端
+ ,我们不会收集并上传云端服务器存储。
+ 1.2.2 调用的权限范围
+ 在您使用录音功能服务时,我们需要调用您的麦克风权限以获取您的语音信息,此为该功能服务所必须的系统权限,若您拒绝,您将无法使用录音功能 。
+ 在您使用录音存储功能服务时,我们需要调用您的存储权限以存储您的语音信息,此为该功能服务所必须的系统权限,若您拒绝,您将无法使用录音功能 。
+ 1.3 语音转写
+ 1.3.1 必要信息范围
+ 在您使用语音转文字功能服务时,我们将收集您的语音信息与/或您提供的其他录音内容以在云端服务器进行语音转写。同时,我们会收集转写后的文本信息
+ ,判断您的需求并做出实时处理反馈给您,以方便您了解进行了哪些语音交互。此类信息属于语音转文字功能的必要信息,如您不能提供,您将无法使用语音转文字功能。
+ 1.3.2 调用的权限范围
+ 在您使用语音转文字功能服务时,我们需要调用您的麦克风权限以获取您的语音信息,此为该功能服务所必须的系统权限,若您拒绝,您将无法使用语音转文字功能。
+ 1.4 管理录音及转写文稿
+ 1.4.1 必要信息范围
+ 当您在登录状态下使用录音转文字功能,并对以及转写文稿进行云端存储、编辑、管理时,我们将收集您的录音以及编辑后的转写文稿信息,如文本信息、语音信息,同时需获取您的网络状态,在您允许我们开启存储与网络权限后,我们可以获取到您的录音以及编辑后的转写文稿信息
+ ,这是为了方便您随时导出、存储、分享您的录音以及编辑后的转写文稿。此类信息属于云端存储、编辑与管理录音及转写文稿必须的信息,如您拒绝提供,我们将无法为您提供云端存储、编辑、管理、分享、下载等服务,但不影响您使用本软件的其他功能。
+
+ 1.4.2 调用的权限范围
+ 在您修改录音文件时,我们需要调用您的存储权限以存储您的文本信息 ,此为该功能服务所必须的系统权限,若您拒绝,您修改后的内容将不会存储至本地端。
+ 1.5 语音翻译
+ 1.5.1 必要信息、非必要信息范围
+ 若您使用语音翻译服务,我们会申请您设备系统的麦克风权限、存储权限 。在经您授权同意后,我们会收集您的语音信息
+ ,以便/以用于获取说出的语音来进行翻译。此类信息属于语音转文字功能的必要信息,如您不能提供,您将无法使用语音翻译功能。
+ 1.5.2 调用的权限范围
+ 在您使用语音翻译和同声传译功能服务时我们需要调用您的麦克风权限以获取您的语音信息 ,此为该功能服务所必须的系统权限,若您拒绝,您将无法使用语音翻译和同声传译功能。
+ 同时,我们需要调用您的存储权限以存储您的语音信息和文本信息,此为该功能服务所必须的系统权限,若您拒绝,您将无法使用语音翻译功能。
+ 1.7 设备权限
+ 1.7.1 位置权限
+ 在使用智能翻译功能时,我们将收集您的定位信息以获得您的精确地理位置信息,用于实现智能翻译中的自动检测源语言功能,我们将根据您的定位信息自动匹配出您使用的语言,向您提供智能翻译服务。精确地理位置信息是个人敏感信息,若您拒绝开启GPS权限,我们将无法为您自动匹配翻译语言,需要您手动进行语言的选择。
+
+ 1.7.2 蓝牙权限
+ 在您连接智能硬件时,我们需要获取您的蓝牙权限来搜索设备,传输配网信息,实现绑定设备目的。
+ 1.7.3 通讯录权限
+ 在您使用拨打电话功能时,我们需要获取您的通讯录权限获取信息,实现您给对应用户拨打电话的需求。
+ 1.7.4 短信权限
+ 在您使用智能助手时,我们需要获取您的短信权限,实现您给对应用户发送短信的需求。
+ 1.7.5 系统通知权限
+ 在向您推送 PUSH 消息时,我们需要获取您的通知权限。这是为了能在您的设备通知栏显示 APP 相关的通知内容,包括但不限于 APP
+ 的新功能上线通知、您关注内容的更新信息、优惠活动提醒等。若您拒绝开启通知权限,您将无法及时收到这些重要信息,可能会错过 APP 为您准备的精彩内容和便利服务。
+ 1.7.7 存储权限(较少情况)
+ 在某些特殊的 PUSH
+ 消息场景下,若消息需要将一些临时数据存储在本地设备上,我们需要获取您的存储权限。比如推送包含新功能配置文件的消息,需要存储权限来保存这些文件到本地,以便实现新功能在您设备上的应用。若您拒绝此权限,相关特殊功能可能无法正常使用。
+
+ 1.7.8 相机权限
+ 当您使用设置头像或意见反馈上传图片功能时,我们会申请相机权限。在您明确授权后,相机将被用于拍摄照片以满足对应功能需求,且仅在相关功能运行期间收集和使用相机所产生的数据,功能结束后不再进行数据收集。若您拒绝授权相机权限,将无法使用涉及相机的相关功能,但不影响其他功能的正常使用。
+
+ 1.7.8.1 相机权限的使用场景
+ 在Voitrans App中,我们有两个主要功能,需要使用到您的相机权限:
+ 更改个人头像:当您希望更改您的个人头像时,我们需要调用相机权限以便您能够拍摄新的照片或从相册中选择一张图片作为头像。
+ 意见反馈功能:在意见反馈功能中,如果您希望通过上传图片来提供更详细的反馈信息,我们需要相机权限来允许您拍摄照片或从相册中选择图片上传。
+ 1.7.8.2 用户控制
+ 您可以随时在设备的设置中开启或关闭相机权限。如果您选择关闭相机权限,您将无法使用上述功能,但不影响您使用Voitrans App的其他功能。
+ 1.7.8.3 数据的存储和处理
+ 照片存储:当您使用相机权限拍摄照片或选择图片时,这些图片仅在您的设备上存储,除非您主动选择上传。
+ 数据处理:如果图片被上传到我们的服务器,我们将按照隐私政策中的规定处理这些数据,包括但不限于存储、备份和删除机制。
+ 1.7.8.4 数据的共享和转让
+ 我们不会与任何第三方共享或转让通过相机权限收集的图片数据,除非是为了提供服务所必需,或者您明确同意。
+ 1.7.8.5 用户撤销权限后的影响
+ 如果您撤销相机权限,您将无法使用更改个人头像和意见反馈中上传图片的功能。如果您希望重新授权,可以在设备的设置中重新开启相机权限。
+ 1.7.8.6 相机权限的安全性
+ 我们承诺采取行业标准的安全措施来保护您通过相机权限提供的数据,包括但不限于数据加密传输和安全存储。
+ 1.8 用户反馈与服务
+ 1.8.1客服及问题
+ 为便于与您联系、尽快帮助您解决问题或记录相关问题的处理方案及结果,我们可能会保存您与我们的通信/通话记录及相关内容(包括账号信息、反馈信息、预约信息、您为了证明相关事实提供的其他信息,或您留下的联系方式信息),如果您针对具体预约进行咨询、投诉或提供建议的,我们会使用您的账号信息和预约信息。
+
+ 1.8.2 投诉
+ 当您投诉他人或被他人投诉时,为了保护您及他人的合法权益,我们可能会将您的账号/身份信息、联系方式、投诉相关内容提供给消费者权益保护部门及监管机关,以便及时解决投诉纠纷,但法律法规明确禁止提供的除外。
+ 如您通过我们产品或服务使用良闯时代关联方、合作方提供的服务并进行投诉时,为便于服务提供方(如良闯时代关联方、合作方)能与您有效联系并及时处理您的投诉,您同意我们获取您投诉时所提供的个人信息,并同步给对应服务提供方。
+ 1.9 运营与安全运行/保障
+ 1.9.1 运营与安全保障
+ 我们致力于为您提供安全、可信的产品与使用环境,提供优质而可靠的服务与信息是我们的核心目标。为了维护Voitrans 平台的正常运行,保护您或其他用户或公众的合法利益免受损失,我们会收集用于维护产品或服务安全稳定运行的必要信息。
+
+ 1.9.2 设备信息与日志信息
+ a. 为了保障软件与服务的安全运行、运营的质量及效率,我们会收集您的硬件型号、操作系统版本号、设备标识符(Android如 IMEl 、 Android_ID 、 OAID 、 IMSI 、 ICCID 、 GAID 、
+ MEID 、硬件序列号, iOS 如 IDFV 、 IDFA: 不同的标识符在有效期,是否可由用户重置以及获取方式方面会有所不同) 、网络设备硬件地址 (MAC 地址 ) 、 IP 地址、 WLAN 接入点 ( 如 SSID
+ , BSSID) 、蓝牙 (Bluetooth) 、基站、软件版本号、网络接入方式、类型、状态、网络质量数据、操作、使用、服务日志、设备传感器数据。
+ b. 为了预防恶意程序、保障运营质量及效率,我们会收集安装的应用信息或正在运行的进程信息、应用程序的总体运行、使用情况与频率。应用崩溃情况、总体安装使用情况、性能数据、应用来源。
+ c. 为了分析应用新增、激活、留存、性能等统计性指标,我们可能会调用剪切板对相关统计信息进行归因分析,请您放心,我们不会收集您的隐私信息。
+ d. 我们可能使用您的账户信息、设备信息、服务日志信息以及我们关联方、合作方在获得您授权或依法可以提供的信息,用于判断账户安全、进行身份验证、识别违法违规情况、检测及防范安全事件,并依法采取必要的记录、分析、处置措施。
+ 1.10 收集、使用个人信息目的变更
+ 请您了解,随着我们业务的发展,可能会对 Voitrans
+ 的功能和提供的服务有所调整变化。原则上,当新功能或服务与我们当前提供的功能或服务相关时,收集与使用的个人信息将与原处理目的具有直接或合理关联。在与原处理目的无直接或合理关联的场景下,我们收集、使用您的个人信息,会再次按照法律法规及国家标准的要求以页面提示、交互流程、协议确认方式另行向您进行告知说明,并征得您的同意。
+
+ 1.11 征得授权同意的例外
+ 请您理解,在下列情形中,根据法律法规及相关国家标准,我们收集和使用您的个人信息不必事先征得您的授权同意:
+ a. 与我们履行法律法规规定的义务相关的;
+ b. 与国家安全、国防安全直接相关的;
+ c. 与公共安全、公共卫生、重大公共利益直接相关的;
+ d. 与刑事侦查、起诉、审判和判决执行等直接相关的;
+ e. 出于维护您或他人的生命、财产等重大合法权益但又很难得到本人授权同意的;
+ f. 您自行向社会公众公开的个人信息;
+ g. 根据个人信息主体要求签订和履行合同所必需的;
+ h. 从合法公开披露的信息中收集的您的个人信息的,如合法的新闻报道、政府信息公开等渠道;
+ i. 用于维护软件及相关服务的安全稳定运行所必需的,例如发现、处置软件及相关服务的故障;
+ j. 为开展合法的新闻报道所必需的;
+ k. 为学术研究机构,基于公共利益开展统计或学术研究所必要,且对外提供学术研究或描述的结果时,对结果中所包含的个人信息进行去标识化处理的;
+ l. 法律法规规定的其他情形。
+ 特别提示您注意,如信息无法单独或结合其他信息识别到您的个人身份,其不属于法律意义上您的个人信息 ;
+ 当您的信息可以单独或结合其他信息识别到您的个人身份时或我们将无法与任何特定个人信息建立联系的数据与其他您的个人信息结合使用时,这些信息在结合使用期间,将作为您的个人信息按照本隐私政策处理与保护。
+ 1.12 人机交互对话
+ 在您使用我们的人机交互服务时(包括智能助手,等),我们会收集您主动输入的内容(包括文本、图片、音视频等),并基于这些信息为您提供相应的服务。当您使用语音输入时,我们将收集您的音频数据,进行语音转写,并基于转写后的文本生成对话内容,以提供更好的互动体验。
+
+ 如果您输入的信息包含他人个人数据,请确保已获得他人的合法授权,避免不当泄露他人隐私。
+ 为了更好地理解您的需求和语境,我们会对您提供的信息进行分析和处理,以便输出更具相关性的内容。在确保信息经过加密、安全处理且去标识化的前提下,我们可能会将所收集的数据和生成的回复用于模型训练,持续优化服务质量。
+ 1.13 数据埋点统计及上报
+ 我们在 APP 内设置了页面埋点,目的是为了统计 APP 的使用情况,以便更好地优化产品性能、修复漏洞以及提升您的使用体验。当您访问 APP
+ 页面时,页面埋点会收集您的页面浏览记录、点击行为、停留时长等信息,但此类信息的收集频率遵循合理必要原则,通常情况下,同一页面在您单次访问期间仅收集一次,不会对您造成频繁的数据收集干扰。仅在您进行交互操作(如点击按钮、切换页面板块等)触发新的业务需求时,才会根据实际需要再次收集与之相关的少量信息。
+
+ a. 我们收集的信息将主要用于为您提供、优化和改进本 APP 的服务,依据您的反馈修复程序问题等。
+ b. 部分信息可能会用于数据分析和研究,以了解用户群体的使用习惯和偏好趋势,从而推动本 APP 的持续创新发展。
+ 1.14 模型服务与数据处理
+ 1.14.1 模型服务基础
+ Voitrans 接入了目前国内比较优秀的的人工智能大模型服务,如豆包, DeepSeek,未来会持续优化模型的接入能力,拓展更多的模型,以为用户提供更好的服务。
+ 1.14.2 数据收集与共享
+ 在您使用第三方模型期间,为实现高效的聊天互动、回答问题、生成图像等服务,我们会收集您的输入内容并共享给相关服务提供方,以便根据您的内容提供文生文或文生图的人机交互服务。
+ 1.14.3 模型服务说明
+ 在您使用第三方模型期间,如遇到问题,可及时于我们取得联系,我们将持续优化模型的接入。
+ 1.15 应用自启动与关联启动说明
+ 1.15.1 自启动用途说明
+ Voitrans app 需要使用自启动能力以确保与外部蓝牙设备(如ble蓝牙耳机)保持稳定连接,这对于提供持续的语音交互和设备控制服务是必要的。自启动功能仅用于维持蓝牙连接服务,不会进行其他后台操作。
+ 1.15.2 自启动场景说明
+
+ - 蓝牙设备连接:当配对的蓝牙设备在范围内被激活时,应用需要自动启动以建立连接。
+ - 设备通信维护:为确保与蓝牙设备的实时通信质量,需要保持后台服务运行。
+ - 语音交互响应:当用户通过蓝牙设备发起语音指令时,应用需要及时响应。
+ - 设备状态监控:实时监控蓝牙设备的连接状态,确保服务的可靠性。
+
+ 2. 数据使用过程中涉及的合作方以及转移、公开个人信息
+ 2.1数据使用过程中涉及的合作方
+ 2.1.1原则
+ a.合法原则 :与合作方合作过程中涉及数据使用活动的,必须具有合法目的、符合法定的合法性基础。如果合作方使用信息不再符合合法原则,则其不应再使用您的个人信息,或在获得相应合法性基础后再行使用。
+ b.正当与最小必要原则 :数据使用必须具有正当目的,且应以达成目的必要为限。
+ c.安全审慎原则 :我们将审慎评估合作方使用数据的目的,对这些合作方的安全保障能力进行综合评估,并要求其遵循合作法律协议。我们会对合作方获取信息的软件工具开发包(SDK)、应用程序接口 (API)
+ 进行严格的安全监测,以保护数据安全。
+ 2.1.2委托处理
+ 对于委托处理个人信息的场景,我们会与受托合作方根据法律规定签署相关处理协议,并对其个人信息使用活动进行监督。
+ 2.1.3共同处理
+ 对于共同处理个人信息的场景,我们会与合作方根据法律规定签署相关协议并约定各自的权利和义务,确保在使用相关个人信息的过程中遵守法律的相关规定、保护数据安全。
+ 2.1.4合作方的范围
+ 若具体功能和场景中涉及由我们的关联方、第三方提供服务,则合作方范围包括我们的关联方与第三方。
+ 2.1.5实现功能或服务的数据使用
+ a.地理位置服务 : 当您使用地理位置相关服务时,位置服务提供商 ( 高德地图 ) 可能会通过 SDK 或相关技术使用您的 GPS
+ 信息、设备信息以便可以向您返回位置结果。拒绝上述使用仅会影响地理位置服务功能,但不影响其他功能的正常使用。
+ b.客户服务 : 为及时处理您的投诉、建议以及其他诉求,客户服务提供商需要使用您的账号及所涉及事件的相关信息,以及时了解、处理和响应相关问题。
+ 2.1.6实现安全与分析统计的数据使用
+ a.保障使用安全 : 我们非常重视账号、服务及内容安全,为保障您和其他用户的账号与财产安全,使您和我们的正当合法权益免受不法侵害,我们的合作方可能会使用必要的设备、账号及日志信息。
+ b.分析产品情况 : 为分析我们产品的使用和表现情况,我们的合作方可能需要使用该产品使用情况(崩溃、闪退 ) 、设备标识信息、应用总体安装使用情况等信息。
+ c. 为提升相关领域的科研能力,促进科技发展水平,我们在确保数据安全与目的正当的前提下,可能会与合作的科研院所、高校等机构使用去标识化或匿名化的数据。
+ 2.2 转移
+ 随着我们业务的持续发展,我们将有可能进行合并、收购、资产转让,您的个人信息有可能因此而被转移。在发生前述变更时,我们将按照法律法规及不低于本隐私政策所载明的安全标准要求继受方继续履行个人信息处理者的义务,若继受方变更原先的处理目的、处理方式的,我们将要求继受方重新征得您的授权同意。
+
+ 2.3 公开
+ a. 我们不会公开您的信息,除非遵循国家法律法规规定或者获得您的同意。我们公开您的个人信息会采用符合行业内标准的安全保护措施。
+ b.对违规 账号 、欺诈行为进行处罚公告时,我们会披露相关账号的信息。
+ 2.4 依法豁免征得同意提供、公开的个人信息
+ 请您理解,在下列情形中,根据法律法规及国家标准,我们向合作方提供、公开您的个人信息无需征得您的授权同意 :
+ a. 为订立、履行您作为一方当事人的合同所必需,或者按照依法制定的劳动规章制度和依法签订的集体合同实施人力资源管理所必需;
+ b.为履行法定职责或者法定义务所必需 ;
+ c.与国家安全、国防安全直接相关的 ;
+ d.与刑事侦查、起诉、审判和判决执行等直接相关的 ;
+ e.为应对突发公共卫生事件,或者紧急情况下为保护自然人的生命健康和财产安全所必需 ;
+ f. 出于维护您或其他个人的生命、财产等重大合法权益但又很难得到您本人授权同意的;
+ g.为公共利益实施新闻报道、舆论监督等行为 , 在合理的范围内处理个人信息 ;
+ h.依照相关法律规定处理您自行公开或者其他已经合法公开的个人信息 ;
+ i.从合法公开披露的信息中收集个人信息的,如合法的新闻报道、政府信息公开等渠道;
+ j.法律、行政法规规定的其他情形。
+ 2.5 支付
+ 您授权我们通过指定的付款方式向您收取费用。当您使用Voitrans
+ app及相关服务涉及交易时,系统将会生成您的交易订单,您需要填写购买人姓名、订单相关手机号码,订单会自动生成您所购买的商品或服务信息、您应支付的货款金额及您选择的支付方式等支付信息,您可能在订单上补充告知相关方的其他信息以方便交易的实现。
+
+ 当您使用涉及支付的功能时:支付通过合作的第三方支付机构(微信支付苹果支付等)所提供的支付服务完成,第三方支付服务有可能使用生物识别信息用于付款验证,您在使用第三方支付服务的时候请阅读该第三方机构的用户协议、隐私政策,如对于该第三方机构的用户协议、隐私政策不同意的,请您及时停止使用该第三方机构的支付服务。
+
+ 3. 我们如何存储个人信息
+ 3.1存储地点
+ 我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息 存储于中华人民共和国境内。目前,我们不会将上述信息传输至境外,如果我们向境外传输,会严格遵守中国的相关法律、监管政策,并会遵循相关国家规定或者征求您的同意。
+
+ 3.2 存储期限
+ 3.2.1 我们仅在为提供Voitrans 服务之目的所必需的期间内保留您的个人信息,例如:
+ a. 手机号码: 当您使用手机号码注册登录时,我们需要持续保留您的手机号码,以便于向您提供正常的服务、应对您可能的查询和客诉并保障您的账号和系统安全。
+ b.电子邮箱:当您使用电子邮箱注册登录时,我们需要持续保留您的电子邮箱,以便于向您提供正常的服务、应对您可能的查询和客诉并保障您的账号和系统安全。
+ c.第三方授权:当您使用其他合作方授权方式登录时,我们会保留您的授权信息,以便您可以持续使用第三方登录方式进行登录,使得我们可以持续为您提供服务。
+ c. 您发布的信息、评论、点赞及相关信息,在您未撤回、删除或未注销账号期间,我们会保留相关信息用于向您提供持续的业务功能。
+ d. 根据《中华人民共和国网络安全法》、《中华人民共和国电子商务法》相关规定保留您的个人信息。
+ 3.2.2
+ 如果您注销账号、主动删除个人信息或超出必要的期限后,我们将对您的个人信息进行删除或匿名化处理,但以下情况除外:
+ a .遵从法律法规有关信息留存的要求;
+ b .遵守法院判决、裁定或其他法律程序的规定;
+ c. 遵守相关政府机关或法定授权组织的要求;
+ d. 出于财务、审计、争议解决等目的需要合理延长期限的。
+ 4. 我们如何保护个人信息的安全
+ 4.1 我们非常重视您个人信息的安全,将努力采取合理的安全措施 ( 包括技术方面和管理方面 ) 来保护您的个人信息,防止您提供的个人信息被不当使用或未经授权的情况下被访问、公开披露、使用、修改、损坏、丢失或泄漏。
+ 4.2 我们会使用不低于行业同行的加密技术、 匿 名化处理及相关合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。
+ 4.3 我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人信息,并适时对数据和技术进行安全审计。
+ 4.4
+ 尽管已经采取了上述合理有效措施,并已经遵守了相关法律规定要求的标准,但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全,我们将尽力确保您提供给我们的个人信息的安全性。
+
+ 4.5 您知悉并理解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。因此,我们强烈建议您采取积极措施保护个人信息的安全,包括但不限于使用复杂密码、定期修改密码、不将自己的 账号
+ 密码及相关个人信息透露给他人。
+ 4.6 我们会制定应急处理预案,并在发生用户信息安全事件时立即启动应急预案,努力阻止这些安全事件的影响和后果扩大。一 旦 发生用户信息安全事件(泄露、丢失 ) 后,我们将按照法律法规的要求,及时向您告知 :
+ 安全事件的基本情况和可能的影响,我们已经采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施。我们将及时将事件相关情况以推送通知、邮件、信函、短信及相关形式告知您,难以逐一告知时,我们会采取合理、有效的方式发布公告。同时,我们还将按照相关监管部门要求,上报用户信息安全事件的处置情况。
+
+ 4.7 您一旦离开Voitrans 平台及相关服务,浏览或使用其他网站、服务及内容资源,我们将没有能力和直接义务保护您在Voitrans
+ 平台及相关服务之外的软件、网站提交的任何个人信息,无论您登录、浏览或使用上述软件、网站是否基于Voitrans 平台的链接或引导。
+ 5. 我们如何管理您的个人信息
+ 我们非常重视您对个人信息的管理,并尽全力保护您对于您个人信息的查阅、复制、更正、补充、删除、撤回同意授权、注销账号、投诉举报以及设置隐私功能等权利,以使您有能力保障您的隐私和信息安全。
+ 5.1 改变或撤回授权范围
+ 5.1.1 改变或撤回敏感权限设置 :
+ 特定的业务功能和服务将需要您的设备敏感权限才能得以完成,当您改变或撤回敏感权限后,我们无法继续为您提供撤回敏感权限所对应的功能和服务,也不再处理您相应的敏感权限信息。但您撤回敏感权限的决定,不会影响我们此前基于您的授权而开展的个人信息处理。您可以通过
+ 更改移动终端的设置 开启或关闭敏感权限。
+ 5.1.2 改变或撤回授权的信息处理 :
+ 特定的业务功能和服务将需要您的信息才能得以完成,当您撤回同意或授权后,我们无法继续为您提供撤回同意或授权所对应的功能和服务,也不再处理您相应的个人信息。但您撤回同意或授权的决定,不会影响我们此前基于您的授权而开展的个人信息处理。
+
+ 5.2 您的个人信息权利
+ 5.2.1 查阅个人信息 :
+ 您可以通过Voitrans APP【个人中心】查阅您的昵称、手机号等个人信息。
+ 5.2.2 更正个人信息 :
+ 您可以通过Voitrans APP【个人中心】修改您的昵称 等个人信息 。
+ 特别提示您注意,出于安全性和身份识别(如号码申诉服务 ) 的考虑,您可能无法自主修改注册时提交的某些初始注册信息。如您确有需要修改该类注册信息,请根据本隐私政策载明的联系方式联系我们。
+ 除上述外,如果您或其他有权主体对相关法律法规赋予的个人信息权利的行使,有任何主张,要求或者疑问,您可以通过我们预留的联系方式(官网、APP内)与我们联系,我们将尽快审核所涉问题,并在验证您的用户身份后的1 0 个工作日内回复。
+
+ 5.3 注销 账号
+ 您可以通过Voitrans APP【设置】 -【个人中心】 - 【注销 账号 】与我们联系申请注销您的账号,我们将会在收到您的申请后及时进行处理,并在1 0
+ 个工作日或法律法规要求的时限内回复您的请求。在您注销账号前,我们将验证您的个人身份、安全状态、设备信息等。您知悉并理解,注销账号是不可逆的行为。
+ 5.4 意见反馈和投诉举报
+ 您可以按照我们公示的制度进行投诉或举报。如果您有任何意见或您认为您的个人信息权利可能受到侵害,或者发现侵害个人信息权利的线索,您可以通过Voitrans APP【设置】 - 【用户反馈】与我们联系。
+ 5.5 访问隐私政策
+ 您可以在Voitrans平台的注册页面,或者在Voitrans APP【设置】 -【个人中心】 - 【 隐私政策 】查看本隐私政策。
+ 请您了解,本隐私政策中所述的 Voitrans及相关服务可能会根据您所使用的手机型号、系统版本、软件应用程序版本、移动客户端等因素而有所不同。最终的产品和服务以您所使用的Voitrans 软件及相关服务为准。
+ 6. 停止运营并向您告知
+ 如我们停止运营,我们将及时停止收集您个人信息的活动,将停止运营的通知以逐一送达或公告的形式通知您,并对所持有的您的个人信息进行删除或匿名化处理。
+ 6.1 未成年人通用条款
+ a. 若您是已满14周岁但未满 18 周岁的未成年人,在使用Voitrans平台及相关服务前,应在您的父母或其他监护人监护、指导下共同阅读并同意本隐私政策。
+ b. 若您是未满 14 周岁的未成年人的监护人,在使用Voitrans 平台及相关服务前,应由您代被监护人阅读并同意本隐私政策。
+ c. 我们根据国家相关法律法规的规定保护未成年人的个人信息,只会在法律允许、父母或其他监护人明确同意或保护未成年人所必要的情况下收集、使用或披露未成年人的个人信息 ;
+ 如果我们发现在未事先获得可证实的父母或其他监护人同意的情况下收集了未成年人的个人信息,则会设法尽快删除相关信息。同时我们建立了严格的儿童信息收集使用规则,以保护儿童个人信息安全。
+ d. 若您是未成年人的监护人,当您对您所监护的未成年人的个人信息有相关疑问时,请通过本隐私政策公示的联系方式与我们联系。
+ 7. 隐私政策的修订和通知
+ 7.1 为了给您提供更好的服务,Voitrans
+ 平台及相关服务将不时更新与变化,我们会适时对本隐私政策进行修订,这些修订构成本隐私政策的一部分并具有等同于本隐私政策的效力,未经您明确同意,我们不会削减您依据当前生效的本隐私政策所应享受的权利。
+ 7.2 本隐私政策更新后,我们会在Voitrans 平台发出更新版本,并在更新后的条款生效前通过官方系统公告或其他适当的方式提醒您更新的内容,以便您及时了解本隐私政策的最新版本。
+ 8. 联系我们
+ 8.1 如果您对个人信息保护问题有投诉、建议、疑问,您可以通过Voitrans APP【设置】 - 【用户反馈】与我们联系,我们核查并验证您的用户身份后会及时给您反馈,一般情况下我们将在10个工作日内回复您的请求。
+ 8.2 如对本隐私政策内容有任何疑问、意见或建议,您可以通过Voitrans APP【设置】 - 【用户反馈】与我们联系。
+ 9. 第三方信息共享清单
+ 以下为我们接入的第三方SDK名称、开发者信息及其隐私政策链接说明,便于您更清楚地了解您的个人信息使用与保护情况:
+ 9.1 微信OpenSDK Android
+ 信息获取:设备号、IP地址、设备软件信息、设备识别码(IMEI、Android ID、IDFA、OAID、OPENUDID、GUID、ICCID、SIM 卡 IMSI
+ 信息、IP、MAC地址)、设备识别符、所在地区、设备相关应用信息以及其他与服务相关的日志信息
+ 使用目的:微信登录与分享,详情见SDK隐私政策
+ 使用场景:在用户使用微信登录与分享时使用,详情见SDK隐私政策
+ 合作方主体:深圳市腾讯计算机系统有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://support.weixin.qq.com/cgi-bin/mmsupportacctnodeweb-bin/pages/RYiYJkLOrQwu0nb8
+ 9.2 导航SDK
+ 信息获取:应用名、应用版本号、设备品牌及型号、操作系统、运营商信息、屏幕分辨率、传感器信息(矢量、加速度、压力、方向、地磁 、陀螺、温度、光敏、nema信号)、设备信号强度信息
+ 使用目的:使用高德地图进行导航
+ 使用场景:使用高德地图进行导航
+ 合作方主体:北京高德图强科技有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://lbs.amap.com/pages/privacy/
+ 9.3 地图SDK
+ 信息获取:应用名、应用版本号、设备品牌及型号、操作系统、网络信息、设备信号强度信息等
+ 使用目的:地图展示与交互
+ 使用场景:地图相关功能
+ 合作方主体:北京高德图强科技有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://lbs.amap.com/pages/privacy/
+ 9.4 定位SDK
+ 信息获取:位置信息(GPS、Wi-Fi、基站)、设备信息、网络信息等
+ 使用目的:提供定位服务
+ 使用场景:位置相关功能
+ 合作方主体:北京高德图强科技有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://lbs.amap.com/pages/privacy/
+ 9.5 轻量版地图SDK
+ 信息获取:应用名、应用版本号、设备信息、网络信息等
+ 使用目的:地图工具与渲染优化
+ 使用场景:地图相关工具功能
+ 合作方主体:北京高德图强科技有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://lbs.amap.com/pages/privacy/
+ 9.6 APP支付客户端SDK
+ 信息获取:设备标识、设备信息、软件安装列表、网络信息等(详见官方隐私政策)
+ 使用目的:支付宝账号登录与调起支付能力
+ 使用场景:支付相关功能
+ 合作方主体:支付宝(杭州)信息技术有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://opendocs.alipay.com/open/54/01g6qm#%E6%94%AF%E4%BB%98%E5%AE%9D%20App%20%E6%94%AF%E4%BB%98%E5%AE%A2%E6%88%B7%E7%AB%AF%20SDK%20%E9%9A%90%E7%A7%81%E6%94%BF%E7%AD%96
+ 9.7 灯塔 SDK Android
+ 信息获取:SDK或API版本、应用标识符、应用版本、终端厂商、操作系统版本、语言、时区、网络状态、崩溃与使用日志、IP地址等(详见官方隐私政策)
+ 使用目的:应用质量与数据上报服务
+ 使用场景:稳定性监测与性能分析
+ 合作方主体:深圳市腾讯计算机系统有限公司
+ 收集方式:SDK自行采集
+ 隐私政策链接:https://privacy.qq.com/document/preview/a19a8cf4f2354306b137a7db39d32024
+
+
+
diff --git a/doc/ysxy_en.html b/doc/ysxy_en.html
new file mode 100644
index 000000000..8c51573d4
--- /dev/null
+++ b/doc/ysxy_en.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
+ Voitrans Privacy Policy
+
+
+
+
+
+
Voitrans Privacy Policy
+
Last Updated: May 27, 2025
+
Effective Date: May 27, 2025
+
+
Welcome to use Voitrans Software and Services
+
1. Voitrans Provided by Saitong Industries Inc. (hereinafter referred to as "the Company"). Can help users achieve Bluetooth devices and other products management. We understand the importance of personal information to our users (hereinafter referred to as "you") and that effective protection of your personal information is the cornerstone of the healthy and sustainable development of our business. Thank you for your use and trust in Voitrans products or services! We are fully aware that this trust does not come easily, we adhere to the principle of openness and transparency, to express to you our rules for processing your personal information, we use legal and legitimate ways and clear and reasonable purposes to process your personal information. Special note: Please be sure to read and understand this Privacy Policy carefully before using our products or services so that you can make appropriate choices.
+
2. This Privacy Policy explains to you how we collect, use, store and share your personal information when you use Voitrans. Personal information refers to all kinds of information recorded by electronic or other means that can identify a specific natural person or reflect the activities of a specific natural person alone or in combination with other information. Voitrans respects and protects the personal privacy of all users of the service. Except as otherwise provided in this Privacy Policy, Voitrans will not disclose this information to the public or provide it to third parties without your prior permission.
+
3. When you use a third party's product or service through an App Marketplace product or service, your personal information shall be subject to the third party's privacy policy.
+
4. Voitrans This Privacy Policy will be updated from time to time. By agreeing to the Voitrans Service Usage Agreement and beginning to use Voitrans, you are deemed to have agreed to all of this Privacy Policy. If you do not agree to this Privacy Policy, please do not use Voitrans Software and Services.
+
5. In order to analyze and measure the effectiveness of relevant services, we will use and disclose your personal information in accordance with the provisions of this Privacy Policy.
+
+
This Privacy policy will help you understand the following:
+
+ - 1 The information we collect
+ - 2 Storage of information
+ - 3 Information security
+ - 4 How do we use the information we collect
+ - 5 Information sharing
+ - 6 How do you manage your personal information
+ - 7 Application permission description
+ - 8 Access third-party SDKS
+ - 9 Protection of minors
+ - 10 Effective and updated Privacy Policy
+ - 11 How to contact us
+
+
+
1. The information we collect
+
1. Use Voitrans at the beginning We will start collecting data about your usage of the application
+
2. Voitrans may obtain personal information about you from third parties or business partners through lawful means
+
3. In order to provide you with better products and services, give you network security during use, maintain the normal operation of products and optimize and improve, the purpose of our information services, after you actively click to agree to this privacy policy, use the information we provide. During the service, in addition to the personal information necessary to ensure the normal operation of the basic functions of the App in accordance with national laws and regulations, we will collect other personal information from you:
+
3.1 In order to identify risk users, judge the authenticity of users and prevent cheating in an all-round way, we will read your device information every time you open the software, including: (Device model, device MAC address, device unique identifier (IMEI, AndroidID, Device ID, MEID, UUID, GAID, OAID, IDFA, OpenUDID, GUID, IMSI, CCID, etc.) MEID, serial number, SSID and BSSID of WIFI), read Bluetooth address, operating system version, operating system name, user login account and password information;
+
3.2 When you use our products and services, we may collect certain information through network log information or certain programs and software, such information may include: details of the use of products and services, such as the opening time of your application, the length of use, and the address of the page visited; Device event information, such as crashes, system activity, etc., to optimize your device and improve our services;
+
3.3 To identify applications where equipment is at risk, provide more secure functional services. Therefore, we need to obtain your application/application installation list in the process to ensure the normal operation of the product and protect the security of the device.
+
3.4 In order to analyze the use of application functions by users and determine the authenticity of users, we need to conduct data statistics, and collect the above device information, including device MAC address and device unique identifier, when your device is in use.
+
3.5 Device signal: the network status of the device you use, WIFI access point information, etc.
+
3.6 Location Information: We may use GPS, WiFi or other technical means to collect and process information about your location for updating local information, providing content services, etc.
+
For more information, please click "Personal Information Collection List".
+
+
1. For the more sensitive personal information in the above information, such as user device information (IMEI number, call status and identification number), GPS location information, photo media content and file access rights, we will obtain your consent before collection. For some non-sensitive information, the collection may be default and automatic. You can restrict our collection of relevant information or use of certain permissions from your mobile device by adjusting the Settings option for your mobile device. When you restrict our access to a certain permission, we may not be able to continue to provide you with the corresponding services, and no longer process your corresponding information.
+
2. We will not collect your ID card number, personal biometric information, bank account number, property information, credit information, health and physiological information and other personal sensitive information.
+
3. About sensitive permissions: In order to properly use the application functions, the product needs to obtain the following permissions in order to provide functional services related to normal products.
+
+
1 Obtain storage read and write permissions
+
1 How to get: pop-up prompt, when the permission is obtained, the user will take the initiative to click agree application will use this permission
+
2 Purpose and scope of use: It is used to scan the resource cache files and thumbnails in the system, load music resources and product pictures. It is displayed on the App interface to facilitate users to view and operate
+
+
2 Obtain permission to the application installation list
+
1 How to get: pop-up prompt, when the permission is obtained, the user will take the initiative to click agree application will use this permission
+
2 Purpose and scope of use: When the application needs to use advertising promotion services, the third-party advertising platform, Youmon +SDK, needs to obtain the "app software installation list permission" of the device to prevent the user from pushing the application already owned by the user and improve the user experience.
+
+
3 The permission to obtain device status information
+
Includes: (Device model, device MAC address, device unique identifier (IMEI, AndroidID, Device ID, MEID, UUID, GAID, OAID, IDFA, OpenUDID, GUID, IMSI, CCID, etc.) MEID, serial number, SSID and BSSID of WIFI, read Bluetooth address), operating system version, operating system name, etc.;
+
1 How to get: pop-up prompt, when the permission is obtained, the user will take the initiative to click agree application will use this permission
+
2 Purpose and Scope of use: When using our application, in order to analyze the user's use of application functions and judge the user's authenticity, we will synchronize the permission to third-party SDKS, including Autonavi SDK, Youmon +SDK, etc.
+
+
4 Access to location information
+
1 How to obtain: pop-up prompts, when the permission is obtained, the user will use this permission only when he actively clicks agree with the application.
+
2 Purpose and Scope of use: When the application needs to use GPS, WiFi or other functions, the product needs to collect your location and information to search for Bluetooth devices in nearby locations.
+
Note: For more application permissions, see this document "Privacy Policy" Section 7 "Application Permission Description"
+
+
2. Storage of information
+
1. Where the information is stored
+
The personal information we collect and generate in the People's Republic of China will be stored on our servers and/or those of our affiliates.
+
2. Information storage and processing
+
We store your personal information only for the period necessary to achieve the purpose or as long as required by law and regulation. After you stop using this product, we will immediately stop collecting and processing your personal information and application data. When the above period is exceeded, we will delete or anonymize the personal information you have provided to us.
+
In addition to the necessary functions, Voitrans needs to apply for corresponding system permissions. The server side of the cloud does not store user personal information, and the third-party SDK accessed will be anonymized and de-identified by the service provider (Amu Statistics SDK, Autonavi SDK), so users cannot be tracked. Information stored on the user's phone will be automatically deleted when the user uninstalls Voitrans or clears the cache.
+
+
3. Information security
+
1. Voitrans stores and protects your personal information using industry-standard security measures and technologies, such as authentication, data encryption, restricted data center access and other security measures to ensure that your information is secure from disclosure, alteration and destruction. Despite the aforementioned security measures, please note that no security measure can be 100% secure.
+
2. When you use the services provided by Voitrans, please protect your personal information. If you find that your personal information has been compromised, please contact us immediately so that we can take appropriate measures.
+
+
4. How do we use the information we collect
+
1. When implementing application business functions, we may use your personal information to ensure the integrity and security of the products and services we provide to you;
+
2. We will understand your usage habits through the collected information, and with the help of data analysis, identify the acceptability of services, your usage habits, etc., in order to test and create new products, functions and services, improve the service level, and help us improve existing services and develop new services;
+
3. We may use your personal information for customer surveys about the products and services, for sending notices about the products and services, and for commercial promotion;
+
4. We may use your information for internal analysis and research related to the application;
+
+
5. Information sharing
+
At present, we will not actively share or transfer your personal information to third parties outside the company, if there is other sharing or transfer of your personal information, we will directly or confirm that the third party has obtained your express consent to the above behavior.
+
We will not publicly disclose the personal information we collect. If it is necessary to publicly disclose it, we will inform you of the purpose of the public disclosure, the type of information disclosed and the sensitive information that may be involved, and obtain your express consent.
+
As our business continues to develop, we may engage in mergers, acquisitions, asset transfers and other transactions, and we will inform you of the relevant circumstances, in accordance with laws and regulations and no less than the standards required by this Guide to continue to protect your personal information or require a new controller to continue to protect your personal information.
+
In addition, according to relevant laws and regulations and national standards, we may share, transfer and publicly disclose personal information without prior authorization and consent of the personal information subject under the following circumstances:
+
+ - 1 Directly related to national security and national defense security;
+ - 2 Directly related to public safety, public health or major public interests;
+ - 3 Directly related to criminal investigation, prosecution, trial and execution of judgments;
+ - 4 In order to protect the life, property and other major legitimate rights and interests of the personal data subject or other individuals, but it is difficult to obtain the consent of the person;
+ - 5 Personal information disclosed to the public by the personal information subject;
+ - 6 Collecting personal information from legally publicly disclosed information, such as legitimate news reports, government information disclosure and other channels.
+
+
+
6. How do you manage your personal information
+
In accordance with the relevant laws, regulations and standards of China, as well as the common practices of other countries and regions, we guarantee that you exercise the following rights to your personal information:
+
+
1. Correct your personal information
+
If you find that there is an error in your personal information processed by us, you have the right to correct or update the wrong or incomplete information. If you are unable to operate independently in the account center, you can email saitong.voitrans@gmail.com Contact us
+
+
2. Delete your personal information
+
In the following cases, you may make a request to us to delete your personal information:
+
+ - If we process personal information in violation of laws and regulations;
+ - If we collect and use your personal information without your consent;
+ - If our processing of personal information violates our agreement with you;
+ - If you no longer use our products or services;
+ - If we no longer provide you with products or services.
+
+
Contact us. We will process your request within saitong.voitrans@gmail.com Contact us. We will send it to you after receiving it 30 working days of receipt
+
+
3. Change the scope of your consent
+
You can contact us by email saitong.voitrans@gmail.com Contact us. At your request, we will no longer collect, use or disclose your personal information. Please note that your withdrawal of consent or deletion of your personal information may affect your use of some of our services.
+
+
4 Access and copy personal information
+
You may, in accordance with the provisions of the relevant laws, provide your imei (phone serial number) or oaid Or Android ID After the account information and other information, you can apply to us for access to and copy your personal information, you can email to 3514406195@qq.com Get in touch with us.
+
+
5. In response to your above request
+
For security purposes, you may need to provide a written request or otherwise prove your identity. We may ask you to verify your identity before processing your request. For your reasonable request, we will respond and deal with it in a timely manner. We may reject requests that are unnecessarily repetitive, require too much technology (for example, the development of new systems or fundamental changes to existing practices), pose a risk to the legitimate interests of others, or are highly impractical.
+
In the following circumstances, according to the requirements of laws and regulations, we will not be able to respond to your request:
+
+ - Related to national security and national defense security;
+ - In connection with criminal investigation, prosecution and trial;
+ - There is sufficient evidence that you have subjective malice or abuse of rights;
+ - Responding to your request will cause serious damage to the legitimate rights and interests of you or other individuals and organizations.
+
+
+
6. Account cancellation
+
User can be in Perform [account cancellation] operation on the APP. Operation steps:
+
+ - Go to the [My] page
+ - Click the [Settings] button on the upper right
+ - Click [Cancel account] to confirm
+
+
After you log out, the information about the user account is cleared
+
+
7. Application permission description
+
In order to provide better products and services, when you use the software, we will apply for the following rights, when you enter the home page or use the function will request authorization, if you refuse, some of the corresponding functions will not be able to use normally. The specific purposes and reminders of permissions are described in detail as follows:
+
+
1 Location rights:
+
android.permission.ACCESS_COARSE_LOCATION
+
android.permission.ACCESS_FINE_LOCATION
+
pass WiFi or mobile base station to obtain the user's latitude and longitude location information
+
When you use In Voitrans, we will search for your attached Bluetooth device based on your geographical location. At the same time, in order to provide more stable services, optimize products and improve experience, we will share the above information with three SDKS, such as Youmon and Autonavi, to obtain Voitrans operating data and functional services.
+
Reminder mode: A prompt indicating the permission to start the application for the first time is displayed, requiring the user to confirm acceptance. User Agreement and Privacy Policy description.
+
+
2
+
android.permission.READ_EXTERNAL_STORAGE
+
android.permission.WRITE_EXTERNAL_STORAGE
+
This permission is required when you access an application to perform application management functions.
+
Reminder method: User Agreement and Privacy Policy description.
+
+
3 Network permissions:
+
android.permission.INTERNET
+
When you use These permissions are required for Voitrans's information services and version upgrade services, and in order to improve the user experience and optimize the service capabilities, third-party SDKS such as Friends will also use these permissions.
+
Reminder mode: User Agreement and Privacy Policy description.
+
+
4 Get network status permissions:
+
android.permission.ACCESS_NETWORK_STATE
+
android.permission.ACCESS_WIFI_STATE
+
It is used to obtain whether the current network connection is valid, determine whether the current 4G environment is , and whether to remind the network environment changes, thus affecting the loading of information content. This permission is applied for when you use Voitrans.
+
Changes in the state of the network affect the uploading and loading of data. Therefore, the access to network status permission will be shared with friends + and other platforms.
+
Reminder method: User Agreement and Privacy Policy description.
+
+
5 Get task list permissions:
+
android.permission.GET_TASKS
+
This permission is used to obtain the application list for the software management function. When you use the software management function, you need to read the applications installed on the mobile phone.
+
Reminder mode: User Agreement and Privacy Policy description.
+
+
6 Obtain MAC address permission
+
android.permission.ACCESS_WIFI_STATE
+
android.permission.INTERNET
+
android.permission.ACCESS_NETWORK_STATE
+
When you use Voitrans, the application will need to obtain MAC address permissions:
+
When an application needs to report target conversion data, third-party platforms such as Youmon +SDK need to use MAC.
+
Reminder method: User Agreement and Privacy Policy description.
+
+
7 Obtain permission to record audio
+
android.permission.RECORD_AUDIO
+
When you use the voice input function of Voitrans, you need to use the permission to record audio, and mainly use the voice input for translation and other related functions.
+
Reminder method: User Agreement and Privacy Policy description , the user dynamically pops the box when required.
+
+
8 Obtain SSID permission for WIFI
+
When this permission is used, the app reads the SSID permission for WIFI:
+
Scope of use and purpose: When the application needs to use data analysis services, third-party platforms such as +SDK need to read the device's "WIFI SSID permission" to provide users with more accurate and effective functional services.
+
Reminder method: User Agreement and Privacy Policy description.
+
+
9 Get Bluetooth access
+
When this permission is used, the app reads the Bluetooth permission:
+
Scope of use and purpose: Bluetooth devices for searching and configuring accessories, such as Bluetooth headsets, Bluetooth watches, etc. Easy for users to manage
+
Reminder method: A prompt indicating the permission to start the application for the first time is displayed, requiring the user to confirm acceptance. User Agreement and Privacy Policy description.
+
+
10 Get the BSSID permission for WiFi
+
When the application needs to distinguish and identify the user to provide functional services and data statistics, it will read the "WiFi BSSID" permission of the device for:
+
Scope of use and purpose: 1 Third-party platforms: such as Youmeng SDK, Bugly SDK, Autonavi SDK
+
Reminder method: User Agreement and Privacy Policy description.
+
+
11 Obtain the application installation permission
+
android.permission.REQUEST_INSTALL_PACKAGES
+
The software will use the application installation permission, which is mainly used to allow users to install a new version and experience new functions when there is a new version.
+
Reminder mode: User Agreement and Privacy Policy description.
+
+
12 Get permissions for the camera
+
android.permission.CAMERA
+
Voitrans uses camera permissions to scan QR codes and bind Bluetooth devices such as Bluetooth headsets and watches.
+
Reminder method: A prompt indicating the permission to start the application for the first time is displayed, requiring the user to confirm acceptance. User Agreement and Privacy Policy description.
+
+
Special note:
+
1 Application integration within their Allies SDK, Scott map SDK in the user agrees to allow after use, application in the background/foreground for ICCID, IMSI, IMEI, SN, ANDROID, BSSID, ANDROID ID, SSID, IMSI and other personal information;
+
Remarks: More Please see the following SDK-related content and permissions [VIII. Access to third-party SDKS list]
+
+
8. Access third-party SDKS
+
1 In order to ensure the stable operation and functional realization of our client, so that you can use and enjoy more services and functions, our application will be embedded in the software tool development kit (SDK) or other similar applications of third parties, these third parties will collect and process relevant information in accordance with their own privacy policies, in order to normally provide functions and advertising services. You can learn about the information collection and processing rules of the third party in the following section. We will conduct strict security tests on the development kits (SDKS) for partners to obtain information, in order to protect the reasonable use and security of your personal information. Please note that third-party SDKS may change the data processing types due to their version upgrades. Please refer to the privacy policies published by third-party SDKS. See the details below or click to view the Third Party SDK List.
+
+
8.1 WeChat OpenSDK Android (com.tencent.mm.opensdk)
+
Information Obtained: Device number, IP address, device software information, device identification code (IMEI, Android ID, IDFA, OAID, OPENUDID, GUID, ICCID, SIM card IMSI information, IP, MAC address), device identifier, region, device-related application information, and other service-related log information
+
Purpose of Use: WeChat login and sharing
+
Developer: Shenzhen Tencent Computer Systems Company Limited
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://support.weixin.qq.com/cgi-bin/mmsupportacctnodeweb-bin/pages/RYiYJkLOrQwu0nb8
+
+
8.2 Navigation SDK (com.amap.api.navi)
+
Information Obtained: Application name, application version number, device brand and model, operating system, carrier information, screen resolution, sensor information (vector, acceleration, pressure, direction, geomagnetic, gyroscope, temperature, light sensor, NMEA signal), device signal strength information
+
Purpose of Use: Navigation using Amap
+
Developer: Beijing Gaode Tuqiang Technology Co., Ltd.
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://lbs.amap.com/pages/privacy/
+
+
8.3 Map SDK (com.amap.api.maps)
+
Information Obtained: Application name, application version, device brand and model, operating system, network information, device signal strength, etc.
+
Purpose of Use: Map display and interaction
+
Developer: Beijing Gaode Tuqiang Technology Co., Ltd.
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://lbs.amap.com/pages/privacy/
+
+
8.4 Location SDK (com.amap.api.location)
+
Information Obtained: Location information (GPS, Wi-Fi, base station), device information, network information, etc.
+
Purpose of Use: Provide location services
+
Developer: Beijing Gaode Tuqiang Technology Co., Ltd.
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://lbs.amap.com/pages/privacy/
+
+
8.5 Lite Map SDK (com.amap.api.maps.utils)
+
Information Obtained: Application name, application version, device information, network information, etc.
+
Purpose of Use: Map tools and rendering optimization
+
Developer: Beijing Gaode Tuqiang Technology Co., Ltd.
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://lbs.amap.com/pages/privacy/
+
+
8.6 Alipay App Client SDK (com.alipay.sdk)
+
Information Obtained: Device identifiers, basic device information, installed software list, and network information (see official privacy policy for details)
+
Purpose of Use: Alipay account login and payment invocation
+
Developer: Alipay (Hangzhou) Information Technology Co., Ltd.
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://opendocs.alipay.com/open/54/01g6qm#%E6%94%AF%E4%BB%98%E5%AE%9D%20App%20%E6%94%AF%E4%BB%98%E5%AE%A2%E6%88%B7%E7%AB%AF%20SDK%20%E9%9A%90%E7%A7%81%E6%94%BF%E7%AD%96
+
+
8.7 Beacon SDK Android (com.tencent.beacon)
+
Information Obtained: SDK/API version, platform, timestamp, app identifier, app version, device manufacturer, OS version, locale, timezone, network status (Wi-Fi, etc.), network logs, crash and usage data, IP address, etc. (see official privacy policy for details)
+
Purpose of Use: App quality monitoring and data reporting service
+
Developer: Shenzhen Tencent Computer Systems Company Limited
+
Collection Method: SDK self-collection
+
Privacy Policy Link: https://privacy.qq.com/document/preview/a19a8cf4f2354306b137a7db39d32024
+
+
9. Protection of minors
+
Users of our products and services may include Minors under the age of 18, minor users should seek the advice of their parents or guardians regarding this Privacy Policy before using our products, and use our services or provide your information to us after obtaining the consent of and under the guidance of their parents or guardians. Guardians of minors who have questions may contact us through the contact details in this Privacy Policy.
+
If you do not agree to the collection of the aforementioned information by the above third-party service providers, please stop using the Software immediately. During your use of the Software, these third parties will collect and process relevant information in accordance with their own privacy policies to provide some functions, advertising and other services. If the information is leaked due to the collection of the aforesaid information by the relevant third-party service provider, the relevant third-party service provider shall bear the corresponding legal responsibility.
+
+
10. Effective and updated Privacy Policy
+
1. This Privacy policy is effective from the date of publication.
+
2. As our business evolves and changes, our Privacy Policy may change. We reserve the right to change our privacy policy at any time, so please check back often. If we make changes to our Privacy Policy, we will post these updates on our website, apps, and where we deem appropriate to keep you informed. If the privacy policy is updated, it will take effect from the date of update. Your continued use of our products or services means that you agree to our changed Privacy Policy.
+
+
11. How to contact us
+
Saitong Industries Inc Established on November 22, 2024, registered address: 18305 E Valley Blvd, Unit C, City of Industry, CA 91744, USA. If you want to know more about our company and platform, you can contact us through the contact information provided in this policy (saitong.voitrans@gmail.com).
+
+
+
+
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 7720e0d46..c2c5f976b 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -54,6 +54,15 @@
voitrans
+
+
+ CFBundleURLName
+ deepvoiceclient.payment
+ CFBundleURLSchemes
+
+ deepvoiceclient
+
+
CFBundleVersion
$(FLUTTER_BUILD_NUMBER)
diff --git a/ios/Runner/RunnerProfile.entitlements b/ios/Runner/RunnerProfile.entitlements
new file mode 100644
index 000000000..0c67376eb
--- /dev/null
+++ b/ios/Runner/RunnerProfile.entitlements
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/lib/core/bindings/initial_binding.dart b/lib/core/bindings/initial_binding.dart
index 38f439e9d..2870209ff 100644
--- a/lib/core/bindings/initial_binding.dart
+++ b/lib/core/bindings/initial_binding.dart
@@ -1,3 +1,4 @@
+import '../../data/services/meeting/summary_task_service.dart';
import '/data/services/pay_service.dart';
import '/data/services/qq_music.dart';
@@ -10,6 +11,8 @@ import '../../../data/services/ast_service.dart';
import '../../../data/services/speech_impl/azure_ast_service.dart';
import 'package:get/get.dart';
import '../../data/services/meeting/meeting_task_service.dart';
+import '../../data/services/meeting/meeting_task_service2.dart';
+import '../../data/services/meeting/meeting_task_aggregator.dart';
import '../../data/services/meeting/meeting_upload_service.dart';
import '../../data/services/novice_guide_service.dart';
import '../../data/services/speech_factory.dart';
@@ -69,6 +72,14 @@ class InitialBinding extends Bindings {
// 会议助手任务服务
Get.lazyPut(() => MeetingTaskService(), fenix: true);
+ // 会议助手任务服务(极速识别版,2小时内音频)
+ Get.lazyPut(() => MeetingTaskService2(), fenix: true);
+ // 会议助手任务服务聚合器(统一列表与状态)
+ Get.lazyPut(() => MeetingTaskAggregator(),
+ fenix: true);
+
+ // 会议助手总结任务服务
+ Get.lazyPut(() => SummaryTaskService(), fenix: true);
// 会议助手音频上传
Get.lazyPut(() => MeetingUploadService(),
diff --git a/lib/core/translations/language/ar_sa.dart b/lib/core/translations/language/ar_sa.dart
index d8a24f8f8..5208c374b 100644
--- a/lib/core/translations/language/ar_sa.dart
+++ b/lib/core/translations/language/ar_sa.dart
@@ -134,7 +134,8 @@ const Map arSA = {
"initializing": "جاري التهيئة...",
"bluetoothInitializationFailure": "فشل تهيئة خدمة البلوتوث",
"checkingPermissions": "جاري التحقق من الأذونات...",
- "lackPermissions": "أذونات البلوتوث مفقودة",
+ "lackPermissions":
+ "يرجى включить أذونات البلوتوث y الإمكانية الوصول إلى الموقع للبحث عن الأجهزة المحاورة",
"searchingDevice": "جاري البحث عن الجهاز...",
"findConnectedDevice": "تم العثور على جهاز متصل",
"notFound": "لم يتم العثور على أجهزة بلوتوث متصلة",
@@ -179,21 +180,9 @@ const Map arSA = {
"conferenceAssistant": "مساعد اجتماعات الأعمال",
"conferenceAssistantInfo":
"تسجيل محاضر الاجتماعات في الوقت الفعلي، ترجمة متعددة اللغات",
- "studyAssistant": "مساعد تعلم اللغة",
- "studyAssistantInfo": "تصحيح النطق، ممارسة المحادثة في الوقت الفعلي",
- "travelTranslator": "مساعد ترجمة السفر",
- "travelTranslatorInfo": "ترجمة صوتية فورية، مقدمة عن مناطق الجذب السياحي",
- "beSearching": "جاري البحث:",
- "noAssistantFound": "لم يتم العثور على مساعد الذكاء الاصطناعي المقابل",
+ "usageStats": "إحصائيات الاستخدام", // 用量统计
+ "usageStatsInfo": "عرض إحصائيات استخدامك", // 查看您的使用统计数据
"scene": "مشهد",
- "youHaveSelected": "لقد اخترت:",
- "newFunction": "وظيفة جديدة",
- "youChoseTry": "لقد اخترت التجربة",
- "aiSinger": "وضع مغني الذكاء الاصطناعي",
- "aiSingerInfo":
- "غنِ أي أغنية بصوت فنانك المفضل، حتى الأغاني التي كتبتها بنفسك",
- "popularFunction": "مشاهد الوظائف الشائعة",
- "tryNow": "جرب الآن",
// 商务会议助手页
"startMeeting": "بدء الاجتماع",
@@ -428,8 +417,12 @@ const Map arSA = {
'inputAttendees': 'أدخل الحضور',
// 设置页
- "systemSettings": "إعدادات النظام",
- "premiumMember": "عضو مميز",
+ "systemSettings": "إعدادات النظام", //系统设置
+ "vipRecharge": "إعادة صيغ العضوية", //会员充值
+ "aiRecharge": "عضو مميز", //AI充值
+ "translationRecharge": "إعادة صيغ الترجمة", //翻译充值
+ "meetingAssistantRecharge": "إعادة صيغ الاجتماع", //会议助手充值
+ "cloudSync": "إعادة صيغ مزامنة السحابة", //云端同步
"joinDevice": "الجهاز المتصل:",
"accountId": "معرف الحساب:",
"systemSetting": "إعدادات النظام",
@@ -505,7 +498,7 @@ const Map arSA = {
//Agent 模块
// agent View
- "XiaoYan": "شياو يان",
+ "Lily": "Lily",
"clearChatHistory": "مسح سجل الدردشة",
"online": "متصل",
"inputMessage": "أدخل رسالة...",
@@ -1159,4 +1152,111 @@ const Map arSA = {
"justNow": "الآن",
"minutesAgo": "منذ @minutes دقيقة",
"yesterday": "أمس",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'ترجمة متزامنة فورية وترجمة نصية مع بث صوتي منخفض التأخير.',
+ 'transHeaderDesc2': 'مناسب للسفر والأعمال والخطب والتدريس.',
+ 'translateZhEn': 'ترجمة صينية-إنجليزية',
+ 'lowLatencyVoiceBroadcast': 'بث صوتي منخفض التأخير',
+ 'multiLangTextTranslation': 'ترجمة نصية متعددة اللغات',
+ 'termOptimizationContextPreserve': 'تحسين المصطلحات والحفاظ على السياق',
+ 'lexiconTourBusinessLife': 'قواميس السفر/الأعمال/الحياة',
+ 'personalVocabularyMemory': 'ذاكرة المفردات الشخصية',
+ 'conversationSubtitleLargeText': 'عناوين المحادثة / وضع النص الكبير',
+ 'colorHighContrast': 'تباين ألوان عالٍ',
+ 'transDisclaimer':
+ 'تعتمد جودة الترجمة على الميكروفون وزمن الشبكة والضوضاء المحيطة.',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'نظرة عامة على المزايا',
+ 'higherQuota': 'حصة استخدام أعلى',
+ 'lowerUnitPrice': 'سعر أقل لكل وحدة',
+ 'priorityService': 'خدمة ذات أولوية',
+ 'exclusiveSupportChannel': 'قناة دعم مخصصة',
+ 'fastResponse': 'استجابة سريعة للمشكلات',
+ 'eventsAndDiscounts': 'فعاليات وخصومات',
+ 'memberExclusiveEvents': 'فعاليات حصرية للأعضاء',
+ 'longTermDiscountPlan': 'خطة خصم طويلة الأجل',
+ 'generalPrivileges': 'امتيازات عامة',
+ 'earlyAccessNewFeatures': 'وصول مبكر إلى الميزات الجديدة',
+ 'crossDeviceSync': 'مزامنة عبر الأجهزة',
+ 'vipDisclaimer':
+ 'تعتمد الفوائد الفعلية على تفاصيل الباقة وقد تتغير مع الإصدارات.',
+ // Goods names by id
+ 'ai_001_name': 'الذكاء الاصطناعي الأساسي 100',
+ 'ai_002_name': 'الذكاء الاصطناعي الأساسي 500',
+ 'ai_003_name': 'الذكاء الاصطناعي الأساسي 1000',
+ 'meet_001_name': 'اجتماع أساسي 100',
+ 'meet_002_name': 'اجتماع أساسي 500',
+ 'meet_003_name': 'اجتماع أساسي 1000',
+ 'trans_001_name': 'ترجمة أساسية 100',
+ 'trans_002_name': 'ترجمة أساسية 500',
+ 'trans_003_name': 'ترجمة أساسية 1000',
+ // Goods descriptions by id
+ 'ai_001_desc':
+ 'يشمل 100 استخدام. الوصول إلى ميزات الذكاء الاصطناعي الأساسية.',
+ 'ai_002_desc':
+ 'يشمل 500 استخدام. الوصول إلى ميزات الذكاء الاصطناعي الأساسية.',
+ 'ai_003_desc':
+ 'يشمل 1000 استخدام. الوصول إلى ميزات الذكاء الاصطناعي الأساسية.',
+ 'meet_001_desc': 'يشمل 100 تسجيل/نسخ لاجتماعات.',
+ 'meet_002_desc': 'يشمل 500 تسجيل/نسخ لاجتماعات.',
+ 'meet_003_desc': 'يشمل 1000 تسجيل/نسخ لاجتماعات.',
+ 'trans_001_desc': 'يشمل 100 ترجمة (صوت/نص).',
+ 'trans_002_desc': 'يشمل 500 ترجمة (صوت/نص).',
+ 'trans_003_desc': 'يشمل 1000 ترجمة (صوت/نص).',
};
diff --git a/lib/core/translations/language/bg_bg.dart b/lib/core/translations/language/bg_bg.dart
index 14f9d770a..7a3d5d277 100644
--- a/lib/core/translations/language/bg_bg.dart
+++ b/lib/core/translations/language/bg_bg.dart
@@ -136,7 +136,8 @@ const Map bgBG = {
"bluetoothInitializationFailure":
"Неуспешна инициализация на Bluetooth услугата",
"checkingPermissions": "Проверка на разрешенията...",
- "lackPermissions": "Липсват Bluetooth разрешения",
+ "lackPermissions":
+ "Включете разрешенията за Bluetooth и достъп до локацията, за да се открият и свържат близки устройства",
"searchingDevice": "Търсене на устройства...",
"findConnectedDevice": "Намерено свързано устройство",
"notFound": "Не са намерени свързани Bluetooth устройства",
@@ -182,22 +183,9 @@ const Map bgBG = {
"conferenceAssistant": "Асистент за бизнес срещи",
"conferenceAssistantInfo":
"Записване на протоколи в реално време и многоезичен превод",
- "studyAssistant": "Асистент за изучаване на езици",
- "studyAssistantInfo": "Корекция на произношението и практика на говоренето",
- "travelTranslator": "Пътуващ преводач",
- "travelTranslatorInfo":
- "Гласов превод в реално време и гид за забележителности",
- "beSearching": "Търсене:",
- "noAssistantFound": "Не е намерен съответстващ AI асистент",
+ "usageStats": "Статистика за използване",
+ "usageStatsInfo": "Прегледвайте статистика за използване на приложението",
"scene": "Сценарии",
- "youHaveSelected": "Избрахте:",
- "newFunction": "Нови функции",
- "youChoseTry": "Избрахте да опитате",
- "aiSinger": "AI певец режим",
- "aiSingerInfo":
- "Пейте всяка песен с гласа на любимия си изпълнител, дори собствените си творения",
- "popularFunction": "Популярни функции",
- "tryNow": "Опитай сега",
// 商务会议助手页
"startMeeting": "Започни среща",
@@ -213,8 +201,12 @@ const Map bgBG = {
'meetingTranscript': 'Протокол от срещата',
// 设置页
- "systemSettings": "Системни настройки",
- "premiumMember": "Премиум член",
+ "systemSettings": "Системни настройки", //系统设置
+ "vipRecharge": "Преплащане за VIP член", //会员充值
+ "aiRecharge": "Премиум член", //AI充值
+ "translationRecharge": "Преплащане за превод", //翻译充值
+ "meetingAssistantRecharge": "Преплащане за Сообщението", //会议助手充值
+ "cloudSync": "Преплащане за синхронизация в облака", //云端同步
"joinDevice": "Свързано устройство:",
"accountId": "ID на акаунта:",
"systemSetting": "Системни настройки",
@@ -286,7 +278,7 @@ const Map bgBG = {
//Agent 模块
// agent View
- "XiaoYan": "Сяо Ян",
+ "Lily": "Lily",
"clearChatHistory": "Изчисти историята на чата",
"online": "Онлайн",
"inputMessage": "Въведете съобщение...",
@@ -716,7 +708,7 @@ const Map bgBG = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Сдвояване на устройства",
- "connectYourDeepSoundHeadset": "Свържете вашите DeepSound слушалки",
+ "connectYourDeepSoundHeadset": "Свържете вашите Voitrans слушалки",
"bind": "Свържи",
"authorizeBind": "Разреши свързването",
"enterCode": "Моля въведете кода",
@@ -779,7 +771,7 @@ const Map bgBG = {
'pleaseGrantNecessaryPermissions':
'Моля предоставете необходимите разрешения',
'checkFailedRetry': 'Неуспешна проверка, моля опитайте отново',
- 'pleaseConnectDeepSoundDevice': 'Моля свържете DeepSound устройство',
+ 'pleaseConnectDeepSoundDevice': 'Моля свържете Voitrans устройство',
'verificationFailedRetry': 'Неуспешна проверка, моля опитайте отново',
'invalidDeviceAddress': 'Невалиден адрес на устройството',
'bleDeviceAssociationFailed': 'Неуспешна асоциация с BLE устройството',
diff --git a/lib/core/translations/language/cs_cz.dart b/lib/core/translations/language/cs_cz.dart
index b432d7a87..252c757e4 100644
--- a/lib/core/translations/language/cs_cz.dart
+++ b/lib/core/translations/language/cs_cz.dart
@@ -136,7 +136,8 @@ const Map csCZ = {
"initializing": "Inicializace...",
"bluetoothInitializationFailure": "Inicializace služby Bluetooth selhala",
"checkingPermissions": "Kontrola oprávnění...",
- "lackPermissions": "Chybí oprávnění Bluetooth",
+ "lackPermissions":
+ "Chybí oprávnění Bluetooth a přístup k lokaci, pro nalezení a připojení zařízení",
"searchingDevice": "Hledání zařízení...",
"findConnectedDevice": "Nalezeno připojené zařízení",
"notFound": "Nenalezena žádná připojená Bluetooth zařízení",
@@ -181,21 +182,9 @@ const Map csCZ = {
"conferenceAssistant": "Asistent obchodních schůzek",
"conferenceAssistantInfo":
"Záznam zápisů v reálném čase a vícejazyčný překlad",
- "studyAssistant": "Asistent pro výuku jazyků",
- "studyAssistantInfo": "Korekce výslovnosti a procvičování mluvení",
- "travelTranslator": "Cestovní překladač",
- "travelTranslatorInfo": "Hlasový překlad v reálném čase a průvodce památkami",
- "beSearching": "Hledání:",
- "noAssistantFound": "Nebyl nalezen odpovídající AI asistent",
+ "usageStats": "Statistika použití",
+ "usageStatsInfo": "Zobrazit statistiku použití aplikace",
"scene": "Scénáře",
- "youHaveSelected": "Vybrali jste:",
- "newFunction": "Nové funkce",
- "youChoseTry": "Rozhodli jste se vyzkoušet",
- "aiSinger": "AI zpěvák režim",
- "aiSingerInfo":
- "Zpívejte jakoukoliv píseň hlasem vašeho oblíbeného umělce, dokonce i vaše vlastní tvorbu",
- "popularFunction": "Populární funkce",
- "tryNow": "Vyzkoušet nyní",
// 商务会议助手页
"startMeeting": "Začít schůzku",
@@ -211,8 +200,12 @@ const Map csCZ = {
'meetingTranscript': 'Přepis schůzky',
// 设置页
- "systemSettings": "Systémová nastavení",
- "premiumMember": "Prémiový člen",
+ "systemSettings": "Systémová nastavení", //系统设置
+ "vipRecharge": "Přepayka VIP členství", //会员充值
+ "aiRecharge": "Prémiový člen", //AI充值
+ "translationRecharge": "Přepayka překladu", //翻译充值
+ "meetingAssistantRecharge": "Přepayka asistenta schůzky", //会议助手充值
+ "cloudSync": "Přepayka synchronizace v cloudu", //云端同步
"joinDevice": "Připojené zařízení:",
"accountId": "ID účtu:",
"systemSetting": "Systémová nastavení",
@@ -283,7 +276,7 @@ const Map csCZ = {
//Agent 模块
// agent View
- "XiaoYan": "Xiao Yan",
+ "Lily": "Lily",
"clearChatHistory": "Vymazat historii chatu",
"online": "Online",
"inputMessage": "Zadejte zprávu...",
@@ -310,7 +303,7 @@ const Map csCZ = {
"swipeUpForMore": "Potáhněte nahoru pro více",
// Agent controller
- 'welcomeMessage': 'Ahoj! Jsem **Xiao Yan**, mohu vám pomoci s:\n\n'
+ 'welcomeMessage': 'Ahoj! Jsem **Lily**, mohu vám pomoci s:\n\n'
'• Odpovídáním na otázky a poskytováním informací\n\n'
'• Překladem řeči v reálném čase\n\n'
'• Doporučováním hudby a podcastů\n\n'
@@ -705,7 +698,7 @@ const Map csCZ = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Párování zařízení",
- "connectYourDeepSoundHeadset": "Připojte svá sluchátka DeepSound",
+ "connectYourDeepSoundHeadset": "Připojte svá sluchátka Voitrans",
"bind": "Svázat",
"authorizeBind": "Autorizovat svázání",
"enterCode": "Zadejte prosím kód",
@@ -766,7 +759,7 @@ const Map csCZ = {
'retryAuthorization': 'Zkusit autorizaci znovu',
'pleaseGrantNecessaryPermissions': 'Udělte prosím potřebná oprávnění',
'checkFailedRetry': 'Kontrola selhala, zkuste to prosím znovu',
- 'pleaseConnectDeepSoundDevice': 'Připojte prosím zařízení DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Připojte prosím zařízení Voitrans',
'verificationFailedRetry': 'Ověření selhalo, zkuste to prosím znovu',
'invalidDeviceAddress': 'Neplatná adresa zařízení',
'bleDeviceAssociationFailed': 'Přidružení BLE zařízení selhalo',
diff --git a/lib/core/translations/language/da_dk.dart b/lib/core/translations/language/da_dk.dart
index 31bfa72fb..bdd1c77b6 100644
--- a/lib/core/translations/language/da_dk.dart
+++ b/lib/core/translations/language/da_dk.dart
@@ -136,7 +136,8 @@ const Map daDK = {
"bluetoothInitializationFailure":
"Bluetooth service initialisering mislykkedes",
"checkingPermissions": "Kontrollerer tilladelser...",
- "lackPermissions": "Mangler Bluetooth tilladelser",
+ "lackPermissions":
+ "Mangler Bluetooth tilladelser og tilladelse til at tilgå lokationen",
"searchingDevice": "Søger efter enheder...",
"findConnectedDevice": "Fandt tilsluttet enhed",
"notFound": "Ingen tilsluttede Bluetooth enheder fundet",
@@ -181,22 +182,9 @@ const Map daDK = {
"conferenceAssistant": "Forretningsmøde assistent",
"conferenceAssistantInfo":
"Realtidsoptagelse af mødereferater og flersproget oversættelse",
- "studyAssistant": "Sprogindlærings assistent",
- "studyAssistantInfo": "Udtalerettelse og taleøvelse",
- "travelTranslator": "Rejseoversætter",
- "travelTranslatorInfo":
- "Realtids stemmeoversættelse og turistattraktionsguide",
- "beSearching": "Søger:",
- "noAssistantFound": "Ingen tilsvarende AI assistent fundet",
+ "usageStats": "Brugsstatistik",
+ "usageStatsInfo": "Se statistik for brug af appen",
"scene": "Scenarier",
- "youHaveSelected": "Du har valgt:",
- "newFunction": "Nye funktioner",
- "youChoseTry": "Du valgte at prøve",
- "aiSinger": "AI sanger tilstand",
- "aiSingerInfo":
- "Syng enhver sang med din yndlingskunstners stemme, endda dine egne kreationer",
- "popularFunction": "Populære funktioner",
- "tryNow": "Prøv nu",
// 商务会议助手页
"startMeeting": "Start møde",
@@ -212,8 +200,12 @@ const Map daDK = {
'meetingTranscript': 'Mødeudskrift',
// 设置页
- "systemSettings": "Systemindstillinger",
- "premiumMember": "Premium medlem",
+ "systemSettings": "Systemindstillinger", //系统设置
+ "vipRecharge": "Opladning af VIP medlem", //会员充值
+ "aiRecharge": "Premium medlem", //AI充值
+ "translationRecharge": "Opladning af oversetning", //翻译充值
+ "meetingAssistantRecharge": "Opladning af mødeassistent", //会议助手充值
+ "cloudSync": "Opladning af cloud-synkronisering", //云端同步
"joinDevice": "Tilsluttet enhed:",
"accountId": "Konto-ID:",
"systemSetting": "Systemindstillinger",
@@ -285,7 +277,7 @@ const Map daDK = {
//Agent 模块
// agent View
- "XiaoYan": "Xiao Yan",
+ "Lily": "Lily",
"clearChatHistory": "Ryd chathistorik",
"online": "Online",
"inputMessage": "Indtast besked...",
@@ -312,7 +304,7 @@ const Map daDK = {
"swipeUpForMore": "Stryg op for mere",
// Agent controller
- 'welcomeMessage': 'Hej! Jeg er **Xiao Yan**, jeg kan hjælpe dig med:\n\n'
+ 'welcomeMessage': 'Hej! Jeg er **Lily**, jeg kan hjælpe dig med:\n\n'
'• Besvare spørgsmål og give information\n\n'
'• Realtids stemmeoversættelse\n\n'
'• Anbefale musik og podcasts\n\n'
@@ -706,7 +698,7 @@ const Map daDK = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Enhedsparring",
- "connectYourDeepSoundHeadset": "Tilslut dine DeepSound øretelefoner",
+ "connectYourDeepSoundHeadset": "Tilslut dine Voitrans øretelefoner",
"bind": "Bind",
"authorizeBind": "Autoriser binding",
"enterCode": "Indtast venligst kode",
@@ -767,7 +759,7 @@ const Map daDK = {
'retryAuthorization': 'Prøv autorisation igen',
'pleaseGrantNecessaryPermissions': 'Giv venligst de nødvendige tilladelser',
'checkFailedRetry': 'Kontrol mislykkedes, prøv venligst igen',
- 'pleaseConnectDeepSoundDevice': 'Tilslut venligst DeepSound enhed',
+ 'pleaseConnectDeepSoundDevice': 'Tilslut venligst Voitrans enhed',
'verificationFailedRetry': 'Verificering mislykkedes, prøv venligst igen',
'invalidDeviceAddress': 'Ugyldig enhedsadresse',
'bleDeviceAssociationFailed': 'BLE enhedsassociation mislykkedes',
diff --git a/lib/core/translations/language/de_de.dart b/lib/core/translations/language/de_de.dart
index f5bdbc994..ccc28727f 100644
--- a/lib/core/translations/language/de_de.dart
+++ b/lib/core/translations/language/de_de.dart
@@ -139,7 +139,8 @@ const Map deDE = {
"bluetoothInitializationFailure":
"Bluetooth-Dienst-Initialisierung fehlgeschlagen",
"checkingPermissions": "Berechtigungen werden überprüft...",
- "lackPermissions": "Bluetooth-Berechtigungen erforderlich",
+ "lackPermissions":
+ "Bluetooth-Berechtigungen erforderlich und Zugriff auf die Lage erforderlich",
"searchingDevice": "Geräte werden gesucht...",
"findConnectedDevice": "Verbundenes Gerät gefunden",
"notFound": "Keine verbundenen Bluetooth-Geräte gefunden",
@@ -185,22 +186,10 @@ const Map deDE = {
"conferenceAssistant": "Geschäftstreffen-Assistent",
"conferenceAssistantInfo":
"Echtzeit-Protokollaufzeichnung und mehrsprachige Übersetzung",
- "studyAssistant": "Sprachlern-Assistent",
- "studyAssistantInfo": "Aussprachekorrektur und Sprechpraxis",
- "travelTranslator": "Reise-Übersetzer",
- "travelTranslatorInfo":
- "Echtzeit-Sprachübersetzung und Sehenswürdigkeiten-Führung",
- "beSearching": "Suche nach:",
- "noAssistantFound": "Kein entsprechender KI-Assistent gefunden",
+ "usageStats": "Benutzungsstatistik",
+ "usageStatsInfo":
+ "Sehen Sie sich die Statistiken für die Benutzung der App an",
"scene": "Szenarien",
- "youHaveSelected": "Sie haben ausgewählt:",
- "newFunction": "Neue Funktionen",
- "youChoseTry": "Sie haben sich entschieden zu versuchen",
- "aiSinger": "KI-Sänger-Modus",
- "aiSingerInfo":
- "Singen Sie jedes Lied in der Stimme Ihres Lieblingskünstlers, sogar Ihre eigenen Kreationen",
- "popularFunction": "Beliebte Funktionen",
- "tryNow": "Jetzt versuchen",
// 商务会议助手页
"startMeeting": "Meeting starten",
@@ -216,8 +205,12 @@ const Map deDE = {
'meetingTranscript': 'Meeting-Transkript',
// 设置页
- "systemSettings": "Systemeinstellungen",
- "premiumMember": "Premium-Mitgliedschaft",
+ "systemSettings": "Systemeinstellungen", //系统设置
+ "vipRecharge": "VIP-Mitgliedschaft-Recharge", //会员充值
+ "aiRecharge": "Premium-Mitgliedschaft", //AI充值
+ "translationRecharge": "Übersetzungs-Recharge", //翻译充值
+ "meetingAssistantRecharge": "Meeting-Assistent-Recharge", //会议助手充值
+ "cloudSync": "Cloud-Synchronisierung-Recharge", //云端同步
"joinDevice": "Verbundenes Gerät:",
"accountId": "Konto-ID:",
"systemSetting": "Systemeinstellungen",
@@ -288,7 +281,7 @@ const Map deDE = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Chat-Verlauf löschen",
"online": "Online",
"inputMessage": "Nachricht eingeben...",
@@ -315,7 +308,7 @@ const Map deDE = {
"swipeUpForMore": "Nach oben wischen für mehr",
// Agent controller
- 'welcomeMessage': 'Hallo! Ich bin **XiaoYan**, ich kann Ihnen helfen:\n\n'
+ 'welcomeMessage': 'Hallo! Ich bin **Lily**, ich kann Ihnen helfen:\n\n'
'• Fragen beantworten und Informationen bereitstellen\n\n'
'• Echtzeit-Sprachübersetzung\n\n'
'• Musik und Podcasts empfehlen\n\n'
@@ -719,7 +712,7 @@ const Map deDE = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Gerätekopplung",
- "connectYourDeepSoundHeadset": "Verbinden Sie Ihr DeepSound-Headset",
+ "connectYourDeepSoundHeadset": "Verbinden Sie Ihr Voitrans-Headset",
"bind": "Binden",
"authorizeBind": "Bindung autorisieren",
"enterCode": "Bitte geben Sie den Code ein",
@@ -737,7 +730,7 @@ const Map deDE = {
"readyToPair": "Bereit zum Koppeln",
"preparingPairingEnvironment": "Kopplungsumgebung wird vorbereitet...",
"connectDeepSoundViaSystemBluetooth":
- "Bitte verbinden Sie zuerst das DeepSound-Gerät über System-Bluetooth",
+ "Bitte verbinden Sie zuerst das Voitrans-Gerät über System-Bluetooth",
"deviceBindingConfirm": "Gerätebindungsbestätigung...",
"establishingDeviceAssociation": "Gerätezuordnung wird hergestellt...",
"waitingCompletePairing": "Bitte warten, Kopplung wird abgeschlossen...",
@@ -746,7 +739,7 @@ const Map deDE = {
// 配对错误状态文本
"ensureConnectedDeepSoundDevice":
- "Bitte stellen Sie sicher, dass das verbundene Gerät DeepSound ist",
+ "Bitte stellen Sie sicher, dass das verbundene Gerät Voitrans ist",
"deviceAlreadyBoundToOtherAccount":
"Dieses Gerät ist bereits an ein anderes Konto gebunden",
"deviceAssociationFailed":
@@ -783,7 +776,7 @@ const Map deDE = {
'Bitte erteilen Sie die erforderlichen Berechtigungen',
'checkFailedRetry':
'Überprüfung fehlgeschlagen, bitte versuchen Sie es erneut',
- 'pleaseConnectDeepSoundDevice': 'Bitte verbinden Sie das DeepSound-Gerät',
+ 'pleaseConnectDeepSoundDevice': 'Bitte verbinden Sie das Voitrans-Gerät',
'verificationFailedRetry':
'Verifizierung fehlgeschlagen, bitte versuchen Sie es erneut',
'invalidDeviceAddress': 'Ungültige Geräteadresse',
@@ -880,4 +873,97 @@ const Map deDE = {
"乌尔都语": "Urdu",
"波斯语": "Persisch",
"斯瓦希里语": "Swahili",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'Echtzeit-Simultandolmetschen und Textübersetzung mit Sprachwiedergabe bei niedriger Latenz.',
+ 'transHeaderDesc2': 'Geeignet für Reisen, Geschäft, Reden und Lehre.',
+ 'translateZhEn': 'Chinesisch-Englisch-Übersetzung',
+ 'lowLatencyVoiceBroadcast': 'Sprachübertragung mit niedriger Latenz',
+ 'multiLangTextTranslation': 'Mehrsprachige Textübersetzung',
+ 'termOptimizationContextPreserve':
+ 'Terminologieoptimierung und Kontextwahrung',
+ 'lexiconTourBusinessLife': 'Lexika für Reise/Geschäft/Alltag',
+ 'personalVocabularyMemory': 'Persönlicher Wortschatzspeicher',
+ 'conversationSubtitleLargeText': 'Konversationsuntertitel / Großtext-Modus',
+ 'colorHighContrast': 'Hoher Farbkontrast',
+ 'transDisclaimer':
+ 'Die Übersetzungsleistung hängt von Mikrofon, Netzwerklatenz und Umgebungsgeräuschen ab.',
+
+ 'trans_001_name': 'Übersetzung Basis 100',
+ 'trans_002_name': 'Übersetzung Basis 500',
+ 'trans_003_name': 'Übersetzung Basis 1000',
+
+ 'trans_001_desc': 'Enthält 100 Übersetzungen (Stimme/Text).',
+ 'trans_002_desc': 'Enthält 500 Übersetzungen (Stimme/Text).',
+ 'trans_003_desc': 'Enthält 1000 Übersetzungen (Stimme/Text).',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'Übersicht der Vorteile',
+ 'higherQuota': 'Höheres Nutzungskontingent',
+ 'lowerUnitPrice': 'Niedrigerer Stückpreis',
+ 'priorityService': 'Priorisierter Service',
+ 'exclusiveSupportChannel': 'Dedizierter Supportkanal',
+ 'fastResponse': 'Schnelle Problemreaktion',
+ 'eventsAndDiscounts': 'Veranstaltungen und Rabatte',
+ 'memberExclusiveEvents': 'Exklusive Events für Mitglieder',
+ 'longTermDiscountPlan': 'Langfristiger Rabattplan',
+ 'generalPrivileges': 'Allgemeine Privilegien',
+ 'earlyAccessNewFeatures': 'Frühzeitiger Zugriff auf neue Funktionen',
+ 'crossDeviceSync': 'Geräteübergreifende Synchronisierung',
+ 'vipDisclaimer':
+ 'Die tatsächlichen Vorteile hängen von den Paketdetails ab und können sich mit Versionen ändern.',
};
diff --git a/lib/core/translations/language/el_gr.dart b/lib/core/translations/language/el_gr.dart
index fec4d66c4..a39a65cd4 100644
--- a/lib/core/translations/language/el_gr.dart
+++ b/lib/core/translations/language/el_gr.dart
@@ -138,7 +138,8 @@ const Map elGR = {
"bluetoothInitializationFailure":
"Αποτυχία αρχικοποίησης υπηρεσίας Bluetooth",
"checkingPermissions": "Έλεγχος δικαιωμάτων...",
- "lackPermissions": "Απαιτούνται δικαιώματα Bluetooth",
+ "lackPermissions":
+ "Απαιτούνται δικαιώματα Bluetooth και πρόσβαση στην τοποθεσία",
"searchingDevice": "Αναζήτηση συσκευών...",
"findConnectedDevice": "Βρέθηκε συνδεδεμένη συσκευή",
"notFound": "Δεν βρέθηκαν συνδεδεμένες συσκευές Bluetooth",
@@ -183,22 +184,9 @@ const Map elGR = {
"conferenceAssistant": "Βοηθός επιχειρηματικών συναντήσεων",
"conferenceAssistantInfo":
"Καταγραφή πρακτικών σε πραγματικό χρόνο και πολυγλωσσική μετάφραση",
- "studyAssistant": "Βοηθός εκμάθησης γλωσσών",
- "studyAssistantInfo": "Διόρθωση προφοράς και εξάσκηση ομιλίας",
- "travelTranslator": "Μεταφραστής ταξιδιού",
- "travelTranslatorInfo":
- "Φωνητική μετάφραση σε πραγματικό χρόνο και οδηγός αξιοθέατων",
- "beSearching": "Αναζήτηση:",
- "noAssistantFound": "Δεν βρέθηκε αντίστοιχος βοηθός AI",
+ "usageStats": "Στατιστικά χρήσης",
+ "usageStatsInfo": "Δείτε τα στατιστικά χρήσης της εφαρμογής",
"scene": "Σενάρια",
- "youHaveSelected": "Έχετε επιλέξει:",
- "newFunction": "Νέες λειτουργίες",
- "youChoseTry": "Επιλέξατε να δοκιμάσετε",
- "aiSinger": "Λειτουργία τραγουδιστή AI",
- "aiSingerInfo":
- "Τραγουδήστε οποιοδήποτε τραγούδι με τη φωνή του αγαπημένου σας καλλιτέχνη, ακόμα και τις δικές σας δημιουργίες",
- "popularFunction": "Δημοφιλείς λειτουργίες",
- "tryNow": "Δοκιμάστε τώρα",
// 商务会议助手页
"startMeeting": "Έναρξη συνάντησης",
@@ -214,8 +202,12 @@ const Map elGR = {
'meetingTranscript': 'Απομαγνητοφώνηση συνάντησης',
// 设置页
- "systemSettings": "Ρυθμίσεις συστήματος",
- "premiumMember": "Premium μέλος",
+ "systemSettings": "Ρυθμίσεις συστήματος", //系统设置
+ "vipRecharge": "Περιορέωση VIP μέλους", //会员充值
+ "aiRecharge": "Premium μέλος", //AI充值
+ "translationRecharge": "Περιορέωση μετάφρασης", //翻译充值
+ "meetingAssistantRecharge": "Περιορέωση βοηθού συνάντησης", //会议助手充值
+ "cloudSync": "Περιορέωση συγχρονισμού στο cloud", //云端同步
"joinDevice": "Συνδεδεμένη συσκευή:",
"accountId": "ID λογαριασμού:",
"systemSetting": "Ρυθμίσεις συστήματος",
@@ -287,7 +279,7 @@ const Map elGR = {
//Agent 模块
// agent View
- "XiaoYan": "Xiao Yan",
+ "Lily": "Lily",
"clearChatHistory": "Εκκαθάριση ιστορικού συνομιλίας",
"online": "Σε σύνδεση",
"inputMessage": "Εισάγετε μήνυμα...",
@@ -314,14 +306,13 @@ const Map elGR = {
"swipeUpForMore": "Σύρετε προς τα πάνω για περισσότερα",
// Agent controller
- 'welcomeMessage':
- 'Γεια σας! Είμαι ο **Xiao Yan**, μπορώ να σας βοηθήσω με:\n\n'
- '• Απάντηση σε ερωτήσεις και παροχή πληροφοριών\n\n'
- '• Μετάφραση φωνής σε πραγματικό χρόνο\n\n'
- '• Προτάσεις μουσικής και podcasts\n\n'
- '• Φωνητικές σημειώσεις και υπενθυμίσεις\n\n'
- '• Έλεγχος λειτουργιών ακουστικών\n\n'
- 'Με τι μπορώ να σας βοηθήσω;',
+ 'welcomeMessage': 'Γεια σας! Είμαι ο **Lily**, μπορώ να σας βοηθήσω με:\n\n'
+ '• Απάντηση σε ερωτήσεις και παροχή πληροφοριών\n\n'
+ '• Μετάφραση φωνής σε πραγματικό χρόνο\n\n'
+ '• Προτάσεις μουσικής και podcasts\n\n'
+ '• Φωνητικές σημειώσεις και υπενθυμίσεις\n\n'
+ '• Έλεγχος λειτουργιών ακουστικών\n\n'
+ 'Με τι μπορώ να σας βοηθήσω;',
'microphonePermission': 'Μικρόφωνο',
'voiceRecognitionPermissionText':
'Η λειτουργία αναγνώρισης φωνής χρειάζεται πρόσβαση στο μικρόφωνο.',
@@ -717,7 +708,7 @@ const Map elGR = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Σύζευξη συσκευής",
- "connectYourDeepSoundHeadset": "Συνδέστε τα ακουστικά DeepSound",
+ "connectYourDeepSoundHeadset": "Συνδέστε τα ακουστικά Voitrans",
"bind": "Σύνδεση",
"authorizeBind": "Εξουσιοδότηση σύνδεσης",
"enterCode": "Εισάγετε κωδικό",
@@ -777,7 +768,7 @@ const Map elGR = {
'retryAuthorization': 'Επανάληψη εξουσιοδότησης',
'pleaseGrantNecessaryPermissions': 'Παραχωρήστε τα απαραίτητα δικαιώματα',
'checkFailedRetry': 'Αποτυχία ελέγχου, δοκιμάστε ξανά',
- 'pleaseConnectDeepSoundDevice': 'Συνδέστε συσκευή DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Συνδέστε συσκευή Voitrans',
'verificationFailedRetry': 'Αποτυχία επαλήθευσης, δοκιμάστε ξανά',
'invalidDeviceAddress': 'Μη έγκυρη διεύθυνση συσκευής',
'bleDeviceAssociationFailed': 'Αποτυχία συσχέτισης συσκευής BLE',
diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart
index d01651e54..bfac53331 100644
--- a/lib/core/translations/language/en_us.dart
+++ b/lib/core/translations/language/en_us.dart
@@ -136,7 +136,8 @@ const Map enUS = {
"initializing": "Initializing...",
"bluetoothInitializationFailure": "Bluetooth service initialization failed",
"checkingPermissions": "Checking permissions...",
- "lackPermissions": "Bluetooth permissions required",
+ "lackPermissions":
+ "Enable Bluetooth and location permissions to discover and connect to nearby devices",
"searchingDevice": "Searching for devices...",
"findConnectedDevice": "Found connected device",
"notFound": "No connected Bluetooth devices found",
@@ -165,7 +166,7 @@ const Map enUS = {
"exploreSlogan": "Smart Earbuds, Infinite Possibilities",
"exploreSlogan1": "Intelligent companion, Infinite Possibilities",
"exploreSlogan2": "Smart glasses, Infinite Possibilities",
- "exploreAi": "Explore AI features provided by DeepSound",
+ "exploreAi": "Explore AI features provided by Voitrans",
"aiFunction": "AI Features",
"allRoundAssistant": "All-round Assistant",
"allRoundAssistantInfo": "Helps solve various problems",
@@ -181,21 +182,213 @@ const Map enUS = {
"conferenceAssistant": "Business Meeting Assistant",
"conferenceAssistantInfo":
"Real-time minutes recording and multilingual translation",
- "studyAssistant": "Language Learning Assistant",
- "studyAssistantInfo": "Pronunciation correction and speaking practice",
- "travelTranslator": "Travel Translator",
- "travelTranslatorInfo": "Real-time voice translation and attraction guides",
- "beSearching": "Searching for:",
- "noAssistantFound": "No corresponding AI assistant found",
+ "usageStats": "Usage Statistics",
+ "usageStatsInfo": "View Your Usage Statistics",
"scene": "Scenarios",
- "youHaveSelected": "You've selected:",
- "newFunction": "New Features",
- "youChoseTry": "You've chosen to try",
- "aiSinger": "AI Singer Mode",
- "aiSingerInfo":
- "Sing any song in your favorite artist's voice, even your own creations",
- "popularFunction": "Popular Features",
- "tryNow": "Try Now",
+
+ /// 用量统计模块
+ "aiChat": "AI Chat",
+ "translationStats": "Translation Statistics",
+ "meetingStats": "Meeting Statistics",
+ "today": "Today",
+ "thisWeek": "This Week",
+ "thisMonth": "This Month",
+ "history": "History",
+ "currentSessionStats": "Current Session Stats",
+ "translationCount": "Translation Count",
+ "sessionDuration": "Session Duration",
+ "characters": "Characters",
+ "recordingDuration": "Recording Duration",
+ "totalApiCalls": "Total API Calls",
+ "sessionCount": "Session Count",
+ "totalCharacters": "Total Characters",
+ "apiCallStats": "API Call Stats",
+ "translationApi": "Translation API",
+ "asr": "ASR",
+ "tts": "TTS",
+ // "aiSummary": "AI Summary",
+ "dataVolumeStats": "Data Volume Stats",
+ "sourceTextCharacters": "Source Text Characters",
+ "ttsTextCharacters": "TTS Text Characters",
+ "effectiveAudioDuration": "Effective Audio Duration",
+ "totalSessionDuration": "Total Session Duration",
+ "costStats": "Cost Stats",
+ "estimatedCost": "Estimated Cost",
+ "dailyCostThreshold": "Daily Cost Threshold",
+ "monthlyCostThreshold": "Monthly Cost Threshold",
+ "usageBehaviorStats": "Usage Behavior Stats",
+ "mostUsedLanguagePair": "Most-used language pair",
+ "mostUsedMode": "Most-used mode",
+ "asrApiCalls": "ASR Calls",
+ "totalAudioDuration": "Total Audio Duration",
+ "audioFileSize": "Audio File Size",
+ "transcriptBytes": "Transcript Bytes",
+ //通知文案
+ "loadFailed": "Load Failed",
+ "statsLoadFailedTryLater":
+ "Statistics failed to load. Please try again later.",
+ "cleanupComplete": "Cleanup Complete",
+ "cleanedOldData": "Cleaned data older than 90 days",
+ "exportFeature": "Export Feature",
+ "exportInDevelopment": "Data export is under development",
+
+ // 商品页面(AI/翻译/会议)
+ 'availablePackages': 'Available Packages',
+ 'remainingQuota': 'Remaining Quota',
+ 'totalQuota': 'Total Quota',
+ 'remaining': 'Remaining',
+ 'featureDescription': 'Feature Description',
+ // AI 功能卡片
+ 'musicAndRecommendation': 'Music & Recommendation',
+ 'navigationAndRoutes': 'Navigation & Routes',
+ 'nearbySearch': 'Nearby Search',
+ 'newsInformation': 'News',
+ 'communicationAssistant': 'Communication Assistant',
+ // 翻译功能卡片
+ 'realtimeTranscription': 'Real-time Transcription',
+ // 'textTranslation' exists
+ 'sceneLexicon': 'Scenario Glossary',
+ 'subtitleDisplay': 'Subtitles',
+ // 会议功能卡片
+ 'meetingRecording': 'Meeting Recording',
+ 'transcriptionAndSummary': 'Transcription & Summary',
+ 'keywordSearch': 'Keyword Search',
+ 'collaborationSharing': 'Collaboration & Sharing',
+ // 商品名称(按ID)
+ 'ai_001_name': 'AI Basic 100',
+ 'ai_002_name': 'AI Basic 500',
+ 'ai_003_name': 'AI Basic 1000',
+ 'meet_001_name': 'Meeting Basic 100',
+ 'meet_002_name': 'Meeting Basic 500',
+ 'meet_003_name': 'Meeting Basic 1000',
+ 'trans_001_name': 'Translation Basic 100',
+ 'trans_002_name': 'Translation Basic 500',
+ 'trans_003_name': 'Translation Basic 1000',
+
+ // 商品描述(按ID)
+ 'ai_001_desc': 'Includes 100 uses. Access core AI features.',
+ 'ai_002_desc': 'Includes 500 uses. Access core AI features.',
+ 'ai_003_desc': 'Includes 1000 uses. Access core AI features.',
+ 'meet_001_desc': 'Includes 100 meeting recordings/transcriptions.',
+ 'meet_002_desc': 'Includes 500 meeting recordings/transcriptions.',
+ 'meet_003_desc': 'Includes 1000 meeting recordings/transcriptions.',
+ 'trans_001_desc': 'Includes 100 translations (voice/text).',
+ 'trans_002_desc': 'Includes 500 translations (voice/text).',
+ 'trans_003_desc': 'Includes 1000 translations (voice/text).',
+
+ // 商品页通用页脚
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'iapCustomerServiceQQLabel': 'IAP customer service QQ: @qq',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // 会议商品页描述
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // 同传/翻译商品页描述
+ 'transHeaderDesc1':
+ 'Real-time simultaneous interpretation and text translation with low-latency voice.',
+ 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
+ 'translateZhEn': 'Chinese-English translation',
+ 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
+ 'multiLangTextTranslation': 'Multilingual text translation',
+ 'termOptimizationContextPreserve':
+ 'Terminology optimization and context preservation',
+ 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
+ 'personalVocabularyMemory': 'Personal vocabulary memory',
+ 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
+ 'colorHighContrast': 'High color contrast',
+ 'transDisclaimer':
+ 'Translation performance depends on microphone, network latency, and ambient noise.',
+
+ // AI 商品页描述
+ 'aiHeaderDesc1':
+ 'Longer conversation quota, more tool calls, extended context length.',
+ 'aiHeaderDesc2':
+ 'Suitable for agent Q&A, summarization, analysis, and task execution.',
+ 'musicSearchPlaybackControl': 'Music library search and playback control',
+ 'smartPlaylistAndSimilarRecommendations':
+ 'Smart playlist and similar song recommendations',
+ 'routePlanningAndCongestionAvoidance':
+ 'Route planning and congestion avoidance',
+ 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
+ 'realTimeWeatherForecast': 'Real-time weather and forecast',
+ 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
+ 'poiSearchFoodGasParking': 'POI search: dining / gas / parking',
+ 'ratingsHoursAndDirectRoutes': 'Ratings, business hours, and direct routing',
+ 'hotNewsAndTopicOverview': 'Hot news and topic overview',
+ 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
+ 'helpCallAndSMS': 'Help with calls and SMS',
+ 'templatedMessagesAndScheduleReminders':
+ 'Template messages and schedule reminders',
+ 'aiDisclaimer':
+ 'Features depend on device permissions, service availability, and network conditions.',
+
+ // 会员商品页
+ 'benefitsOverview': 'Benefits overview',
+ 'higherQuota': 'Higher usage quota',
+ 'lowerUnitPrice': 'Lower unit price',
+ 'priorityService': 'Priority service',
+ 'exclusiveSupportChannel': 'Dedicated support channel',
+ 'fastResponse': 'Fast issue response',
+ 'eventsAndDiscounts': 'Events and discounts',
+ 'memberExclusiveEvents': 'Member-exclusive events',
+ 'longTermDiscountPlan': 'Long-term discount plan',
+ 'generalPrivileges': 'General privileges',
+ 'earlyAccessNewFeatures': 'Early access to new features',
+ 'crossDeviceSync': 'Cross-device sync',
+ 'vipDisclaimer':
+ 'Actual benefits depend on the package details and may change with versions.',
+
+ // 新手引导 / Onboarding
+ 'skip': 'Skip',
+ 'next': 'Next',
+ 'sayLilyHint': 'Say "Lily Lily" to the mic',
+ 'imHere': 'I’m here~',
+ 'guideWelcomeWakeAI': 'Welcome to Voitrans! First, wake your AI “Lily”.',
+ 'aiReplyCompleted': 'Lily has finished the reply!',
+ 'aiThinking': 'Lily is thinking…',
+ 'guideAwakenSuccess': 'Great! Lily is awake—ask it to help.',
+ 'confirmInput': 'Confirm Input',
+ 'guideClickSendPrefix': 'Tap send, ',
+ // AI 引导步骤
+ 'guideWeatherStart': 'Tell Lily: “What’s the weather today?”',
+ 'guideWeatherInput': 'What’s the weather today?',
+ 'guideWeatherSend': 'Lily will report the weather in real time',
+ 'guideWeatherEnd': 'Lily can report weather live—try other commands',
+ 'guideMusicStart': 'Tell Lily: “Play some rock music”',
+ 'guideMusicInput': 'Play some rock music',
+ 'guideMusicSend': 'Lily will find music for you',
+ 'guideMusicEnd': 'Lily found music—try other commands',
+ 'guideNavStart': 'Tell Lily: “Navigate to Shenzhen Airport”',
+ 'guideNavInput': 'Navigate to Shenzhen Airport',
+ 'guideNavSend': 'Lily will plan the route',
+ 'guideNavEnd': 'Navigation set—try other commands',
+ 'guideMeetingStart':
+ 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
+ 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
+ 'guideMeetingSend': 'Lily will create a meeting reminder',
+ 'guideMeetingEnd': 'Reminder created—try other commands',
+ 'guidePhoneStart': 'Tell Lily: “Call Mom”',
+ 'guidePhoneInput': 'Call Mom',
+ 'guidePhoneSend': 'Lily will make the call',
+ 'guidePhoneEnd': 'Call placed—try other commands',
+ 'guideSmsStart': 'Tell Lily: “Send Dad a text: I’ll be home for dinner”',
+ 'guideSmsInput': 'Text Dad: I’ll be home for dinner',
+ 'guideSmsSend': 'Lily will send the message',
+ 'guideSmsEnd': 'Message sent—voice control is convenient',
// 商务会议助手页
"startMeeting": "Start Meeting",
@@ -438,8 +631,16 @@ const Map enUS = {
'inputAttendees': 'Enter Attendees',
// 设置页
- "systemSettings": "System Settings",
- "premiumMember": "Premium Membership",
+ "systemSettings": "System Settings", //系统设置
+ "vipRecharge": "VIP Recharge", //会员充值
+ "aiRecharge": "AI Recharge", //AI充值
+ "translationRecharge": "Translation Recharge", //翻译充值
+ "meetingAssistantRecharge": "Meeting Recharge", //会议充值
+ "cloudSync": "Cloud Sync Recharge", //云端同步
+ "memberService": "Member Service",
+ "bindRewardTitle": "Rewards",
+ "bindRewardSimpleDesc":
+ "First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Connected device:",
"accountId": "Account ID:",
"systemSetting": "System Settings",
@@ -517,7 +718,7 @@ const Map enUS = {
// Agent模块
//Agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Clear Chat History",
"online": "Online",
"inputMessage": "Type a message...",
@@ -546,9 +747,9 @@ const Map enUS = {
"voice_interrupt": "Interrupt", // 语音打断
// 预设提示词
- "presetMusic": "Play some music", // Play some music
- "presetNavigation": "Navigation to", // Navigation
- "presetWeather": "Today's weather", // Weather
+ "presetMusic": "Play some music",
+ "presetNavigation": "Navigation to",
+ "presetWeather": "Today's weather",
"presetNews": "Today's news", // News
"presetFood": "Nearby food", // Food
"playSomeMusic": "Play some popular music", // 播放一些流行音乐
@@ -558,7 +759,7 @@ const Map enUS = {
"nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller
- 'welcomeMessage': 'Hello! I\'m **Xiaoyan**, I can help you:\n\n'
+ 'welcomeMessage': 'Hello! I\'m **Lily**, I can help you:\n\n'
'• Answer questions and provide information\n\n'
'• Real-time voice translation\n\n'
'• Recommend music and podcasts\n\n'
@@ -603,7 +804,7 @@ const Map enUS = {
//Message_bubble
'generatedByAi': 'Generated by AI',
- //music_card
+ //音乐卡片 music_card
'recommendedMusic': 'Here are some recommended music:',
'playList': 'Playlist',
'moreMusic': 'More music',
@@ -618,10 +819,10 @@ const Map enUS = {
'currentLocation': 'Current Location', // 当前位置
'approximate': 'About ', // 大约
'enterRoad': ' enter ', // 进入道路
- "driving": "Driving",
- "walking": "Walking",
- "bicycling": "Cycling",
- "tsransit": "Transit",
+ "driving": "Driving", // 驾驶
+ "walking": "Walking", // 步行
+ "bicycling": "Cycling", // 骑行
+ "tsransit": "Transit", // 公交
//天气卡片 weather_card
'weatherQuery': 'Weather Query:',
@@ -653,6 +854,17 @@ const Map enUS = {
"friday": "Fri",
"saturday": "Sat",
"sunday": "Sun",
+ // First bind rewards dialog
+ "firstBindRewardTitle": "Welcome Reward",
+ "firstBindRewardDesc": "You've received binding rewards.",
+ "vipLevelLabel": "VIP Level:",
+ "expiryLabel": "Expiration:",
+ "notActivated": "Not activated",
+ "aiChatCreditsLabel": "AI Chat Credits:",
+ "translationCreditsLabel": "Translation Credits:",
+ "meetingCreditsLabel": "Meeting Credits:",
+ "ok": "OK",
+
// 天气描述
"sunny": "Sunny",
"partlyCloudy": "Partly Cloudy",
@@ -982,8 +1194,9 @@ const Map enUS = {
"pictureTranslation": "Picture Translation",
"textTranslation": "Text Translation",
- // 翻译主页
+ // 翻译主页 (translation_view.dart)
"translationHistory": "Translation History",
+ "historyRecords": "History Records",
"enableRecording": "Enable Recording",
"viewAudioFiles": "View Audio Files",
"headsetUser": "Headset User",
@@ -992,13 +1205,21 @@ const Map enUS = {
"selectTargetLanguage": "Select Target Language",
"me": "Me", //我
"counterPart": "Counterpart", //对方
+ "bluetoothCallStateError":
+ "Please make sure the Bluetooth headset is connected to the phone and in a call state", //请确保蓝牙耳机已连接到手机并处于通话状态
// 通用对话按钮与选项(用于统一语言选择弹窗等)
// 翻译键代表的中文文本内容:取消/确认/自动检测
"autoDetect": "Auto Detect",
+ // Text translation & language detection
+ "languageDetectionFailed": "Language detection failed",
+ "translationFailed": "Translation failed",
+ "pleaseInputText": "Please input text",
+ "textTooLong": "Text too long, max 5000 characters",
// 翻译历史页
"noTranslationHistory": "No translation history",
+ "clearResults": "Clear Results",
"clearHistory": "Clear History",
"clearHistoryConfirm":
"Are you sure you want to clear all translation history? This action cannot be undone.",
@@ -1007,7 +1228,58 @@ const Map enUS = {
"deleteSessionConfirm":
"Are you sure you want to delete all translation records for this session? This action cannot be undone.",
- // 翻译音频文件列表页
+ // Picture Translation module
+ "selectImageSource": "Select Image Source",
+ "imagePreview": "Image Preview",
+ "translationResult": "Translation Result",
+ "recognitionResult": "Recognition Result",
+ "translatedImagePreview": "Translated Image Preview",
+ "translatedImageLoadFailed": "Failed to load translated image",
+ "pleaseSelectImage": "Please select an image",
+ "imageLoadFailed": "Image load failed",
+ "imageQuality": "Image Quality",
+ "maxSize": "Max Size",
+ "close": "Close",
+ "setImageQuality": "Set Image Quality",
+ "currentQuality": "Current quality: @value%",
+ "setMaxSize": "Set Max Size",
+ "currentMaxSize": "Current: @pxpx",
+ "waitingForAction": "Waiting for action",
+ "pleaseSelectImageToStart": "Please select an image to start",
+ "chooseImage": "Choose Image",
+ "openingCamera": "Opening camera...",
+ "openingPhotoAlbum": "Opening photo album...",
+ "cancelled": "Cancelled",
+ "userCancelledSelection": "User cancelled selection",
+ "translatingImage": "Translating Image",
+ "callingImageTranslateService": "Calling image translation service...",
+ "savingRecord": "Saving Record",
+ "savingTranslationResult": "Saving translation result...",
+ "translationCompleted": "Translation Completed",
+ "allStepsCompleted": "All steps completed",
+ "processingFailed": "Processing Failed",
+ "imageProcessingOrTranslationFailed":
+ "Image processing or translation failed. Please retry.\nError: {error}",
+ "imageTooLarge": "Image size exceeds 4MB limit",
+ "imageTooLargeHint":
+ "Image size exceeds 4MB. Reduce quality or dimensions and retry",
+ "emptyTranslationResult": "Image translation API returned empty result",
+ "imageTranslationFailedTryLater":
+ "Image translation failed. Network issue or rate limit. Please try later",
+ "imageTranslationApiException":
+ "Image translation API exception. Check network and retry",
+ "permissionRequired": "Permission Required",
+ "cameraPermissionRequired": "Camera permission required to take photos",
+ "photoAlbumPermissionRequired":
+ "Photo album permission required to pick images",
+ "translationDetails": "Translation Details",
+ "originalImage": "Original Image",
+ "sourceLanguage": "Source Language",
+ "targetLanguage": "Target Language",
+ "translationTime": "Translation Time",
+ "shareInDevelopment": "Sharing feature under development",
+
+ // 翻译录音文件列表页
"translateAudioFiles": "Translate Audio Files",
"noAudioFiles": "No audio files",
"calculating": "Calculating...",
@@ -1053,7 +1325,7 @@ const Map enUS = {
"autoInputCode": "Auto Input Code",
"skipBinding": "Skip Binding",
"rescan": "Rescan",
- "skip": "Skip",
+
"verifyingDevice": "Verifying device...",
"confirmBinding": "Confirm Binding",
"associatingDevice": "Associating device...",
@@ -1064,7 +1336,7 @@ const Map enUS = {
"readyToPair": "Ready to pair",
"preparingPairingEnvironment": "Preparing pairing environment...",
"connectDeepSoundViaSystemBluetooth":
- "Please connect DeepSound device via system Bluetooth first",
+ "Please connect Voitrans device via system Bluetooth first",
"deviceBindingConfirm": "Device binding confirmation...",
"establishingDeviceAssociation": "Establishing device association...",
"waitingCompletePairing": "Please wait, completing pairing...",
@@ -1073,7 +1345,7 @@ const Map enUS = {
// 配对错误状态文本
"ensureConnectedDeepSoundDevice":
- "Please ensure connected device is DeepSound",
+ "Please ensure connected device is Voitrans",
"deviceAlreadyBoundToOtherAccount":
"This device is already bound to another account",
"deviceAssociationFailed": "Device association failed, please retry",
@@ -1105,7 +1377,7 @@ const Map enUS = {
'retryAuthorization': 'Retry Authorization',
'pleaseGrantNecessaryPermissions': 'Please grant necessary permissions',
'checkFailedRetry': 'Check failed, please retry',
- 'pleaseConnectDeepSoundDevice': 'Please connect DeepSound device',
+ 'pleaseConnectDeepSoundDevice': 'Please connect Voitrans device',
'verificationFailedRetry': 'Verification failed, please retry',
'invalidDeviceAddress': 'Invalid device address',
'bleDeviceAssociationFailed': 'BLE device association failed',
@@ -1216,4 +1488,18 @@ const Map enUS = {
"justNow": "Just now",
"minutesAgo": "@minutes minutes ago",
"yesterday": "Yesterday",
+ // Time extensions (used by picture translation)
+ "daysAgo": "@days days ago",
+ "hoursAgo": "@hours hours ago",
+
+ //补充
+ "insufficientIntegral": "Insufficient integral",
+
+ //余额不足弹窗
+ "insufficientBalanceDesc":
+ 'Insufficient balance, please go to the corresponding recharge page to recharge.',
+ "recharge": 'Go to Recharge',
+ // 会员到期提示(中文注释)
+ "aiMemberExpiredDesc":
+ 'AI membership expired, please go to the membership recharge page to renew.',
};
diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart
index 6ccc9dae1..76bbcc07a 100644
--- a/lib/core/translations/language/es_es.dart
+++ b/lib/core/translations/language/es_es.dart
@@ -138,7 +138,8 @@ const Map esES = {
"bluetoothInitializationFailure":
"Fallo en la inicialización del servicio Bluetooth",
"checkingPermissions": "Verificando permisos...",
- "lackPermissions": "Faltan permisos de Bluetooth",
+ "lackPermissions":
+ "Habilita permisos de Bluetooth y ubicación para descubrir y conectar dispositivos cercanos",
"searchingDevice": "Buscando dispositivos...",
"findConnectedDevice": "Dispositivo conectado encontrado",
"notFound": "No se encontraron dispositivos Bluetooth conectados",
@@ -184,22 +185,9 @@ const Map esES = {
"conferenceAssistant": "Asistente de reuniones de negocios",
"conferenceAssistantInfo":
"Grabación de actas en tiempo real y traducción multiidioma",
- "studyAssistant": "Asistente de aprendizaje de idiomas",
- "studyAssistantInfo": "Corrección de pronunciación y práctica de habla",
- "travelTranslator": "Traductor de viajes",
- "travelTranslatorInfo":
- "Traducción de voz en tiempo real y guía de atracciones turísticas",
- "beSearching": "Buscando:",
- "noAssistantFound": "No se encontró asistente de IA correspondiente",
+ "usageStats": "Estadísticas de uso",
+ "usageStatsInfo": "Consulte las estadísticas de uso de la aplicación",
"scene": "Escenarios",
- "youHaveSelected": "Has seleccionado:",
- "newFunction": "Nuevas funciones",
- "youChoseTry": "Elegiste probar",
- "aiSinger": "Modo cantante de IA",
- "aiSingerInfo":
- "Canta cualquier canción con la voz de tu artista favorito, incluso tus propias creaciones",
- "popularFunction": "Funciones populares",
- "tryNow": "Probar ahora",
// 商务会议助手页
"startMeeting": "Iniciar reunión",
@@ -215,8 +203,12 @@ const Map esES = {
'meetingTranscript': 'Transcripción de reunión',
// 设置页
- "systemSettings": "Configuración del sistema",
- "premiumMember": "Miembro premium",
+ "systemSettings": "Configuración del sistema", //系统设置
+ "vipRecharge": "Recarga de VIP", //会员充值
+ "aiRecharge": "Miembro premium", //AI充值
+ "translationRecharge": "Recarga de traducción", //翻译充值
+ "meetingAssistantRecharge": "Recarga de asistente de reunión", //会议助手充值
+ "cloudSync": "Recarga de sincronización en la nube", //云端同步
"joinDevice": "Dispositivo conectado:",
"accountId": "ID de cuenta:",
"systemSetting": "Configuración del sistema",
@@ -289,7 +281,7 @@ const Map esES = {
//Agent 模块
// agent View
- "XiaoYan": "Xiao Yan",
+ "Lily": "Lily",
"clearChatHistory": "Limpiar historial de chat",
"online": "En línea",
"inputMessage": "Ingresa mensaje...",
@@ -316,7 +308,7 @@ const Map esES = {
"swipeUpForMore": "Desliza hacia arriba para más",
// Agent controller
- 'welcomeMessage': '¡Hola! Soy **Xiao Yan**, puedo ayudarte con:\n\n'
+ 'welcomeMessage': '¡Hola! Soy **Lily**, puedo ayudarte con:\n\n'
'• Responder preguntas y proporcionar información\n\n'
'• Traducción de voz en tiempo real\n\n'
'• Recomendaciones de música y podcasts\n\n'
@@ -718,7 +710,7 @@ const Map esES = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Emparejamiento de dispositivo",
- "connectYourDeepSoundHeadset": "Conecta tus auriculares DeepSound",
+ "connectYourDeepSoundHeadset": "Conecta tus auriculares Voitrans",
"bind": "Vincular",
"authorizeBind": "Autorizar vinculación",
"enterCode": "Ingresa código",
@@ -779,7 +771,7 @@ const Map esES = {
'retryAuthorization': 'Reintentar autorización',
'pleaseGrantNecessaryPermissions': 'Otorga los permisos necesarios',
'checkFailedRetry': 'Verificación fallida, inténtalo de nuevo',
- 'pleaseConnectDeepSoundDevice': 'Conecta dispositivo DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Conecta dispositivo Voitrans',
'verificationFailedRetry': 'Verificación fallida, inténtalo de nuevo',
'invalidDeviceAddress': 'Dirección de dispositivo inválida',
'bleDeviceAssociationFailed': 'Fallo en la asociación del dispositivo BLE',
@@ -874,4 +866,38 @@ const Map esES = {
"乌尔都语": "Urdu",
"波斯语": "Persa",
"斯瓦希里语": "Suajili",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
};
diff --git a/lib/core/translations/language/et_ee.dart b/lib/core/translations/language/et_ee.dart
index 81fb35c04..ca977d0f2 100644
--- a/lib/core/translations/language/et_ee.dart
+++ b/lib/core/translations/language/et_ee.dart
@@ -135,7 +135,7 @@ const Map etEE = {
"bluetoothInitializationFailure":
"Bluetooth teenuse lähtestamine ebaõnnestus",
"checkingPermissions": "Lubade kontrollimine...",
- "lackPermissions": "Puuduvad Bluetooth load",
+ "lackPermissions": "Puuduvad Bluetooth lubad ja luba kasutamiseks loetakse",
"searchingDevice": "Seadmete otsimine...",
"findConnectedDevice": "Leitud ühendatud seade",
"notFound": "Ühendatud Bluetooth seadmeid ei leitud",
@@ -180,21 +180,9 @@ const Map etEE = {
"conferenceAssistant": "Ärikoosoleku assistent",
"conferenceAssistantInfo":
"Reaalajas protokolli salvestamine ja mitmekeelne tõlge",
- "studyAssistant": "Keeleõppe assistent",
- "studyAssistantInfo": "Häälduse parandamine ja kõne harjutamine",
- "travelTranslator": "Reisi tõlkija",
- "travelTranslatorInfo": "Reaalajas häältõlge ja vaatamisväärsuste giid",
- "beSearching": "Otsimine:",
- "noAssistantFound": "Vastavat AI assistenti ei leitud",
+ "usageStats": "Kasutamise statistika",
+ "usageStatsInfo": "Näita sovelluksen kasutamise statistikat",
"scene": "Stsenaariumid",
- "youHaveSelected": "Oled valinud:",
- "newFunction": "Uued funktsioonid",
- "youChoseTry": "Valisid proovida",
- "aiSinger": "AI laulja režiim",
- "aiSingerInfo":
- "Laula mis tahes laulu oma lemmikartisti häälega, isegi oma loominguga",
- "popularFunction": "Populaarsed funktsioonid",
- "tryNow": "Proovi kohe",
// 商务会议助手页
"startMeeting": "Alusta koosolekut",
@@ -210,8 +198,12 @@ const Map etEE = {
'meetingTranscript': 'Koosoleku transkriptsioon',
// 设置页
- "systemSettings": "Süsteemi seaded",
- "premiumMember": "Premium liige",
+ "systemSettings": "Süsteemi seaded", //系统设置
+ "vipRecharge": "VIP liige varundus", //会员充值
+ "aiRecharge": "Premium liige", //AI充值
+ "translationRecharge": "Tõlke varundus", //翻译充值
+ "meetingAssistantRecharge": "Koosoleku assistendi varundus", //会议助手充值
+ "cloudSync": "Pääsyvaraus cloud-synkronointiin", //云端同步
"joinDevice": "Ühendatud seade:",
"accountId": "Konto ID:",
"systemSetting": "Süsteemi seaded",
@@ -281,7 +273,7 @@ const Map etEE = {
//Agent 模块
// agent View
- "XiaoYan": "Xiao Yan",
+ "Lily": "Lily",
"clearChatHistory": "Tühjenda vestluse ajalugu",
"online": "Võrgus",
"inputMessage": "Sisesta sõnum...",
@@ -308,7 +300,7 @@ const Map etEE = {
"swipeUpForMore": "Libista üles rohkema jaoks",
// Agent controller
- 'welcomeMessage': 'Tere! Olen **Xiao Yan**, saan sind aidata:\n\n'
+ 'welcomeMessage': 'Tere! Olen **Lily**, saan sind aidata:\n\n'
'• Küsimustele vastamine ja info andmine\n\n'
'• Reaalajas häältõlge\n\n'
'• Muusika ja podcastide soovitused\n\n'
@@ -700,7 +692,7 @@ const Map etEE = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Seadme sidumine",
- "connectYourDeepSoundHeadset": "Ühenda oma DeepSound kõrvaklapid",
+ "connectYourDeepSoundHeadset": "Ühenda oma Voitrans kõrvaklapid",
"bind": "Seo",
"authorizeBind": "Autoriseeri sidumine",
"enterCode": "Sisesta kood",
@@ -756,7 +748,7 @@ const Map etEE = {
'retryAuthorization': 'Proovi autoriseerimist uuesti',
'pleaseGrantNecessaryPermissions': 'Anna vajalikud load',
'checkFailedRetry': 'Kontrollimine ebaõnnestus, proovi uuesti',
- 'pleaseConnectDeepSoundDevice': 'Ühenda DeepSound seade',
+ 'pleaseConnectDeepSoundDevice': 'Ühenda Voitrans seade',
'verificationFailedRetry': 'Kontrollimine ebaõnnestus, proovi uuesti',
'invalidDeviceAddress': 'Vigane seadme aadress',
'bleDeviceAssociationFailed': 'BLE seadme seostamine ebaõnnestus',
diff --git a/lib/core/translations/language/fa_ir.dart b/lib/core/translations/language/fa_ir.dart
index ced6ac8cf..aa577fcbc 100644
--- a/lib/core/translations/language/fa_ir.dart
+++ b/lib/core/translations/language/fa_ir.dart
@@ -133,7 +133,8 @@ const Map faIR = {
"initializing": "در حال آمادهسازی...",
"bluetoothInitializationFailure": "آمادهسازی سرویس بلوتوث ناموفق بود",
"checkingPermissions": "در حال بررسی مجوزها...",
- "lackPermissions": "مجوزهای بلوتوث مورد نیاز است",
+ "lackPermissions":
+ "مجوزهای بلوتوث مورد نیاز است و دسترسی به لوکیشن نیز لازم است",
"searchingDevice": "در حال جستجوی دستگاهها...",
"findConnectedDevice": "دستگاه متصل پیدا شد",
"notFound": "دستگاه بلوتوث متصلی پیدا نشد",
@@ -162,7 +163,7 @@ const Map faIR = {
"exploreSlogan": "ایربادهای هوشمند، امکانات بیپایان",
"exploreSlogan1": "همراه هوشمند، امکانات بیپایان",
"exploreSlogan2": "عینک هوشمند، امکانات بیپایان",
- "exploreAi": "کاوش ویژگیهای هوش مصنوعی ارائهشده توسط DeepSound",
+ "exploreAi": "کاوش ویژگیهای هوش مصنوعی ارائهشده توسط Voitrans",
"aiFunction": "ویژگیهای هوش مصنوعی",
"allRoundAssistant": "دستیار همهکاره",
"allRoundAssistantInfo": "به حل مشکلات مختلف کمک میکند",
@@ -177,21 +178,9 @@ const Map faIR = {
"healthConsultantInfo": "ویژگیهای بیشتر چت هوش مصنوعی",
"conferenceAssistant": "دستیار جلسات کاری",
"conferenceAssistantInfo": "ضبط صورتجلسه همزمان و ترجمه چندزبانه",
- "studyAssistant": "دستیار یادگیری زبان",
- "studyAssistantInfo": "تصحیح تلفظ و تمرین مکالمه",
- "travelTranslator": "مترجم سفر",
- "travelTranslatorInfo": "ترجمه صوتی همزمان و راهنمای جاذبهها",
- "beSearching": "در حال جستجو برای:",
- "noAssistantFound": "دستیار هوش مصنوعی مورد نظر یافت نشد",
+ "usageStats": "استفاده از خدمات",
+ "usageStatsInfo": "دیدن آمار مصرف سرویسها",
"scene": "سناریوها",
- "youHaveSelected": "شما انتخاب کردید:",
- "newFunction": "ویژگیهای جدید",
- "youChoseTry": "شما انتخاب کردید که امتحان کنید",
- "aiSinger": "حالت خواننده هوش مصنوعی",
- "aiSingerInfo":
- "هر آهنگی را با صدای هنرمند مورد علاقه خود بخوانید، حتی ساختههای خودتان",
- "popularFunction": "ویژگیهای محبوب",
- "tryNow": "اکنون امتحان کنید",
// 商务会议助手页
"startMeeting": "شروع جلسه",
@@ -428,8 +417,12 @@ const Map faIR = {
'inputAttendees': 'ورود شرکتکنندگان',
// 设置页
- "systemSettings": "تنظیمات سیستم",
- "premiumMember": "عضویت ویژه",
+ "systemSettings": "تنظیمات سیستم", //系统设置
+ "vipRecharge": "شارژ عضویت ویژه", //会员充值
+ "aiRecharge": "عضویت ویژه", //AI充值
+ "translationRecharge": "شارژ ترجمه", //翻译充值
+ "meetingAssistantRecharge": "شارژ کمککننده جلسه", //会议助手充值
+ "cloudSync": "شارژ همگامسازی ابری", //云端同步
"joinDevice": "دستگاه متصل:",
"accountId": "شناسه حساب:",
"systemSetting": "تنظیمات سیستم",
@@ -498,7 +491,7 @@ const Map faIR = {
// Agent模块
//Agent View
- "XiaoYan": "شیائویان",
+ "Lily": "Lily",
"clearChatHistory": "پاک کردن تاریخچه چت",
"online": "آنلاین",
"inputMessage": "پیامی تایپ کنید...",
@@ -1035,7 +1028,7 @@ const Map faIR = {
"readyToPair": "آماده برای جفتسازی",
"preparingPairingEnvironment": "در حال آمادهسازی محیط جفتسازی...",
"connectDeepSoundViaSystemBluetooth":
- "لطفاً ابتدا دستگاه DeepSound را از طریق بلوتوث سیستم متصل کنید",
+ "لطفاً ابتدا دستگاه Voitrans را از طریق بلوتوث سیستم متصل کنید",
"deviceBindingConfirm": "تأیید اتصال دستگاه...",
"establishingDeviceAssociation": "در حال برقراری ارتباط دستگاه...",
"waitingCompletePairing": "لطفاً صبر کنید، در حال تکمیل جفتسازی...",
@@ -1044,7 +1037,7 @@ const Map faIR = {
// 配对错误状态文本
"ensureConnectedDeepSoundDevice":
- "لطفاً اطمینان حاصل کنید که دستگاه متصل DeepSound است",
+ "لطفاً اطمینان حاصل کنید که دستگاه متصل Voitrans است",
"deviceAlreadyBoundToOtherAccount":
"این دستگاه قبلاً به حساب دیگری متصل شده است",
"deviceAssociationFailed": "ارتباط دستگاه ناموفق بود، لطفاً دوباره تلاش کنید",
@@ -1071,7 +1064,7 @@ const Map faIR = {
'retryAuthorization': 'تلاش مجدد برای مجوز',
'pleaseGrantNecessaryPermissions': 'لطفاً مجوزهای لازم را اعطا کنید',
'checkFailedRetry': 'بررسی ناموفق بود، لطفاً دوباره تلاش کنید',
- 'pleaseConnectDeepSoundDevice': 'لطفاً دستگاه DeepSound را متصل کنید',
+ 'pleaseConnectDeepSoundDevice': 'لطفاً دستگاه Voitrans را متصل کنید',
'verificationFailedRetry': 'تأیید ناموفق بود، لطفاً دوباره تلاش کنید',
'invalidDeviceAddress': 'آدرس دستگاه نامعتبر است',
'bleDeviceAssociationFailed': 'ارتباط دستگاه BLE ناموفق بود',
diff --git a/lib/core/translations/language/fi_fi.dart b/lib/core/translations/language/fi_fi.dart
index e9bd336fd..b1d4c535a 100644
--- a/lib/core/translations/language/fi_fi.dart
+++ b/lib/core/translations/language/fi_fi.dart
@@ -136,7 +136,8 @@ const Map fiFI = {
"initializing": "Alustetaan...",
"bluetoothInitializationFailure": "Bluetooth-palvelun alustus epäonnistui",
"checkingPermissions": "Tarkistetaan käyttöoikeuksia...",
- "lackPermissions": "Bluetooth-käyttöoikeudet puuttuvat",
+ "lackPermissions":
+ "Bluetooth-käyttöoikeudet puuttuvat ja lokaatioon pääsy on tarpeen",
"searchingDevice": "Etsitään laitteita...",
"findConnectedDevice": "Yhdistetty laite löytyi",
"notFound": "Yhdistettyä Bluetooth-laitetta ei löytynyt",
@@ -181,22 +182,9 @@ const Map fiFI = {
"conferenceAssistant": "Yrityskokousavustaja",
"conferenceAssistantInfo":
"Reaaliaikainen pöytäkirjan pito, monikielinen käännös",
- "studyAssistant": "Kielenoppimisavustaja",
- "studyAssistantInfo": "Ääntämisen korjaus, reaaliaikainen puheharjoittelu",
- "travelTranslator": "Matkakäännösavustaja",
- "travelTranslatorInfo":
- "Reaaliaikainen puhekäännös, matkailukohteiden esittely",
- "beSearching": "Etsitään:",
- "noAssistantFound": "Vastaavaa AI-avustajaa ei löytynyt",
+ "usageStats": "Käyttöstatistiikka",
+ "usageStatsInfo": "Näytä sovelluksen käytön statistiikka",
"scene": "Skenaario",
- "youHaveSelected": "Olet valinnut:",
- "newFunction": "Uusi toiminto",
- "youChoseTry": "Valitsit kokeilla",
- "aiSinger": "AI-laulaja-tila",
- "aiSingerInfo":
- "Laula mikä tahansa kappale suosikkilaulajasi äänellä, jopa omat sävellyksesi",
- "popularFunction": "Suositut toimintoskenaariot",
- "tryNow": "Kokeile nyt",
// 商务会议助手页
"startMeeting": "Aloita kokous",
@@ -212,8 +200,12 @@ const Map fiFI = {
'meetingTranscript': 'Kokouksen transkriptio',
// 设置页
- "systemSettings": "Järjestelmäasetukset",
- "premiumMember": "Premium-jäsen",
+ "systemSettings": "Järjestelmäasetukset", //系统设置
+ "vipRecharge": "Premium-jäsenvaraus", //会员充值
+ "aiRecharge": "Premium-jäsen", //AI充值
+ "translationRecharge": "Käännösvaraus", //翻译充值
+ "meetingAssistantRecharge": "Kokousavustajan varaus", //会议助手充值
+ "cloudSync": "Pääsyvaraus cloud-synkronointiin", //云端同步
"joinDevice": "Yhdistetty laite:",
"accountId": "Tilin tunnus:",
"systemSetting": "Järjestelmäasetukset",
@@ -283,7 +275,7 @@ const Map fiFI = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Tyhjennä keskusteluhistoria",
"online": "Online",
"inputMessage": "Kirjoita viesti...",
@@ -310,7 +302,7 @@ const Map fiFI = {
"swipeUpForMore": "Pyyhkäise ylös nähdäksesi lisää",
// Agent controller
- 'welcomeMessage': 'Hei! Olen **XiaoYan**, voin auttaa sinua:\n\n'
+ 'welcomeMessage': 'Hei! Olen **Lily**, voin auttaa sinua:\n\n'
'• Vastaamaan kysymyksiin ja antamaan tietoa\n\n'
'• Reaaliaikaisessa puhekäännöksessä\n\n'
'• Suosittelemaan musiikkia ja podcasteja\n\n'
@@ -697,7 +689,7 @@ const Map fiFI = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Laitteen paritus",
- "connectYourDeepSoundHeadset": "Yhdistä DeepSound-kuulokkeesi",
+ "connectYourDeepSoundHeadset": "Yhdistä Voitrans-kuulokkeesi",
"bind": "Sido",
"authorizeBind": "Valtuuta sidonta",
"enterCode": "Anna koodi",
@@ -715,7 +707,7 @@ const Map fiFI = {
"readyToPair": "Valmis paritukseen",
"preparingPairingEnvironment": "Valmistellaan paritusympäristöä...",
"connectDeepSoundViaSystemBluetooth":
- "Yhdistä ensin DeepSound-laitteeseen järjestelmän Bluetoothin kautta",
+ "Yhdistä ensin Voitrans-laitteeseen järjestelmän Bluetoothin kautta",
"deviceBindingConfirm": "Laitteen sidonnan vahvistus...",
"establishingDeviceAssociation": "Luodaan laiteyhteyttä...",
"waitingCompletePairing": "Odota, paritus on valmis...",
@@ -750,7 +742,7 @@ const Map fiFI = {
'retryAuthorization': 'Yritä valtuutusta uudelleen',
'pleaseGrantNecessaryPermissions': 'Myönnä tarvittavat käyttöoikeudet',
'checkFailedRetry': 'Tarkistus epäonnistui, yritä uudelleen',
- 'pleaseConnectDeepSoundDevice': 'Yhdistä DeepSound-laite',
+ 'pleaseConnectDeepSoundDevice': 'Yhdistä Voitrans-laite',
'verificationFailedRetry': 'Vahvistus epäonnistui, yritä uudelleen',
'invalidDeviceAddress': 'Virheellinen laiteosoite',
'bleDeviceAssociationFailed': 'BLE-laiteyhteyden luominen epäonnistui',
diff --git a/lib/core/translations/language/fr_fr.dart b/lib/core/translations/language/fr_fr.dart
index ad0f7c7a7..079135fa0 100644
--- a/lib/core/translations/language/fr_fr.dart
+++ b/lib/core/translations/language/fr_fr.dart
@@ -139,7 +139,8 @@ const Map frFR = {
"bluetoothInitializationFailure":
"Échec de l'initialisation du service Bluetooth",
"checkingPermissions": "Vérification des autorisations...",
- "lackPermissions": "Autorisations Bluetooth requises",
+ "lackPermissions":
+ "Autorisations Bluetooth requises et accès à la localisation nécessaire",
"searchingDevice": "Recherche d'appareils...",
"findConnectedDevice": "Appareil connecté trouvé",
"notFound": "Aucun appareil Bluetooth connecté trouvé",
@@ -186,23 +187,9 @@ const Map frFR = {
"conferenceAssistant": "Assistant de réunion d'affaires",
"conferenceAssistantInfo":
"Enregistrement de procès-verbaux en temps réel et traduction multilingue",
- "studyAssistant": "Assistant d'apprentissage des langues",
- "studyAssistantInfo":
- "Correction de prononciation et pratique de l'expression orale",
- "travelTranslator": "Traducteur de voyage",
- "travelTranslatorInfo":
- "Traduction vocale en temps réel et guides d'attractions",
- "beSearching": "Recherche de :",
- "noAssistantFound": "Aucun assistant IA correspondant trouvé",
+ "usageStats": "Statistiques d'utilisation",
+ "usageStatsInfo": "Consultez les statistiques d'utilisation de l'application",
"scene": "Scénarios",
- "youHaveSelected": "Vous avez sélectionné :",
- "newFunction": "Nouvelles fonctions",
- "youChoseTry": "Vous avez choisi d'essayer",
- "aiSinger": "Mode chanteur IA",
- "aiSingerInfo":
- "Chantez n'importe quelle chanson avec la voix de votre artiste préféré, même vos propres créations",
- "popularFunction": "Fonctions populaires",
- "tryNow": "Essayer maintenant",
// 商务会议助手页
"startMeeting": "Démarrer la réunion",
@@ -218,8 +205,12 @@ const Map frFR = {
'meetingTranscript': 'Transcription de la réunion',
// 设置页
- "systemSettings": "Paramètres système",
- "premiumMember": "Membre premium",
+ "systemSettings": "Paramètres système", //系统设置
+ "vipRecharge": "Recharge de VIP", //会员充值
+ "aiRecharge": "Membre premium", //AI充值
+ "translationRecharge": "Recharge de traduction", //翻译充值
+ "meetingAssistantRecharge": "Recharge de l'assistant de réunion", //会议助手充值
+ "cloudSync": "Recharge de synchronisation cloud", //云端同步
"joinDevice": "Appareil connecté :",
"accountId": "ID du compte :",
"systemSetting": "Paramètres système",
@@ -292,7 +283,7 @@ const Map frFR = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Effacer l'historique de chat",
"online": "En ligne",
"inputMessage": "Saisir un message...",
@@ -320,14 +311,13 @@ const Map frFR = {
"swipeUpForMore": "Glisser vers le haut pour plus",
// Agent controller
- 'welcomeMessage':
- 'Bonjour ! Je suis **XiaoYan**, je peux vous aider avec :\n\n'
- '• Répondre aux questions et fournir des informations\n\n'
- '• Traduction vocale en temps réel\n\n'
- '• Recommander de la musique et des podcasts\n\n'
- '• Mémos vocaux et rappels\n\n'
- '• Contrôler les fonctions des écouteurs\n\n'
- 'Comment puis-je vous aider ?',
+ 'welcomeMessage': 'Bonjour ! Je suis **Lily**, je peux vous aider avec :\n\n'
+ '• Répondre aux questions et fournir des informations\n\n'
+ '• Traduction vocale en temps réel\n\n'
+ '• Recommander de la musique et des podcasts\n\n'
+ '• Mémos vocaux et rappels\n\n'
+ '• Contrôler les fonctions des écouteurs\n\n'
+ 'Comment puis-je vous aider ?',
'microphonePermission': 'Microphone',
'voiceRecognitionPermissionText':
'La fonction de reconnaissance vocale nécessite l\'accès au microphone.',
@@ -724,7 +714,7 @@ const Map frFR = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Appairage d'appareil",
- "connectYourDeepSoundHeadset": "Connectez votre casque DeepSound",
+ "connectYourDeepSoundHeadset": "Connectez votre casque Voitrans",
"bind": "Lier",
"authorizeBind": "Autoriser la liaison",
"enterCode": "Veuillez saisir le code",
@@ -743,7 +733,7 @@ const Map frFR = {
"preparingPairingEnvironment":
"Préparation de l'environnement d'appairage...",
"connectDeepSoundViaSystemBluetooth":
- "Veuillez d'abord connecter l'appareil DeepSound via le Bluetooth système",
+ "Veuillez d'abord connecter l'appareil Voitrans via le Bluetooth système",
"deviceBindingConfirm": "Confirmation de liaison d'appareil...",
"establishingDeviceAssociation":
"Établissement de l'association d'appareil...",
@@ -753,7 +743,7 @@ const Map frFR = {
// 配对错误状态文本
"ensureConnectedDeepSoundDevice":
- "Veuillez vous assurer que l'appareil connecté est DeepSound",
+ "Veuillez vous assurer que l'appareil connecté est Voitrans",
"deviceAlreadyBoundToOtherAccount":
"Cet appareil est déjà lié à un autre compte",
"deviceAssociationFailed":
@@ -788,7 +778,7 @@ const Map frFR = {
'pleaseGrantNecessaryPermissions':
'Veuillez accorder les autorisations nécessaires',
'checkFailedRetry': 'Échec de la vérification, veuillez réessayer',
- 'pleaseConnectDeepSoundDevice': 'Veuillez connecter l\'appareil DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Veuillez connecter l\'appareil Voitrans',
'verificationFailedRetry': 'Échec de la vérification, veuillez réessayer',
'invalidDeviceAddress': 'Adresse d\'appareil invalide',
'bleDeviceAssociationFailed': 'Échec de l\'association d\'appareil BLE',
@@ -883,4 +873,38 @@ const Map frFR = {
"乌尔都语": "Ourdou",
"波斯语": "Persan",
"斯瓦希里语": "Swahili",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
};
diff --git a/lib/core/translations/language/hi_in.dart b/lib/core/translations/language/hi_in.dart
index 58c9c48bb..187bc6c3e 100644
--- a/lib/core/translations/language/hi_in.dart
+++ b/lib/core/translations/language/hi_in.dart
@@ -134,7 +134,8 @@ const Map hiIN = {
"initializing": "प्रारंभ हो रहा है...",
"bluetoothInitializationFailure": "ब्लूटूथ सेवा प्रारंभ करने में विफल",
"checkingPermissions": "अनुमतियों की जाँच हो रही है...",
- "lackPermissions": "ब्लूटूथ अनुमतियों की कमी है",
+ "lackPermissions":
+ "ब्लूटूथ अनुमतियों की कमी है और लोकेशन तक पहुंच नहीं सकता है",
"searchingDevice": "डिवाइस खोज रहा है...",
"findConnectedDevice": "कनेक्टेड डिवाइस मिला",
"notFound": "कोई कनेक्टेड ब्लूटूथ डिवाइस नहीं मिला",
@@ -179,21 +180,9 @@ const Map hiIN = {
"conferenceAssistant": "बिजनेस मीटिंग असिस्टेंट",
"conferenceAssistantInfo":
"रीयल-टाइम मीटिंग मिनट रिकॉर्डिंग, बहु-भाषा अनुवाद",
- "studyAssistant": "भाषा सीखने का सहायक",
- "studyAssistantInfo": "उच्चारण सुधार, रीयल-टाइम बोलने का अभ्यास",
- "travelTranslator": "यात्रा अनुवाद सहायक",
- "travelTranslatorInfo": "रीयल-टाइम वॉयस अनुवाद, पर्यटन स्थलों का परिचय",
- "beSearching": "खोज रहा है:",
- "noAssistantFound": "कोई संबंधित एआई सहायक नहीं मिला",
+ "usageStats": "उपयोग सtatistik",
+ "usageStatsInfo": "अप्लिकेशन का उपयोग सtatistik देखें",
"scene": "दृश्य",
- "youHaveSelected": "आपने चुना है:",
- "newFunction": "नया फ़ंक्शन",
- "youChoseTry": "आपने कोशिश करने के लिए चुना",
- "aiSinger": "एआई सिंगर मोड",
- "aiSingerInfo":
- "अपने पसंदीदा गायक की आवाज में कोई भी गाना गाएं, यहां तक कि अपनी खुद की रचनाएं भी",
- "popularFunction": "लोकप्रिय फ़ंक्शन दृश्य",
- "tryNow": "अभी চেষ্টা করুন",
// 商务会议助手页
"startMeeting": "बैठक शुरू करें",
@@ -209,8 +198,12 @@ const Map hiIN = {
'meetingTranscript': 'बैठक का प्रतिलेख',
// 设置页
- "systemSettings": "सिस्टम सेटिंग्स",
- "premiumMember": "प्रीमियम सदस्य",
+ "systemSettings": "सिस्टम सेटिंग्स", //系统设置
+ "vipRecharge": "प्रीमियम सदस्य रिचार्ज", //会员充值
+ "aiRecharge": "प्रीमियम सदस्य", //AI充值
+ "translationRecharge": "अनुवाद रिचार्ज", //翻译充值
+ "meetingAssistantRecharge": "बैठक असिस्टेंट रिचार्ज", //会议助手充值
+ "cloudSync": "क्लाउड सिंक्रोनाइज़ेशन रिचार्ज", //云端同步
"joinDevice": "कनेक्टेड डिवाइस:",
"accountId": "खाता आईडी:",
"systemSetting": "सिस्टम सेटिंग",
@@ -279,7 +272,7 @@ const Map hiIN = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "चैट इतिहास साफ़ करें",
"online": "ऑनलाइन",
"inputMessage": "संदेश दर्ज करें...",
@@ -307,7 +300,7 @@ const Map hiIN = {
"swipeUpForMore": "अधिक के लिए ऊपर स्वाइप करें",
// Agent controller
- 'welcomeMessage': 'नमस्ते! मैं **XiaoYan** हूँ, मैं आपकी मदद कर सकता हूँ:\n\n'
+ 'welcomeMessage': 'नमस्ते! मैं **Lily** हूँ, मैं आपकी मदद कर सकता हूँ:\n\n'
'• सवालों के जवाब देना और जानकारी प्रदान करना\n\n'
'• रीयल-टाइम वॉयस अनुवाद\n\n'
'• संगीत और पॉडकास्ट की सिफारिश करना\n\n'
@@ -698,7 +691,7 @@ const Map hiIN = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "डिवाइस पेयरिंग",
- "connectYourDeepSoundHeadset": "अपना DeepSound हेडसेट कनेक्ट करें",
+ "connectYourDeepSoundHeadset": "अपना Voitrans हेडसेट कनेक्ट करें",
"bind": "बाँधें",
"authorizeBind": "बाँधने को अधिकृत करें",
"enterCode": "कृपया कोड दर्ज करें",
@@ -753,7 +746,7 @@ const Map hiIN = {
'retryAuthorization': 'प्राधिकरण पुनः प्रयास करें',
'pleaseGrantNecessaryPermissions': 'कृपया आवश्यक अनुमतियाँ दें',
'checkFailedRetry': 'जाँच विफल, कृपया पुनः प्रयास करें',
- 'pleaseConnectDeepSoundDevice': 'कृपया एक DeepSound डिवाइस कनेक्ट करें',
+ 'pleaseConnectDeepSoundDevice': 'कृपया एक Voitrans डिवाइस कनेक्ट करें',
'verificationFailedRetry': 'सत्यापन विफल, कृपया पुनः प्रयास करें',
'invalidDeviceAddress': 'अमान्य डिवाइस पता',
'bleDeviceAssociationFailed': 'BLE डिवाइस एसोसिएशन विफल',
@@ -848,4 +841,109 @@ const Map hiIN = {
"乌尔都语": "उर्दू",
"波斯语": "फारसी",
"斯瓦希里语": "स्वाहिली",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'रीयल-टाइम समकालीन व्याख्या और पाठ अनुवाद, कम विलंबता वॉइस प्रसारण के साथ।',
+ 'transHeaderDesc2': 'यात्रा, व्यवसाय, भाषण और शिक्षण के लिए उपयुक्त।',
+ 'translateZhEn': 'चीनी-अंग्रेज़ी अनुवाद',
+ 'lowLatencyVoiceBroadcast': 'कम विलंबता वॉइस प्रसारण',
+ 'multiLangTextTranslation': 'बहुभाषी पाठ अनुवाद',
+ 'termOptimizationContextPreserve':
+ 'पारिभाषिक शब्दों का अनुकूलन और संदर्भ बनाए रखना',
+ 'lexiconTourBusinessLife': 'यात्रा/व्यवसाय/जीवन शब्दकोश',
+ 'personalVocabularyMemory': 'व्यक्तिगत शब्दावली स्मृति',
+ 'conversationSubtitleLargeText': 'वार्तालाप उपशीर्षक / बड़े-टेक्स्ट मोड',
+ 'colorHighContrast': 'उच्च रंग-विपरीत',
+ 'transDisclaimer':
+ 'अनुवाद की गुणवत्ता माइक्रोफोन, नेटवर्क विलंबता और परिवेशी शोर पर निर्भर करती है।',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'लाभों का अवलोकन',
+ 'higherQuota': 'उच्च उपयोग कोटा',
+ 'lowerUnitPrice': 'कम इकाई मूल्य',
+ 'priorityService': 'प्राथमिकता सेवा',
+ 'exclusiveSupportChannel': 'समर्पित सहायता चैनल',
+ 'fastResponse': 'समस्याओं पर तेज़ प्रतिक्रिया',
+ 'eventsAndDiscounts': 'इवेंट और छूट',
+ 'memberExclusiveEvents': 'सदस्य-विशेष इवेंट',
+ 'longTermDiscountPlan': 'दीर्घकालीन छूट योजना',
+ 'generalPrivileges': 'सामान्य विशेषाधिकार',
+ 'earlyAccessNewFeatures': 'नई सुविधाओं का प्रारंभिक उपयोग',
+ 'crossDeviceSync': 'क्रॉस-डिवाइस सिंक',
+ 'vipDisclaimer':
+ 'वास्तविक लाभ पैकेज विवरण पर निर्भर करते हैं और संस्करणों के साथ बदल सकते हैं।',
+ // Goods names by id
+ 'ai_001_name': 'एआई बेसिक 100',
+ 'ai_002_name': 'एआई बेसिक 500',
+ 'ai_003_name': 'एआई बेसिक 1000',
+ 'meet_001_name': 'मीटिंग बेसिक 100',
+ 'meet_002_name': 'मीटिंग बेसिक 500',
+ 'meet_003_name': 'मीटिंग बेसिक 1000',
+ 'trans_001_name': 'अनुवाद बेसिक 100',
+ 'trans_002_name': 'अनुवाद बेसिक 500',
+ 'trans_003_name': 'अनुवाद बेसिक 1000',
+ // Goods descriptions by id
+ 'ai_001_desc': '100 उपयोग शामिल। मुख्य AI सुविधाओं की पहुँच।',
+ 'ai_002_desc': '500 उपयोग शामिल। मुख्य AI सुविधाओं की पहुँच।',
+ 'ai_003_desc': '1000 उपयोग शामिल। मुख्य AI सुविधाओं की पहुँच।',
+ 'meet_001_desc': '100 बैठक रिकॉर्डिंग/ट्रांसक्रिप्शन शामिल।',
+ 'meet_002_desc': '500 बैठक रिकॉर्डिंग/ट्रांसक्रिप्शन शामिल।',
+ 'meet_003_desc': '1000 बैठक रिकॉर्डिंग/ट्रांसक्रिप्शन शामिल।',
+ 'trans_001_desc': '100 अनुवाद (वॉयस/टेक्स्ट) शामिल।',
+ 'trans_002_desc': '500 अनुवाद (वॉयस/टेक्स्ट) शामिल।',
+ 'trans_003_desc': '1000 अनुवाद (वॉयस/टेक्स्ट) शामिल।',
};
diff --git a/lib/core/translations/language/hr_hr.dart b/lib/core/translations/language/hr_hr.dart
index bd42f68a5..a98916deb 100644
--- a/lib/core/translations/language/hr_hr.dart
+++ b/lib/core/translations/language/hr_hr.dart
@@ -137,7 +137,8 @@ const Map hrHR = {
"bluetoothInitializationFailure":
"Inicijalizacija Bluetooth usluge nije uspjela",
"checkingPermissions": "Provjera dopuštenja...",
- "lackPermissions": "Nedostaju Bluetooth dopuštenja",
+ "lackPermissions":
+ "Nedostaju Bluetooth dopuštenja i pristup lokacijskom podacima je potrebno",
"searchingDevice": "Pretraživanje uređaja...",
"findConnectedDevice": "Pronađen povezan uređaj",
"notFound": "Nije pronađen povezan Bluetooth uređaj",
@@ -183,23 +184,9 @@ const Map hrHR = {
"conferenceAssistant": "Asistent za poslovne sastanke",
"conferenceAssistantInfo":
"Bilježenje zapisnika u stvarnom vremenu, višejezični prijevod",
- "studyAssistant": "Asistent za učenje jezika",
- "studyAssistantInfo":
- "Ispravak izgovora, vježbanje govora u stvarnom vremenu",
- "travelTranslator": "Asistent za prevođenje na putovanjima",
- "travelTranslatorInfo":
- "Glasovni prijevod u stvarnom vremenu, predstavljanje turističkih atrakcija",
- "beSearching": "Traženje:",
- "noAssistantFound": "Nije pronađen odgovarajući AI asistent",
+ "usageStats": "Statistika upotrebe",
+ "usageStatsInfo": "Pregledajte statistiku upotrebe aplikacije",
"scene": "Scenarij",
- "youHaveSelected": "Odabrali ste:",
- "newFunction": "Nova funkcija",
- "youChoseTry": "Odabrali ste isprobati",
- "aiSinger": "AI pjevač način rada",
- "aiSingerInfo":
- "Pjevajte bilo koju pjesmu glasom svog omiljenog pjevača, čak i vlastite skladbe",
- "popularFunction": "Popularni scenariji funkcija",
- "tryNow": "Isprobaj sada",
// 商务会议助手页
"startMeeting": "Započni sastanak",
@@ -215,8 +202,12 @@ const Map hrHR = {
'meetingTranscript': 'Transkript sastanka',
// 设置页
- "systemSettings": "Postavke sustava",
- "premiumMember": "Premium član",
+ "systemSettings": "Postavke sustava", //系统设置
+ "vipRecharge": "Ponuda premium članstva", //会员充值
+ "aiRecharge": "Premium član", //AI充值
+ "translationRecharge": "Prijevod ponuda", //翻译充值
+ "meetingAssistantRecharge": "Asistent sastanka ponuda", //会议助手充值
+ "cloudSync": "Synchronizacija u oblaku ponuda", //云端同步
"joinDevice": "Povezan uređaj:",
"accountId": "ID računa:",
"systemSetting": "Postavke sustava",
@@ -285,7 +276,7 @@ const Map hrHR = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Obriši povijest razgovora",
"online": "Na mreži",
"inputMessage": "Unesite poruku...",
@@ -312,7 +303,7 @@ const Map hrHR = {
"swipeUpForMore": "Prijeđite prstom prema gore za više",
// Agent controller
- 'welcomeMessage': 'Zdravo! Ja sam **XiaoYan**, mogu vam pomoći:\n\n'
+ 'welcomeMessage': 'Zdravo! Ja sam **Lily**, mogu vam pomoći:\n\n'
'• Odgovarati na pitanja i pružati informacije\n\n'
'• Glasovno prevođenje u stvarnom vremenu\n\n'
'• Preporučivati glazbu i podcaste\n\n'
@@ -702,7 +693,7 @@ const Map hrHR = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Uparivanje uređaja",
- "connectYourDeepSoundHeadset": "Povežite svoje DeepSound slušalice",
+ "connectYourDeepSoundHeadset": "Povežite svoje Voitrans slušalice",
"bind": "Poveži",
"authorizeBind": "Autoriziraj povezivanje",
"enterCode": "Unesite kod",
diff --git a/lib/core/translations/language/hu_hu.dart b/lib/core/translations/language/hu_hu.dart
index b503a87c7..375f8a3f2 100644
--- a/lib/core/translations/language/hu_hu.dart
+++ b/lib/core/translations/language/hu_hu.dart
@@ -139,7 +139,8 @@ const Map huHU = {
"bluetoothInitializationFailure":
"A Bluetooth szolgáltatás inicializálása sikertelen",
"checkingPermissions": "Engedélyek ellenőrzése...",
- "lackPermissions": "Hiányoznak a Bluetooth engedélyek",
+ "lackPermissions":
+ "Hiányoznak a Bluetooth engedélyek és a helyzetek elérése szükséges",
"searchingDevice": "Eszközök keresése...",
"findConnectedDevice": "Csatlakoztatott eszköz található",
"notFound": "Nem található csatlakoztatott Bluetooth eszköz",
@@ -184,22 +185,9 @@ const Map huHU = {
"healthConsultantInfo": "További AI csevegési funkciókat kínál",
"conferenceAssistant": "Üzleti megbeszélés asszisztens",
"conferenceAssistantInfo": "Valós idejű jegyzőkönyvezés, többnyelvű fordítás",
- "studyAssistant": "Nyelvtanulási asszisztens",
- "studyAssistantInfo": "Kiejtésjavítás, valós idejű beszédgyakorlás",
- "travelTranslator": "Utazási fordító asszisztens",
- "travelTranslatorInfo":
- "Valós idejű hangfordítás, turisztikai látványosságok bemutatása",
- "beSearching": "Keresés:",
- "noAssistantFound": "Nem található megfelelő AI asszisztens",
+ "usageStats": "Használati statisztika",
+ "usageStatsInfo": "Lásd a használati statisztikát",
"scene": "Helyzet",
- "youHaveSelected": "Ön választotta:",
- "newFunction": "Új funkció",
- "youChoseTry": "Ön a próbát választotta",
- "aiSinger": "AI énekes mód",
- "aiSingerInfo":
- "Énekeljen el bármilyen dalt kedvenc énekese hangján, akár saját szerzeményeit is",
- "popularFunction": "Népszerű funkciók",
- "tryNow": "Próbálja ki most",
// 商务会议助手页
"startMeeting": "Megbeszélés indítása",
@@ -215,8 +203,12 @@ const Map huHU = {
'meetingTranscript': 'Megbeszélés átirata',
// 设置页
- "systemSettings": "Rendszerbeállítások",
- "premiumMember": "Prémium tag",
+ "systemSettings": "Rendszerbeállítások", //系统设置
+ "vipRecharge": "Prémium tag ponuda", //会员充值
+ "aiRecharge": "Prémium tag", //AI充值
+ "translationRecharge": "Fordítás ponuda", //翻译充值
+ "meetingAssistantRecharge": "Megbeszélés asszisztens ponuda", //会议助手充值
+ "cloudSync": "Synchronizációs ponuda", //云端同步
"joinDevice": "Csatlakoztatott eszköz:",
"accountId": "Fiók azonosító:",
"systemSetting": "Rendszerbeállítás",
@@ -285,7 +277,7 @@ const Map huHU = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Csevegési előzmények törlése",
"online": "Online",
"inputMessage": "Üzenet beírása...",
@@ -313,7 +305,7 @@ const Map huHU = {
"swipeUpForMore": "Húzza felfelé a továbbiakért",
// Agent controller
- 'welcomeMessage': 'Szia! **XiaoYan** vagyok, segíthetek neked:\n\n'
+ 'welcomeMessage': 'Szia! **Lily** vagyok, segíthetek neked:\n\n'
'• Kérdések megválaszolásában és információk nyújtásában\n\n'
'• Valós idejű hangfordításban\n\n'
'• Zene és podcastok ajánlásában\n\n'
@@ -701,7 +693,7 @@ const Map huHU = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Eszköz párosítása",
- "connectYourDeepSoundHeadset": "Csatlakoztassa a DeepSound fülhallgatóját",
+ "connectYourDeepSoundHeadset": "Csatlakoztassa a Voitrans fülhallgatóját",
"bind": "Párosítás",
"authorizeBind": "Párosítás engedélyezése",
"enterCode": "Kérjük, adja meg a kódot",
@@ -757,7 +749,7 @@ const Map huHU = {
'Kérjük, adja meg a szükséges engedélyeket',
'checkFailedRetry': 'Az ellenőrzés sikertelen, próbálja újra',
'pleaseConnectDeepSoundDevice':
- 'Kérjük, csatlakoztasson egy DeepSound eszközt',
+ 'Kérjük, csatlakoztasson egy Voitrans eszközt',
'verificationFailedRetry': 'Az ellenőrzés sikertelen, próbálja újra',
'invalidDeviceAddress': 'Érvénytelen eszközcím',
'bleDeviceAssociationFailed': 'A BLE eszköztársítás sikertelen',
diff --git a/lib/core/translations/language/id_id.dart b/lib/core/translations/language/id_id.dart
index 50ee06329..5fc4c3983 100644
--- a/lib/core/translations/language/id_id.dart
+++ b/lib/core/translations/language/id_id.dart
@@ -135,7 +135,7 @@ const Map idID = {
"initializing": "Menginisialisasi...",
"bluetoothInitializationFailure": "Inisialisasi layanan Bluetooth gagal",
"checkingPermissions": "Memeriksa izin...",
- "lackPermissions": "Izin Bluetooth tidak ada",
+ "lackPermissions": "Izin Bluetooth tidak ada dan akses lokasi diperlukan",
"searchingDevice": "Mencari perangkat...",
"findConnectedDevice": "Perangkat terhubung ditemukan",
"notFound": "Tidak ada perangkat Bluetooth yang terhubung ditemukan",
@@ -180,22 +180,9 @@ const Map idID = {
"conferenceAssistant": "Asisten Rapat Bisnis",
"conferenceAssistantInfo":
"Catatan rapat waktu nyata, terjemahan multibahasa",
- "studyAssistant": "Asisten Belajar Bahasa",
- "studyAssistantInfo": "Koreksi pengucapan, latihan berbicara waktu nyata",
- "travelTranslator": "Asisten Terjemahan Perjalanan",
- "travelTranslatorInfo":
- "Terjemahan suara waktu nyata, pengenalan tempat wisata",
- "beSearching": "Mencari:",
- "noAssistantFound": "Tidak ada asisten AI yang cocok ditemukan",
+ "usageStats": "Statistik Penggunaan",
+ "usageStatsInfo": "Lihat statistik penggunaan aplikasi",
"scene": "Skenario",
- "youHaveSelected": "Anda telah memilih:",
- "newFunction": "Fitur Baru",
- "youChoseTry": "Anda memilih untuk mencoba",
- "aiSinger": "Mode Penyanyi AI",
- "aiSingerInfo":
- "Nyanyikan lagu apa pun dengan suara penyanyi favorit Anda, bahkan lagu ciptaan Anda sendiri",
- "popularFunction": "Skenario Fitur Populer",
- "tryNow": "Coba Sekarang",
// 商务会议助手页
"startMeeting": "Mulai Rapat",
@@ -211,8 +198,12 @@ const Map idID = {
'meetingTranscript': 'Transkrip Rapat',
// 设置页
- "systemSettings": "Pengaturan Sistem",
- "premiumMember": "Anggota Premium",
+ "systemSettings": "Pengaturan Sistem", //系统设置
+ "vipRecharge": "Pembayaran Premium", //会员充值
+ "aiRecharge": "Anggota Premium", //AI充值
+ "translationRecharge": "Pembayaran Terjemahan", //翻译充值
+ "meetingAssistantRecharge": "Pembayaran Asisten Rapat", //会议助手充值
+ "cloudSync": "Pembayaran Sinkronisasi awan", //云端同步
"joinDevice": "Perangkat terhubung:",
"accountId": "ID Akun:",
"systemSetting": "Pengaturan Sistem",
@@ -281,7 +272,7 @@ const Map idID = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Hapus Riwayat Obrolan",
"online": "Online",
"inputMessage": "Masukkan pesan...",
@@ -309,7 +300,7 @@ const Map idID = {
"swipeUpForMore": "Geser ke atas untuk lebih banyak",
// Agent controller
- 'welcomeMessage': 'Halo! Saya **XiaoYan**, saya bisa membantu Anda:\n\n'
+ 'welcomeMessage': 'Halo! Saya **Lily**, saya bisa membantu Anda:\n\n'
'• Menjawab pertanyaan dan memberikan informasi\n\n'
'• Terjemahan suara waktu nyata\n\n'
'• Merekomendasikan musik dan podcast\n\n'
@@ -698,7 +689,7 @@ const Map idID = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Pemasangan Perangkat",
- "connectYourDeepSoundHeadset": "Hubungkan Headset DeepSound Anda",
+ "connectYourDeepSoundHeadset": "Hubungkan Headset Voitrans Anda",
"bind": "Ikat",
"authorizeBind": "Otorisasi Pengikatan",
"enterCode": "Silakan masukkan kode",
@@ -752,7 +743,7 @@ const Map idID = {
'retryAuthorization': 'Coba Ulang Otorisasi',
'pleaseGrantNecessaryPermissions': 'Harap berikan izin yang diperlukan',
'checkFailedRetry': 'Pemeriksaan gagal, silakan coba lagi',
- 'pleaseConnectDeepSoundDevice': 'Harap hubungkan perangkat DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Harap hubungkan perangkat Voitrans',
'verificationFailedRetry': 'Verifikasi gagal, silakan coba lagi',
'invalidDeviceAddress': 'Alamat perangkat tidak valid',
'bleDeviceAssociationFailed': 'Asosiasi perangkat BLE gagal',
diff --git a/lib/core/translations/language/is_is.dart b/lib/core/translations/language/is_is.dart
index f5bfbe00f..2e8e5a424 100644
--- a/lib/core/translations/language/is_is.dart
+++ b/lib/core/translations/language/is_is.dart
@@ -135,7 +135,8 @@ const Map isIS = {
"initializing": "Frumstilli...",
"bluetoothInitializationFailure": "Frumstilling Bluetooth-þjónustu mistókst",
"checkingPermissions": "Athuga heimildir...",
- "lackPermissions": "Skortir Bluetooth-heimildir",
+ "lackPermissions":
+ "Skortir Bluetooth-heimildir og lokatæknið er þó ekki tilgengilegt",
"searchingDevice": "Leita að tækjum...",
"findConnectedDevice": "Fann tengt tæki",
"notFound": "Ekkert tengt Bluetooth-tæki fannst",
@@ -180,21 +181,9 @@ const Map isIS = {
"healthConsultantInfo": "Býður upp á fleiri gervigreindarspjallaðgerðir",
"conferenceAssistant": "Aðstoðarmaður fyrir viðskiptafundi",
"conferenceAssistantInfo": "Skráning fundargerða í rauntíma, fjöltyng þýðing",
- "studyAssistant": "Aðstoðarmaður við tungumálanám",
- "studyAssistantInfo": "Framburðarleiðrétting, rauntímaæfing í tali",
- "travelTranslator": "Aðstoðarmaður við ferðaþýðingu",
- "travelTranslatorInfo": "Rauntíma raddþýðing, kynning á ferðamannastöðum",
- "beSearching": "Leita:",
- "noAssistantFound": "Enginn samsvarandi gervigreindar-aðstoðarmaður fannst",
+ "usageStats": "Notendastatistika",
+ "usageStatsInfo": " skoða notendastatistika",
"scene": "Atburðarás",
- "youHaveSelected": "Þú valdir:",
- "newFunction": "Nýr eiginleiki",
- "youChoseTry": "Þú valdir að prófa",
- "aiSinger": "Gervigreindarsöngvarahamur",
- "aiSingerInfo":
- "Syngdu hvaða lag sem er með rödd uppáhalds söngvarans þíns, jafnvel þínar eigin tónsmíðar",
- "popularFunction": "Vinsælir eiginleikaatburðir",
- "tryNow": "Prófa núna",
// 商务会议助手页
"startMeeting": "Hefja fund",
@@ -210,8 +199,12 @@ const Map isIS = {
'meetingTranscript': 'Fundarritun',
// 设置页
- "systemSettings": "Kerfisstillingar",
- "premiumMember": "Premium meðlimur",
+ "systemSettings": "Kerfisstillingar", //系统设置
+ "vipRecharge": "Premium meðlimurinnsla", //会员充值
+ "aiRecharge": "Premium meðlimur", //AI充值
+ "translationRecharge": "Þýðingsponsoring", //翻译充值
+ "meetingAssistantRecharge": "Fundarasistentsponsoring", //会议助手充值
+ "cloudSync": "Synchronisering með skýjaraddþjónustu", //云端同步
"joinDevice": "Tengt tæki:",
"accountId": "Auðkenni reiknings:",
"systemSetting": "Kerfisstillingar",
@@ -280,7 +273,7 @@ const Map isIS = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Hreinsa spjallsögu",
"online": "Á netinu",
"inputMessage": "Sláðu inn skilaboð...",
@@ -307,7 +300,7 @@ const Map isIS = {
"swipeUpForMore": "Strjúktu upp til að sjá meira",
// Agent controller
- 'welcomeMessage': 'Halló! Ég er **XiaoYan**, ég get hjálpað þér með:\n\n'
+ 'welcomeMessage': 'Halló! Ég er **Lily**, ég get hjálpað þér með:\n\n'
'• Að svara spurningum og veita upplýsingar\n\n'
'• Rauntíma raddþýðingu\n\n'
'• Að mæla með tónlist og hlaðvörpum\n\n'
@@ -698,7 +691,7 @@ const Map isIS = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Pörun tækis",
- "connectYourDeepSoundHeadset": "Tengdu DeepSound heyrnartólin þín",
+ "connectYourDeepSoundHeadset": "Tengdu Voitrans heyrnartólin þín",
"bind": "Binda",
"authorizeBind": "Heimila bindingu",
"enterCode": "Vinsamlegast sláðu inn kóðann",
diff --git a/lib/core/translations/language/it_it.dart b/lib/core/translations/language/it_it.dart
index 07a2e32f8..fece149d3 100644
--- a/lib/core/translations/language/it_it.dart
+++ b/lib/core/translations/language/it_it.dart
@@ -137,7 +137,8 @@ const Map itIT = {
"bluetoothInitializationFailure":
"Inizializzazione del servizio Bluetooth fallita",
"checkingPermissions": "Verifica autorizzazioni...",
- "lackPermissions": "Mancano le autorizzazioni Bluetooth",
+ "lackPermissions":
+ "Mancano le autorizzazioni Bluetooth e l'accesso alla posizione è necessario",
"searchingDevice": "Ricerca dispositivi...",
"findConnectedDevice": "Dispositivo connesso trovato",
"notFound": "Nessun dispositivo Bluetooth connesso trovato",
@@ -185,23 +186,9 @@ const Map itIT = {
"conferenceAssistant": "Assistente per riunioni di lavoro",
"conferenceAssistantInfo":
"Registrazione di verbali in tempo reale, traduzione multilingue",
- "studyAssistant": "Assistente per l'apprendimento delle lingue",
- "studyAssistantInfo":
- "Correzione della pronuncia, pratica della conversazione in tempo reale",
- "travelTranslator": "Assistente di traduzione per viaggi",
- "travelTranslatorInfo":
- "Traduzione vocale in tempo reale, introduzione alle attrazioni turistiche",
- "beSearching": "Ricerca in corso:",
- "noAssistantFound": "Nessun assistente AI corrispondente trovato",
+ "usageStats": "Statistiche di utilizzo",
+ "usageStatsInfo": "Visualizza le statistiche di utilizzo dell'applicazione",
"scene": "Scenario",
- "youHaveSelected": "Hai selezionato:",
- "newFunction": "Nuova funzione",
- "youChoseTry": "Hai scelto di provare",
- "aiSinger": "Modalità cantante AI",
- "aiSingerInfo":
- "Canta qualsiasi canzone con la voce del tuo cantante preferito, anche le tue composizioni",
- "popularFunction": "Scenari di funzioni popolari",
- "tryNow": "Prova ora",
// 商务会议助手页
"startMeeting": "Inizia riunione",
@@ -217,8 +204,12 @@ const Map itIT = {
'meetingTranscript': 'Trascrizione riunione',
// 设置页
- "systemSettings": "Impostazioni di sistema",
- "premiumMember": "Membro Premium",
+ "systemSettings": "Impostazioni di sistema", //系统设置
+ "vipRecharge": "Ricarica membro Premium", //会员充值
+ "aiRecharge": "Membro Premium", //AI充值
+ "translationRecharge": "Recharge traduzione", //翻译充值
+ "meetingAssistantRecharge": "Recharge assistente riunione", //会议助手充值
+ "cloudSync": "Recharge sincronizzazione cloud", //云端同步
"joinDevice": "Dispositivo connesso:",
"accountId": "ID account:",
"systemSetting": "Impostazioni di sistema",
@@ -291,7 +282,7 @@ const Map itIT = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Cancella cronologia chat",
"online": "Online",
"inputMessage": "Inserisci messaggio...",
@@ -319,7 +310,7 @@ const Map itIT = {
"swipeUpForMore": "Scorri verso l'alto per vedere di più",
// Agent controller
- 'welcomeMessage': 'Ciao! Sono **XiaoYan**, posso aiutarti a:\n\n'
+ 'welcomeMessage': 'Ciao! Sono **Lily**, posso aiutarti a:\n\n'
'• Rispondere a domande e fornire informazioni\n\n'
'• Traduzione vocale in tempo reale\n\n'
'• Consigliare musica e podcast\n\n'
@@ -717,7 +708,7 @@ const Map itIT = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Associazione dispositivo",
- "connectYourDeepSoundHeadset": "Connetti le tue cuffie DeepSound",
+ "connectYourDeepSoundHeadset": "Connetti le tue cuffie Voitrans",
"bind": "Associa",
"authorizeBind": "Autorizza associazione",
"enterCode": "Inserisci il codice",
@@ -774,7 +765,7 @@ const Map itIT = {
'retryAuthorization': 'Riprova autorizzazione',
'pleaseGrantNecessaryPermissions': 'Concedi le autorizzazioni necessarie',
'checkFailedRetry': 'Controllo fallito, riprova',
- 'pleaseConnectDeepSoundDevice': 'Connetti un dispositivo DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Connetti un dispositivo Voitrans',
'verificationFailedRetry': 'Verifica fallita, riprova',
'invalidDeviceAddress': 'Indirizzo del dispositivo non valido',
'bleDeviceAssociationFailed': 'Associazione del dispositivo BLE fallita',
@@ -869,4 +860,98 @@ const Map itIT = {
"乌尔都语": "Urdu",
"波斯语": "Persiano",
"斯瓦希里语": "Swahili",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'Interpretazione simultanea e traduzione di testo in tempo reale, con voce a bassa latenza.',
+ 'transHeaderDesc2': 'Adatto a viaggi, affari, discorsi e insegnamento.',
+ 'translateZhEn': 'Traduzione Cinese-Inglese',
+ 'lowLatencyVoiceBroadcast': 'Trasmissione vocale a bassa latenza',
+ 'multiLangTextTranslation': 'Traduzione di testo multilingue',
+ 'termOptimizationContextPreserve':
+ 'Ottimizzazione della terminologia e mantenimento del contesto',
+ 'lexiconTourBusinessLife': 'Lessici per viaggio/affari/vita quotidiana',
+ 'personalVocabularyMemory': 'Memoria del vocabolario personale',
+ 'conversationSubtitleLargeText':
+ 'Sottotitoli conversazione / modalità testo grande',
+ 'colorHighContrast': 'Elevato contrasto dei colori',
+ 'transDisclaimer':
+ 'Le prestazioni della traduzione dipendono dal microfono, dalla latenza di rete e dal rumore ambientale.',
+
+ 'trans_001_name': 'Traduzione Base 100',
+ 'trans_002_name': 'Traduzione Base 500',
+ 'trans_003_name': 'Traduzione Base 1000',
+
+ 'trans_001_desc': 'Include 100 traduzioni (voce/testo).',
+ 'trans_002_desc': 'Include 500 traduzioni (voce/testo).',
+ 'trans_003_desc': 'Include 1000 traduzioni (voce/testo).',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'Panoramica dei vantaggi',
+ 'higherQuota': 'Quota di utilizzo più alta',
+ 'lowerUnitPrice': 'Prezzo unitario più basso',
+ 'priorityService': 'Servizio prioritario',
+ 'exclusiveSupportChannel': 'Canale di supporto dedicato',
+ 'fastResponse': 'Risposta rapida ai problemi',
+ 'eventsAndDiscounts': 'Eventi e sconti',
+ 'memberExclusiveEvents': 'Eventi esclusivi per i membri',
+ 'longTermDiscountPlan': 'Piano di sconti a lungo termine',
+ 'generalPrivileges': 'Privilegi generali',
+ 'earlyAccessNewFeatures': 'Accesso anticipato alle nuove funzionalità',
+ 'crossDeviceSync': 'Sincronizzazione tra dispositivi',
+ 'vipDisclaimer':
+ 'I benefici effettivi dipendono dai dettagli del pacchetto e possono cambiare con le versioni.',
};
diff --git a/lib/core/translations/language/ja_jp.dart b/lib/core/translations/language/ja_jp.dart
index 360a0207c..4e9bffa4f 100644
--- a/lib/core/translations/language/ja_jp.dart
+++ b/lib/core/translations/language/ja_jp.dart
@@ -132,7 +132,7 @@ const Map jaJP = {
"initializing": "初期化中...",
"bluetoothInitializationFailure": "Bluetoothサービスの初期化に失敗",
"checkingPermissions": "権限を確認中...",
- "lackPermissions": "Bluetooth権限が必要",
+ "lackPermissions": "Bluetooth権限が必要です。位置情報のアクセスも必要です",
"searchingDevice": "デバイスを検索中...",
"findConnectedDevice": "接続されたデバイスが見つかりました",
"notFound": "接続されたBluetoothデバイスが見つかりません",
@@ -176,20 +176,9 @@ const Map jaJP = {
"healthConsultantInfo": "より多くのAIチャット機能",
"conferenceAssistant": "ビジネス会議アシスタント",
"conferenceAssistantInfo": "リアルタイム議事録記録と多言語翻訳",
- "studyAssistant": "語学学習アシスタント",
- "studyAssistantInfo": "発音矯正とスピーキング練習",
- "travelTranslator": "旅行翻訳者",
- "travelTranslatorInfo": "リアルタイム音声翻訳と観光地ガイド",
- "beSearching": "検索中:",
- "noAssistantFound": "対応するAIアシスタントが見つかりません",
+ "usageStats": "使用統計",
+ "usageStatsInfo": "使用統計を確認",
"scene": "シナリオ",
- "youHaveSelected": "選択しました:",
- "newFunction": "新機能",
- "youChoseTry": "試すことを選択しました",
- "aiSinger": "AIシンガーモード",
- "aiSingerInfo": "お気に入りのアーティストの声で任意の曲を歌う、自分の創作も可能",
- "popularFunction": "人気機能",
- "tryNow": "今すぐ試す",
// 商务会议助手页
"startMeeting": "会議を開始",
@@ -202,11 +191,15 @@ const Map jaJP = {
'meeting': '会議',
'recordingDetails': '録音詳細',
'aiSummary': 'AI要約',
- 'meetingTranscript': '会議記録',
+ 'meetingTranscript': '会議記録', //会议记录
// 设置页
- "systemSettings": "システム設定",
- "premiumMember": "プレミアムメンバー",
+ "systemSettings": "システム設定", //系统设置
+ "vipRecharge": "プレミアムメンバー料金", //会员充值
+ "aiRecharge": "プレミアムメンバー", //AI充值
+ "translationRecharge": "翻訳料金", //翻译充值
+ "meetingAssistantRecharge": "会議アシスタント料金", //会议助手充值
+ "cloudSync": "クラウド同期料金", //云端同步
"joinDevice": "接続デバイス:",
"accountId": "アカウントID:",
"systemSetting": "システム設定",
@@ -271,7 +264,7 @@ const Map jaJP = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "チャット履歴をクリア",
"online": "オンライン",
"inputMessage": "メッセージを入力...",
@@ -298,7 +291,7 @@ const Map jaJP = {
"swipeUpForMore": "上にスワイプしてさらに表示",
// Agent controller
- 'welcomeMessage': 'こんにちは!私は**XiaoYan**です。以下のことでお手伝いできます:\n\n'
+ 'welcomeMessage': 'こんにちは!私は**Lily**です。以下のことでお手伝いできます:\n\n'
'• 質問への回答と情報提供\n\n'
'• リアルタイム音声翻訳\n\n'
'• 音楽とポッドキャストの推薦\n\n'
@@ -797,4 +790,38 @@ const Map jaJP = {
"乌尔都语": "ウルドゥー語",
"波斯语": "ペルシャ語",
"斯瓦希里语": "スワヒリ語",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
};
diff --git a/lib/core/translations/language/ko_kr.dart b/lib/core/translations/language/ko_kr.dart
index 2b1c2122e..5067aae43 100644
--- a/lib/core/translations/language/ko_kr.dart
+++ b/lib/core/translations/language/ko_kr.dart
@@ -130,7 +130,7 @@ const Map koKR = {
"initializing": "초기화 중...",
"bluetoothInitializationFailure": "블루투스 서비스 초기화 실패",
"checkingPermissions": "권한 확인 중...",
- "lackPermissions": "블루투스 권한이 없습니다",
+ "lackPermissions": "블루투스 권한이 없습니다. 위치 정보 접근도 필요합니다",
"searchingDevice": "기기 검색 중...",
"findConnectedDevice": "연결된 기기를 찾았습니다",
"notFound": "연결된 블루투스 기기를 찾을 수 없습니다",
@@ -174,20 +174,9 @@ const Map koKR = {
"healthConsultantInfo": "더 많은 AI 채팅 기능 제공",
"conferenceAssistant": "비즈니스 회의 어시스턴트",
"conferenceAssistantInfo": "실시간 회의록 작성, 다국어 번역",
- "studyAssistant": "언어 학습 어시스턴트",
- "studyAssistantInfo": "발음 교정, 실시간 회화 연습",
- "travelTranslator": "여행 번역 어시스턴트",
- "travelTranslatorInfo": "실시간 음성 번역, 관광지 소개",
- "beSearching": "검색 중:",
- "noAssistantFound": "해당하는 AI 어시스턴트를 찾을 수 없습니다",
+ "usageStats": "사용 통계",
+ "usageStatsInfo": "사용 통계를 확인하세요",
"scene": "상황",
- "youHaveSelected": "선택하셨습니다:",
- "newFunction": "새로운 기능",
- "youChoseTry": "시도하기로 선택하셨습니다",
- "aiSinger": "AI 가수 모드",
- "aiSingerInfo": "좋아하는 가수의 목소리로 어떤 노래든 부르세요, 심지어 직접 만든 노래까지",
- "popularFunction": "인기 기능 상황",
- "tryNow": "지금 시도하기",
// 商务会议助手页
"startMeeting": "회의 시작",
@@ -203,8 +192,12 @@ const Map koKR = {
'meetingTranscript': '회의 원문',
// 设置页
- "systemSettings": "시스템 설정",
- "premiumMember": "프리미엄 회원",
+ "systemSettings": "시스템 설정", //系统设置
+ "vipRecharge": "프리미엄 회원료", //会员充值
+ "aiRecharge": "프리미엄 회원", //AI充值
+ "translationRecharge": "번역료", //翻译充值
+ "meetingAssistantRecharge": "회의 어시스턴트료", //会议助手充值
+ "cloudSync": "클라우드 동기화료", //云端同步
"joinDevice": "연결된 기기:",
"accountId": "계정 ID:",
"systemSetting": "시스템 설정",
@@ -269,7 +262,7 @@ const Map koKR = {
//Agent 模块
// agent View
- "XiaoYan": "샤오옌",
+ "Lily": "Lily",
"clearChatHistory": "채팅 기록 지우기",
"online": "온라인",
"inputMessage": "메시지 입력...",
@@ -649,7 +642,7 @@ const Map koKR = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "기기 페어링",
- "connectYourDeepSoundHeadset": "DeepSound 헤드셋 연결",
+ "connectYourDeepSoundHeadset": "Voitrans 헤드셋 연결",
"bind": "연결",
"authorizeBind": "연결 승인",
"enterCode": "코드를 입력하세요",
@@ -696,7 +689,7 @@ const Map koKR = {
'retryAuthorization': '인증 재시도',
'pleaseGrantNecessaryPermissions': '필요한 권한을 부여해주세요',
'checkFailedRetry': '확인 실패, 다시 시도하세요',
- 'pleaseConnectDeepSoundDevice': 'DeepSound 기기를 연결해주세요',
+ 'pleaseConnectDeepSoundDevice': 'Voitrans 기기를 연결해주세요',
'verificationFailedRetry': '인증 실패, 다시 시도하세요',
'invalidDeviceAddress': '잘못된 기기 주소',
'bleDeviceAssociationFailed': 'BLE 기기 연결 실패',
@@ -784,4 +777,93 @@ const Map koKR = {
"乌尔都语": "우르두어",
"波斯语": "페르시아어",
"斯瓦希里语": "스와힐리어",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1': '실시간 동시통역과 텍스트 번역, 저지연 음성 방송.',
+ 'transHeaderDesc2': '여행, 비즈니스, 연설, 교육에 적합합니다.',
+ 'translateZhEn': '중-영 번역',
+ 'lowLatencyVoiceBroadcast': '저지연 음성 방송',
+ 'multiLangTextTranslation': '다국어 텍스트 번역',
+ 'termOptimizationContextPreserve': '용어 최적화 및 문맥 유지',
+ 'lexiconTourBusinessLife': '여행/비즈니스/일상 용어집',
+ 'personalVocabularyMemory': '개인 어휘 메모리',
+ 'conversationSubtitleLargeText': '대화 자막 / 큰 글자 모드',
+ 'colorHighContrast': '높은 색 대비',
+ 'transDisclaimer': '번역 품질은 마이크, 네트워크 지연 및 주변 소음에 따라 달라집니다.',
+
+ 'trans_001_name': '번역 기본 100',
+ 'trans_002_name': '번역 기본 500',
+ 'trans_003_name': '번역 기본 1000',
+
+ 'trans_001_desc': '번역 100회 포함(음성/텍스트).',
+ 'trans_002_desc': '번역 500회 포함(음성/텍스트).',
+ 'trans_003_desc': '번역 1000회 포함(음성/텍스트).',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': '혜택 개요',
+ 'higherQuota': '더 높은 사용 한도',
+ 'lowerUnitPrice': '더 낮은 단가',
+ 'priorityService': '우선 서비스',
+ 'exclusiveSupportChannel': '전용 지원 채널',
+ 'fastResponse': '문제 신속 대응',
+ 'eventsAndDiscounts': '이벤트 및 할인',
+ 'memberExclusiveEvents': '회원 전용 이벤트',
+ 'longTermDiscountPlan': '장기 할인 계획',
+ 'generalPrivileges': '일반 특권',
+ 'earlyAccessNewFeatures': '신기능 사전 이용',
+ 'crossDeviceSync': '디바이스 간 동기화',
+ 'vipDisclaimer': '실제 혜택은 패키지 세부사항에 따라 달라지며 버전에 따라 변경될 수 있습니다.',
};
diff --git a/lib/core/translations/language/lt_lt.dart b/lib/core/translations/language/lt_lt.dart
index 7df67f0b0..9bcdaca54 100644
--- a/lib/core/translations/language/lt_lt.dart
+++ b/lib/core/translations/language/lt_lt.dart
@@ -137,7 +137,8 @@ const Map ltLT = {
"initializing": "Inicijuojama...",
"bluetoothInitializationFailure": "Bluetooth paslaugos inicijavimas nepavyko",
"checkingPermissions": "Tikrinami leidimai...",
- "lackPermissions": "Trūksta Bluetooth leidimų",
+ "lackPermissions":
+ "Trūksta Bluetooth leidimų ir yra reikalinga lokacijos prieiga",
"searchingDevice": "Ieškoma įrenginių...",
"findConnectedDevice": "Rastas prijungtas įrenginys",
"notFound": "Nerasta prijungto Bluetooth įrenginio",
@@ -183,22 +184,9 @@ const Map ltLT = {
"conferenceAssistant": "Verslo susitikimų asistentas",
"conferenceAssistantInfo":
"Susitikimų protokolo įrašymas realiuoju laiku, daugiakalbis vertimas",
- "studyAssistant": "Kalbos mokymosi asistentas",
- "studyAssistantInfo": "Tarimo korekcija, kalbėjimo praktika realiuoju laiku",
- "travelTranslator": "Kelionių vertimo asistentas",
- "travelTranslatorInfo":
- "Balso vertimas realiuoju laiku, turistinių objektų pristatymas",
- "beSearching": "Ieškoma:",
- "noAssistantFound": "Nerasta atitinkamo AI asistento",
+ "usageStats": "Naudojimo statistika",
+ "usageStatsInfo": "Peržiūrėkite jūsų naudojimo statistiką",
"scene": "Scenarijus",
- "youHaveSelected": "Pasirinkote:",
- "newFunction": "Nauja funkcija",
- "youChoseTry": "Pasirinkote išbandyti",
- "aiSinger": "AI dainininko režimas",
- "aiSingerInfo":
- "Dainuokite bet kurią dainą mėgstamo dainininko balsu, net savo kompozicijas",
- "popularFunction": "Populiarūs funkcijų scenarijai",
- "tryNow": "Išbandyti dabar",
// 商务会议助手页
"startMeeting": "Pradėti susitikimą",
@@ -214,8 +202,12 @@ const Map ltLT = {
'meetingTranscript': 'Susitikimo stenograma',
// 设置页
- "systemSettings": "Sistemos nustatymai",
- "premiumMember": "Premium narys",
+ "systemSettings": "Sistemos nustatymai", //系统设置
+ "vipRecharge": "Premium naryso užsipirkimas", //会员充值
+ "aiRecharge": "Premium narys", //AI充值
+ "translationRecharge": "Vertimo užsipirkimas", //翻译充值
+ "meetingAssistantRecharge": "Susitikimų asistento užsipirkimas", //会议助手充值
+ "cloudSync": "Synchronizacijos užsipirkimas", //云端同步
"joinDevice": "Prijungtas įrenginys:",
"accountId": "Paskyros ID:",
"systemSetting": "Sistemos nustatymas",
@@ -285,7 +277,7 @@ const Map ltLT = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Išvalyti pokalbių istoriją",
"online": "Prisijungęs",
"inputMessage": "Įveskite žinutę...",
@@ -313,7 +305,7 @@ const Map ltLT = {
"swipeUpForMore": "Braukite aukštyn, kad pamatytumėte daugiau",
// Agent controller
- 'welcomeMessage': 'Sveiki! Aš esu **XiaoYan**, galiu jums padėti:\n\n'
+ 'welcomeMessage': 'Sveiki! Aš esu **Lily**, galiu jums padėti:\n\n'
'• Atsakyti į klausimus ir pateikti informaciją\n\n'
'• Balso vertimas realiuoju laiku\n\n'
'• Rekomenduoti muziką ir tinklalaides\n\n'
@@ -703,7 +695,7 @@ const Map ltLT = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Įrenginio susiejimas",
- "connectYourDeepSoundHeadset": "Prijunkite savo DeepSound ausines",
+ "connectYourDeepSoundHeadset": "Prijunkite savo Voitrans ausines",
"bind": "Susieti",
"authorizeBind": "Leisti susiejimą",
"enterCode": "Įveskite kodą",
@@ -759,7 +751,7 @@ const Map ltLT = {
'retryAuthorization': 'Bandyti autorizaciją dar kartą',
'pleaseGrantNecessaryPermissions': 'Suteikite reikiamus leidimus',
'checkFailedRetry': 'Patikrinimas nepavyko, bandykite dar kartą',
- 'pleaseConnectDeepSoundDevice': 'Prijunkite DeepSound įrenginį',
+ 'pleaseConnectDeepSoundDevice': 'Prijunkite Voitrans įrenginį',
'verificationFailedRetry': 'Patvirtinimas nepavyko, bandykite dar kartą',
'invalidDeviceAddress': 'Neteisingas įrenginio adresas',
'bleDeviceAssociationFailed': 'BLE įrenginio asociacija nepavyko',
diff --git a/lib/core/translations/language/lv_lv.dart b/lib/core/translations/language/lv_lv.dart
index 5b9a89a67..97f316618 100644
--- a/lib/core/translations/language/lv_lv.dart
+++ b/lib/core/translations/language/lv_lv.dart
@@ -137,7 +137,8 @@ const Map lvLV = {
"bluetoothInitializationFailure":
"Bluetooth pakalpojuma inicializācija neizdevās",
"checkingPermissions": "Pārbauda atļaujas...",
- "lackPermissions": "Trūkst Bluetooth atļauju",
+ "lackPermissions":
+ "Trūkst Bluetooth atļauju un ir nepieciešams piekļūt lokācijai",
"searchingDevice": "Meklē ierīces...",
"findConnectedDevice": "Atrasta savienota ierīce",
"notFound": "Neviena savienota Bluetooth ierīce nav atrasta",
@@ -182,22 +183,9 @@ const Map lvLV = {
"conferenceAssistant": "Biznesa sanāksmju palīgs",
"conferenceAssistantInfo":
"Reāllaika protokolu ierakstīšana, daudzvalodu tulkošana",
- "studyAssistant": "Valodu apguves palīgs",
- "studyAssistantInfo": "Izrunas korekcija, reāllaika runas prakse",
- "travelTranslator": "Ceļojumu tulkošanas palīgs",
- "travelTranslatorInfo":
- "Reāllaika balss tulkošana, tūrisma objektu iepazīstināšana",
- "beSearching": "Meklē:",
- "noAssistantFound": "Neviens atbilstošs AI palīgs nav atrasts",
+ "usageStats": "Pārskatījumu statistika",
+ "usageStatsInfo": "Pārskatiet jūsu lietotāja pārskatījumu statistiku",
"scene": "Scenārijs",
- "youHaveSelected": "Jūs izvēlējāties:",
- "newFunction": "Jauna funkcija",
- "youChoseTry": "Jūs izvēlējāties mēģināt",
- "aiSinger": "AI dziedātāja režīms",
- "aiSingerInfo":
- "Dziediet jebkuru dziesmu ar sava iecienītākā dziedātāja balsi, pat savas kompozīcijas",
- "popularFunction": "Populāri funkciju scenāriji",
- "tryNow": "Izmēģināt tagad",
// 商务会议助手页
"startMeeting": "Sākt sapulci",
@@ -213,8 +201,12 @@ const Map lvLV = {
'meetingTranscript': 'Sapulces atšifrējums',
// 设置页
- "systemSettings": "Sistēmas iestatījumi",
- "premiumMember": "Premium biedrs",
+ "systemSettings": "Sistēmas iestatījumi", //系统设置
+ "vipRecharge": "Premium biedra pārrakstīšana", //会员充值
+ "aiRecharge": "Premium biedrs", //AI充值
+ "translationRecharge": "Tulkošanas pārrakstīšana", //翻译充值
+ "meetingAssistantRecharge": "Sapulces palīgs pārrakstīšana", //会议助手充值
+ "cloudSync": "Tīkla sincronizācijas pārrakstīšana", //云端同步
"joinDevice": "Savienotā ierīce:",
"accountId": "Konta ID:",
"systemSetting": "Sistēmas iestatījumi",
@@ -284,7 +276,7 @@ const Map lvLV = {
//Agent 模块
// agent View
- "XiaoYan": "SjaoJaņ",
+ "Lily": "Lily",
"clearChatHistory": "Notīrīt tērzēšanas vēsturi",
"online": "Tiešsaistē",
"inputMessage": "Ievadiet ziņu...",
@@ -705,7 +697,7 @@ const Map lvLV = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Ierīces savienošana pārī",
- "connectYourDeepSoundHeadset": "Savienojiet savas DeepSound austiņas",
+ "connectYourDeepSoundHeadset": "Savienojiet savas Voitrans austiņas",
"bind": "Saistīt",
"authorizeBind": "Autorizēt saistīšanu",
"enterCode": "Lūdzu, ievadiet kodu",
@@ -760,7 +752,7 @@ const Map lvLV = {
'retryAuthorization': 'Mēģināt autorizāciju vēlreiz',
'pleaseGrantNecessaryPermissions': 'Lūdzu, piešķiriet nepieciešamās atļaujas',
'checkFailedRetry': 'Pārbaude neizdevās, lūdzu, mēģiniet vēlreiz',
- 'pleaseConnectDeepSoundDevice': 'Lūdzu, savienojiet DeepSound ierīci',
+ 'pleaseConnectDeepSoundDevice': 'Lūdzu, savienojiet Voitrans ierīci',
'verificationFailedRetry': 'Verifikācija neizdevās, lūdzu, mēģiniet vēlreiz',
'invalidDeviceAddress': 'Nederīga ierīces adrese',
'bleDeviceAssociationFailed': 'BLE ierīces asociācija neizdevās',
diff --git a/lib/core/translations/language/ms_my.dart b/lib/core/translations/language/ms_my.dart
index 28dea6f4c..e1b998b45 100644
--- a/lib/core/translations/language/ms_my.dart
+++ b/lib/core/translations/language/ms_my.dart
@@ -136,7 +136,8 @@ const Map msMY = {
"initializing": "Memulakan...",
"bluetoothInitializationFailure": "Inisialisasi perkhidmatan Bluetooth gagal",
"checkingPermissions": "Menyemak kebenaran...",
- "lackPermissions": "Kebenaran Bluetooth tiada",
+ "lackPermissions":
+ "Kebenaran Bluetooth tiada dan perlu mengaktifkan lokasi peranti",
"searchingDevice": "Mencari peranti...",
"findConnectedDevice": "Peranti yang disambungkan ditemui",
"notFound": "Tiada peranti Bluetooth yang disambungkan ditemui",
@@ -181,22 +182,9 @@ const Map msMY = {
"conferenceAssistant": "Pembantu Mesyuarat Perniagaan",
"conferenceAssistantInfo":
"Minit mesyuarat masa nyata, terjemahan pelbagai bahasa",
- "studyAssistant": "Pembantu Pembelajaran Bahasa",
- "studyAssistantInfo": "Pembetulan sebutan, latihan pertuturan masa nyata",
- "travelTranslator": "Pembantu Terjemahan Perjalanan",
- "travelTranslatorInfo":
- "Terjemahan suara masa nyata, pengenalan tempat pelancongan",
- "beSearching": "Mencari:",
- "noAssistantFound": "Tiada pembantu AI yang sepadan ditemui",
+ "usageStats": "Statistik Penggunaan",
+ "usageStatsInfo": "Lihat statistik penggunaan aplikasi",
"scene": "Senario",
- "youHaveSelected": "Anda telah memilih:",
- "newFunction": "Fungsi Baharu",
- "youChoseTry": "Anda memilih untuk mencuba",
- "aiSinger": "Mod Penyanyi AI",
- "aiSingerInfo":
- "Nyanyikan sebarang lagu dengan suara penyanyi kegemaran anda, malah lagu ciptaan anda sendiri",
- "popularFunction": "Senario Fungsi Popular",
- "tryNow": "Cuba Sekarang",
// 商务会议助手页
"startMeeting": "Mula Mesyuarat",
@@ -212,8 +200,12 @@ const Map msMY = {
'meetingTranscript': 'Transkrip Mesyuarat',
// 设置页
- "systemSettings": "Tetapan Sistem",
- "premiumMember": "Ahli Premium",
+ "systemSettings": "Tetapan Sistem", //系统设置
+ "vipRecharge": "Pembayaran Ahli Premium", //会员充值
+ "aiRecharge": "Ahli Premium", //AI充值
+ "translationRecharge": "Pembayaran Penterjemahan", //翻译充值
+ "meetingAssistantRecharge": "Pembayaran Pembantu Mesyuarat", //会议助手充值
+ "cloudSync": "Pembayaran Sinkronisasi awan", //云端同步
"joinDevice": "Peranti disambungkan:",
"accountId": "ID Akaun:",
"systemSetting": "Tetapan Sistem",
@@ -282,7 +274,7 @@ const Map msMY = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Kosongkan Sejarah Sembang",
"online": "Dalam Talian",
"inputMessage": "Masukkan mesej...",
@@ -309,7 +301,7 @@ const Map msMY = {
"swipeUpForMore": "Leret ke atas untuk lebih banyak",
// Agent controller
- 'welcomeMessage': 'Helo! Saya **XiaoYan**, saya boleh bantu anda:\n\n'
+ 'welcomeMessage': 'Helo! Saya **Lily**, saya boleh bantu anda:\n\n'
'• Jawab soalan dan berikan maklumat\n\n'
'• Terjemahan suara masa nyata\n\n'
'• Cadangkan muzik dan podcast\n\n'
@@ -698,7 +690,7 @@ const Map msMY = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Pemasangan Peranti",
- "connectYourDeepSoundHeadset": "Sambungkan Fon Kepala DeepSound Anda",
+ "connectYourDeepSoundHeadset": "Sambungkan Fon Kepala Voitrans Anda",
"bind": "Ikat",
"authorizeBind": "Benarkan Pengikatan",
"enterCode": "Sila masukkan kod",
@@ -752,7 +744,7 @@ const Map msMY = {
'retryAuthorization': 'Cuba Semula Kebenaran',
'pleaseGrantNecessaryPermissions': 'Sila berikan kebenaran yang diperlukan',
'checkFailedRetry': 'Pemeriksaan gagal, sila cuba lagi',
- 'pleaseConnectDeepSoundDevice': 'Sila sambungkan peranti DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Sila sambungkan peranti Voitrans',
'verificationFailedRetry': 'Pengesahan gagal, sila cuba lagi',
'invalidDeviceAddress': 'Alamat peranti tidak sah',
'bleDeviceAssociationFailed': 'Perkaitan peranti BLE gagal',
diff --git a/lib/core/translations/language/nb_no.dart b/lib/core/translations/language/nb_no.dart
index bc001b456..cc35187fb 100644
--- a/lib/core/translations/language/nb_no.dart
+++ b/lib/core/translations/language/nb_no.dart
@@ -136,7 +136,8 @@ const Map nbNO = {
"bluetoothInitializationFailure":
"Initialisering av Bluetooth-tjenesten mislyktes",
"checkingPermissions": "Sjekker tillatelser...",
- "lackPermissions": "Mangler Bluetooth-tillatelser",
+ "lackPermissions":
+ "Mangler Bluetooth-tillatelser og er nødvendig å aktivere lokasjons-tillatelser",
"searchingDevice": "Søker etter enheter...",
"findConnectedDevice": "Fant tilkoblet enhet",
"notFound": "Ingen tilkoblet Bluetooth-enhet funnet",
@@ -181,22 +182,9 @@ const Map nbNO = {
"conferenceAssistant": "Assistent for forretningsmøter",
"conferenceAssistantInfo":
"Sanntids protokollføring, flerspråklig oversettelse",
- "studyAssistant": "Assistent for språklæring",
- "studyAssistantInfo": "Uttalekorreksjon, sanntids taleøvelse",
- "travelTranslator": "Assistent for reiseoversettelse",
- "travelTranslatorInfo":
- "Sanntids stemmeoversettelse, introduksjon til turistattraksjoner",
- "beSearching": "Søker:",
- "noAssistantFound": "Ingen tilsvarende AI-assistent funnet",
+ "usageStats": "Brukstatistikk",
+ "usageStatsInfo": "Vis brukstatistikk for din app",
"scene": "Scenario",
- "youHaveSelected": "Du har valgt:",
- "newFunction": "Ny funksjon",
- "youChoseTry": "Du valgte å prøve",
- "aiSinger": "AI-sangermodus",
- "aiSingerInfo":
- "Syng hvilken som helst sang med stemmen til din favorittartist, til og med dine egne komposisjoner",
- "popularFunction": "Populære funksjonsscenarier",
- "tryNow": "Prøv nå",
// 商务会议助手页
"startMeeting": "Start møte",
@@ -212,8 +200,12 @@ const Map nbNO = {
'meetingTranscript': 'Møtetranskripsjon',
// 设置页
- "systemSettings": "Systeminnstillinger",
- "premiumMember": "Premium-medlem",
+ "systemSettings": "Systeminnstillinger", //系统设置
+ "vipRecharge": "Premium-medlemsinnskudd", //会员充值
+ "aiRecharge": "Premium-medlem", //AI充值
+ "translationRecharge": "Oversettelsespenger", //翻译充值
+ "meetingAssistantRecharge": "Møteassistentpenger", //会议助手充值
+ "cloudSync": "Cloud-synchroniseringspenger", //云端同步
"joinDevice": "Tilkoblet enhet:",
"accountId": "Konto-ID:",
"systemSetting": "Systeminnstillinger",
@@ -283,7 +275,7 @@ const Map nbNO = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Tøm chat-historikk",
"online": "Online",
"inputMessage": "Skriv melding...",
@@ -311,7 +303,7 @@ const Map nbNO = {
"swipeUpForMore": "Sveip opp for mer",
// Agent controller
- 'welcomeMessage': 'Hei! Jeg er **XiaoYan**, jeg kan hjelpe deg med:\n\n'
+ 'welcomeMessage': 'Hei! Jeg er **Lily**, jeg kan hjelpe deg med:\n\n'
'• Å svare på spørsmål og gi informasjon\n\n'
'• Sanntids stemmeoversettelse\n\n'
'• Å anbefale musikk og podkaster\n\n'
@@ -699,7 +691,7 @@ const Map nbNO = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Enhetsparing",
- "connectYourDeepSoundHeadset": "Koble til ditt DeepSound-hodesett",
+ "connectYourDeepSoundHeadset": "Koble til ditt Voitrans-hodesett",
"bind": "Bind",
"authorizeBind": "Autoriser binding",
"enterCode": "Vennligst skriv inn koden",
@@ -753,7 +745,7 @@ const Map nbNO = {
'retryAuthorization': 'Prøv autorisasjon på nytt',
'pleaseGrantNecessaryPermissions': 'Vennligst gi nødvendige tillatelser',
'checkFailedRetry': 'Kontroll mislyktes, prøv igjen',
- 'pleaseConnectDeepSoundDevice': 'Vennligst koble til en DeepSound-enhet',
+ 'pleaseConnectDeepSoundDevice': 'Vennligst koble til en Voitrans-enhet',
'verificationFailedRetry': 'Verifisering mislyktes, prøv igjen',
'invalidDeviceAddress': 'Ugyldig enhetsadresse',
'bleDeviceAssociationFailed': 'BLE-enhetsassosiasjon mislyktes',
diff --git a/lib/core/translations/language/nl_nl.dart b/lib/core/translations/language/nl_nl.dart
index b54cf99d3..d03e9f0ca 100644
--- a/lib/core/translations/language/nl_nl.dart
+++ b/lib/core/translations/language/nl_nl.dart
@@ -136,7 +136,8 @@ const Map nlNL = {
"bluetoothInitializationFailure":
"Initialisatie van Bluetooth-service mislukt",
"checkingPermissions": "Toestemmingen controleren...",
- "lackPermissions": "Bluetooth-toestemmingen ontbreken",
+ "lackPermissions":
+ "Bluetooth-toestemmingen ontbreken en zijn nodig om locatie toegang te krijgen",
"searchingDevice": "Apparaten zoeken...",
"findConnectedDevice": "Verbonden apparaat gevonden",
"notFound": "Geen verbonden Bluetooth-apparaat gevonden",
@@ -182,22 +183,9 @@ const Map nlNL = {
"conferenceAssistant": "Assistent voor zakelijke bijeenkomsten",
"conferenceAssistantInfo":
"Realtime notuleren van vergaderingen, meertalige vertaling",
- "studyAssistant": "Assistent voor taalstudie",
- "studyAssistantInfo": "Uitspraakcorrectie, realtime spraakoefening",
- "travelTranslator": "Assistent voor reisvertaling",
- "travelTranslatorInfo":
- "Realtime spraakvertaling, introductie van toeristische attracties",
- "beSearching": "Zoeken:",
- "noAssistantFound": "Geen overeenkomende AI-assistent gevonden",
+ "usageStats": "Gebruikstatistieken",
+ "usageStatsInfo": " Bekijk de gebruikstatistieken van uw applicatie",
"scene": "Scenario",
- "youHaveSelected": "U heeft geselecteerd:",
- "newFunction": "Nieuwe functie",
- "youChoseTry": "U koos ervoor om te proberen",
- "aiSinger": "AI-zangermodus",
- "aiSingerInfo":
- "Zing elk nummer met de stem van uw favoriete zanger, zelfs uw eigen composities",
- "popularFunction": "Populaire functiescenario's",
- "tryNow": "Probeer nu",
// 商务会议助手页
"startMeeting": "Start vergadering",
@@ -213,8 +201,12 @@ const Map nlNL = {
'meetingTranscript': 'Vergadertranscript',
// 设置页
- "systemSettings": "Systeeminstellingen",
- "premiumMember": "Premium lid",
+ "systemSettings": "Systeeminstellingen", //系统设置
+ "vipRecharge": "Premium lidspayering", //会员充值
+ "aiRecharge": "Premium lid", //AI充值
+ "translationRecharge": "Vertalingspayering", //翻译充值
+ "meetingAssistantRecharge": "Vergaderassistentpayering", //会议助手充值
+ "cloudSync": "Cloud-synchronisatiepayering", //云端同步
"joinDevice": "Verbonden apparaat:",
"accountId": "Account-ID:",
"systemSetting": "Systeeminstellingen",
@@ -283,7 +275,7 @@ const Map nlNL = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Chatgeschiedenis wissen",
"online": "Online",
"inputMessage": "Voer bericht in...",
@@ -311,7 +303,7 @@ const Map nlNL = {
"swipeUpForMore": "Veeg omhoog voor meer",
// Agent controller
- 'welcomeMessage': 'Hallo! Ik ben **XiaoYan**, ik kan u helpen met:\n\n'
+ 'welcomeMessage': 'Hallo! Ik ben **Lily**, ik kan u helpen met:\n\n'
'• Vragen beantwoorden en informatie verstrekken\n\n'
'• Realtime spraakvertaling\n\n'
'• Muziek en podcasts aanbevelen\n\n'
@@ -705,7 +697,7 @@ const Map nlNL = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Apparaat koppelen",
- "connectYourDeepSoundHeadset": "Verbind uw DeepSound-headset",
+ "connectYourDeepSoundHeadset": "Verbind uw Voitrans-headset",
"bind": "Koppelen",
"authorizeBind": "Koppeling autoriseren",
"enterCode": "Voer de code in",
@@ -760,7 +752,7 @@ const Map nlNL = {
'retryAuthorization': 'Autorisatie opnieuw proberen',
'pleaseGrantNecessaryPermissions': 'Verleen de benodigde toestemmingen',
'checkFailedRetry': 'Controle mislukt, probeer het opnieuw',
- 'pleaseConnectDeepSoundDevice': 'Verbind een DeepSound-apparaat',
+ 'pleaseConnectDeepSoundDevice': 'Verbind een Voitrans-apparaat',
'verificationFailedRetry': 'Verificatie mislukt, probeer het opnieuw',
'invalidDeviceAddress': 'Ongeldig apparaatadres',
'bleDeviceAssociationFailed': 'Associatie van BLE-apparaat mislukt',
diff --git a/lib/core/translations/language/pl_pl.dart b/lib/core/translations/language/pl_pl.dart
index 051c10d78..c00f8046d 100644
--- a/lib/core/translations/language/pl_pl.dart
+++ b/lib/core/translations/language/pl_pl.dart
@@ -136,7 +136,8 @@ const Map plPL = {
"bluetoothInitializationFailure":
"Inicjalizacja usługi Bluetooth nie powiodła się",
"checkingPermissions": "Sprawdzanie uprawnień...",
- "lackPermissions": "Brak uprawnień Bluetooth",
+ "lackPermissions":
+ "Brak uprawnień Bluetooth i jest wymagana prawo dostępu do lokalizacji",
"searchingDevice": "Wyszukiwanie urządzeń...",
"findConnectedDevice": "Znaleziono podłączone urządzenie",
"notFound": "Nie znaleziono podłączonego urządzenia Bluetooth",
@@ -183,22 +184,9 @@ const Map plPL = {
"conferenceAssistant": "Asystent spotkań biznesowych",
"conferenceAssistantInfo":
"Zapisywanie protokołów w czasie rzeczywistym, tłumaczenie wielojęzyczne",
- "studyAssistant": "Asystent nauki języków",
- "studyAssistantInfo": "Korekta wymowy, ćwiczenie mowy w czasie rzeczywistym",
- "travelTranslator": "Asystent tłumaczenia w podróży",
- "travelTranslatorInfo":
- "Tłumaczenie głosowe w czasie rzeczywistym, prezentacja atrakcji turystycznych",
- "beSearching": "Wyszukiwanie:",
- "noAssistantFound": "Nie znaleziono odpowiedniego asystenta AI",
+ "usageStats": "Statystyki użycia",
+ "usageStatsInfo": "Przeglądaj statystyki użycia aplikacji",
"scene": "Scenariusz",
- "youHaveSelected": "Wybrałeś:",
- "newFunction": "Nowa funkcja",
- "youChoseTry": "Wybrałeś, aby spróbować",
- "aiSinger": "Tryb piosenkarza AI",
- "aiSingerInfo":
- "Śpiewaj dowolną piosenkę głosem ulubionego piosenkarza, nawet własne kompozycje",
- "popularFunction": "Popularne scenariusze funkcji",
- "tryNow": "Wypróbuj teraz",
// 商务会议助手页
"startMeeting": "Rozpocznij spotkanie",
@@ -214,8 +202,12 @@ const Map plPL = {
'meetingTranscript': 'Transkrypcja spotkania',
// 设置页
- "systemSettings": "Ustawienia systemowe",
- "premiumMember": "Członek Premium",
+ "systemSettings": "Ustawienia systemowe", //系统设置
+ "vipRecharge": "Płatność Premium", //会员充值
+ "aiRecharge": "Członek Premium", //AI充值
+ "translationRecharge": "Płatność tłumaczenia", //翻译充值
+ "meetingAssistantRecharge": "Płatność asystenta spotkań", //会议助手充值
+ "cloudSync": "Płatność synchronizacji w chmurze", //云端同步
"joinDevice": "Podłączone urządzenie:",
"accountId": "ID konta:",
"systemSetting": "Ustawienia systemowe",
@@ -286,7 +278,7 @@ const Map plPL = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Wyczyść historię czatu",
"online": "Online",
"inputMessage": "Wpisz wiadomość...",
@@ -314,7 +306,7 @@ const Map plPL = {
"swipeUpForMore": "Przesuń w górę, aby zobaczyć więcej",
// Agent controller
- 'welcomeMessage': 'Cześć! Jestem **XiaoYan**, mogę Ci pomóc:\n\n'
+ 'welcomeMessage': 'Cześć! Jestem **Lily**, mogę Ci pomóc:\n\n'
'• Odpowiadać na pytania i dostarczać informacji\n\n'
'• Tłumaczyć głosowo w czasie rzeczywistym\n\n'
'• Polecać muzykę i podcasty\n\n'
@@ -709,7 +701,7 @@ const Map plPL = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Parowanie urządzenia",
- "connectYourDeepSoundHeadset": "Połącz swoje słuchawki DeepSound",
+ "connectYourDeepSoundHeadset": "Połącz swoje słuchawki Voitrans",
"bind": "Powiąż",
"authorizeBind": "Autoryzuj powiązanie",
"enterCode": "Wprowadź kod",
@@ -765,7 +757,7 @@ const Map plPL = {
'retryAuthorization': 'Spróbuj ponownie autoryzować',
'pleaseGrantNecessaryPermissions': 'Udziel niezbędnych uprawnień',
'checkFailedRetry': 'Sprawdzenie nie powiodło się, spróbuj ponownie',
- 'pleaseConnectDeepSoundDevice': 'Połącz urządzenie DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Połącz urządzenie Voitrans',
'verificationFailedRetry': 'Weryfikacja nie powiodła się, spróbuj ponownie',
'invalidDeviceAddress': 'Nieprawidłowy adres urządzenia',
'bleDeviceAssociationFailed': 'Skojarzenie urządzenia BLE nie powiodło się',
diff --git a/lib/core/translations/language/pt_pt.dart b/lib/core/translations/language/pt_pt.dart
index 14eadd866..4404d9d2b 100644
--- a/lib/core/translations/language/pt_pt.dart
+++ b/lib/core/translations/language/pt_pt.dart
@@ -137,7 +137,8 @@ const Map ptPT = {
"bluetoothInitializationFailure":
"Falha na inicialização do serviço Bluetooth",
"checkingPermissions": "A verificar permissões...",
- "lackPermissions": "Faltam permissões de Bluetooth",
+ "lackPermissions":
+ "Faltam permissões de Bluetooth e é necessário permitir o acesso à localização",
"searchingDevice": "A procurar dispositivos...",
"findConnectedDevice": "Dispositivo conectado encontrado",
"notFound": "Nenhum dispositivo Bluetooth conectado encontrado",
@@ -185,23 +186,17 @@ const Map ptPT = {
"conferenceAssistant": "Assistente de Reunião de Negócios",
"conferenceAssistantInfo":
"Gravação de atas em tempo real, tradução multilingue",
- "studyAssistant": "Assistente de Aprendizagem de Línguas",
- "studyAssistantInfo":
- "Correção de pronúncia, prática de conversação em tempo real",
- "travelTranslator": "Assistente de Tradução de Viagem",
- "travelTranslatorInfo":
- "Tradução de voz em tempo real, apresentação de pontos turísticos",
- "beSearching": "A pesquisar:",
- "noAssistantFound": "Nenhum assistente de IA correspondente encontrado",
+ "usageStats": "Estatísticas de Uso",
+ "usageStatsInfo": "Visualize as estatísticas de uso da sua aplicação",
"scene": "Cenário",
- "youHaveSelected": "Selecionou:",
- "newFunction": "Nova Função",
- "youChoseTry": "Escolheu experimentar",
- "aiSinger": "Modo Cantor IA",
- "aiSingerInfo":
- "Cante qualquer música com a voz do seu cantor favorito, até mesmo as suas próprias composições",
- "popularFunction": "Cenários de Funções Populares",
- "tryNow": "Experimente Agora",
+
+ 'trans_001_name': 'Tradução Básica 100',
+ 'trans_002_name': 'Tradução Básica 500',
+ 'trans_003_name': 'Tradução Básica 1000',
+
+ 'trans_001_desc': 'Inclui 100 traduções (voz/texto).',
+ 'trans_002_desc': 'Inclui 500 traduções (voz/texto).',
+ 'trans_003_desc': 'Inclui 1000 traduções (voz/texto).',
// 商务会议助手页
"startMeeting": "Iniciar Reunião",
@@ -217,8 +212,12 @@ const Map ptPT = {
'meetingTranscript': 'Transcrição da Reunião',
// 设置页
- "systemSettings": "Definições do Sistema",
- "premiumMember": "Membro Premium",
+ "systemSettings": "Definições do Sistema", //系统设置
+ "vipRecharge": "Recarga Premium", //会员充值
+ "aiRecharge": "Membro Premium", //AI充值
+ "translationRecharge": "Recarga de Tradução", //翻译充值
+ "meetingAssistantRecharge": "Recarga do Assistente de Reunião", //会议助手充值
+ "cloudSync": "Recarga de Sincronização em Nuvem", //云端同步
"joinDevice": "Dispositivo conectado:",
"accountId": "ID da Conta:",
"systemSetting": "Definição do Sistema",
@@ -289,7 +288,7 @@ const Map ptPT = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Limpar Histórico de Chat",
"online": "Online",
"inputMessage": "Introduzir mensagem...",
@@ -317,7 +316,7 @@ const Map ptPT = {
"swipeUpForMore": "Deslize para cima para ver mais",
// Agent controller
- 'welcomeMessage': 'Olá! Eu sou a **XiaoYan**, posso ajudá-lo(a) a:\n\n'
+ 'welcomeMessage': 'Olá! Eu sou a **Lily**, posso ajudá-lo(a) a:\n\n'
'• Responder a perguntas e fornecer informações\n\n'
'• Traduzir voz em tempo real\n\n'
'• Recomendar música e podcasts\n\n'
@@ -711,7 +710,7 @@ const Map ptPT = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Emparelhamento de Dispositivo",
- "connectYourDeepSoundHeadset": "Conecte os seus Auriculares DeepSound",
+ "connectYourDeepSoundHeadset": "Conecte os seus Auriculares Voitrans",
"bind": "Vincular",
"authorizeBind": "Autorizar Vinculação",
"enterCode": "Introduza o código",
@@ -768,7 +767,7 @@ const Map ptPT = {
'pleaseGrantNecessaryPermissions':
'Por favor, conceda as permissões necessárias',
'checkFailedRetry': 'Verificação falhou, tente novamente',
- 'pleaseConnectDeepSoundDevice': 'Por favor, conecte um dispositivo DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Por favor, conecte um dispositivo Voitrans',
'verificationFailedRetry': 'Verificação falhou, tente novamente',
'invalidDeviceAddress': 'Endereço de dispositivo inválido',
'bleDeviceAssociationFailed': 'Falha na associação do dispositivo BLE',
@@ -863,4 +862,90 @@ const Map ptPT = {
"乌尔都语": "Urdu",
"波斯语": "Persa",
"斯瓦希里语": "Suaíli",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'Interpretação simultânea e tradução de texto em tempo real, com voz de baixa latência.',
+ 'transHeaderDesc2': 'Adequado para viagens, negócios, palestras e ensino.',
+ 'translateZhEn': 'Tradução Chinês-Inglês',
+ 'lowLatencyVoiceBroadcast': 'Transmissão de voz de baixa latência',
+ 'multiLangTextTranslation': 'Tradução de texto multilingue',
+ 'termOptimizationContextPreserve':
+ 'Otimização de terminologia e preservação de contexto',
+ 'lexiconTourBusinessLife': 'Léxicos de viagem/negócios/vida',
+ 'personalVocabularyMemory': 'Memória de vocabulário pessoal',
+ 'conversationSubtitleLargeText':
+ 'Legendagem de conversas / modo de texto grande',
+ 'colorHighContrast': 'Alto contraste de cor',
+ 'transDisclaimer':
+ 'O desempenho da tradução depende do microfone, da latência da rede e do ruído ambiente.',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'Visão geral de benefícios',
+ 'higherQuota': 'Maior quota de utilização',
+ 'lowerUnitPrice': 'Preço unitário inferior',
+ 'priorityService': 'Serviço prioritário',
+ 'exclusiveSupportChannel': 'Canal de suporte dedicado',
+ 'fastResponse': 'Resposta rápida a problemas',
+ 'eventsAndDiscounts': 'Eventos e descontos',
+ 'memberExclusiveEvents': 'Eventos exclusivos para membros',
+ 'longTermDiscountPlan': 'Plano de desconto a longo prazo',
+ 'generalPrivileges': 'Privilégios gerais',
+ 'earlyAccessNewFeatures': 'Acesso antecipado a novas funcionalidades',
+ 'crossDeviceSync': 'Sincronização entre dispositivos',
+ 'vipDisclaimer':
+ 'Os benefícios reais dependem dos detalhes do pacote e podem mudar entre versões.',
};
diff --git a/lib/core/translations/language/ro_ro.dart b/lib/core/translations/language/ro_ro.dart
index 2184bc439..fe9b4158a 100644
--- a/lib/core/translations/language/ro_ro.dart
+++ b/lib/core/translations/language/ro_ro.dart
@@ -137,7 +137,8 @@ const Map roRO = {
"bluetoothInitializationFailure":
"Inițializarea serviciului Bluetooth a eșuat",
"checkingPermissions": "Se verifică permisiunile...",
- "lackPermissions": "Lipsesc permisiunile Bluetooth",
+ "lackPermissions":
+ "Lipsesc permisiunile Bluetooth și este necesar să permiteți accesul la localizare",
"searchingDevice": "Se caută dispozitive...",
"findConnectedDevice": "Dispozitiv conectat găsit",
"notFound": "Niciun dispozitiv Bluetooth conectat nu a fost găsit",
@@ -184,23 +185,9 @@ const Map roRO = {
"conferenceAssistant": "Asistent pentru ședințe de afaceri",
"conferenceAssistantInfo":
"Înregistrare în timp real a proceselor-verbale, traducere multilingvă",
- "studyAssistant": "Asistent pentru învățarea limbilor străine",
- "studyAssistantInfo":
- "Corectarea pronunției, practicarea vorbirii în timp real",
- "travelTranslator": "Asistent de traducere pentru călătorii",
- "travelTranslatorInfo":
- "Traducere vocală în timp real, prezentarea atracțiilor turistice",
- "beSearching": "Se caută:",
- "noAssistantFound": "Niciun asistent AI corespunzător nu a fost găsit",
+ "usageStats": "Statistici de utilizare",
+ "usageStatsInfo": "Vizualizați istoricul utilizării aplicației",
"scene": "Scenariu",
- "youHaveSelected": "Ați selectat:",
- "newFunction": "Funcție nouă",
- "youChoseTry": "Ați ales să încercați",
- "aiSinger": "Modul cântăreț AI",
- "aiSingerInfo":
- "Cântați orice melodie cu vocea cântărețului preferat, chiar și propriile compoziții",
- "popularFunction": "Scenarii de funcții populare",
- "tryNow": "Încearcă acum",
// 商务会议助手页
"startMeeting": "Începe ședința",
@@ -216,8 +203,12 @@ const Map roRO = {
'meetingTranscript': 'Transcriere ședință',
// 设置页
- "systemSettings": "Setări de sistem",
- "premiumMember": "Membru Premium",
+ "systemSettings": "Setări de sistem", //系统设置
+ "vipRecharge": "Recarga Premium", //会员充值
+ "aiRecharge": "Membru Premium", //AI充值
+ "translationRecharge": "Recarga de traducere", //翻译充值
+ "meetingAssistantRecharge": "Recarga de asistent ședință", //会议助手充值
+ "cloudSync": "Recarga de sincronizare în cloud", //云端同步
"joinDevice": "Dispozitiv conectat:",
"accountId": "ID cont:",
"systemSetting": "Setări de sistem",
@@ -288,7 +279,7 @@ const Map roRO = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Șterge istoricul chatului",
"online": "Online",
"inputMessage": "Introduceți mesaj...",
@@ -316,7 +307,7 @@ const Map roRO = {
"swipeUpForMore": "Glisați în sus pentru mai mult",
// Agent controller
- 'welcomeMessage': 'Bună! Sunt **XiaoYan**, vă pot ajuta cu:\n\n'
+ 'welcomeMessage': 'Bună! Sunt **Lily**, vă pot ajuta cu:\n\n'
'• Răspuns la întrebări și furnizare de informații\n\n'
'• Traducere vocală în timp real\n\n'
'• Recomandare de muzică și podcasturi\n\n'
@@ -713,7 +704,7 @@ const Map roRO = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Asociere dispozitiv",
- "connectYourDeepSoundHeadset": "Conectați-vă căștile DeepSound",
+ "connectYourDeepSoundHeadset": "Conectați-vă căștile Voitrans",
"bind": "Leagă",
"authorizeBind": "Autorizează legarea",
"enterCode": "Introduceți codul",
@@ -768,7 +759,7 @@ const Map roRO = {
'retryAuthorization': 'Reîncearcă autorizarea',
'pleaseGrantNecessaryPermissions': 'Acordați permisiunile necesare',
'checkFailedRetry': 'Verificare eșuată, reîncercați',
- 'pleaseConnectDeepSoundDevice': 'Conectați un dispozitiv DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Conectați un dispozitiv Voitrans',
'verificationFailedRetry': 'Verificare eșuată, reîncercați',
'invalidDeviceAddress': 'Adresă de dispozitiv invalidă',
'bleDeviceAssociationFailed': 'Asocierea dispozitivului BLE a eșuat',
diff --git a/lib/core/translations/language/ru_ru.dart b/lib/core/translations/language/ru_ru.dart
index 6d6603e5d..95674fdc5 100644
--- a/lib/core/translations/language/ru_ru.dart
+++ b/lib/core/translations/language/ru_ru.dart
@@ -137,7 +137,8 @@ const Map ruRU = {
"initializing": "Инициализация...",
"bluetoothInitializationFailure": "Ошибка инициализации службы Bluetooth",
"checkingPermissions": "Проверка разрешений...",
- "lackPermissions": "Отсутствуют разрешения Bluetooth",
+ "lackPermissions":
+ "Отсутствуют разрешения Bluetooth и необходимо разрешить доступ к местоположению",
"searchingDevice": "Поиск устройств...",
"findConnectedDevice": "Найдено подключенное устройство",
"notFound": "Подключенное устройство Bluetooth не найдено",
@@ -183,23 +184,17 @@ const Map ruRU = {
"conferenceAssistant": "Помощник для деловых встреч",
"conferenceAssistantInfo":
"Запись протоколов в реальном времени, многоязычный перевод",
- "studyAssistant": "Помощник в изучении языков",
- "studyAssistantInfo":
- "Коррекция произношения, практика разговорной речи в реальном времени",
- "travelTranslator": "Помощник-переводчик для путешествий",
- "travelTranslatorInfo":
- "Голосовой перевод в реальном времени, описание туристических достопримечательностей",
- "beSearching": "Поиск:",
- "noAssistantFound": "Соответствующий AI-помощник не найден",
+ "usageStats": "Статистика использования",
+ "usageStatsInfo": "Просмотрите статистику использования вашего приложения",
"scene": "Сценарий",
- "youHaveSelected": "Вы выбрали:",
- "newFunction": "Новая функция",
- "youChoseTry": "Вы решили попробовать",
- "aiSinger": "Режим AI-певца",
- "aiSingerInfo":
- "Пойте любую песню голосом вашего любимого исполнителя, даже ваши собственные композиции",
- "popularFunction": "Популярные функциональные сценарии",
- "tryNow": "Попробовать сейчас",
+
+ 'trans_001_name': 'Перевод Базовый 100',
+ 'trans_002_name': 'Перевод Базовый 500',
+ 'trans_003_name': 'Перевод Базовый 1000',
+
+ 'trans_001_desc': 'Включает 100 переводов (голос/текст).',
+ 'trans_002_desc': 'Включает 500 переводов (голос/текст).',
+ 'trans_003_desc': 'Включает 1000 переводов (голос/текст).',
// 商务会议助手页
"startMeeting": "Начать встречу",
@@ -215,8 +210,12 @@ const Map ruRU = {
'meetingTranscript': 'Транскрипт встречи',
// 设置页
- "systemSettings": "Системные настройки",
- "premiumMember": "Премиум-участник",
+ "systemSettings": "Системные настройки", //系统设置
+ "vipRecharge": "Пополнение премиум-члена", //会员充值
+ "aiRecharge": "Премиум-участник", //AI充值
+ "translationRecharge": "Пополнение перевода", //翻译充值
+ "meetingAssistantRecharge": "Пополнение помощника встречи", //会议助手充值
+ "cloudSync": "Пополнение синхронизации в облаке", //云端同步
"joinDevice": "Подключенное устройство:",
"accountId": "ID аккаунта:",
"systemSetting": "Системные настройки",
@@ -285,7 +284,7 @@ const Map ruRU = {
//Agent 模块
// agent View
- "XiaoYan": "СяоЯнь",
+ "Lily": "Lily",
"clearChatHistory": "Очистить историю чата",
"online": "В сети",
"inputMessage": "Введите сообщение...",
@@ -761,7 +760,7 @@ const Map ruRU = {
'pleaseGrantNecessaryPermissions':
'Пожалуйста, предоставьте необходимые разрешения',
'checkFailedRetry': 'Проверка не удалась, попробуйте еще раз',
- 'pleaseConnectDeepSoundDevice': 'Пожалуйста, подключите устройство DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Пожалуйста, подключите устройство Voitrans',
'verificationFailedRetry': 'Проверка не удалась, попробуйте еще раз',
'invalidDeviceAddress': 'Неверный адрес устройства',
'bleDeviceAssociationFailed': 'Не удалось связать устройство BLE',
@@ -856,4 +855,91 @@ const Map ruRU = {
"乌尔都语": "Урду",
"波斯语": "Персидский",
"斯瓦希里语": "Суахили",
+ // Guide overlay keys (placeholders in English)
+ "sayLilyHint": "Say \"Lily Lily\" to the mic",
+ "imHere": "I’m here~",
+ "guideWelcomeWakeAI": "Welcome to Voitrans! First, wake your AI “Lily”.",
+ "aiReplyCompleted": "Lily has finished the reply!",
+ "aiThinking": "Lily is thinking…",
+ "guideAwakenSuccess": "Great! Lily is awake—ask it to help.",
+ "confirmInput": "Confirm Input",
+ "guideClickSendPrefix": "Tap send, ",
+ "guideWeatherStart": "Tell Lily: “What’s the weather today?”",
+ "guideWeatherInput": "What’s the weather today?",
+ "guideWeatherSend": "Lily will report the weather in real time",
+ "guideWeatherEnd": "Lily can report weather live—try other commands",
+ "guideMusicStart": "Tell Lily: “Play some rock music”",
+ "guideMusicInput": "Play some rock music",
+ "guideMusicSend": "Lily will find music for you",
+ "guideMusicEnd": "Lily found music—try other commands",
+ "guideNavStart": "Tell Lily: “Navigate to Shenzhen Airport”",
+ "guideNavInput": "Navigate to Shenzhen Airport",
+ "guideNavSend": "Lily will plan the route",
+ "guideNavEnd": "Navigation set—try other commands",
+ "guideMeetingStart":
+ "Tell Lily: “Create a meeting reminder for 3pm tomorrow”",
+ "guideMeetingInput": "Create a meeting reminder for 3pm tomorrow",
+ "guideMeetingSend": "Lily will create a meeting reminder",
+ "guideMeetingEnd": "Reminder created—try other commands",
+ "guidePhoneStart": "Tell Lily: “Call Mom”",
+ "guidePhoneInput": "Call Mom",
+ "guidePhoneSend": "Lily will make the call",
+ "guidePhoneEnd": "Call placed—try other commands",
+ "guideSmsStart": "Tell Lily: “Send Dad a text: I’ll be home for dinner”",
+ "guideSmsInput": "Text Dad: I’ll be home for dinner",
+ "guideSmsSend": "Lily will send the message",
+ "guideSmsEnd": "Message sent—voice control is convenient",
+ // Goods pages common footer (placeholders)
+ 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
+ 'copyrightVoitrans': '© 2025 Voitrans Technologies',
+
+ // Meeting goods page (placeholders)
+ 'meetingHeaderDesc1':
+ 'Audio recording, transcription, keyword search, and auto summary.',
+ 'meetingHeaderDesc2':
+ 'Suitable for business meetings, class notes, and interview minutes.',
+ 'meetingAutoRecording': 'Auto recording and segmentation',
+ 'meetingSpeakerTagging': 'Speaker labeling',
+ 'meetingLongAudioTranscription': 'Long audio transcription',
+ 'meetingKeyPointSummary': 'Key point extraction',
+ 'meetingTopicNameSearch': 'Search by topic/name',
+ 'meetingTimelineJump': 'Timeline jump',
+ 'meetingExportSummary': 'Export minutes',
+ 'meetingMultiPlatformShare': 'Share across platforms',
+ 'meetingDisclaimer':
+ 'Use in quiet environments; performance depends on microphone and network.',
+
+ // Translation goods page (placeholders)
+ 'transHeaderDesc1':
+ 'Синхронный перевод и перевод текста в реальном времени с низкой задержкой голосового озвучивания.',
+ 'transHeaderDesc2':
+ 'Подходит для путешествий, бизнеса, выступлений и обучения.',
+ 'translateZhEn': 'Китайско-английский перевод',
+ 'lowLatencyVoiceBroadcast': 'Голосовое вещание с низкой задержкой',
+ 'multiLangTextTranslation': 'Многоязычный перевод текста',
+ 'termOptimizationContextPreserve':
+ 'Оптимизация терминологии и сохранение контекста',
+ 'lexiconTourBusinessLife':
+ 'Лексика для путешествий/бизнеса/повседневной жизни',
+ 'personalVocabularyMemory': 'Память персонального словаря',
+ 'conversationSubtitleLargeText': 'Субтитры беседы / режим крупных шрифтов',
+ 'colorHighContrast': 'Высокая контрастность цветов',
+ 'transDisclaimer':
+ 'Качество перевода зависит от микрофона, сетевой задержки и фонового шума.',
+
+ // VIP goods page (placeholders)
+ 'benefitsOverview': 'Обзор преимуществ',
+ 'higherQuota': 'Более высокая квота использования',
+ 'lowerUnitPrice': 'Низкая цена за единицу',
+ 'priorityService': 'Приоритетное обслуживание',
+ 'exclusiveSupportChannel': 'Выделенный канал поддержки',
+ 'fastResponse': 'Быстрый отклик на проблемы',
+ 'eventsAndDiscounts': 'События и скидки',
+ 'memberExclusiveEvents': 'Эксклюзивные мероприятия для участников',
+ 'longTermDiscountPlan': 'Долгосрочный план скидок',
+ 'generalPrivileges': 'Общие привилегии',
+ 'earlyAccessNewFeatures': 'Ранний доступ к новым функциям',
+ 'crossDeviceSync': 'Синхронизация между устройствами',
+ 'vipDisclaimer':
+ 'Фактические преимущества зависят от деталей пакета и могут меняться с версиями.',
};
diff --git a/lib/core/translations/language/sk_sk.dart b/lib/core/translations/language/sk_sk.dart
index a20e350c8..2e33a37ad 100644
--- a/lib/core/translations/language/sk_sk.dart
+++ b/lib/core/translations/language/sk_sk.dart
@@ -136,7 +136,8 @@ const Map skSK = {
"initializing": "Inicializácia...",
"bluetoothInitializationFailure": "Inicializácia služby Bluetooth zlyhala",
"checkingPermissions": "Kontrola povolení...",
- "lackPermissions": "Chýbajú povolenia Bluetooth",
+ "lackPermissions":
+ "Chýbajú povolenia Bluetooth a je potrebné povoliť prístup k lokáli",
"searchingDevice": "Vyhľadávanie zariadení...",
"findConnectedDevice": "Nájdené pripojené zariadenie",
"notFound": "Nenájdené žiadne pripojené Bluetooth zariadenie",
@@ -182,22 +183,9 @@ const Map skSK = {
"conferenceAssistant": "Asistent pre obchodné stretnutia",
"conferenceAssistantInfo":
"Záznam zápisnice v reálnom čase, viacjazyčný preklad",
- "studyAssistant": "Asistent pre štúdium jazykov",
- "studyAssistantInfo": "Oprava výslovnosti, prax reči v reálnom čase",
- "travelTranslator": "Asistent pre preklad na cestách",
- "travelTranslatorInfo":
- "Hlasový preklad v reálnom čase, predstavenie turistických atrakcií",
- "beSearching": "Hľadám:",
- "noAssistantFound": "Nenájdený žiadny zodpovedajúci AI asistent",
+ "usageStats": "Statistiky využitia",
+ "usageStatsInfo": "Zobrazte vaše využitie aplikácie",
"scene": "Scenár",
- "youHaveSelected": "Vybrali ste:",
- "newFunction": "Nová funkcia",
- "youChoseTry": "Rozhodli ste sa vyskúšať",
- "aiSinger": "Režim AI speváka",
- "aiSingerInfo":
- "Spievajte akúkoľvek pieseň hlasom vášho obľúbeného speváka, dokonca aj vlastné skladby",
- "popularFunction": "Populárne funkčné scenáre",
- "tryNow": "Vyskúšať teraz",
// 商务会议助手页
"startMeeting": "Začať stretnutie",
@@ -213,8 +201,12 @@ const Map skSK = {
'meetingTranscript': 'Prepis stretnutia',
// 设置页
- "systemSettings": "Systémové nastavenia",
- "premiumMember": "Prémium člen",
+ "systemSettings": "Systémové nastavenia", //系统设置
+ "vipRecharge": "Nákup prémium členstva", //会员充值
+ "aiRecharge": "Prémium člen", //AI充值
+ "translationRecharge": "Nákup prekladov", //翻译充值
+ "meetingAssistantRecharge": "Nákup asistentu stretnutia", //会议助手充值
+ "cloudSync": "Nákup synchronizácie v cloude", //云端同步
"joinDevice": "Pripojené zariadenie:",
"accountId": "ID účtu:",
"systemSetting": "Systémové nastavenie",
@@ -283,7 +275,7 @@ const Map skSK = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Vymazať históriu chatu",
"online": "Online",
"inputMessage": "Zadajte správu...",
@@ -310,7 +302,7 @@ const Map skSK = {
"swipeUpForMore": "Potiahnite nahor pre viac",
// Agent controller
- 'welcomeMessage': 'Ahoj! Som **XiaoYan**, môžem vám pomôcť:\n\n'
+ 'welcomeMessage': 'Ahoj! Som **Lily**, môžem vám pomôcť:\n\n'
'• Odpovedať na otázky a poskytovať informácie\n\n'
'• Hlasový preklad v reálnom čase\n\n'
'• Odporúčať hudbu a podcasty\n\n'
@@ -699,7 +691,7 @@ const Map skSK = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Párovanie zariadenia",
- "connectYourDeepSoundHeadset": "Pripojte svoje slúchadlá DeepSound",
+ "connectYourDeepSoundHeadset": "Pripojte svoje slúchadlá Voitrans",
"bind": "Prepojiť",
"authorizeBind": "Autorizovať prepojenie",
"enterCode": "Zadajte kód",
@@ -754,7 +746,7 @@ const Map skSK = {
'retryAuthorization': 'Znova autorizovať',
'pleaseGrantNecessaryPermissions': 'Udeľte potrebné povolenia',
'checkFailedRetry': 'Kontrola zlyhala, skúste to znova',
- 'pleaseConnectDeepSoundDevice': 'Pripojte zariadenie DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Pripojte zariadenie Voitrans',
'verificationFailedRetry': 'Overenie zlyhalo, skúste to znova',
'invalidDeviceAddress': 'Neplatná adresa zariadenia',
'bleDeviceAssociationFailed': 'Priradenie zariadenia BLE zlyhalo',
diff --git a/lib/core/translations/language/sl_si.dart b/lib/core/translations/language/sl_si.dart
index d106107e0..4bd16b7b9 100644
--- a/lib/core/translations/language/sl_si.dart
+++ b/lib/core/translations/language/sl_si.dart
@@ -136,7 +136,8 @@ const Map slSI = {
"bluetoothInitializationFailure":
"Inicializacija storitve Bluetooth ni uspela",
"checkingPermissions": "Preverjanje dovoljenj...",
- "lackPermissions": "Manjkajo dovoljenja za Bluetooth",
+ "lackPermissions":
+ "Manjkajo dovoljenja za Bluetooth in je potrebno omogočiti dostop do lokacije",
"searchingDevice": "Iskanje naprav...",
"findConnectedDevice": "Najdena povezana naprava",
"notFound": "Nobena povezana naprava Bluetooth ni bila najdena",
@@ -182,22 +183,9 @@ const Map slSI = {
"conferenceAssistant": "Pomočnik za poslovne sestanke",
"conferenceAssistantInfo":
"Zapisovanje zapisnikov v realnem času, večjezično prevajanje",
- "studyAssistant": "Pomočnik za učenje jezikov",
- "studyAssistantInfo": "Popravek izgovorjave, vadba govorjenja v realnem času",
- "travelTranslator": "Pomočnik za prevajanje na potovanjih",
- "travelTranslatorInfo":
- "Glasovno prevajanje v realnem času, predstavitev turističnih znamenitosti",
- "beSearching": "Iskanje:",
- "noAssistantFound": "Ni bil najden noben ustrezen pomočnik AI",
+ "usageStats": "Statistika uporabe",
+ "usageStatsInfo": "Pregledajte vaše uporabo aplikacije",
"scene": "Scenarij",
- "youHaveSelected": "Izbrali ste:",
- "newFunction": "Nova funkcija",
- "youChoseTry": "Izbrali ste poskusiti",
- "aiSinger": "Način AI pevca",
- "aiSingerInfo":
- "Zapojte katero koli pesem z glasom vašega najljubšega pevca, celo lastne skladbe",
- "popularFunction": "Priljubljeni funkcijski scenariji",
- "tryNow": "Poskusi zdaj",
// 商务会议助手页
"startMeeting": "Začni sestanek",
@@ -213,8 +201,12 @@ const Map slSI = {
'meetingTranscript': 'Prepis sestanka',
// 设置页
- "systemSettings": "Sistemske nastavitve",
- "premiumMember": "Premium član",
+ "systemSettings": "Sistemske nastavitve", //系统设置
+ "vipRecharge": "Nákup premium člana", //会员充值
+ "aiRecharge": "Premium član", //AI充值
+ "translationRecharge": "Nákup prevajanja", //翻译充值
+ "meetingAssistantRecharge": "Nákup asistenta sestanka", //会议助手充值
+ "cloudSync": "Nákup sinkronizacije v oblaku", //云端同步
"joinDevice": "Povezana naprava:",
"accountId": "ID računa:",
"systemSetting": "Sistemska nastavitev",
@@ -284,7 +276,7 @@ const Map slSI = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Počisti zgodovino klepeta",
"online": "Na spletu",
"inputMessage": "Vnesite sporočilo...",
@@ -311,7 +303,7 @@ const Map slSI = {
"swipeUpForMore": "Povlecite navzgor za več",
// Agent controller
- 'welcomeMessage': 'Živjo! Sem **XiaoYan**, lahko vam pomagam:\n\n'
+ 'welcomeMessage': 'Živjo! Sem **Lily**, lahko vam pomagam:\n\n'
'• Odgovarjam na vprašanja in nudim informacije\n\n'
'• Glasovno prevajanje v realnem času\n\n'
'• Priporočam glasbo in podcaste\n\n'
@@ -704,7 +696,7 @@ const Map slSI = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Seznanjanje naprave",
- "connectYourDeepSoundHeadset": "Povežite svoje slušalke DeepSound",
+ "connectYourDeepSoundHeadset": "Povežite svoje slušalke Voitrans",
"bind": "Poveži",
"authorizeBind": "Avtoriziraj povezavo",
"enterCode": "Vnesite kodo",
@@ -759,7 +751,7 @@ const Map slSI = {
'retryAuthorization': 'Ponovno avtoriziraj',
'pleaseGrantNecessaryPermissions': 'Podelite potrebna dovoljenja',
'checkFailedRetry': 'Preverjanje ni uspelo, poskusite znova',
- 'pleaseConnectDeepSoundDevice': 'Povežite napravo DeepSound',
+ 'pleaseConnectDeepSoundDevice': 'Povežite napravo Voitrans',
'verificationFailedRetry': 'Preverjanje ni uspelo, poskusite znova',
'invalidDeviceAddress': 'Neveljaven naslov naprave',
'bleDeviceAssociationFailed': 'Povezovanje naprave BLE ni uspelo',
diff --git a/lib/core/translations/language/sr_rs.dart b/lib/core/translations/language/sr_rs.dart
index 7bab2c689..6dd585a23 100644
--- a/lib/core/translations/language/sr_rs.dart
+++ b/lib/core/translations/language/sr_rs.dart
@@ -136,7 +136,8 @@ const Map srRS = {
"bluetoothInitializationFailure":
"Neuspešna inicijalizacija Bluetooth servisa",
"checkingPermissions": "Provera dozvola...",
- "lackPermissions": "Nedostaju Bluetooth dozvole",
+ "lackPermissions":
+ "Nedostaju Bluetooth dozvole i je potrebno omogućiti pristup lokaciji",
"searchingDevice": "Pretraga uređaja...",
"findConnectedDevice": "Pronađen povezan uređaj",
"notFound": "Nije pronađen povezan Bluetooth uređaj",
@@ -181,22 +182,9 @@ const Map srRS = {
"conferenceAssistant": "Asistent za poslovne sastanke",
"conferenceAssistantInfo":
"Beleženje zapisnika u realnom vremenu, višejezično prevođenje",
- "studyAssistant": "Asistent za učenje jezika",
- "studyAssistantInfo": "Korekcija izgovora, vežbanje govora u realnom vremenu",
- "travelTranslator": "Asistent za prevođenje na putovanjima",
- "travelTranslatorInfo":
- "Glasovno prevođenje u realnom vremenu, predstavljanje turističkih atrakcija",
- "beSearching": "Pretraga:",
- "noAssistantFound": "Nije pronađen odgovarajući AI asistent",
+ "usageStats": "Statistika korišćenja",
+ "usageStatsInfo": "Pregledajte vaše korišćenje aplikacije",
"scene": "Scena",
- "youHaveSelected": "Izabrali ste:",
- "newFunction": "Nova funkcija",
- "youChoseTry": "Izabrali ste da probate",
- "aiSinger": "AI pevač mod",
- "aiSingerInfo":
- "Pevajte bilo koju pesmu glasom svog omiljenog pevača, čak i sopstvene kompozicije",
- "popularFunction": "Popularne scene funkcija",
- "tryNow": "Probaj sada",
// 商务会议助手页
"startMeeting": "Započni sastanak",
@@ -212,8 +200,12 @@ const Map srRS = {
'meetingTranscript': 'Transkript sastanka',
// 设置页
- "systemSettings": "Sistemska podešavanja",
- "premiumMember": "Premium član",
+ "systemSettings": "Sistemska podešavanja", //系统设置
+ "vipRecharge": "Nákup premium člana", //会员充值
+ "aiRecharge": "Premium član", //AI充值
+ "translationRecharge": "Nákup prevajanja", //翻译充值
+ "meetingAssistantRecharge": "Nákup asistenta sastanka", //会议助手充值
+ "cloudSync": "Nákup sinkronizacije u oblaku", //云端同步
"joinDevice": "Povezan uređaj:",
"accountId": "ID naloga:",
"systemSetting": "Sistemsko podešavanje",
@@ -282,7 +274,7 @@ const Map srRS = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Obriši istoriju ćaskanja",
"online": "Na mreži",
"inputMessage": "Unesite poruku...",
@@ -309,7 +301,7 @@ const Map srRS = {
"swipeUpForMore": "Prevucite nagore za više",
// Agent controller
- 'welcomeMessage': 'Zdravo! Ja sam **XiaoYan**, mogu vam pomoći:\n\n'
+ 'welcomeMessage': 'Zdravo! Ja sam **Lily**, mogu vam pomoći:\n\n'
'• Da odgovaram na pitanja i pružam informacije\n\n'
'• Glasovno prevođenje u realnom vremenu\n\n'
'• Da preporučujem muziku i podkaste\n\n'
@@ -699,7 +691,7 @@ const Map srRS = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Uparivanje uređaja",
- "connectYourDeepSoundHeadset": "Povežite svoje DeepSound slušalice",
+ "connectYourDeepSoundHeadset": "Povežite svoje Voitrans slušalice",
"bind": "Poveži",
"authorizeBind": "Autorizuj povezivanje",
"enterCode": "Unesite kod",
@@ -754,7 +746,7 @@ const Map srRS = {
'retryAuthorization': 'Pokušaj ponovo autorizaciju',
'pleaseGrantNecessaryPermissions': 'Dajte potrebne dozvole',
'checkFailedRetry': 'Neuspešna provera, pokušajte ponovo',
- 'pleaseConnectDeepSoundDevice': 'Povežite DeepSound uređaj',
+ 'pleaseConnectDeepSoundDevice': 'Povežite Voitrans uređaj',
'verificationFailedRetry': 'Neuspešna verifikacija, pokušajte ponovo',
'invalidDeviceAddress': 'Nevažeća adresa uređaja',
'bleDeviceAssociationFailed': 'Neuspešno povezivanje BLE uređaja',
diff --git a/lib/core/translations/language/sv_se.dart b/lib/core/translations/language/sv_se.dart
index d307b1eef..a44d13fe2 100644
--- a/lib/core/translations/language/sv_se.dart
+++ b/lib/core/translations/language/sv_se.dart
@@ -136,7 +136,8 @@ const Map svSE = {
"bluetoothInitializationFailure":
"Initiering av Bluetooth-tjänst misslyckades",
"checkingPermissions": "Kontrollerar behörigheter...",
- "lackPermissions": "Saknar Bluetooth-behörigheter",
+ "lackPermissions":
+ "Saknar Bluetooth-behörigheter och kräver att du tillåter åtkomst till plats",
"searchingDevice": "Söker efter enheter...",
"findConnectedDevice": "Hittade ansluten enhet",
"notFound": "Ingen ansluten Bluetooth-enhet hittades",
@@ -181,23 +182,9 @@ const Map svSE = {
"conferenceAssistant": "Affärsmötesassistent",
"conferenceAssistantInfo":
"Realtidsinspelning av mötesprotokoll, flerspråkig översättning",
- "studyAssistant": "Språkinlärningsassistent",
- "studyAssistantInfo":
- "Uttalskorrigering, realtidsövning av muntlig färdighet",
- "travelTranslator": "Reseöversättningsassistent",
- "travelTranslatorInfo":
- "Realtids röstöversättning, introduktion till turistattraktioner",
- "beSearching": "Söker:",
- "noAssistantFound": "Ingen motsvarande AI-assistent hittades",
+ "usageStats": "Användningsstatistik",
+ "usageStatsInfo": "Visa din användningsstatistik",
"scene": "Scenario",
- "youHaveSelected": "Du har valt:",
- "newFunction": "Ny funktion",
- "youChoseTry": "Du valde att prova",
- "aiSinger": "AI-sångarläge",
- "aiSingerInfo":
- "Sjung vilken låt som helst med din favoritsångares röst, även dina egna kompositioner",
- "popularFunction": "Populära funktionsscenarier",
- "tryNow": "Prova nu",
// 商务会议助手页
"startMeeting": "Starta möte",
@@ -213,8 +200,12 @@ const Map svSE = {
'meetingTranscript': 'Mötesutskrift',
// 设置页
- "systemSettings": "Systeminställningar",
- "premiumMember": "Premium-medlem",
+ "systemSettings": "Systeminställningar", //系统设置
+ "vipRecharge": "Premium-låntagning", //会员充值
+ "aiRecharge": "Premium-medlem", //AI充值
+ "translationRecharge": "Översättningslåntagning", //翻译充值
+ "meetingAssistantRecharge": "Mötesassistentlåntagning", //会议助手充值
+ "cloudSync": "Molnsynkronisering", //云端同步
"joinDevice": "Ansluten enhet:",
"accountId": "Konto-ID:",
"systemSetting": "Systeminställning",
@@ -283,7 +274,7 @@ const Map svSE = {
//Agent 模块
// agent View
- "XiaoYan": "XiaoYan",
+ "Lily": "Lily",
"clearChatHistory": "Rensa chatthistorik",
"online": "Online",
"inputMessage": "Skriv meddelande...",
@@ -310,7 +301,7 @@ const Map svSE = {
"swipeUpForMore": "Svep upp för mer",
// Agent controller
- 'welcomeMessage': 'Hej! Jag är **XiaoYan**, jag kan hjälpa dig med:\n\n'
+ 'welcomeMessage': 'Hej! Jag är **Lily**, jag kan hjälpa dig med:\n\n'
'• Svara på frågor och ge information\n\n'
'• Realtids röstöversättning\n\n'
'• Rekommendera musik och poddar\n\n'
@@ -699,7 +690,7 @@ const Map svSE = {
// 配对模块
// 配对页面 (pairing_view.dart & pairing_view_new.dart)
"devicePairing": "Enhetsparkoppling",
- "connectYourDeepSoundHeadset": "Anslut dina DeepSound-hörlurar",
+ "connectYourDeepSoundHeadset": "Anslut dina Voitrans-hörlurar",
"bind": "Bind",
"authorizeBind": "Auktorisera bindning",
"enterCode": "Ange koden",
@@ -753,7 +744,7 @@ const Map svSE = {
'retryAuthorization': 'Försök auktorisera igen',
'pleaseGrantNecessaryPermissions': 'Bevilja nödvändiga behörigheter',
'checkFailedRetry': 'Kontroll misslyckades, försök igen',
- 'pleaseConnectDeepSoundDevice': 'Anslut en DeepSound-enhet',
+ 'pleaseConnectDeepSoundDevice': 'Anslut en Voitrans-enhet',
'verificationFailedRetry': 'Verifiering misslyckades, försök igen',
'invalidDeviceAddress': 'Ogiltig enhetsadress',
'bleDeviceAssociationFailed': 'BLE-enhetsassociation misslyckades',
diff --git a/lib/core/translations/language/th_th.dart b/lib/core/translations/language/th_th.dart
index 084def1f8..3f828f4f6 100644
--- a/lib/core/translations/language/th_th.dart
+++ b/lib/core/translations/language/th_th.dart
@@ -132,7 +132,7 @@ const Map thTH = {
"initializing": "กำลังเริ่มต้น...",
"bluetoothInitializationFailure": "การเริ่มต้นบริการบลูทูธล้มเหลว",
"checkingPermissions": "กำลังตรวจสอบสิทธิ์...",
- "lackPermissions": "ขาดสิทธิ์บลูทูธ",
+ "lackPermissions": "ขาดสิทธิ์บลูทูธและต้องอนุญาตการเข้าถึงตำแหน่ง",
"searchingDevice": "กำลังค้นหาอุปกรณ์...",
"findConnectedDevice": "พบอุปกรณ์ที่เชื่อมต่อแล้ว",
"notFound": "ไม่พบอุปกรณ์บลูทูธที่เชื่อมต่อ",
@@ -176,21 +176,9 @@ const Map thTH = {
"healthConsultantInfo": "มีฟังก์ชันแชท AI เพิ่มเติม",
"conferenceAssistant": "ผู้ช่วยประชุมธุรกิจ",
"conferenceAssistantInfo": "บันทึกการประชุมแบบเรียลไทม์ แปลหลายภาษา",
- "studyAssistant": "ผู้ช่วยเรียนภาษา",
- "studyAssistantInfo": "แก้ไขการออกเสียง ฝึกพูดแบบเรียลไทม์",
- "travelTranslator": "ผู้ช่วยแปลภาษาสำหรับการเดินทาง",
- "travelTranslatorInfo": "แปลเสียงแบบเรียลไทม์ แนะนำสถานที่ท่องเที่ยว",
- "beSearching": "กำลังค้นหา:",
- "noAssistantFound": "ไม่พบผู้ช่วย AI ที่ตรงกัน",
+ "usageStats": "สถิติการใช้งาน",
+ "usageStatsInfo": "ดูสถิติการใช้งานของคุณ",
"scene": "สถานการณ์",
- "youHaveSelected": "คุณได้เลือก:",
- "newFunction": "ฟังก์ชันใหม่",
- "youChoseTry": "คุณเลือกที่จะลอง",
- "aiSinger": "โหมดนักร้อง AI",
- "aiSingerInfo":
- "ร้องเพลงใดก็ได้ด้วยเสียงของนักร้องที่คุณชื่นชอบ แม้แต่เพลงที่คุณแต่งเอง",
- "popularFunction": "สถานการณ์ฟังก์ชันยอดนิยม",
- "tryNow": "ลองเลย",
// 商务会议助手页
"startMeeting": "เริ่มการประชุม",
@@ -206,8 +194,12 @@ const Map