From a5e9248af9ff8924a58268e243e00da5fd081359 Mon Sep 17 00:00:00 2001 From: actuallyaridan <96298432+actuallyaridan@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:56:09 +0100 Subject: [PATCH 1/3] Updated and improved the Swedish translation Added new content, improved context and made stuff more consistent --- _locales/sv/messages.json | 111 +++++++++++++++++++++++++++----------- 1 file changed, 79 insertions(+), 32 deletions(-) diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 32108f2a..a1ac870b 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -62,17 +62,17 @@ "delete_bookmarks": { "message": "Vill du radera alla bokmärken? Detta går inte att ångra." }, "members": { "message": "Medlemmar" }, "subscribers": { "message": "Följare" }, - "list_members": { "message": "Medlemmar i listan" }, + "list_members": { "message": "Medlemmar" }, "list_subscribers": { "message": "Följare" }, "edit": { "message": "Redigera" }, - "delete": { "message": "Ta bort" }, + "delete": { "message": "Radera" }, "remove": { "message": "Ta bort" }, "edit_list": { "message": "Ändra listan" }, "edit_members": { "message": "Ändra medlemmar" }, "save": { "message": "Spara" }, "back": { "message": "Tillbaka" }, - "delete_list": { "message": "Ta bort listan" }, - "delete_list_sure": { "message": "Vill du verkligen ta bort den här listan?" }, + "delete_list": { "message": "Radera lista" }, + "delete_list_sure": { "message": "Vill du verkligen radera den här listan?" }, "unsubscribe": { "message": "Sluta följa" }, "subscribe": { "message": "Följ" }, "list_not_found": { "message": "Listan hittades inte." }, @@ -87,7 +87,7 @@ "photos_and_videos2": { "message": "Bilder & videor" }, "tweets_and_replies": { "message": "Tweets & svar" }, "you_may_also_like": { "message": "Du kanske gillar...", "description": "Max 26 characters, you can use word 'People' if no space" }, - "user_was_suspended": { "message": "Kontot är avstängt." }, + "user_was_suspended": { "message": "Twitter stänger regelbundet ned konton som bryter mot dess regler. Det här kontot har spärrats." }, "user_was_not_found": { "message": "Kontot hittades inte." }, "timeline_not_authorized": { "message": "Du har inte behörighet att visa den här användarens tidslinje." }, "create_btn": { "message": "[skapa]" }, @@ -115,21 +115,21 @@ "edit_profile": { "message": "Redigera profil" }, "follow_request_sent": { "message": "Följförfrågan skickad" }, "unblock_user": { "message": "Avblockera @$SCREEN_NAME$", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, - "unblock": { "message": "Häv blockering", "description": "Just for unblock button" }, + "unblock": { "message": "Avblockera", "description": "Just for unblock button" }, "block_user": { "message": "Blockera @$SCREEN_NAME$", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, "block": { "message": "Ja, blockera dem", "description": "Just for block button" }, "mute": { "message": "Ignorera" }, "unmute": { "message": "Sluta ignorera" }, "see_lists": { "message": "Visa listor" }, - "stop_notifications": { "message": "Slå av notiser" }, - "receive_notifications": { "message": "Slå på notiser" }, + "stop_notifications": { "message": "Inaktivera notiser" }, + "receive_notifications": { "message": "Aktivera notiser" }, "from_list": { "message": "Lägg till eller ta bort från en lista" }, "share_user": { "message": "Dela konto" }, "copy_profile_link": { "message": "Kopiera användarlänken" }, "remove_from_followers": { "message": "Ta bort följare", "description": "This button unfollows person from you, not unfollows you from them" }, "remove_from_followers_sure": { "message": "Vill du verkligen ta bort din följare @$SCREEN_NAME$?", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, "remove_from_followers_warn": { "message": "DU GÖR SÅ ATT DE AVFÖLJER DIG, INTE SÅ ATT DU AVFÖLJER DEM!" }, - "remove_from_followers_button": { "message": "Ja, ta bort följaren" }, + "remove_from_followers_button": { "message": "Ja, ta bort min följare" }, "able_in_future": { "message": "De kan fortfarande börja följa dig igen ifall du inte blockerar dem." }, "block_sure": { "message": "Vill du verkligen blockera @$SCREEN_NAME$?", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, "add": { "message": "Lägg till" }, @@ -138,7 +138,7 @@ "pinned_tweet": { "message": "Fastnålad Tweet" }, "search": { "message": "Sök" }, "popular": { "message": "Populärt" }, - "live": { "message": "Live" }, + "live": { "message": "Senaste" }, "people": { "message": "Personer" }, "photos": { "message": "Bilder" }, "videos": { "message": "Videor" }, @@ -214,7 +214,7 @@ "see_quotes_big": { "message": "Visa citat" }, "quote_tweets": { "message": "Citat" }, "see_retweets": { "message": "visa retweets" }, - "reply_to": { "message": "Svarar på @$SCREEN_NAME$", "example": "Reply to @CoolPerson2000", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, + "reply_to": { "message": "Svara på @$SCREEN_NAME$", "example": "Reply to @CoolPerson2000", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, "error_loading_tweet": { "message": "Denna Tweet kunde inte laddas" }, "direct_messages": { "message": "Meddelanden" }, "mark_all_read": { "message": "Markera alla som lästa" }, @@ -290,18 +290,18 @@ "people_you_follow": { "message": "Konton du följer" }, "people_you_mention": { "message": "Bara konton du nämner" }, "new_version": { "message": "Du blev nyss uppdaterad" }, - "display_sensitive_content": { "message": "Automatiskt av-censurera innehåll som Twitter anser kan innehålla stötande material." }, + "display_sensitive_content": { "message": "Censurera inte Tweets som Twitter anser kan innehålla stötande innehåll" }, "is_private": { "message": "Is private" }, - "s": { "message": "$NUMBER$s", "description": "Short for 'second', like '1s' means 1 second", "placeholders": { "number": { "content": "1" } } }, - "m": { "message": "$NUMBER$m", "description": "Short for 'minute', like '1m' means 1 minute", "placeholders": { "number": { "content": "1" } } }, - "h": { "message": "$NUMBER$t", "description": "Short for 'hour', like '1h' means 1 hour", "placeholders": { "number": { "content": "1" } } }, - "d": { "message": "$NUMBER$d", "description": "Short for 'day', like '1d' means 1 day", "placeholders": { "number": { "content": "1" } } }, + "s": { "message": "$NUMBER$ s", "description": "Short for 'second', like '1s' means 1 second", "placeholders": { "number": { "content": "1" } } }, + "m": { "message": "$NUMBER$ min", "description": "Short for 'minute', like '1m' means 1 minute", "placeholders": { "number": { "content": "1" } } }, + "h": { "message": "$NUMBER$ tim", "description": "Short for 'hour', like '1h' means 1 hour", "placeholders": { "number": { "content": "1" } } }, + "d": { "message": "$NUMBER$ d", "description": "Short for 'day', like '1d' means 1 day", "placeholders": { "number": { "content": "1" } } }, "follow_requests": { "message": "Följförfrågan" }, "accept": { "message": "Acceptera" }, "decline": { "message": "Neka" }, "mute_convo": { "message": "Stäng av notiser för konversationen" }, "unmute_convo": { "message": "Slå på notiser för konversationen" }, - "no_big_font": { "message": "Inaktivera större typsnitt för Tweets med mindre mängd text" }, + "no_big_font": { "message": "Inaktivera större typsnitt för Tweets med mindre text" }, "emoji": { "message": "Emoji" }, "emoji_btn": { "message": "[emoji]" }, "add_emoji": { "message": "Lägg till emoji" }, @@ -360,16 +360,16 @@ "show_original_images": { "message": "Ladda alltid bilder i högsta kvalitet (kan orsaka fel på äldre datorer)" }, "pitch_black_mode": { "message": "Använd släckt mörkt läge när mörkt läge är igång" }, "hide_retweets": { "message": "Dölj retweets" }, - "see_tweet_views": { "message": "Visa visningar för denna Tweet" }, + "see_tweet_views": { "message": "Visa antal visningar på Tweets" }, "history": { "message": "Historik" }, "autotranslate_tweets": { "message": "Översätt Tweets automatiskt" }, "dont_autotranslate": { "message": "Översätt inte några Tweets" }, - "round_avatars": { "message": "Runda profilbilder" }, + "round_avatars": { "message": "Använd runda profilbilder" }, "search_user_tweets": { "message": "Sök Tweets från detta konto" }, "no_tl_tweets": { "message": "Du följer ingen, så inga Tweets kan hittas! Ändra till en algoritmisk ordning i inställningarna." }, - "replying_to": { "message": "Svarar till", "description": "Used for mention list. Use 'Mentions' if translation sounds bad in your language.", "example": "Replying to: - user1, - user2" }, + "replying_to": { "message": "Svarar på", "description": "Used for mention list. Use 'Mentions' if translation sounds bad in your language.", "example": "Replying to: - user1, - user2" }, "display": { "message": "Visning", "description": "Used for display settings (fonts, colors, style, etc)" }, - "twitter_blue_checkmarks": { "message": "Visa blå verifieringsbockar" }, + "twitter_blue_checkmarks": { "message": "Visa betalda verifieringsbockar" }, "retweet_hotkey_warn": { "message": "Du tryckte nyss på T- tangenten som är en snabbtangent för att retweeta. Ville du verkligen retweeta? Bekräftar du detta så kommer inte denna varning att visas nästa gång. Du kan även stänga av snabbtangenter i inställningarna ifall du vill." }, "reply_btn": { "message": "Svara", "description": "Used for reply button." }, "retweet_btn": { "message": "Retweeta / Citera", "description": "Used for retweet menu button." }, @@ -412,7 +412,7 @@ "logout_desc_2": { "message": "Ifall du inte har några andra konton kommer du bli skickad till inloggningsskärmen. Vill du verkligen fortsätta?" }, "logout_button": { "message": "Ja, logga ut mig" }, "disable_personalized_trends": { "message": "Visa inte anpassade trender" }, - "show_bookmark_count": { "message": "Visa mängden bokmärken på Tweets" }, + "show_bookmark_count": { "message": "Visa antal bokmärken på Tweets" }, "bookmarks_count": { "message": "Bokmärken", "description": "Used for bookmarks count." }, "remove_bookmark": { "message": "Ta bort bokmärke" }, "hide_community_notes": { "message": "Dölj Community Notes" }, @@ -427,14 +427,14 @@ "unmuted_convo": { "message": "Konversationen är inte längre tystad" }, "show_media_count": { "message": "Visa antal medier i profiler" }, "media": { "message": "Medier", "note": "Keep this short" }, - "pin_profile_on_navbar": { "message": "Visa en länk till din profil på navigeringsfältet." }, - "pin_bookmarks_on_navbar": { "message": "Visa en länk till dina bokmärken på navigeringsfältet." }, - "pin_lists_on_navbar": { "message": "Visa en länk till dina listor på navigeringsfältet." }, + "pin_profile_on_navbar": { "message": "Visa din profil på navigeringsfältet" }, + "pin_bookmarks_on_navbar": { "message": "Visa dina bokmärken på navigeringsfältet" }, + "pin_lists_on_navbar": { "message": "Visa dina listor på navigeringsfältet" }, "me": { "message": "Profil", "description": "You should probably use word 'Profile' in your language" }, "tweet_text_font": { "message": "Typsnitt för text i en Tweet" }, - "use_old_default_profile": { "message": "Ändra standard-profilbilden till ett ägg." }, + "use_old_default_profile": { "message": "Använd ägget som standardprofilbild istället för en siluett" }, "colors": { "message": "Färger" }, - "enable_hashflags": { "message": "Visa ikoner bredvid hashtaggar (kan göra webbsidan lite långsammare)" }, + "enable_hashflags": { "message": "Använd hashflags (ikoner bredvid hashtaggar) (detta kan göra webbsidan lite långsammare)" }, "content_warning": { "message": "Innehållsvarning: $WARNINGS$", "placeholders": { "warnings": { "content": "Graphic violence" } } }, "graphic_violence": { "message": "Våld" }, "adult_content": { "message": "Naket innehåll" }, @@ -467,8 +467,8 @@ "chrono_social_help": { "message": "En blandning av både kronologiska Tweets och algoritmiska Tweets. Ibland visas Tweets som någon du följer gillar, eller när några av dina följare följer någon annan." }, "algo_help": { "message": "Den äldre algoritmiska ordningen, utan hastighetsbegränsningar, men som inte har några etiketter för varför Tweeten visas" }, "algov2_help": { "message": "Algoritmisk tidslinje (\"For You\"), visar Tweets som Twitter tror du kommer gilla." }, - "import_settings": { "message": "Inställningar för importering" }, - "export_settings": { "message": "Inställningar för exportering" }, + "import_settings": { "message": "Importera inställningar" }, + "export_settings": { "message": "Exportera inställningar" }, "import_style_settings": { "message": "Importera stil" }, "export_style_settings": { "message": "Exportera stil" }, "reset_settings": { "message": "Återställ inställningar" }, @@ -506,7 +506,7 @@ "enable_iframe_navigation": {"message": "Använd navigering som gör att sidor inte behöver laddas om när de navigerar. Den här funktionen är under utveckling och fungerar kanske inte som den ska."}, "style_your_profile": {"message": "Anpassa din profil här!"}, "modern_ui": { "message": "Använd Twitters utseende från 2018" }, - "show_exact_values": { "message": "Visa exakta antal av gilla-markeringar, retweets och liknande." }, + "show_exact_values": { "message": "Visa exakta antal av gilla-markeringar, retweets och liknande" }, "hide_timeline_types": { "message": "Dölj tidslinje-bytaren på hemsidan." }, "autotranslation": { "message": "Automatisk översättning" }, "autotranslation_mode": { "message": "Typ av automatisk översättning" }, @@ -576,11 +576,58 @@ "finalization": { "message": "Slutför" }, "processing": { "message": "Arbetar" }, "quotes": { "message": "Citat" }, - "share_tweet_in_dms": { "message": "Dela Tweet i Meddelanden" }, + "share_tweet_in_dms": { "message": "Dela Tweet i meddelanden" }, "share_tweet_to": { "message": "Dela Tweet med..." }, "disable_find_hotkey": { "message": "Inaktivera snabbtangent för att hitta (F)" }, "uploaded": { "message": "Uppladdat" }, "hide_unfollowers_page": { "message": "Dölj avföljare" }, "custom_font": { "message": "" }, - "current_font": { "message": "Nuvarande typsnitt: $FONT$", "placeholders": { "font": { "content": "Arial" } } } + "current_font": { "message": "Nuvarande typsnitt: $FONT$", "placeholders": { "font": { "content": "Arial" } } }, + "user_sent_photo": { "message": "$NAME$ skickade ett foto", "placeholders": { "name": { "content": "Display Name" } } }, + "user_sent_video": { "message": "$NAME$ skickade en video", "placeholders": { "name": { "content": "Display Name" } } }, + "user_reacted_message": { "message": "$NAME$ reagreade på ett meddelande", "placeholders": { "name": { "content": "Display Name" } } }, + "you_sent_photo": { "message": "Du skickade ett foto" }, + "you_sent_video": { "message": "Du skickade en video" }, + "you_reacted_message": { "message": "Du reagreade på ett meddelande" }, + "user_added": { "message": "$A1$$USER_WHO_ADDED$$A_END$ lade till $A2$$USER_WHO_JOINED$$A_END$", "description": "This is used when a group admin adds a user to the group chat (display names)", "placeholders": { + "user_who_added": { "content": "Group Admin" }, + "user_who_joined": { "content": "Group Admin's Friend" }, + "a1": { "content": "" }, + "a2": { "content": "" }, + "a_end": { "content": "" } + } }, + "user_left": { "message": "$A_START$$NAME$$A_END$ lämnade", "description": "This is used when a user in a group leaves (display name)", "placeholders": { + "name": { "content": "Group Admin's Friend" }, + "a_start": { "content": "" }, + "a_end": { "content": "" } + } }, + "user_changed_group_photo": { "message": "$A_START$$NAME$$A_END$ ändrade gruppfotot", "description": "This is used when a user in a group changes the group photo (display name)", "placeholders": { + "name": { "content": "Group Admin" }, + "a_start": { "content": "" }, + "a_end": { "content": "" } + } }, + "user_changed_group_name": { "message": "$A_START$$NAME$$A_END$ ändare namn på gruppen till $GROUP_NAME$", "description": "This is used when a user in a group changes the group name (display name)", "placeholders": { + "name": { "content": "Group Admin" }, + "group_name": { "content": "Example Group" }, + "a_start": { "content": "" }, + "a_end": { "content": "" } + } }, + "user_added_you_inbox": { "message": "$NAME$ lade till dig", "description": "This is used when a group admin adds you to the group chat (display names, inbox list only)", "placeholders": { + "name": { "content": "Group Admin" } + } }, + "user_added_you_msg": { + "message": "$A_START$$NAME$$A_END$ lade till dig
Det finns $NUMBER$ andra personer i den här gruppen", + "description": "This is used when a group admin adds you to the group chat (display names, messages only)", + "example": "Group Admin added you
There are 6 other people in this group", + "placeholders": { + "name": { "content": "Group Admin" }, + "number": { "content": "6" }, + "a_start": { "content": "" }, + "a_end": { "content": "" } + } + }, + "accepted_conversation": { "message": "Accepted conversation" }, + "anniversary_tweet": { "message": "Minns du när du gick med på twitter? Det gör jag!\n#MyTwitterAnniversary" }, + "you_shared_tweet": { "message": "Du delade en Tweet" }, + "user_shared_tweet": { "message": "$NAME$ delade en Tweet", "placeholders": { "name": { "content": "Display Name" } } } } \ No newline at end of file From 3a2be280230cbd9249d285b8bd4ebb02dbcd5d41 Mon Sep 17 00:00:00 2001 From: actuallyaridan <96298432+actuallyaridan@users.noreply.github.com> Date: Thu, 11 Jan 2024 18:03:19 +0100 Subject: [PATCH 2/3] Further improved context --- _locales/sv/messages.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index a1ac870b..1065b11e 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -76,7 +76,7 @@ "unsubscribe": { "message": "Sluta följa" }, "subscribe": { "message": "Följ" }, "list_not_found": { "message": "Listan hittades inte." }, - "go_homepage": { "message": "Gå till startsidan." }, + "go_homepage": { "message": "OK" }, "mentions": { "message": "Omnämnanden" }, "tweeted_like": { "message": "tweetade något som du kanske gillar", "example": "CoolPerson2000 ->tweeted something you might like<-" }, "favorites": { "message": "Favoritmarkeringar" }, @@ -87,7 +87,7 @@ "photos_and_videos2": { "message": "Bilder & videor" }, "tweets_and_replies": { "message": "Tweets & svar" }, "you_may_also_like": { "message": "Du kanske gillar...", "description": "Max 26 characters, you can use word 'People' if no space" }, - "user_was_suspended": { "message": "Twitter stänger regelbundet ned konton som bryter mot dess regler. Det här kontot har spärrats." }, + "user_was_suspended": { "message": "Det här kontot har spärrats.
Twitter stänger regelbundet av konton som bryter mot dess regler." }, "user_was_not_found": { "message": "Kontot hittades inte." }, "timeline_not_authorized": { "message": "Du har inte behörighet att visa den här användarens tidslinje." }, "create_btn": { "message": "[skapa]" }, @@ -442,7 +442,7 @@ "uncensor_graphic_violence_automatically": { "message": "Censurera inte bilder och videor med våld" }, "uncensor_adult_content_automatically": { "message": "Censurera inte bilder och videor med naket innehåll" }, "uncensor_sensitive_content_automatically": { "message": "Censurera inte bilder och videor med känsligt innehåll" }, - "replying_to_user": { "message": "Svarar till $SCREEN_NAME$", "description": "Do not add '@'", "placeholders": { "screen_name": { "content": "@CoolPerson2000" } } }, + "replying_to_user": { "message": "Svarar på $SCREEN_NAME$", "description": "Do not add '@'", "placeholders": { "screen_name": { "content": "@CoolPerson2000" } } }, "content_warnings": { "message": "Innehållsvarningar" }, "transparency": { "message": "Genomskinlighet", "note": "Color" }, "reset": { "message": "Återställ" }, @@ -626,8 +626,8 @@ "a_end": { "content": "" } } }, - "accepted_conversation": { "message": "Accepted conversation" }, - "anniversary_tweet": { "message": "Minns du när du gick med på twitter? Det gör jag!\n#MyTwitterAnniversary" }, + "accepted_conversation": { "message": "Meddelandeförfrågan accepterades" }, + "anniversary_tweet": { "message": "Minns du när du gick med på Twitter? Det gör jag!\n#MyTwitterAnniversary" }, "you_shared_tweet": { "message": "Du delade en Tweet" }, "user_shared_tweet": { "message": "$NAME$ delade en Tweet", "placeholders": { "name": { "content": "Display Name" } } } } \ No newline at end of file From 01f0e194c278a5567b14cc1c50a8c30f19cf17d4 Mon Sep 17 00:00:00 2001 From: actuallyaridan <96298432+actuallyaridan@users.noreply.github.com> Date: Thu, 11 Jan 2024 18:28:22 +0100 Subject: [PATCH 3/3] Fixed "post" and "repost" (hopefully) --- _locales/sv/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 1065b11e..a3a2b829 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -527,7 +527,7 @@ "autotranslation_help5": {"message": "\"Översätt när språket inte är i listan\" utan några språk gör så att alla Tweets översätts. Det är bäst att lägga till språken manuellt, då detta kan göra sidan långsam."}, "go_back_to_top": { "message": "Tillbaka till toppen" }, "follow_system_settings_dark_mode": { "message": "Följ systeminställningar för mörkt läge" }, - "replacer_post_to_tweet": { "message": "inlägg->Tweet", "description": "This string will be used to replace word 'post' with 'tweet' in various places. If, in your language, this replacement is very context-based, you can add multiple substitutions and separate them with a | (example: posts->tweet|post->tweet). On the left side of a substitution, use the word for 'post' that Twitter officially uses in your language (open notifications and you'll probably see 'someone liked your post' in your language, find that word (in this case 'post') and place it on the left side, before the '->', and then on the right side insert the translated 'tweet' word, so when replaced it'll look like 'someone liked your tweet'. The substitution terms on the left can also be regex expressions (don't insert them as '/expression/g' though, just 'expression'). For example, 'epic$' will only replace the word 'epic' if it's at the end of a sentence (because the $ character indicates the end of a string in regex). However, if, even after all these substitutions, it sounds bad in your language, you can ignore this." }, + "replacer_post_to_tweet": { "message": "ditt inlägg->din Tweet|dina inlägg->dina Tweets|ett inlägg->en Tweet", "description": "This string will be used to replace word 'post' with 'tweet' in various places. If, in your language, this replacement is very context-based, you can add multiple substitutions and separate them with a | (example: posts->tweet|post->tweet). On the left side of a substitution, use the word for 'post' that Twitter officially uses in your language (open notifications and you'll probably see 'someone liked your post' in your language, find that word (in this case 'post') and place it on the left side, before the '->', and then on the right side insert the translated 'tweet' word, so when replaced it'll look like 'someone liked your tweet'. The substitution terms on the left can also be regex expressions (don't insert them as '/expression/g' though, just 'expression'). For example, 'epic$' will only replace the word 'epic' if it's at the end of a sentence (because the $ character indicates the end of a string in regex). However, if, even after all these substitutions, it sounds bad in your language, you can ignore this." }, "replacer_repost_to_retweet": { "message": "återpublicerade->retweetade|återpublicera->retweeta|återpublicering->retweet", "description": "If 'retweet', either the noun or the verb, is different than 'tweet' in your language, you should change this. If this replacement is very context-based in your language, you can also add multiple substitutions and separate them with a | (example: repost->retweet|ripostato->ritwittato). The substitution terms on the left can also be regex expressions (don't insert them as '/expression/g' though, just 'expression'). For example, 'epic$' will only replace the word 'epic' if it's at the end of a sentence (because the $ character indicates the end of a string in regex)." }, "mute_user": { "message": "Tysta @$SCREEN_NAME$", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } }, "unmute_user": { "message": "Sluta tysta @$SCREEN_NAME$", "placeholders": { "screen_name": { "content": "CoolPerson2000" } } },