Compare commits

...

3 commits

Author SHA1 Message Date
Solomon Peachy
8ac866a749 Mechanical correction to the Swedish translation
Change-Id: I3a16883f9a9b2927fb9d941e3a4cbb8325f65848
2026-04-17 10:00:04 -04:00
Solomon Peachy
38f660c956 RFC: Document a GenAI policy.
Change-Id: I151f10f2a18eeb2a5a173dba525bbc676217fcba
2026-04-17 09:32:18 -04:00
Solomon Peachy
b80bd1a2da Translation updates:
* Korean (Hoseok Seo)
 * Polish (Adam Rak)
 * Slovak (Matej Golian)
 * Swedish (wilton millfjord)
 * US English (myself)

Change-Id: Ic664c3550785816532334af222ffc2213b5f9e58
2026-04-17 08:59:54 -04:00
6 changed files with 561 additions and 26 deletions

View file

@ -15800,16 +15800,16 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_DEFAULT_BROWSER id: LANG_DEFAULT_BROWSER
desc: in Settings desc: deprecated
user: core user: core
<source> <source>
*: "Default Browser" *: ""
</source> </source>
<dest> <dest>
*: "Default Browser" *: ""
</dest> </dest>
<voice> <voice>
*: "Default Browser" *: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -17054,3 +17054,45 @@
*: "Finished" *: "Finished"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "File not found"
</dest>
<voice>
*: "File not found"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "Show in Files"
</dest>
<voice>
*: "Show in Files"
</voice>
</phrase>
<phrase>
id: LANG_CHANNEL_SWAP
desc: in sound_settings
user: core
<source>
*: "Swap Left & Right"
</source>
<dest>
*: "Swap Left & Right"
</dest>
<voice>
*: "Swap Left & Right"
</voice>
</phrase>

View file

@ -15818,16 +15818,16 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_DEFAULT_BROWSER id: LANG_DEFAULT_BROWSER
desc: in Settings desc: deprecated
user: core user: core
<source> <source>
*: "Default Browser" *: ""
</source> </source>
<dest> <dest>
*: "기본 탐색기" *: ""
</dest> </dest>
<voice> <voice>
*: "기본 탐색기" *: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -17002,3 +17002,115 @@
*: "~U S B" *: "~U S B"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "파일을 찾을 수 없음"
</dest>
<voice>
*: "파일을 찾을 수 없음"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "파일에서 표시"
</dest>
<voice>
*: "파일에서 표시"
</voice>
</phrase>
<phrase>
id: LANG_CHANNEL_SWAP
desc: in sound_settings
user: core
<source>
*: "Swap Left & Right"
</source>
<dest>
*: "왼쪽과 오른쪽 바꾸기"
</dest>
<voice>
*: "왼쪽과 오른쪽 바꾸기"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_SET
desc: countdown_timer plugin - header shown on the setup screen where the user enters the countdown duration
user: core
<source>
*: "SET TIMER"
</source>
<dest>
*: "타이머 설정"
</dest>
<voice>
*: "타이머 설정"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_RUNNING
desc: countdown_timer plugin - status label shown while the countdown is active
user: core
<source>
*: "RUNNING"
</source>
<dest>
*: "실행 중"
</dest>
<voice>
*: "실행 중"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_PAUSED
desc: countdown_timer plugin - status label shown while the countdown is paused
user: core
<source>
*: "PAUSED"
</source>
<dest>
*: "일시 중지"
</dest>
<voice>
*: "일시 중지"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_OVERTIME
desc: countdown_timer plugin - status label shown when the countdown has passed zero and is counting up
user: core
<source>
*: "OVERTIME"
</source>
<dest>
*: "초과 시간"
</dest>
<voice>
*: "초과 시간"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_FINISHED
desc: countdown_timer plugin - status label shown at the moment the countdown expires
user: core
<source>
*: "FINISHED"
</source>
<dest>
*: "완료"
</dest>
<voice>
*: "완료"
</voice>
</phrase>

View file

