feat: complete change to gettext from homebrew i18n solution

This commit is contained in:
2026-05-03 22:28:25 +02:00
parent 4bee8cf1db
commit 4de8492c4f
96 changed files with 21579 additions and 1497 deletions

View File

@@ -7,6 +7,7 @@ defmodule BDS.Desktop.MenuBar do
alias BDS.UI.MenuBar, as: ShellMenuBar
alias Desktop.OS
alias Desktop.Window
use Gettext, backend: BDS.Gettext
def groups(opts \\ []) do
opts
@@ -140,60 +141,58 @@ defmodule BDS.Desktop.MenuBar do
defp native_label(label, nil), do: label
defp native_label(label, shortcut), do: label <> "\t" <> shortcut
defp group_label(:file), do: translate("menuBar.file")
defp group_label(:edit), do: translate("menuBar.edit")
defp group_label(:view), do: translate("menuBar.view")
defp group_label(:blog), do: translate("menuBar.blog")
defp group_label(:help), do: translate("menuBar.help")
defp group_label(:file), do: dgettext("ui", "File")
defp group_label(:edit), do: dgettext("ui", "Edit")
defp group_label(:view), do: dgettext("ui", "View")
defp group_label(:blog), do: dgettext("ui", "Blog")
defp group_label(:help), do: dgettext("ui", "Help")
defp item_label(:new_post), do: translate("menuBar.newPost")
defp item_label(:import_media), do: translate("menuBar.importMedia")
defp item_label(:save), do: translate("menuBar.save")
defp item_label(:open_in_browser), do: translate("menuBar.openInBrowser")
defp item_label(:open_data_folder), do: translate("menuBar.openDataFolder")
defp item_label(:close_tab), do: translate("menuBar.closeTab")
defp item_label(:quit), do: translate("menuBar.quit")
defp item_label(:undo), do: translate("menuBar.undo")
defp item_label(:redo), do: translate("menuBar.redo")
defp item_label(:cut), do: translate("menuBar.cut")
defp item_label(:copy), do: translate("menuBar.copy")
defp item_label(:paste), do: translate("menuBar.paste")
defp item_label(:delete), do: translate("menuBar.delete")
defp item_label(:select_all), do: translate("menuBar.selectAll")
defp item_label(:find), do: translate("menuBar.find")
defp item_label(:replace), do: translate("menuBar.replace")
defp item_label(:edit_preferences), do: translate("menuBar.preferences")
defp item_label(:view_posts), do: translate("menuBar.viewPosts")
defp item_label(:view_media), do: translate("menuBar.viewMedia")
defp item_label(:toggle_sidebar), do: translate("menuBar.toggleSidebar")
defp item_label(:toggle_panel), do: translate("menuBar.togglePanel")
defp item_label(:toggle_assistant_sidebar), do: translate("menuBar.toggleAssistantSidebar")
defp item_label(:toggle_dev_tools), do: translate("menuBar.toggleDevTools")
defp item_label(:reload), do: translate("menuBar.reload")
defp item_label(:force_reload), do: translate("menuBar.forceReload")
defp item_label(:reset_zoom), do: translate("menuBar.resetZoom")
defp item_label(:zoom_in), do: translate("menuBar.zoomIn")
defp item_label(:zoom_out), do: translate("menuBar.zoomOut")
defp item_label(:toggle_full_screen), do: translate("menuBar.toggleFullScreen")
defp item_label(:publish_selected), do: translate("menuBar.publishSelected")
defp item_label(:preview_post), do: translate("menuBar.previewPost")
defp item_label(:edit_menu), do: translate("menuBar.editMenu")
defp item_label(:rebuild_database), do: translate("menuBar.rebuildDatabase")
defp item_label(:reindex_text), do: translate("menuBar.reindexText")
defp item_label(:rebuild_embedding_index), do: translate("menuBar.rebuildEmbeddingIndex")
defp item_label(:metadata_diff), do: translate("menuBar.metadataDiff")
defp item_label(:regenerate_calendar), do: translate("menuBar.regenerateCalendar")
defp item_label(:validate_translations), do: translate("menuBar.validateTranslations")
defp item_label(:fill_missing_translations), do: translate("menuBar.fillMissingTranslations")
defp item_label(:find_duplicates), do: translate("menuBar.findDuplicates")
defp item_label(:generate_sitemap), do: translate("menuBar.generateSite")
defp item_label(:validate_site), do: translate("menuBar.validateSite")
defp item_label(:upload_site), do: translate("menuBar.uploadSite")
defp item_label(:about), do: translate("menuBar.about")
defp item_label(:documentation), do: translate("menuBar.documentation")
defp item_label(:api_documentation), do: translate("menuBar.apiDocumentation")
defp item_label(:view_on_github), do: translate("menuBar.viewOnGithub")
defp item_label(:report_issue), do: translate("menuBar.reportIssue")
defp translate(text), do: ShellData.translate(text, %{}, UILocale.current())
defp item_label(:new_post), do: dgettext("ui", "New Post")
defp item_label(:import_media), do: dgettext("ui", "Import Media")
defp item_label(:save), do: dgettext("ui", "Save")
defp item_label(:open_in_browser), do: dgettext("ui", "Open in Browser")
defp item_label(:open_data_folder), do: dgettext("ui", "Open Data Folder")
defp item_label(:close_tab), do: dgettext("ui", "Close Tab")
defp item_label(:quit), do: dgettext("ui", "Quit")
defp item_label(:undo), do: dgettext("ui", "Undo")
defp item_label(:redo), do: dgettext("ui", "Redo")
defp item_label(:cut), do: dgettext("ui", "Cut")
defp item_label(:copy), do: dgettext("ui", "Copy")
defp item_label(:paste), do: dgettext("ui", "Paste")
defp item_label(:delete), do: dgettext("ui", "Delete")
defp item_label(:select_all), do: dgettext("ui", "Select All")
defp item_label(:find), do: dgettext("ui", "Find")
defp item_label(:replace), do: dgettext("ui", "Replace")
defp item_label(:edit_preferences), do: dgettext("ui", "Preferences")
defp item_label(:view_posts), do: dgettext("ui", "Posts")
defp item_label(:view_media), do: dgettext("ui", "Media")
defp item_label(:toggle_sidebar), do: dgettext("ui", "Toggle Sidebar")
defp item_label(:toggle_panel), do: dgettext("ui", "Toggle Panel")
defp item_label(:toggle_assistant_sidebar), do: dgettext("ui", "Toggle Assistant Sidebar")
defp item_label(:toggle_dev_tools), do: dgettext("ui", "Toggle Dev Tools")
defp item_label(:reload), do: dgettext("ui", "Reload")
defp item_label(:force_reload), do: dgettext("ui", "Force Reload")
defp item_label(:reset_zoom), do: dgettext("ui", "Reset Zoom")
defp item_label(:zoom_in), do: dgettext("ui", "Zoom In")
defp item_label(:zoom_out), do: dgettext("ui", "Zoom Out")
defp item_label(:toggle_full_screen), do: dgettext("ui", "Toggle Full Screen")
defp item_label(:publish_selected), do: dgettext("ui", "Publish Selected")
defp item_label(:preview_post), do: dgettext("ui", "Preview Post")
defp item_label(:edit_menu), do: dgettext("ui", "Edit Menu")
defp item_label(:rebuild_database), do: dgettext("ui", "Rebuild Database")
defp item_label(:reindex_text), do: dgettext("ui", "Reindex Text")
defp item_label(:rebuild_embedding_index), do: dgettext("ui", "Rebuild Embedding Index")
defp item_label(:metadata_diff), do: dgettext("ui", "Metadata Diff")
defp item_label(:regenerate_calendar), do: dgettext("ui", "Regenerate Calendar")
defp item_label(:validate_translations), do: dgettext("ui", "Validate Translations")
defp item_label(:fill_missing_translations), do: dgettext("ui", "Fill Missing Translations")
defp item_label(:find_duplicates), do: dgettext("ui", "Find Duplicate Posts")
defp item_label(:generate_sitemap), do: dgettext("ui", "Generate Site")
defp item_label(:validate_site), do: dgettext("ui", "Validate Site")
defp item_label(:upload_site), do: dgettext("ui", "Upload Site")
defp item_label(:about), do: dgettext("ui", "About")
defp item_label(:documentation), do: dgettext("ui", "Documentation")
defp item_label(:api_documentation), do: dgettext("ui", "API Documentation")
defp item_label(:view_on_github), do: dgettext("ui", "View on GitHub")
defp item_label(:report_issue), do: dgettext("ui", "Report Issue")
end