forked from Plemya-x/ALR
		
	i18n: translate all strings
This commit is contained in:
		@@ -6,13 +6,13 @@
 | 
				
			|||||||
    </mask>
 | 
					    </mask>
 | 
				
			||||||
    <g mask="url(#round)">
 | 
					    <g mask="url(#round)">
 | 
				
			||||||
        <rect width="75" height="20" fill="#555"/>
 | 
					        <rect width="75" height="20" fill="#555"/>
 | 
				
			||||||
        <rect x="75" width="64" height="20" fill="#dfb317"/>
 | 
					        <rect x="75" width="64" height="20" fill="#4c1"/>
 | 
				
			||||||
        <rect width="129" height="20" fill="url(#smooth)"/>
 | 
					        <rect width="129" height="20" fill="url(#smooth)"/>
 | 
				
			||||||
    </g>
 | 
					    </g>
 | 
				
			||||||
    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
 | 
					    <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
 | 
				
			||||||
        <text x="37" y="15" fill="#010101" fill-opacity=".3">ru translate</text>
 | 
					        <text x="37" y="15" fill="#010101" fill-opacity=".3">ru translate</text>
 | 
				
			||||||
        <text x="37" y="14">ru translate</text>
 | 
					        <text x="37" y="14">ru translate</text>
 | 
				
			||||||
        <text x="100" y="15" fill="#010101" fill-opacity=".3">79.00%</text>
 | 
					        <text x="100" y="15" fill="#010101" fill-opacity=".3">100.00%</text>
 | 
				
			||||||
        <text x="100" y="14">79.00%</text>
 | 
					        <text x="100" y="14">100.00%</text>
 | 
				
			||||||
    </g>
 | 
					    </g>
 | 
				
			||||||
</svg>
 | 
					</svg>
 | 
				
			||||||
 
 | 
				
			|||||||
| 
		 Before Width: | Height: | Size: 943 B After Width: | Height: | Size: 942 B  | 