@ -15810,16 +15810,16 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_DEFAULT_BROWSER id: LANG_DEFAULT_BROWSER
desc: in Settings desc: deprecated
user: core user: core
<source> <source>
*: "Default Browser" *: ""
</source> </source>
<dest> <dest>
*: "Przeglądarka domyślna" *: ""
</dest> </dest>
<voice> <voice>
*: "Przeglądarka domyślna" *: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -16994,3 +16994,115 @@
*: "u es be" *: "u es be"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "Plik nie został znaleziony"
</dest>
<voice>
*: "Plik nie został znaleziony"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "Pokaż w plikach"
</dest>
<voice>
*: "Pokaż w plikach"
</voice>
</phrase>
<phrase>
id: LANG_CHANNEL_SWAP
desc: in sound_settings
user: core
<source>
*: "Swap Left & Right"
</source>
<dest>
*: "Zamień lewy i prawy"
</dest>
<voice>
*: "Zamień lewy i prawy"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_SET
desc: countdown_timer plugin - header shown on the setup screen where the user enters the countdown duration
user: core
<source>
*: "SET TIMER"
</source>
<dest>
*: "USTAW MINUTNIK"
</dest>
<voice>
*: "Ustaw minutnik"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_RUNNING
desc: countdown_timer plugin - status label shown while the countdown is active
user: core
<source>
*: "RUNNING"
</source>
<dest>
*: "URUCHOMIONO"
</dest>
<voice>
*: "Uruchomiono"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_PAUSED
desc: countdown_timer plugin - status label shown while the countdown is paused
user: core
<source>
*: "PAUSED"
</source>
<dest>
*: "WSTRZYMANO"
</dest>
<voice>
*: "Wstrzymano"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_OVERTIME
desc: countdown_timer plugin - status label shown when the countdown has passed zero and is counting up
user: core
<source>
*: "OVERTIME"
</source>
<dest>
*: "PRZEDŁUŻONO"
</dest>
<voice>
*: "Przedłużno"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_FINISHED
desc: countdown_timer plugin - status label shown at the moment the countdown expires
user: core
<source>
*: "FINISHED"
</source>
<dest>
*: "UKOŃCZONO"
</dest>
<voice>
*: "Ukończono"
</voice>
</phrase>

View file

@ -15930,16 +15930,16 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_DEFAULT_BROWSER id: LANG_DEFAULT_BROWSER
desc: in Settings desc: deprecated
user: core user: core
<source> <source>
*: "Default Browser" *: ""
</source> </source>
<dest> <dest>
*: "Predvolený prehliadač" *: ""
</dest> </dest>
<voice> <voice>
*: "Predvolený prehliadač" *: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -16988,3 +16988,115 @@
*: "~U S B" *: "~U S B"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "Súbor nebol nájdený"
</dest>
<voice>
*: "Súbor nebol nájdený"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "Ukázať v Súboroch"
</dest>
<voice>
*: "Ukázať v Súboroch"
</voice>
</phrase>
<phrase>
id: LANG_CHANNEL_SWAP
desc: in sound_settings
user: core
<source>
*: "Swap Left & Right"
</source>
<dest>
*: "Zameniť ľavý a pravý"
</dest>
<voice>
*: "Zameniť ľavý a pravý"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_SET
desc: countdown_timer plugin - header shown on the setup screen where the user enters the countdown duration
user: core
<source>
*: "SET TIMER"
</source>
<dest>
*: "NASTAVIŤ ČASOVAČ"
</dest>
<voice>
*: "Nastaviť časovač"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_RUNNING
desc: countdown_timer plugin - status label shown while the countdown is active
user: core
<source>
*: "RUNNING"
</source>
<dest>
*: "BEŽÍ"
</dest>
<voice>
*: "Beží"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_PAUSED
desc: countdown_timer plugin - status label shown while the countdown is paused
user: core
<source>
*: "PAUSED"
</source>
<dest>
*: "POZASTAVENÝ"
</dest>
<voice>
*: "Pozastavený"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_OVERTIME
desc: countdown_timer plugin - status label shown when the countdown has passed zero and is counting up
user: core
<source>
*: "OVERTIME"
</source>
<dest>
*: "NADČAS"
</dest>
<voice>
*: "Nadčas"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_FINISHED
desc: countdown_timer plugin - status label shown at the moment the countdown expires
user: core
<source>
*: "FINISHED"
</source>
<dest>
*: "UKONČENÝ"
</dest>
<voice>
*: "Ukončený"
</voice>
</phrase>

