Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VoerkaI18n 3.0新特性征集 #21

Open
zhangfisher opened this issue Oct 13, 2023 · 9 comments
Open

VoerkaI18n 3.0新特性征集 #21

zhangfisher opened this issue Oct 13, 2023 · 9 comments

Comments

@zhangfisher
Copy link
Owner

zhangfisher commented Oct 13, 2023

VoerkaI18n 3.0新特性征集:

一词多译

即一个词在不同的上下文场景中需要翻译为不同的词。

交互式参数提示

现有的cli命令需要输入的参数较多,不容易记住,拟引入交互式提示功能。
通过交互提示输入各种参数,减少记忆负担。
详见Mixcli

在线编辑多语言

VoerkaI18n支持动态语言包补丁功能,也可以很容易扩展在线修改语言词条的功能,见这里

拟提供开箱即用的解决方案,让用户直接在界面上进行翻译修改。

顶层CSS语言类

由于不同语言的长度差异很大,当多语言的切换往往会导致界面布局混乱,所以增加一个特性
当切换语言时在body上自动添加data-language='<当前语言>'的属性,这样开发时就可以为不同的语言添加定制样式

实时翻译功能

目前的翻译流程需要调用extracttranslatecompile,计划开发一个vite插件,在开发过程中,可以自动执行这些命令,实现完全自动的实时翻译。
此特性的加入将使得多语言体验完全自动化。

语言编码遵循ISO-639-1 规范

支持服务端SSR场景

支持NextJs的多语言

@xm-zzf
Copy link

xm-zzf commented Oct 13, 2023

安装不够便捷 可以根据安装@voerkai18n 直接在目录选择下安装 @voerkai18n/cli @voerkai18n/vue @voerkai18n/runtime 等等一系列包

@zhangfisher
Copy link
Owner Author

引入Mixed-cli,为命令行引入交互功能,减少用户对命令行的记忆负担,这个可以有

@FiredRice
Copy link

可否解决不同namespace下相同中文翻译冲突的问题

@zhangfisher
Copy link
Owner Author

不同namespace下相同中文翻译冲突,本质上就是一词多译的问题

@faiz-gear
Copy link
Contributor

支持通过命令自动模块,包裹文本.如执行voerkai18n wrap命令, 会在匹配到的文件头部添加import { t } from 'language', 匹配到的文本如'中国'会转换成't('中国')'

@zhangfisher
Copy link
Owner Author

自动进行包裹要翻译的文本难度太大,估计实现不了。
最多只能实现一些辅助工具,减少一下工作量

@SKT1yang
Copy link
Contributor

自动进行包裹要翻译的文本难度太大,估计实现不了。 最多只能实现一些辅助工具,减少一下工作量

不是难度太大,是100%会误杀,目前左右操作都是languages文件里进行,不会修改其他代码,完全没有侵入性,万一操作不好,把代码改崩了咋办,虽然可以通过git 回滚 找回,但是风险太大了

@firmianaQ
Copy link

自动按文件路径配置namespace

@firmianaQ
Copy link

请问能不能遵循 BCP47 规范,不然还得维护一套前后端语言代码对应的数据😭

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants