Documentation
¶
Overview ¶
Copyright © 2025 PRAS
[Documentation reference](https://develop.kde.org/docs/plasma/widget/translations-i18n/) [Logic reference](https://github.com/Zren/plasma-applet-lib/blob/master/package/translate/build)
Copyright © 2025 PRAS ¶
[Documentation reference](https://develop.kde.org/docs/plasma/widget/translations-i18n/) [Logic reference](https://github.com/Zren/plasma-applet-lib/blob/master/package/translate/merge)
Copyright © 2025 PRAS
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // utils functions GetDataFromMetadata = utils.GetDataFromMetadata )
mockable functions for testing
View Source
var I18nCmd = &cobra.Command{
Use: "i18n",
Short: "Manage internationalization (i18n) for the plasmoid",
Long: `Provides tools to extract translatable strings and compile translation files.`,
}
i18nCmd represents the i18n command
View Source
var I18nCompileCmd = &cobra.Command{ Use: "compile", Run: func(cmd *cobra.Command, args []string) { if !utilsIsPackageInstalled("msgfmt") { fmt.Println(color.RedString("compile command is disabled due to missing msgfmt dependency.")) fmt.Println(color.BlueString("- Use `prasmoid fix` to install it.")) return } if !utilsIsValidPlasmoid() { fmt.Println(color.RedString("Current directory is not a valid plasmoid.")) return } if !silent { fmt.Println(color.CyanString("Compiling translation files...")) } if err := CompileI18n(root.ConfigRC, silent); err != nil { fmt.Println(color.RedString("Failed to compile messages: %v", err)) return } if !silent { fmt.Println(color.GreenString("Successfully compiled all translation files.")) } }, }
View Source
var I18nExtractCmd = &cobra.Command{ Use: "extract", Run: func(cmd *cobra.Command, args []string) { if !utilsIsPackageInstalled("msginit") || !utilsIsPackageInstalled("msgmerge") || !utilsIsPackageInstalled("xgettext") { fmt.Println(color.RedString("extract command is disabled due to missing dependencies.")) fmt.Println(color.BlueString("- Use `prasmoid fix` to install them.")) return } if !utilsIsValidPlasmoid() { fmt.Println(color.RedString("Current directory is not a valid plasmoid.")) return } color.Cyan("Extracting translatable strings...") translationsDir := root.ConfigRC.I18n.Dir _ = osMkdirAll(translationsDir, 0755) if err := runXGettext(translationsDir); err != nil { fmt.Println(color.RedString("Failed to extract strings: %v", err)) return } fmt.Println(color.GreenString("Successfully extracted strings to %s/template.pot", translationsDir)) isPoGen, _ := cmd.Flags().GetBool("no-po") if !isPoGen { if err := generatePoFiles(translationsDir); err != nil { fmt.Println(color.RedString("Failed to generate .po files: %v", err)) return } } }, }
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.