phiil / googlesheets-translation-bundle
此插件使您能够在几秒钟内部署翻译,最好的部分是:在Googlesheets中管理它们,可能是最简单的方式。
5.4.0
2022-07-08 09:47 UTC
Requires
- php: ^7.4|^8.0|^8.1
- symfony/cache: ^5.4
- symfony/framework-bundle: ^5.4
- symfony/translation: ^5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- symfony/phpunit-bridge: ^5.4
README
SymfonyGoogleSheetsTranslationBundle
简介
翻译管理可能相当...令人烦恼。此插件允许您使用单个Googlesheet并在几秒钟内将其翻译推送到symfony网站。
功能
- 使用您想要的所有语言:此插件不对您设置任何限制,从只有一个区域设置(用例:您只想将文本保留在您可爱的源代码中)到甚至十三个区域设置(因为您在Duolingo上学习了它们)
- 决定您想要使用哪个工作表页面进行翻译:GoogleSheet的第一个工作表页面应该用于翻译?没问题,您需要更多的设置。尽管这是可能的,但我们建议使用默认模式,该模式自动包括所有工作表并将它们合并为一个(从翻译的角度来看 - 此插件不会编辑您的GoogleSheet)。
- 一键推送所有内容:此插件还提供了一个命令,允许您在几秒钟内重新加载并推送所有可用语言的翻译。
要求
- Symfony ^5.2(对于Symfony版本4.4也有可用旧版本)
- PHP ^7.4|^8.0
安装
运行 composer require phiil/googlesheets-translation-bundle
使用
视频指南
想要观看视频而不是阅读指南?今天你很幸运!在YouTube上观看视频:
文字指南
您首先需要创建一个Googlesheet,请前往 sheets.google.com 创建一个。我的演示翻译工作表在 此链接 可用。我建议您只需将其复制到您的账户中/应用此结构 - 欢迎您添加更多区域设置!
目前正在开发更好的GoogleSheet自定义和配置可能性 - 目前,请尽量保持结构尽可能接近。
现在,您需要将其发布到网络上。最初听起来对我非常奇怪(我真的应该将我的翻译公开发布到网络上吗?!),实际上并不是那么危险。有人发现您的翻译的机会真的很低,而且更重要的是,没有人可以使用它来攻击您/对您的网站造成伤害。
分步教程
- 转到文件 > 发布到网络:
- 应该会弹出一个窗口,只需按“发布”(假设您要发布整个工作表):
- 现在,您需要提取工作表的ID。返回到URL窗口(对于喜欢快捷键的用户,请按CMD + L / CTRL + L),复制以下图像中标记的部分:
。
- 最后,我们可以回到Symfony中。在config/services.yaml中插入如下内容
parameters: ... googlesheets_translations.sheet.publicId: '1D2qOEgEKgMy7qh0B-PQMzdil8AoE5NvYMsNuusqM-IA' ...
我已经将上面的ID粘贴进去。
- (可选)配置您想要添加的电子表格页面。如果您只想推送单个电子表格页面,您必须添加以下参数
parameters: ... googlesheets_translations.sheet.mode: 'all' # that's the default value # or... googlesheets_translations.sheet.mode: 1 # if you only want to use the first sheet page for your translations ...
我的最终配置(config/services.yaml)
parameters: googlesheets_translations.sheet.mode: 'all' googlesheets_translations.sheet.publicId: '1D2qOEgEKgMy7qh0B-PQMzdil8AoE5NvYMsNuusqM-IA'
- 使用内置命令推送翻译:
phiil:translation:reload
(在我的情况下,我必须执行php bin/console phiil:translation:reload
)。查看我的控制台输出:
恭喜,您已经设置好了!
有问题?问题?
只需在GitHub上发布它们或通过电子邮件联系我:philipp@riddle.com。欢迎贡献!