Update plasma

This commit is contained in:
BuyMyMojo 2025-04-22 01:30:36 +10:00
parent cf88cf4a7b
commit d83c5a0a54
Signed by untrusted user who does not match committer: aria
GPG key ID: 19AB7AA462B8AB3B
160 changed files with 7837 additions and 0 deletions

View file

@ -0,0 +1,45 @@
> Version 7 of Zren's i18n scripts. [link](https://github.com/Zren/plasma-applet-tiledmenu)
With KDE Frameworks v5.37 and above, translations are bundled with the `*.plasmoid` file downloaded from the store.
## Install Translations
Go to `~/.local/share/plasma/plasmoids/org.kde.plasma.dittomenu/translate/` and run `sh ./build --restartplasma`.
## New Translations
1. Fill out [`template.pot`](template.pot) with your translations then open a [new issue](https://github.com/Zren/plasma-applet-tiledmenu/issues/new), name the file `spanish.txt`, attach the txt file to the issue (drag and drop).
Or if you know how to make a pull request
1. Copy the `template.pot` file and name it your locale's code (Eg: `en`/`de`/`fr`) with the extension `.po`. Then fill out all the `msgstr ""`.
## Scripts
* `sh ./merge` will parse the `i18n()` calls in the `*.qml` files and write it to the `template.pot` file. Then it will merge any changes into the `*.po` language files.
* `sh ./build` will convert the `*.po` files to it's binary `*.mo` version and move it to `contents/locale/...` which will bundle the translations in the `*.plasmoid` without needing the user to manually install them.
* `sh ./plasmoidlocaletest` will run `./build` then `plasmoidviewer` (part of `plasma-sdk`).
## Links
* https://zren.github.io/kde/docs/widget/#translations-i18n
* https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems
* https://api.kde.org/frameworks/ki18n/html/prg_guide.html
## Examples
* https://l10n.kde.org/stats/gui/trunk-kf5/team/fr/plasma-desktop/
* https://github.com/psifidotos/nowdock-plasmoid/tree/master/po
* https://github.com/kotelnik/plasma-applet-redshift-control/tree/master/translations
## Status
| Locale | Lines | % Done|
|----------|---------|-------|
| Template | 30 | |
| fr | 29/30 | 96% |
| ko | 27/30 | 90% |
| nl | 20/30 | 66% |
| pl | 22/30 | 73% |
| pt_BR | 30/30 | 100% |
| ru | 30/30 | 100% |
| tr | 23/30 | 76% |

View file

@ -0,0 +1,53 @@
#!/bin/sh
# Version: 6
# This script will convert the *.po files to *.mo files, rebuilding the package/contents/locale folder.
# Feature discussion: https://phabricator.kde.org/D5209
# Eg: contents/locale/fr_CA/LC_MESSAGES/plasma_applet_org.kde.plasma.eventcalendar.mo
DIR=`cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd`
plasmoidName=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Name"`
website=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Website"`
bugAddress="$website"
packageRoot=".." # Root of translatable sources
projectName="plasma_applet_${plasmoidName}" # project name
#---
if [ -z "$plasmoidName" ]; then
echo "[build] Error: Couldn't read plasmoidName."
exit
fi
if [ -z "$(which msgfmt)" ]; then
echo "[build] Error: msgfmt command not found. Need to install gettext"
echo "[build] Running 'sudo apt install gettext'"
sudo apt install gettext
echo "[build] gettext installation should be finished. Going back to installing translations."
fi
#---
echo "[build] Compiling messages"
catalogs=`find . -name '*.po' | sort`
for cat in $catalogs; do
echo "$cat"
catLocale=`basename ${cat%.*}`
msgfmt -o "${catLocale}.mo" "$cat"
installPath="$DIR/../contents/locale/${catLocale}/LC_MESSAGES/${projectName}.mo"
echo "[build] Install to ${installPath}"
mkdir -p "$(dirname "$installPath")"
mv "${catLocale}.mo" "${installPath}"
done
echo "[build] Done building messages"
if [ "$1" = "--restartplasma" ]; then
echo "[build] Restarting plasmashell"
killall plasmashell
kstart5 plasmashell
echo "[build] Done restarting plasmashell"
else
echo "[build] (re)install the plasmoid and restart plasmashell to test."
fi

View file

@ -0,0 +1,176 @@
# Translation of Nori.Weather in LANGUAGE
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# zayronxio, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/1312669/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: zayronxio <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr "Despejado"
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr "Principalmente despejado"
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr "Parcialmente nublado"
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr "Nublado"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr "Llovizna de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr "Llovizna de intensidad moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr "Llovizna de intensidad densa"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr "Llovizna helada de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr "Llovizna helada de intensidad densa"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr "Lluvia de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr "Lluvia de intensidad moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr "Lluvia de intensidad fuerte"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr "Lluvia helada de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr "Lluvia helada de intensidad fuerte"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr "Nevada de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr "Nevada de intensidad moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr "Nevada de intensidad fuerte"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr "Granizos de nieve"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr "Chubascos de intensidad ligera"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr "Chubascos de intensidad moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr "Chubascos de intensidad violenta"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr "Chubascos de nieve ligeros"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr "Chubascos de nieve fuertes"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr "Tormenta eléctrica"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr "Tormenta eléctrica con granizo ligero"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr "Tormenta eléctrica con granizo fuerte"
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr "Nublado"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr "Llovizna"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr "Lluvia"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr "Nieve"
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr "Chubascos"
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr "Tormenta"
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr "Lunes"
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr "Martes"
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr "Miércoles"
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr "Jueves"
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr "Viernes"
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr "Sábado"
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr "Domingo"

View file

@ -0,0 +1,174 @@
# Translation of Nori Weather in Indonesian
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# zayronxio, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/1312669/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: zayronxio <EMAIL@ADDRESS>\n"
"Language-Team: Indonesian <LL@li.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr "Cerah"
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr "Sebagian besar cerah"
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr "Sebagian berawan"
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr "Mendung"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr "Gerimis intensitas ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr "Gerimis intensitas sedang"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr "Gerimis intensitas berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr "Gerimis beku intensitas ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr "Gerimis beku intensitas berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr "Hujan intensitas ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr "Hujan intensitas sedang"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr "Hujan intensitas berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr "Hujan beku intensitas ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr "Hujan beku intensitas berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr "Salju intensitas ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr "Salju intensitas sedang"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr "Salju intensitas berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr "Butir salju"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr "Hujan rintik ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr "Hujan rintik sedang"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr "Hujan rintik lebat"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr "Hujan salju ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr "Hujan salju berat"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr "Badai petir"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr "Badai petir dengan hujan es ringan"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr "Badai petir dengan hujan es lebat"
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr "Berawan"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr "Gerimis"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr "Hujan"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr "Salju"
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr "Hujan rintik"
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr "Badai"
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr "Senin"
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr "Selasa"
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr "Rabu"
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr "Kamis"
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr "Jumat"
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr "Sabtu"
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr "Minggu"

View file

@ -0,0 +1,223 @@
#!/bin/sh
# Version: 20
# https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems
# https://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems/Outside_KDE_repositories
# https://invent.kde.org/sysadmin/l10n-scripty/-/blob/master/extract-messages.sh
DIR=`cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd`
plasmoidName=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Name"`
widgetName="${plasmoidName##*.}" # Strip namespace
website=`kreadconfig5 --file="$DIR/../metadata.desktop" --group="Desktop Entry" --key="X-KDE-PluginInfo-Website"`
bugAddress="$website"
packageRoot=".." # Root of translatable sources
projectName="plasma_applet_${plasmoidName}" # project name
#---
if [ -z "$plasmoidName" ]; then
echo "[merge] Error: Couldn't read plasmoidName."
exit
fi
if [ -z "$(which xgettext)" ]; then
echo "[merge] Error: xgettext command not found. Need to install gettext"
echo "[merge] Running 'sudo apt install gettext'"
sudo apt install gettext
echo "[merge] gettext installation should be finished. Going back to merging translations."
fi
#---
echo "[merge] Extracting messages"
potArgs="--from-code=UTF-8 --width=200 --add-location=file"
find "${packageRoot}" -name '*.desktop' | sort > "${DIR}/infiles.list"
xgettext \
${potArgs} \
--files-from="${DIR}/infiles.list" \
--language=Desktop \
-D "${packageRoot}" \
-D "${DIR}" \
-o "template.pot.new" \
|| \
{ echo "[merge] error while calling xgettext. aborting."; exit 1; }
sed -i 's/"Content-Type: text\/plain; charset=CHARSET\\n"/"Content-Type: text\/plain; charset=UTF-8\\n"/' "template.pot.new"
# See Ki18n's extract-messages.sh for a full example:
# https://invent.kde.org/sysadmin/l10n-scripty/-/blob/master/extract-messages.sh#L25
# The -kN_ and -kaliasLocale keywords are mentioned in the Outside_KDE_repositories wiki.
# We don't need -kN_ since we don't use intltool-extract but might as well keep it.
# I have no idea what -kaliasLocale is used for. Googling aliasLocale found only listed kde1 code.
# We don't need to parse -ki18nd since that'll extract messages from other domains.
find "${packageRoot}" -name '*.cpp' -o -name '*.h' -o -name '*.c' -o -name '*.qml' -o -name '*.js' | sort > "${DIR}/infiles.list"
xgettext \
${potArgs} \
--files-from="${DIR}/infiles.list" \
-C -kde \
-ci18n \
-ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 \
-kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3 \
-kxi18n:1 -kxi18nc:1c,2 -kxi18np:1,2 -kxi18ncp:1c,2,3 \
-kkxi18n:1 -kkxi18nc:1c,2 -kkxi18np:1,2 -kkxi18ncp:1c,2,3 \
-kI18N_NOOP:1 -kI18NC_NOOP:1c,2 \
-kI18N_NOOP2:1c,2 -kI18N_NOOP2_NOSTRIP:1c,2 \
-ktr2i18n:1 -ktr2xi18n:1 \
-kN_:1 \
-kaliasLocale \
--package-name="${widgetName}" \
--msgid-bugs-address="${bugAddress}" \
-D "${packageRoot}" \
-D "${DIR}" \
--join-existing \
-o "template.pot.new" \
|| \
{ echo "[merge] error while calling xgettext. aborting."; exit 1; }
sed -i 's/# SOME DESCRIPTIVE TITLE./'"# Translation of ${widgetName} in LANGUAGE"'/' "template.pot.new"
sed -i 's/# Copyright (C) YEAR THE PACKAGE'"'"'S COPYRIGHT HOLDER/'"# Copyright (C) $(date +%Y)"'/' "template.pot.new"
if [ -f "template.pot" ]; then
newPotDate=`grep "POT-Creation-Date:" template.pot.new | sed 's/.\{3\}$//'`
oldPotDate=`grep "POT-Creation-Date:" template.pot | sed 's/.\{3\}$//'`
sed -i 's/'"${newPotDate}"'/'"${oldPotDate}"'/' "template.pot.new"
changes=`diff "template.pot" "template.pot.new"`
if [ ! -z "$changes" ]; then
# There's been changes
sed -i 's/'"${oldPotDate}"'/'"${newPotDate}"'/' "template.pot.new"
mv "template.pot.new" "template.pot"
addedKeys=`echo "$changes" | grep "> msgid" | cut -c 9- | sort`
removedKeys=`echo "$changes" | grep "< msgid" | cut -c 9- | sort`
echo ""
echo "Added Keys:"
echo "$addedKeys"
echo ""
echo "Removed Keys:"
echo "$removedKeys"
echo ""
else
# No changes
rm "template.pot.new"
fi
else
# template.pot didn't already exist
mv "template.pot.new" "template.pot"
fi
potMessageCount=`expr $(grep -Pzo 'msgstr ""\n(\n|$)' "template.pot" | grep -c 'msgstr ""')`
echo "| Locale | Lines | % Done|" > "./Status.md"
echo "|----------|---------|-------|" >> "./Status.md"
entryFormat="| %-8s | %7s | %5s |"
templateLine=`perl -e "printf(\"$entryFormat\", \"Template\", \"${potMessageCount}\", \"\")"`
echo "$templateLine" >> "./Status.md"
rm "${DIR}/infiles.list"
echo "[merge] Done extracting messages"
#---
echo "[merge] Merging messages"
catalogs=`find . -name '*.po' | sort`
for cat in $catalogs; do
echo "[merge] $cat"
catLocale=`basename ${cat%.*}`
widthArg=""
catUsesGenerator=`grep "X-Generator:" "$cat"`
if [ -z "$catUsesGenerator" ]; then
widthArg="--width=400"
fi
cp "$cat" "$cat.new"
sed -i 's/"Content-Type: text\/plain; charset=CHARSET\\n"/"Content-Type: text\/plain; charset=UTF-8\\n"/' "$cat.new"
msgmerge \
${widthArg} \
--add-location=file \
--no-fuzzy-matching \
-o "$cat.new" \
"$cat.new" "${DIR}/template.pot"
sed -i 's/# SOME DESCRIPTIVE TITLE./'"# Translation of ${widgetName} in ${catLocale}"'/' "$cat.new"
sed -i 's/# Translation of '"${widgetName}"' in LANGUAGE/'"# Translation of ${widgetName} in ${catLocale}"'/' "$cat.new"
sed -i 's/# Copyright (C) YEAR THE PACKAGE'"'"'S COPYRIGHT HOLDER/'"# Copyright (C) $(date +%Y)"'/' "$cat.new"
poEmptyMessageCount=`expr $(grep -Pzo 'msgstr ""\n(\n|$)' "$cat.new" | grep -c 'msgstr ""')`
poMessagesDoneCount=`expr $potMessageCount - $poEmptyMessageCount`
poCompletion=`perl -e "printf(\"%d\", $poMessagesDoneCount * 100 / $potMessageCount)"`
poLine=`perl -e "printf(\"$entryFormat\", \"$catLocale\", \"${poMessagesDoneCount}/${potMessageCount}\", \"${poCompletion}%\")"`
echo "$poLine" >> "./Status.md"
# mv "$cat" "$cat.old"
mv "$cat.new" "$cat"
done
echo "[merge] Done merging messages"
#---
echo "[merge] Updating .desktop file"
# Generate LINGUAS for msgfmt
if [ -f "$DIR/LINGUAS" ]; then
rm "$DIR/LINGUAS"
fi
touch "$DIR/LINGUAS"
for cat in $catalogs; do
catLocale=`basename ${cat%.*}`
echo "${catLocale}" >> "$DIR/LINGUAS"
done
cp -f "$DIR/../metadata.desktop" "$DIR/template.desktop"
sed -i '/^Name\[/ d; /^GenericName\[/ d; /^Comment\[/ d; /^Keywords\[/ d' "$DIR/template.desktop"
msgfmt \
--desktop \
--template="$DIR/template.desktop" \
-d "$DIR/" \
-o "$DIR/new.desktop"
# Delete empty msgid messages that used the po header
if [ ! -z "$(grep '^Name=$' "$DIR/new.desktop")" ]; then
echo "[merge] Name in metadata.desktop is empty!"
sed -i '/^Name\[/ d' "$DIR/new.desktop"
fi
if [ ! -z "$(grep '^GenericName=$' "$DIR/new.desktop")" ]; then
echo "[merge] GenericName in metadata.desktop is empty!"
sed -i '/^GenericName\[/ d' "$DIR/new.desktop"
fi
if [ ! -z "$(grep '^Comment=$' "$DIR/new.desktop")" ]; then
echo "[merge] Comment in metadata.desktop is empty!"
sed -i '/^Comment\[/ d' "$DIR/new.desktop"
fi
if [ ! -z "$(grep '^Keywords=$' "$DIR/new.desktop")" ]; then
echo "[merge] Keywords in metadata.desktop is empty!"
sed -i '/^Keywords\[/ d' "$DIR/new.desktop"
fi
# Place translations at the bottom of the desktop file.
translatedLines=`cat "$DIR/new.desktop" | grep "]="`
if [ ! -z "${translatedLines}" ]; then
sed -i '/^Name\[/ d; /^GenericName\[/ d; /^Comment\[/ d; /^Keywords\[/ d' "$DIR/new.desktop"
if [ "$(tail -c 2 "$DIR/new.desktop" | wc -l)" != "2" ]; then
# Does not end with 2 empty lines, so add an empty line.
echo "" >> "$DIR/new.desktop"
fi
echo "${translatedLines}" >> "$DIR/new.desktop"
fi
# Cleanup
mv "$DIR/new.desktop" "$DIR/../metadata.desktop"
rm "$DIR/template.desktop"
rm "$DIR/LINGUAS"
#---
# Populate ReadMe.md
echo "[merge] Updating translate/ReadMe.md"
sed -i -E 's`share\/plasma\/plasmoids\/(.+)\/translate`share/plasma/plasmoids/'"${plasmoidName}"'/translate`' ./ReadMe.md
if [[ "$website" == *"github.com"* ]]; then
sed -i -E 's`\[new issue\]\(https:\/\/github\.com\/(.+)\/(.+)\/issues\/new\)`[new issue]('"${website}"'/issues/new)`' ./ReadMe.md
fi
sed -i '/^|/ d' ./ReadMe.md # Remove status table from ReadMe
cat ./Status.md >> ./ReadMe.md
rm ./Status.md
echo "[merge] Done"

View file

@ -0,0 +1,181 @@
#!/bin/bash
# Version 9
# Requires plasmoidviewer v5.13.0
function checkIfLangInstalled {
if [ -x "$(command -v dpkg)" ]; then
dpkg -l ${1} >/dev/null 2>&1 || ( \
echo -e "${1} not installed.\nInstalling now before continuing.\n" \
; sudo apt install ${1} \
) || ( \
echo -e "\nError trying to install ${1}\nPlease run 'sudo apt install ${1}'\n" \
; exit 1 \
)
elif [ -x "$(command -v pacman)" ]; then
# TODO: run `locale -a` and check if the locale is enabled.
if false; then
# https://wiki.archlinux.org/index.php/Locale
# Uncomment the locale in /etc/locale.gen
# Then run `locale-gen`
echo -e "\nPlease install this locale in System Settings first.\n"
exit 1
else
echo ""
fi
else
echo -e "\nPackage manager not recognized. If the widget is not translated, please install the package '${1}'\n"
fi
}
langInput="${1}"
lang=""
languagePack=""
if [[ "$langInput" =~ ":" ]]; then # String contains a colon so assume it's a locale code.
lang="${langInput}"
IFS=: read -r l1 l2 <<< "${lang}"
languagePack="language-pack-${l2}"
fi
# https://stackoverflow.com/questions/3191664/list-of-all-locales-and-their-short-codes/28357857#28357857
declare -a langArr=(
"af_ZA:af:Afrikaans (South Africa)"
"ak_GH:ak:Akan (Ghana)"
"am_ET:am:Amharic (Ethiopia)"
"ar_EG:ar:Arabic (Egypt)"
"as_IN:as:Assamese (India)"
"az_AZ:az:Azerbaijani (Azerbaijan)"
"be_BY:be:Belarusian (Belarus)"
"bem_ZM:bem:Bemba (Zambia)"
"bg_BG:bg:Bulgarian (Bulgaria)"
"bo_IN:bo:Tibetan (India)"
"bs_BA:bs:Bosnian (Bosnia and Herzegovina)"
"ca_ES:ca:Catalan (Spain)"
"chr_US:ch:Cherokee (United States)"
"cs_CZ:cs:Czech (Czech Republic)"
"cy_GB:cy:Welsh (United Kingdom)"
"da_DK:da:Danish (Denmark)"
"de_DE:de:German (Germany)"
"el_GR:el:Greek (Greece)"
"es_MX:es:Spanish (Mexico)"
"et_EE:et:Estonian (Estonia)"
"eu_ES:eu:Basque (Spain)"
"fa_IR:fa:Persian (Iran)"
"ff_SN:ff:Fulah (Senegal)"
"fi_FI:fi:Finnish (Finland)"
"fo_FO:fo:Faroese (Faroe Islands)"
"fr_CA:fr:French (Canada)"
"ga_IE:ga:Irish (Ireland)"
"gl_ES:gl:Galician (Spain)"
"gu_IN:gu:Gujarati (India)"
"gv_GB:gv:Manx (United Kingdom)"
"ha_NG:ha:Hausa (Nigeria)"
"he_IL:he:Hebrew (Israel)"
"hi_IN:hi:Hindi (India)"
"hr_HR:hr:Croatian (Croatia)"
"hu_HU:hu:Hungarian (Hungary)"
"hy_AM:hy:Armenian (Armenia)"
"id_ID:id:Indonesian (Indonesia)"
"ig_NG:ig:Igbo (Nigeria)"
"is_IS:is:Icelandic (Iceland)"
"it_IT:it:Italian (Italy)"
"ja_JP:ja:Japanese (Japan)"
"ka_GE:ka:Georgian (Georgia)"
"kk_KZ:kk:Kazakh (Kazakhstan)"
"kl_GL:kl:Kalaallisut (Greenland)"
"km_KH:km:Khmer (Cambodia)"
"kn_IN:kn:Kannada (India)"
"ko_KR:ko:Korean (South Korea)"
"ko_KR:ko:Korean (South Korea)"
"lg_UG:lg:Ganda (Uganda)"
"lt_LT:lt:Lithuanian (Lithuania)"
"lv_LV:lv:Latvian (Latvia)"
"mg_MG:mg:Malagasy (Madagascar)"
"mk_MK:mk:Macedonian (Macedonia)"
"ml_IN:ml:Malayalam (India)"
"mr_IN:mr:Marathi (India)"
"ms_MY:ms:Malay (Malaysia)"
"mt_MT:mt:Maltese (Malta)"
"my_MM:my:Burmese (Myanmar [Burma])"
"nb_NO:nb:Norwegian Bokmål (Norway)"
"ne_NP:ne:Nepali (Nepal)"
"nl_NL:nl:Dutch (Netherlands)"
"nn_NO:nn:Norwegian Nynorsk (Norway)"
"om_ET:om:Oromo (Ethiopia)"
"or_IN:or:Oriya (India)"
"pa_PK:pa:Punjabi (Pakistan)"
"pl_PL:pl:Polish (Poland)"
"ps_AF:ps:Pashto (Afghanistan)"
"pt_BR:pt:Portuguese (Brazil)"
"ro_RO:ro:Romanian (Romania)"
"ru_RU:ru:Russian (Russia)"
"rw_RW:rw:Kinyarwanda (Rwanda)"
"si_LK:si:Sinhala (Sri Lanka)"
"sk_SK:sk:Slovak (Slovakia)"
"sl_SI:sl:Slovenian (Slovenia)"
"so_SO:so:Somali (Somalia)"
"sq_AL:sq:Albanian (Albania)"
"sr_RS:sr:Serbian (Serbia)"
"sv_SE:sv:Swedish (Sweden)"
"sw_KE:sw:Swahili (Kenya)"
"ta_IN:ta:Tamil (India)"
"te_IN:te:Telugu (India)"
"th_TH:th:Thai (Thailand)"
"ti_ER:ti:Tigrinya (Eritrea)"
"to_TO:to:Tonga (Tonga)"
"tr_TR:tr:Turkish (Turkey)"
"uk_UA:uk:Ukrainian (Ukraine)"
"ur_IN:ur:Urdu (India)"
"uz_UZ:uz:Uzbek (Uzbekistan)"
"vi_VN:vi:Vietnamese (Vietnam)"
"yo_NG:yo:Yoruba (Nigeria)"
"yo_NG:yo:Yoruba (Nigeria)"
"yue_HK:yu:Cantonese (Hong Kong)"
"zh_CN:zh:Chinese (China)"
"zu_ZA:zu:Zulu (South Africa)"
)
for i in "${langArr[@]}"; do
IFS=: read -r l1 l2 l3 <<< "$i"
if [ "$langInput" == "$l2" ]; then
lang="${l1}:${l2}"
languagePack="language-pack-${l2}"
fi
done
if [ -z "$lang" ]; then
echo "plasmoidlocaletest doesn't recognize the language '$lang'"
echo "Eg:"
scriptcmd='sh ./plasmoidlocaletest'
for i in "${langArr[@]}"; do
IFS=: read -r l1 l2 l3 <<< "$i"
echo " ${scriptcmd} ${l2} | ${l3}"
done
echo ""
echo "Or use a the full locale code:"
echo " ${scriptcmd} ar_EG:ar"
exit 1
fi
IFS=: read -r l1 l2 <<< "${lang}"
l1="${l1}.UTF-8"
# Check if language is installed
if [ ! -z "$languagePack" ]; then
if [ "$lang" == "zh_CN:zh" ]; then languagePack="language-pack-zh-hans"
fi
checkIfLangInstalled "$languagePack" || exit 1
fi
echo "LANGUAGE=\"${lang}\""
echo "LANG=\"${l1}\""
scriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
packageDir="${scriptDir}/.."
# Build local translations for plasmoidviewer
sh "${scriptDir}/build"
LANGUAGE="${lang}" LANG="${l1}" LC_TIME="${l1}" QML_DISABLE_DISK_CACHE=true plasmoidviewer -a "$packageDir" -l topedge -f horizontal -x 0 -y 0

View file

@ -0,0 +1,175 @@
# Translation of nori weather in Portuguese
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/2230382/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese <LL@li.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr "Céu limpo"
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr "Predominantemente limpo"
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr "Parcialmente nublado"
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr "Encoberto"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr "Garoa de baixa intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr "Garoa de intensidade moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr "Garoa de alta intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr "Garoa congelante de baixa intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr "Garoa congelante de alta intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr "Chuva leve"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr "Chuva moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr "Chuva forte"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr "Chuva congelante leve"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr "Chuva congelante forte"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr "Neve de baixa intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr "Neve de intensidade moderada"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr "Neve de alta intensidade"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr "Grãos de neve"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr "Aguaceiros leves"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr "Aguaceiros moderados"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr "Aguaceiros violentos"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr "Aguaceiros de neve leves"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr "Aguaceiros de neve intensos"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr "Trovoada"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr "Trovoada com granizo leve"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr "Trovoada com granizo forte"
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr "Nublado"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr "Garoa"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr "Chuva"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr "Neve"
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr "Aguaceiros"
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr "Tempestade"
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr "Segunda-feira"
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr "Terça-feira"
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr "Quarta-feira"
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr "Quinta-feira"
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr "Sexta-feira"
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr "Sábado"
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr "Domingo"

View file

@ -0,0 +1,174 @@
# Translation of nori weather in Russian
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/2230382/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian <LL@li.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr "Ясно"
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr "Преимущественно ясно"
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr "Переменная облачность"
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr "Пасмурно"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr "Морось слабой интенсивности"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr "Морось умеренной интенсивности"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr "Морось сильной интенсивности"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr "Морось слабой интенсивности с заморозками"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr "Морось сильной интенсивности с заморозками"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr "Слабый дождь"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr "Умеренный дождь"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr "Сильный дождь"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr "Слабый дождь с заморозками"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr "Сильный дождь с заморозками"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr "Слабый снегопад"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr "Умеренный снегопад"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr "Сильный снегопад"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr "Снежная крупа"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr "Слабые ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr "Умеренные ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr "Сильные ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr "Слабые снежные ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr "Сильные снежные ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr "Гроза"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr "Гроза с небольшим градом"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr "Гроза с сильным градом"
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr "Облачно"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr "Морось"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr "Дождь"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr "Снег"
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr "Ливни"
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr "Шторм"
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr "Понедельник"
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr "Вторник"
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr "Среда"
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr "Четверг"
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr "Пятница"
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr "Суббота"
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr "Воскресенье"

View file

@ -0,0 +1,175 @@
# Translation of nori weather in LANGUAGE
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/2230382/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr ""
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr ""
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr ""

View file

@ -0,0 +1,175 @@
# Translation of nori weather in zh_CN
# Copyright (C) 2023
# This file is distributed under the same license as the Nori.Weather package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Nori.Weather\n"
"Report-Msgid-Bugs-To: https://store.kde.org/p/2230382/\n"
"POT-Creation-Date: 2023-05-01 16:59-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../contents/ui/components/WeatherData.qml
msgid "Clear"
msgstr "晴朗"
#: ../contents/ui/components/WeatherData.qml
msgid "Mainly clear"
msgstr "大致晴朗"
#: ../contents/ui/components/WeatherData.qml
msgid "Partly cloudy"
msgstr "局部多云"
#: ../contents/ui/components/WeatherData.qml
msgid "Overcast"
msgstr "阴天"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle light intensity"
msgstr "毛毛雨(小雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle moderate intensity"
msgstr "毛毛雨(中等强度)"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle dense intensity"
msgstr "毛毛雨(大雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle light intensity"
msgstr "冻毛毛雨(小雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Drizzle dense intensity"
msgstr "冻毛毛雨(大雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain slight intensity"
msgstr "小雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain moderate intensity"
msgstr "中雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain heavy intensity"
msgstr "大雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain light intensity"
msgstr "冻雨(小雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Freezing Rain heavy intensity"
msgstr "冻雨(大雨)"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall slight intensity"
msgstr "小雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall moderate intensity"
msgstr "中雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Snowfall heavy intensity"
msgstr "大雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow grains"
msgstr "雪粒"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers slight"
msgstr "小阵雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers moderate"
msgstr "中阵雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain showers violent"
msgstr "大阵雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers slight"
msgstr "小阵雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow showers heavy"
msgstr "大阵雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm"
msgstr "雷暴"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with slight hail"
msgstr "雷暴伴小冰雹"
#: ../contents/ui/components/WeatherData.qml
msgid "Thunderstorm with heavy hail"
msgstr "雷暴伴大冰雹"
#: ../contents/ui/components/WeatherData.qml
msgid "Cloudy"
msgstr "多云"
#: ../contents/ui/components/WeatherData.qml
msgid "Drizzle"
msgstr "毛毛雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Rain"
msgstr "雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Snow"
msgstr "雪"
#: ../contents/ui/components/WeatherData.qml
msgid "Showers"
msgstr "阵雨"
#: ../contents/ui/components/WeatherData.qml
msgid "Storm"
msgstr "暴风雨"
#: ../contents/ui/ItemForecasts.qml
msgid "Monday"
msgstr "星期一"
#: ../contents/ui/ItemForecasts.qml
msgid "Tuesday"
msgstr "星期二"
#: ../contents/ui/ItemForecasts.qml
msgid "Wednesday"
msgstr "星期三"
#: ../contents/ui/ItemForecasts.qml
msgid "Thursday"
msgstr "星期四"
#: ../contents/ui/ItemForecasts.qml
msgid "Friday"
msgstr "星期五"
#: ../contents/ui/ItemForecasts.qml
msgid "Saturday"
msgstr "星期六"
#: ../contents/ui/ItemForecasts.qml
msgid "Sunday"
msgstr "星期日"