View file

@ -14789,7 +14789,7 @@
user: core user: core
<source> <source>
*: "Press LEFT to cancel." *: "Press LEFT to cancel."
android,hifietma*,zenvision: "Press BACK to cancel." android,hifietma*: "Press BACK to cancel."
cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Press POWER to cancel." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Press POWER to cancel."
ihifi760,ihifi960: "Double tap RETURN to cancel." ihifi760,ihifi960: "Double tap RETURN to cancel."
ihifi770,ihifi770c,ihifi800: "Press HOME to cancel." ihifi770,ihifi770c,ihifi800: "Press HOME to cancel."
@ -14804,7 +14804,7 @@
</source> </source>
<dest> <dest>
*: "Tryck på VÄNSTER för att avbryta." *: "Tryck på VÄNSTER för att avbryta."
android,hifietma*,zenvision: "Tryck på TILLBAKA för att avbryta." android,hifietma*: "Tryck på TILLBAKA för att avbryta."
cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Tryck på POWER för att avbryta." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Tryck på POWER för att avbryta."
ihifi760,ihifi960: "Dubbelklicka på RETURN för att avbryta." ihifi760,ihifi960: "Dubbelklicka på RETURN för att avbryta."
ihifi770,ihifi770c,ihifi800: "Tryck på HOME för att avbryta." ihifi770,ihifi770c,ihifi800: "Tryck på HOME för att avbryta."
@ -14819,7 +14819,7 @@
</dest> </dest>
<voice> <voice>
*: "Tryck på VÄNSTER för att avbryta." *: "Tryck på VÄNSTER för att avbryta."
android,hifietma*,zenvision: "Tryck på TILLBAKA för att avbryta." android,hifietma*: "Tryck på TILLBAKA för att avbryta."
cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Tryck på POWER för att avbryta." cowond2,creativezenxfi2,ibassodx50,ibassodx90,mrobe500,ondavx747: "Tryck på POWER för att avbryta."
ihifi760,ihifi960: "Dubbelklicka på RETURN för att avbryta." ihifi760,ihifi960: "Dubbelklicka på RETURN för att avbryta."
ihifi770,ihifi770c,ihifi800: "Tryck på HOME för att avbryta." ihifi770,ihifi770c,ihifi800: "Tryck på HOME för att avbryta."
@ -15314,13 +15314,13 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_VOICED_DATE_FORMAT id: LANG_VOICED_DATE_FORMAT
desc: format string for how dates will be read back. Y == 4-digit year, A == month name, m == numeric month, d == numeric day. For example, "AdY" will read "January 21 2021" desc: format string for how dates will be read back. Y == 4-digit year (grouped), y == 4-digit year (numeric), A == month name, m == numeric month, d == numeric day. For example, for 2021-01-05, "AdY" will be voiced as "January 5 twenty twenty-one" and "dmy" will be voiced as "5 1 two thousand twenty one
user: core user: core
<source> <source>
*: "dAY" *: "dAY"
</source> </source>
<dest> <dest>
*: "dAY" *: "~dAY"
</dest> </dest>
<voice> <voice>
*: "" *: ""
@ -15923,16 +15923,16 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_DEFAULT_BROWSER id: LANG_DEFAULT_BROWSER
desc: in Settings desc: deprecated
user: core user: core
<source> <source>
*: "Default Browser" *: ""
</source> </source>
<dest> <dest>
*: "Standardwebbläsare" *: ""
</dest> </dest>
<voice> <voice>
*: "Standardwebbläsare" *: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -16967,3 +16967,143 @@
*: "~U S B" *: "~U S B"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_ANNOUNCE_STATUS
desc: announnnce_status plugin
user: core
<source>
*: "Announce Status"
</source>
<dest>
*: "Meddela status"
</dest>
<voice>
*: "Meddela status"
</voice>
</phrase>
<phrase>
id: LANG_KEEP_DIRECTORY
desc: file browser setting
user: core
<source>
*: "Always remember last folder"
</source>
<dest>
*: "Kom alltid ihåg senaste mappen"
</dest>
<voice>
*: "Kom alltid ihåg senaste mappen"
</voice>
</phrase>
<phrase>
id: LANG_FILE_NOT_FOUND
desc: When file does not exist
user: core
<source>
*: "File not found"
</source>
<dest>
*: "Filen hittades inte"
</dest>
<voice>
*: "Filen hittades inte"
</voice>
</phrase>
<phrase>
id: LANG_SHOW_IN_FILES
desc: Reveal item in File Browser
user: core
<source>
*: "Show in Files"
</source>
<dest>
*: "Visa i Filer"
</dest>
<voice>
*: "Visa i Filer"
</voice>
</phrase>
<phrase>
id: LANG_CHANNEL_SWAP
desc: in sound_settings
user: core
<source>
*: "Swap Left & Right"
</source>
<dest>
*: "Byt vänster och höger"
</dest>
<voice>
*: "Byt vänster och höger"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_SET
desc: countdown_timer plugin - header shown on the setup screen where the user enters the countdown duration
user: core
<source>
*: "SET TIMER"
</source>
<dest>
*: "Ställ in timer"
</dest>
<voice>
*: "Ställ in timer"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_RUNNING
desc: countdown_timer plugin - status label shown while the countdown is active
user: core
<source>
*: "RUNNING"
</source>
<dest>
*: "Pågår"
</dest>
<voice>
*: "Pågår"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_PAUSED
desc: countdown_timer plugin - status label shown while the countdown is paused
user: core
<source>
*: "PAUSED"
</source>
<dest>
*: "PAUSAD"
</dest>
<voice>
*: "Pausad"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_OVERTIME
desc: countdown_timer plugin - status label shown when the countdown has passed zero and is counting up
user: core
<source>
*: "OVERTIME"
</source>
<dest>
*: "ÖVERTID"
</dest>
<voice>
*: "Övertid"
</voice>
</phrase>
<phrase>
id: LANG_COUNTDOWN_TIMER_FINISHED
desc: countdown_timer plugin - status label shown at the moment the countdown expires
user: core
<source>
*: "FINISHED"
</source>
<dest>
*: "SLUTFÖRD"
</dest>
<voice>
*: "Slutförd"
</voice>
</phrase>

