daandelange/k3-translations

翻译菜单替换,字段和部分为 Kirby 3

安装: 538

依赖: 0

建议: 0

安全: 0

星级: 29

关注者: 3

分支: 0

开放问题: 5

语言:Vue

类型:kirby-plugin

0.2.5-beta 2023-01-13 11:09 UTC

This package is not auto-updated.

Last update: 2024-09-20 18:54:15 UTC


README

Beta: 此插件最初是 k2-translations 到 Kirby 3 的移植。请注意,备受喜爱的“保存”字段状态尚未实现。目前,此插件提供翻译的还原和删除功能,并通过更高级的菜单替换了原生 Kirby 语言菜单,指示每种语言的翻译状态。

License Kirby

此插件增强了 Kirby 3 的内容页面的翻译处理。默认情况下,它替换了原始的语言切换为增强版本;但您也可以将其用作部分(未来用作字段以指示翻译状态)。

  • 语言菜单明确显示是否存在翻译
    • 红色:翻译的 .txt 文件不存在,该语言未翻译内容。
    • 绿色:翻译的 .txt 文件存在,内容已翻译为该语言。
  • 所有语言始终可见,以便更快地切换翻译。
  • 对于所有非默认语言,您可以
    • 删除翻译内容文件(不删除整个页面)。
    • 与默认语言文件重新同步翻译(还原)。

Kirby 3 Translations plugin screenshot

要求

此插件与 Fiber 一起工作,因此您可能需要 Kirby 3.6。

尽管如此,它可能在较低的版本上也能工作。 (如果是这样,请报告!)

安装

下载

下载此存储库,提取它并将其拖放到您的 Kirby 安装中的插件文件夹。

site/plugins/k3-translations

Composer

如果您使用 Composer,则可以使用以下方式安装插件

composer require daandelange/k3-translations:~0.x.x-beta

注意:由于 k3-translations 仍然是 alpha,因此没有稳定的渠道,因此您需要指定不稳定版本。

Git 子模块

git submodule add https://github.com/daandelange/k3-translations.git site/plugins/translations

设置

替换 Kirby 的原生语言菜单

在您的网站项目中,您可以通过设置以下选项来自定义标题中的语言切换菜单

// Site /site/config/config.php
return [
  'daandelange.translations' => [
    'header' => [
      'replaceKirbyLanguages' => false, // To disable replacing the native lang menu. Default = true.
      'compactMode' => true, // To enable a more compact mode. Default = false. (alpha! only affects fields/sections)
      'deletable' => false, // To disallow deleting a language. Default = true.
      'revertable' => false, // To disallow reverting a language. Default = true.
      'showEditLanguage' => false, // To hide the menu link to the panel language. Default = true.
    ],
  ],
];

翻译部分

将以下 section 添加到您的蓝图(可选)。

sections:
  translations:
    type: translations

高级使用

  • $page->isTranslated(string|bool|array $langCode = false)
    返回页面内容翻译是否可用。
    $langCode :
    • false:对于当前语言
    • true:对于所有语言。
    • 'fr':对于特定语言。
    • ['fr', 'en']:对于特定语言。

选项

以下选项适用于任何翻译部分或字段

  • 不允许删除内容翻译
    deletable: false # default = true
  • 不允许将翻译还原为默认语言
    revertable: false # default = true
  • 使用更紧凑的布局
    compactmode: true # default = false
  • 设置自定义标签
    label: Labelized! # default = [empty]
  • 隐藏“在面板中编辑语言”菜单项
    showEditLanguage: false # default = true

开发

此插件遵循 标准 Kirby PluginKit 结构,请参阅 他们的插件指南 了解更多有关使用它的详细信息。这些步骤是可选的,用于构建开发版本。

如果您使用修改后的 Kirby 文件夹结构,则可能需要修复 kirbyup.config.ts(在 alias 部分中)中 kirby 文件夹的相对路径。

  • Npm 要求(可选):npm install -g kirbyup
  • 设置:cd /path/to/website/site/plugins/translations && npm install
  • 开发时:npm run dev
  • 编译生产构建:npm run build
  • 更新依赖项:npm update
  • Composer安装和更新:composer update

许可证

MIT

商业用途

此插件是免费的,但如果您将其用于商业项目,请考虑贡献改进或雇佣某人进行改进。

替代品/类似产品

致谢

这是@Flokosiol的kirby-translations(适用于Kirby 2)的Kirby 3版本;感谢他启动了这个插件!:)
特别感谢所有贡献者以及原始的kirby2-translations贡献者