@@ -46,7 +46,7 @@ func InstallCmd() *cli.Command {
 | 
				
			|||||||
			&cli.BoolFlag{
 | 
								&cli.BoolFlag{
 | 
				
			||||||
				Name:    "clean",
 | 
									Name:    "clean",
 | 
				
			||||||
				Aliases: []string{"c"},
 | 
									Aliases: []string{"c"},
 | 
				
			||||||
				Usage:   "Build package from scratch even if there's an already built package available",
 | 
									Usage:   gotext.Get("Build package from scratch even if there's an already built package available"),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		Action: func(c *cli.Context) error {
 | 
							Action: func(c *cli.Context) error {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@
 | 
				
			|||||||
msgid ""
 | 
					msgid ""
 | 
				
			||||||
msgstr ""
 | 
					msgstr ""
 | 
				
			||||||
"Project-Id-Version: unnamed project\n"
 | 
					"Project-Id-Version: unnamed project\n"
 | 
				
			||||||
"PO-Revision-Date: 2025-02-27 10:10+0300\n"
 | 
					"PO-Revision-Date: 2025-02-27 11:33+0300\n"
 | 
				
			||||||
"Last-Translator: Maxim Slipenko <maks1ms@alt-gnome.ru>\n"
 | 
					"Last-Translator: Maxim Slipenko <maks1ms@alt-gnome.ru>\n"
 | 
				
			||||||
"Language-Team: Russian\n"
 | 
					"Language-Team: Russian\n"
 | 
				
			||||||
"Language: ru\n"
 | 
					"Language: ru\n"
 | 
				
			||||||
@@ -26,7 +26,7 @@ msgstr "Путь к скрипту сборки"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: build.go:55
 | 
					#: build.go:55
 | 
				
			||||||
msgid "Specify package in script (for multi package script only)"
 | 
					msgid "Specify package in script (for multi package script only)"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Укажите пакет в скрипте (только для многопакетного скрипта)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: build.go:60
 | 
					#: build.go:60
 | 
				
			||||||
msgid "Name of the package to build and its repo (example: default/go-bin)"
 | 
					msgid "Name of the package to build and its repo (example: default/go-bin)"
 | 
				
			||||||
@@ -43,7 +43,7 @@ msgstr "Ошибка инициализации базы данных"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: build.go:105
 | 
					#: build.go:105
 | 
				
			||||||
msgid "Package not found"
 | 
					msgid "Package not found"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Пакет не найден"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: build.go:123
 | 
					#: build.go:123
 | 
				
			||||||
msgid "Error pulling repositories"
 | 
					msgid "Error pulling repositories"
 | 
				
			||||||
@@ -54,7 +54,6 @@ msgid "Unable to detect a supported package manager on the system"
 | 
				
			|||||||
msgstr "Не удалось обнаружить поддерживаемый менеджер пакетов в системе"
 | 
					msgstr "Не удалось обнаружить поддерживаемый менеджер пакетов в системе"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: build.go:137
 | 
					#: build.go:137
 | 
				
			||||||
#, fuzzy
 | 
					 | 
				
			||||||
msgid "Error parsing os release"
 | 
					msgid "Error parsing os release"
 | 
				
			||||||
msgstr "Ошибка при разборе файла выпуска операционной системы"
 | 
					msgstr "Ошибка при разборе файла выпуска операционной системы"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -220,35 +219,35 @@ msgstr "ОПИСАНИЕ"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:74
 | 
					#: internal/cliutils/template.go:74
 | 
				
			||||||
msgid "AUTHOR"
 | 
					msgid "AUTHOR"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "АВТОР"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:74
 | 
					#: internal/cliutils/template.go:74
 | 
				
			||||||
msgid "COMMANDS"
 | 
					msgid "COMMANDS"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "КОМАНДЫ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:74
 | 
					#: internal/cliutils/template.go:74
 | 
				
			||||||
msgid "GLOBAL OPTIONS"
 | 
					msgid "GLOBAL OPTIONS"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "ГЛОБАЛЬНЫЕ ОПЦИИ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:74
 | 
					#: internal/cliutils/template.go:74
 | 
				
			||||||
msgid "COPYRIGHT"
 | 
					msgid "COPYRIGHT"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "АВТОРСКОЕ ПРАВО"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:95
 | 
					#: internal/cliutils/template.go:95
 | 
				
			||||||
msgid "command options"
 | 
					msgid "command options"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "опции команды"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:96
 | 
					#: internal/cliutils/template.go:96
 | 
				
			||||||
msgid "arguments..."
 | 
					msgid "arguments..."
 | 
				
			||||||
msgstr ""
 | 
					msgstr "аргументы..."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:97
 | 
					#: internal/cliutils/template.go:97
 | 
				
			||||||
msgid "CATEGORY"
 | 
					msgid "CATEGORY"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "КАТЕГОРИЯ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/cliutils/template.go:99 internal/cliutils/template.go:100
 | 
					#: internal/cliutils/template.go:99 internal/cliutils/template.go:100
 | 
				
			||||||
msgid "OPTIONS"
 | 
					msgid "OPTIONS"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "ПАРАМЕТРЫ"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/config/config.go:59
 | 
					#: internal/config/config.go:59
 | 
				
			||||||
msgid "Error opening config file, using defaults"
 | 
					msgid "Error opening config file, using defaults"
 | 
				
			||||||
@@ -318,11 +317,11 @@ msgstr "Скачивание источника"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: internal/dl/progress_tui.go:100
 | 
					#: internal/dl/progress_tui.go:100
 | 
				
			||||||
msgid "%s: done!\n"
 | 
					msgid "%s: done!\n"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "%s: выполнено!\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/dl/progress_tui.go:104
 | 
					#: internal/dl/progress_tui.go:104
 | 
				
			||||||
msgid "%s %s downloading at %s/s\n"
 | 
					msgid "%s %s downloading at %s/s\n"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "%s %s загружается — %s/с\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: internal/logger/log.go:47
 | 
					#: internal/logger/log.go:47
 | 
				
			||||||
msgid "ERROR"
 | 
					msgid "ERROR"
 | 
				
			||||||
@@ -358,7 +357,7 @@ msgstr ""
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: main.go:125
 | 
					#: main.go:125
 | 
				
			||||||
msgid "Show help"
 | 
					msgid "Show help"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Показать справку"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: main.go:129
 | 
					#: main.go:129
 | 
				
			||||||
msgid "Error while running app"
 | 
					msgid "Error while running app"
 | 
				
			||||||
@@ -421,9 +420,8 @@ msgid "Executing build()"
 | 
				
			|||||||
msgstr "Исполнение build()"
 | 
					msgstr "Исполнение build()"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: pkg/build/build.go:689 pkg/build/build.go:709
 | 
					#: pkg/build/build.go:689 pkg/build/build.go:709
 | 
				
			||||||
#, fuzzy
 | 
					 | 
				
			||||||
msgid "Executing %s()"
 | 
					msgid "Executing %s()"
 | 
				
			||||||
msgstr "Исполнение files()"
 | 
					msgstr "Исполнение %s()"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: pkg/build/build.go:768
 | 
					#: pkg/build/build.go:768
 | 
				
			||||||
msgid "Error installing native packages"
 | 
					msgid "Error installing native packages"
 | 
				
			||||||
@@ -521,38 +519,35 @@ msgstr "Скачать все изменённые репозитории"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#: search.go:36
 | 
					#: search.go:36
 | 
				
			||||||
msgid "Search packages"
 | 
					msgid "Search packages"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Поиск пакетов"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:42
 | 
					#: search.go:42
 | 
				
			||||||
msgid "Search by name"
 | 
					msgid "Search by name"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Искать по имени"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:47
 | 
					#: search.go:47
 | 
				
			||||||
msgid "Search by description"
 | 
					msgid "Search by description"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Искать по описанию"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:52
 | 
					#: search.go:52
 | 
				
			||||||
#, fuzzy
 | 
					 | 
				
			||||||
msgid "Search by repository"
 | 
					msgid "Search by repository"
 | 
				
			||||||
msgstr "Добавить новый репозиторий"
 | 
					msgstr "Искать по репозиторию"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:57
 | 
					#: search.go:57
 | 
				
			||||||
msgid "Search by provides"
 | 
					msgid "Search by provides"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Иcкать по provides"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:62
 | 
					#: search.go:62
 | 
				
			||||||
msgid "Format output using a Go template"
 | 
					msgid "Format output using a Go template"
 | 
				
			||||||
msgstr ""
 | 
					msgstr "Формат выходных данных с использованием шаблона Go"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:82 search.go:99
 | 
					#: search.go:82 search.go:99
 | 
				
			||||||
#, fuzzy
 | 
					 | 
				
			||||||
msgid "Error parsing format template"
 | 
					msgid "Error parsing format template"
 | 
				
			||||||
msgstr "Ошибка при разборе файла выпуска операционной системы"
 | 
					msgstr "Ошибка при разборе шаблона"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: search.go:107
 | 
					#: search.go:107
 | 
				
			||||||
#, fuzzy
 | 
					 | 
				
			||||||
msgid "Error executing template"
 | 
					msgid "Error executing template"
 | 
				
			||||||
msgstr "Ошибка при получении пакетов"
 | 
					msgstr "Ошибка при выполнении шаблона"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: upgrade.go:47
 | 
					#: upgrade.go:47
 | 
				
			||||||
msgid "Upgrade all installed packages"
 | 
					msgid "Upgrade all installed packages"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@
 | 
				
			|||||||
TRANSLATIONS_DIR="internal/translations/po"
 | 
					TRANSLATIONS_DIR="internal/translations/po"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ ! -d "$TRANSLATIONS_DIR" ]; then
 | 
					if [ ! -d "$TRANSLATIONS_DIR" ]; then
 | 
				
			||||||
    echo "Ошибка: директория '$TRANSLATIONS_DIR' не найдена"
 | 
					    echo "Error: directory '$TRANSLATIONS_DIR' not found"
 | 
				
			||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,10 +29,20 @@ declare -A TRANSLATED_STRINGS_MAP
 | 
				
			|||||||
for PO_FILE in $(find "$TRANSLATIONS_DIR" -type f -name "*.po"); do
 | 
					for PO_FILE in $(find "$TRANSLATIONS_DIR" -type f -name "*.po"); do
 | 
				
			||||||
    LANG_DIR=$(dirname "$PO_FILE")
 | 
					    LANG_DIR=$(dirname "$PO_FILE")
 | 
				
			||||||
    LANG=$(basename "$LANG_DIR")
 | 
					    LANG=$(basename "$LANG_DIR")
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    TOTAL_STRINGS=$(grep -c "^msgid " "$PO_FILE")
 | 
					    STATS=$(LC_ALL=C msgfmt --statistics -o /dev/null "$PO_FILE" 2>&1)
 | 
				
			||||||
    TRANSLATED_STRINGS=$(grep -c "^msgstr \"[^\"]\+\"" "$PO_FILE")
 | 
					
 | 
				
			||||||
    
 | 
					    NUMBERS=($(echo "$STATS" | grep -o '[0-9]\+'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case ${#NUMBERS[@]} in
 | 
				
			||||||
 | 
					        1) TRANSLATED_STRINGS=${NUMBERS[0]}; UNTRANSLATED_STRINGS=0 ;;  # all translated
 | 
				
			||||||
 | 
					        2) TRANSLATED_STRINGS=${NUMBERS[0]}; UNTRANSLATED_STRINGS=${NUMBERS[1]} ;;  # no fuzzy
 | 
				
			||||||
 | 
					        3) TRANSLATED_STRINGS=${NUMBERS[0]}; UNTRANSLATED_STRINGS=${NUMBERS[2]} ;;  # with fuzzy
 | 
				
			||||||
 | 
					        *) TRANSLATED_STRINGS=0; UNTRANSLATED_STRINGS=0 ;; 
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    TOTAL_STRINGS=$((TRANSLATED_STRINGS + UNTRANSLATED_STRINGS))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    TOTAL_STRINGS_MAP[$LANG]=$((TOTAL_STRINGS_MAP[$LANG] + TOTAL_STRINGS))
 | 
					    TOTAL_STRINGS_MAP[$LANG]=$((TOTAL_STRINGS_MAP[$LANG] + TOTAL_STRINGS))
 | 
				
			||||||
    TRANSLATED_STRINGS_MAP[$LANG]=$((TRANSLATED_STRINGS_MAP[$LANG] + TRANSLATED_STRINGS))
 | 
					    TRANSLATED_STRINGS_MAP[$LANG]=$((TRANSLATED_STRINGS_MAP[$LANG] + TRANSLATED_STRINGS))
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user