View file

@ -72,7 +72,7 @@ check out the latest version of the Rockbox sources.
See https://www.rockbox.org/wiki/UsingGit for details on how to setup your See https://www.rockbox.org/wiki/UsingGit for details on how to setup your
environment and how to upload a change you have made for review. environment and how to upload a change you have made for review.
We'd prefer that you don't submit patches to the bug tracker any more, We strongly prefer that you don't submit patches to the bug tracker,
as it's much harder to read and discuss them there. as it's much harder to read and discuss them there.
Credits Credits
@ -80,3 +80,20 @@ Credits
We believe in crediting all contributors by name. Before committing a patch to We believe in crediting all contributors by name. Before committing a patch to
Git, we ask that you give us your full real name (no pseudonyms or nicknames) Git, we ask that you give us your full real name (no pseudonyms or nicknames)
for adding to the credits list. for adding to the credits list.
Generative AI
-------------
We are highly unlikely to review or accept AI-generated or "vibe coded"
code; our time is very limited, and we need to know that *you* understand
exactly what the code is doing and why, so that we can review it
effectively with you.
Code is of no value to Rockbox if it is not maintainable, and it cannot
be maintained if it is not understood. Quality is more important than
quantity.
If you really *must* submit AI-generated code, you will need to include
prompt provenance including the model used, dates and full content of
prompts, and the unedited LLM output. See the article "Track Prompt
Provenance in Version Control" at https://medium.com/@psluaces/track-prompt-provenance-in-version-control-8746e2bad3c2)
by Pablo Santos Luaces.