diff --git a/.tool-versions b/.tool-versions
new file mode 100644
index 00000000..958fb369
--- /dev/null
+++ b/.tool-versions
@@ -0,0 +1 @@
+nodejs 20.12.2
diff --git a/.woodpecker.yml b/.woodpecker.yml
index 723bfb7c..3de19a01 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -1,10 +1,12 @@
-platform: linux/amd64
-pipeline:
+labels:
+ platform: linux/amd64
+
+steps:
lint:
when:
event:
- pull_request
- image: node:18
+ image: node:20
commands:
- yarn
- yarn lint
@@ -14,11 +16,11 @@ pipeline:
when:
event:
- pull_request
- image: node:18
+ image: node:20
commands:
- apt update
- apt install firefox-esr -y --no-install-recommends
- - yarn
+ - yarn
- yarn unit
build:
@@ -28,7 +30,7 @@ pipeline:
branch:
- develop
- stable
- image: node:18
+ image: node:20
commands:
- yarn
- yarn build
@@ -40,15 +42,15 @@ pipeline:
branch:
- develop
- stable
- image: node:18
+ image: node:20
secrets:
- SCW_ACCESS_KEY
- SCW_SECRET_KEY
- SCW_DEFAULT_ORGANIZATION_ID
commands:
- apt-get update && apt-get install -y rclone wget zip
- - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
- - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
+ - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.30.0/scaleway-cli_2.30.0_linux_amd64
+ - mv scaleway-cli_2.30.0_linux_amd64 scaleway-cli
- chmod +x scaleway-cli
- ./scaleway-cli object config install type=rclone
- zip akkoma-fe.zip -r dist
@@ -70,8 +72,8 @@ pipeline:
- SCW_DEFAULT_ORGANIZATION_ID
commands:
- apt-get update && apt-get install -y rclone wget git zip
- - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.5.1/scaleway-cli_2.5.1_linux_amd64
- - mv scaleway-cli_2.5.1_linux_amd64 scaleway-cli
+ - wget https://github.com/scaleway/scaleway-cli/releases/download/v2.30.0/scaleway-cli_2.30.0_linux_amd64
+ - mv scaleway-cli_2.30.0_linux_amd64 scaleway-cli
- chmod +x scaleway-cli
- ./scaleway-cli object config install type=rclone
- cd docs
@@ -79,4 +81,4 @@ pipeline:
- mkdocs build
- zip -r docs.zip site/*
- cd site
- - rclone copy . scaleway:akkoma-docs/frontend/$CI_COMMIT_BRANCH/
+ - rclone copy . scaleway:akkoma-docs/frontend/$CI_COMMIT_BRANCH/
diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js
index af612ccb..dc816ebb 100644
--- a/src/components/notification/notification.js
+++ b/src/components/notification/notification.js
@@ -6,6 +6,7 @@ import UserCard from '../user_card/user_card.vue'
import Timeago from '../timeago/timeago.vue'
import RichContent from 'src/components/rich_content/rich_content.jsx'
import ConfirmModal from '../confirm_modal/confirm_modal.vue'
+import StillImage from '../still-image/still-image.vue'
import { isStatusNotification } from '../../services/notification_utils/notification_utils.js'
import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'
import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
@@ -50,7 +51,8 @@ const Notification = {
Timeago,
Status,
RichContent,
- ConfirmModal
+ ConfirmModal,
+ StillImage
},
methods: {
toggleUserExpanded () {
diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index 5ea6ab04..2d29d162 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -116,12 +116,13 @@
scope="global"
keypath="notifications.reacted_with"
>
-
+ :title="notification.emoji"
+ :alt="notification.emoji"
+ />
{
localStorage.setItem('drafts', JSON.stringify(draftData));
}
+const interfaceToISOLanguage = (ilang) => {
+ const sep = ilang.indexOf("_");
+ return sep < 0 ?
+ ilang :
+ ilang.substr(0, sep);
+}
+
const PostStatusForm = {
props: [
'statusId',
@@ -129,6 +137,13 @@ const PostStatusForm = {
this.$refs.textarea.focus()
}
},
+ setup() {
+ const {postLanguageOptions} = usePostLanguageOptions()
+
+ return {
+ postLanguageOptions,
+ }
+ },
data () {
const preset = this.$route.query.message
let statusText = preset || ''
@@ -140,11 +155,13 @@ const PostStatusForm = {
const {
postContentType: contentType,
- postLanguage: language,
+ postLanguage: defaultPostLanguage,
sensitiveByDefault,
sensitiveIfSubject,
+ interfaceLanguage,
alwaysShowSubjectInput,
} = this.$store.getters.mergedConfig
+ const postLanguage = defaultPostLanguage || interfaceToISOLanguage(interfaceLanguage)
let statusParams = {
spoilerText: this.subject || '',
@@ -155,8 +172,8 @@ const PostStatusForm = {
poll: {},
mediaDescriptions: {},
visibility: this.suggestedVisibility(),
- contentType,
- language
+ language: postLanguage,
+ contentType
}
if (this.statusId || this.isRedraft) {
@@ -171,8 +188,8 @@ const PostStatusForm = {
poll: this.statusPoll || {},
mediaDescriptions: this.statusMediaDescriptions || {},
visibility: this.statusScope || this.suggestedVisibility(),
- contentType: statusContentType,
- language: statusLanguage
+ language: this.statusLanguage || postLanguage,
+ contentType: statusContentType
}
}
@@ -316,9 +333,6 @@ const PostStatusForm = {
...mapState({
mobileLayout: state => state.interface.mobileLayout
}),
- isoLanguages () {
- return iso6391.getAllCodes();
- }
},
watch: {
'newStatus': {
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index c676dde9..0925e297 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -212,11 +212,11 @@
class="form-control"
>
diff --git a/src/components/settings_modal/tabs/general_tab.js b/src/components/settings_modal/tabs/general_tab.js
index e0b7d303..c07a94a8 100644
--- a/src/components/settings_modal/tabs/general_tab.js
+++ b/src/components/settings_modal/tabs/general_tab.js
@@ -4,6 +4,7 @@ import ScopeSelector from 'src/components/scope_selector/scope_selector.vue'
import IntegerSetting from '../helpers/integer_setting.vue'
import InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'
+import { usePostLanguageOptions } from 'src/lib/post_language'
import SharedComputedObject from '../helpers/shared_computed_object.js'
import ServerSideIndicator from '../helpers/server_side_indicator.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
@@ -18,6 +19,11 @@ library.add(
)
const GeneralTab = {
+ setup() {
+ const {postLanguageOptions} = usePostLanguageOptions()
+
+ return {postLanguageOptions}
+ },
data () {
return {
subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({
@@ -128,6 +134,12 @@ const GeneralTab = {
this.$store.dispatch('setOption', { name: 'translationLanguage', value: val })
}
},
+ postLanguage: {
+ get: function () { return this.$store.getters.mergedConfig.postLanguage },
+ set: function (val) {
+ this.$store.dispatch('setOption', { name: 'postLanguage', value: val })
+ }
+ },
...SharedComputedObject()
},
methods: {
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 4f3eb8a1..46c17f50 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -602,6 +602,15 @@
{{ $t('settings.post_status_content_type') }}
+
+
+ {{ $t('settings.post_language') }}
+
+
{
+ const postLanguageOptions = computed(() => {
+ return iso6391.getAllCodes().map(lang => ({
+ key: lang,
+ value: lang,
+ label: lang,
+ }));
+ })
+
+ return {
+ postLanguageOptions,
+ }
+}
diff --git a/src/modules/config.js b/src/modules/config.js
index b7705636..96adf439 100644
--- a/src/modules/config.js
+++ b/src/modules/config.js
@@ -118,6 +118,7 @@ export const defaultState = {
conversationTreeFadeAncestors: undefined, // instance default
maxDepthInThread: undefined, // instance default
translationLanguage: undefined, // instance default,
+ postLanguage: undefined, // instance default,
supportedTranslationLanguages: {}, // instance default
userProfileDefaultTab: 'statuses',
useBlurhash: true,
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
index e8fe34ca..3acbe208 100644
--- a/src/modules/statuses.js
+++ b/src/modules/statuses.js
@@ -314,7 +314,7 @@ const addNewStatuses = (state, { statuses, showImmediately = false, timeline, us
})
// Keep the visible statuses sorted
- if (timeline && !(timeline === 'bookmarks')) {
+ if (timeline && !(['bookmarks', 'favorites'].includes(timeline))) {
sortTimeline(timelineObject)
}
}
diff --git a/static/emoji.json b/static/emoji.json
index 12b91b3f..ec43b661 100644
--- a/static/emoji.json
+++ b/static/emoji.json
@@ -15,24 +15,36 @@
"admission_tickets": "🎟",
"adult": "🧑",
"aerial_tramway": "🚡",
+ "afghanistan": "🇦🇫",
"airplane": "✈",
"airplane_arriving": "🛬",
"airplane_departure": "🛫",
+ "aland_islands": "🇦🇽",
"alarm_clock": "⏰",
+ "albania": "🇦🇱",
"alembic": "⚗️",
+ "algeria": "🇩🇿",
"alien": "👽",
"ambulance": "🚑",
+ "american_samoa": "🇦🇸",
"amphora": "🏺",
"anchor": "⚓",
+ "andorra": "🇦🇩",
"angel": "👼",
"anger": "💢",
"anger_right": "🗯",
+ "angola": "🇦🇴",
"angry": "😠",
+ "anguilla": "🇦🇮",
"anguished": "😧",
"ant": "🐜",
+ "antarctica": "🇦🇶",
+ "antigua_and_barbuda": "🇦🇬",
"apple": "🍎",
"aquarius": "♒",
+ "argentina": "🇦🇷",
"aries": "♈",
+ "armenia": "🇦🇲",
"arrow_backward": "◀️",
"arrow_double_down": "⏬",
"arrow_double_up": "⏫",
@@ -56,16 +68,21 @@
"art": "🎨",
"articulated_lorry": "🚛",
"artist_palette": "🎨",
+ "aruba": "🇦🇼",
+ "ascension_island": "🇦🇨",
"asterisk": "*⃣",
"astonished": "😲",
"athletic_shoe": "👟",
"atm": "🏧",
"atom": "⚛",
"atom_symbol": "⚛️",
+ "australia": "🇦🇺",
+ "austria": "🇦🇹",
"auto_rickshaw": "🛺",
"automobile": "🚗",
"avocado": "🥑",
"axe": "🪓",
+ "azerbaijan": "🇦🇿",
"b_button_blood_type": "🅱",
"baby": "👶",
"baby_bottle": "🍼",
@@ -78,6 +95,8 @@
"bagel": "🥯",
"baggage_claim": "🛄",
"baguette_bread": "🥖",
+ "bahamas": "🇧🇸",
+ "bahrain": "🇧🇭",
"balance_scale": "⚖️",
"bald": "🦲",
"ballet_shoes": "🩰",
@@ -87,9 +106,11 @@
"bamboo": "🎍",
"banana": "🍌",
"bangbang": "‼️",
+ "bangladesh": "🇧🇩",
"banjo": "🪕",
"bank": "🏦",
"bar_chart": "📊",
+ "barbados": "🇧🇧",
"barber": "💈",
"baseball": "⚾",
"basket": "🧺",
@@ -110,10 +131,16 @@
"beers": "🍻",
"beetle": "🐞",
"beginner": "🔰",
+ "belarus": "🇧🇾",
+ "belgium": "🇧🇪",
+ "belize": "🇧🇿",
"bell": "🔔",
"bellhop_bell": "🛎",
+ "benin": "🇧🇯",
"bento": "🍱",
+ "bermuda": "🇧🇲",
"beverage_box": "🧃",
+ "bhutan": "🇧🇹",
"bicyclist": "🚴",
"bike": "🚲",
"bikini": "👙",
@@ -140,6 +167,7 @@
"blue_square": "🟦",
"blush": "😊",
"boar": "🐗",
+ "bolivia": "🇧🇴",
"bomb": "💣",
"bone": "🦴",
"book": "📖",
@@ -148,7 +176,10 @@
"books": "📚",
"boom": "💥",
"boot": "👢",
+ "bosnia_and_herzegovina": "🇧🇦",
+ "botswana": "🇧🇼",
"bouquet": "💐",
+ "bouvet_island": "🇧🇻",
"bow": "🙇",
"bow_and_arrow": "🏹",
"bowl_with_spoon": "🥣",
@@ -156,6 +187,7 @@
"boxing_glove": "🥊",
"boy": "👦",
"brain": "🧠",
+ "brazil": "🇧🇷",
"bread": "🍞",
"breast_feeding": "🤱",
"breastfeeding": "🤱",
@@ -164,17 +196,23 @@
"bridge_at_night": "🌉",
"briefcase": "💼",
"briefs": "🩲",
+ "british_indian_ocean_territory": "🇮🇴",
+ "british_virgin_islands": "🇻🇬",
"broccoli": "🥦",
"broken_heart": "💔",
"broom": "🧹",
"brown_circle": "🟤",
"brown_heart": "🤎",
+ "brunei": "🇧🇳",
"bug": "🐛",
"building_construction": "🏗",
"bulb": "💡",
+ "bulgaria": "🇧🇬",
"bullettrain_front": "🚅",
"bullettrain_side": "🚄",
+ "burkina_faso": "🇧🇫",
"burrito": "🌯",
+ "burundi": "🇧🇮",
"bus": "🚌",
"busstop": "🚏",
"bust_in_silhouette": "👤",
@@ -187,25 +225,35 @@
"call_me": "🤙",
"call_me_hand": "🤙",
"calling": "📲",
+ "cambodia": "🇰🇭",
"camel": "🐫",
"camera": "📷",
"camera_with_flash": "📸",
+ "cameroon": "🇨🇲",
"camping": "🏕",
+ "canada": "🇨🇦",
+ "canary_islands": "🇮🇨",
"cancer": "♋",
"candle": "🕯",
"candy": "🍬",
"canned_food": "🥫",
"canoe": "🛶",
+ "cape_verde": "🇨🇻",
"capital_abcd": "🔠",
"capricorn": "♑",
"card_file_box": "🗃",
"card_index": "📇",
"card_index_dividers": "🗂",
+ "caribbean_netherlands": "🇧🇶",
"carousel_horse": "🎠",
"carrot": "🥕",
"cat": "🐱",
"cat2": "🐈",
+ "cayman_islands": "🇰🇾",
"cd": "💿",
+ "central_african_republic": "🇨🇫",
+ "ceuta_and_melilla": "🇪🇦",
+ "chad": "🇹🇩",
"chains": "⛓️",
"chair": "🪑",
"champagne": "🍾",
@@ -225,9 +273,12 @@
"chicken": "🐔",
"child": "🧒",
"children_crossing": "🚸",
+ "chile": "🇨🇱",
+ "china": "🇨🇳",
"chipmunk": "🐿",
"chocolate_bar": "🍫",
"chopsticks": "🥢",
+ "christmas_island": "🇨🇽",
"christmas_tree": "🎄",
"church": "⛪",
"cinema": "🎦",
@@ -243,6 +294,7 @@
"classical_building": "🏛",
"clinking_glasses": "🥂",
"clipboard": "📋",
+ "clipperton_island": "🇨🇵",
"clock1": "🕐",
"clock10": "🕙",
"clock1030": "🕥",
@@ -282,11 +334,14 @@
"coat": "🧥",
"cocktail": "🍸",
"coconut": "🥥",
+ "cocos_keeling_islands": "🇨🇨",
"coffee": "☕",
"coffin": "⚰️",
"cold_face": "🥶",
"cold_sweat": "😰",
+ "colombia": "🇨🇴",
"comet": "☄️",
+ "comoros": "🇰🇲",
"compass": "🧭",
"compression": "🗜",
"computer": "💻",
@@ -294,17 +349,22 @@
"confetti_ball": "🎊",
"confounded": "😖",
"confused": "😕",
+ "congo___brazzaville": "🇨🇬",
+ "congo___kinshasa": "🇨🇩",
"congratulations": "㊗",
"construction": "🚧",
"construction_worker": "👷",
"control_knobs": "🎛",
"convenience_store": "🏪",
+ "cook_islands": "🇨🇰",
"cookie": "🍪",
"cooking": "🍳",
"cool": "🆒",
"cop": "👮",
"copyright": "©",
"corn": "🌽",
+ "costa_rica": "🇨🇷",
+ "cote_divoire": "🇨🇮",
"couch_and_lamp": "🛋",
"couple": "👫",
"couple_with_heart": "💑",
@@ -320,6 +380,7 @@
"crescent_moon": "🌙",
"cricket": "🦗",
"cricket_game": "🏏",
+ "croatia": "🇭🇷",
"crocodile": "🐊",
"croissant": "🥐",
"cross": "✝️",
@@ -330,10 +391,12 @@
"cry": "😢",
"crying_cat_face": "😿",
"crystal_ball": "🔮",
+ "cuba": "🇨🇺",
"cucumber": "🥒",
"cup_with_straw": "🥤",
"cupcake": "🧁",
"cupid": "💘",
+ "curacao": "🇨🇼",
"curling_stone": "🥌",
"curly_hair": "🦱",
"curly_loop": "➰",
@@ -343,6 +406,8 @@
"customs": "🛃",
"cut_of_meat": "🥩",
"cyclone": "🌀",
+ "cyprus": "🇨🇾",
+ "czechia": "🇨🇿",
"dagger": "🗡",
"dancer": "💃",
"dancers": "👯",
@@ -355,6 +420,7 @@
"deaf_person": "🧏",
"deciduous_tree": "🌳",
"deer": "🦌",
+ "denmark": "🇩🇰",
"department_store": "🏬",
"derelict_house": "🏚",
"desert": "🏜",
@@ -364,12 +430,14 @@
"diamond_shape_with_a_dot_inside": "💠",
"diamond_suit": "♦️",
"diamonds": "♦",
+ "diego_garcia": "🇩🇬",
"disappointed": "😞",
"disappointed_relieved": "😥",
"diving_mask": "🤿",
"diya_lamp": "🪔",
"dizzy": "💫",
"dizzy_face": "😵",
+ "djibouti": "🇩🇯",
"dna": "🧬",
"do_not_litter": "🚯",
"dog": "🐶",
@@ -377,6 +445,8 @@
"dollar": "💵",
"dolls": "🎎",
"dolphin": "🐬",
+ "dominica": "🇩🇲",
+ "dominican_republic": "🇩🇴",
"door": "🚪",
"double_exclamation_mark": "‼",
"doughnut": "🍩",
@@ -403,23 +473,33 @@
"earth_africa": "🌍",
"earth_americas": "🌎",
"earth_asia": "🌏",
+ "ecuador": "🇪🇨",
"egg": "🥚",
"eggplant": "🍆",
+ "egypt": "🇪🇬",
"eight": "8⃣",
"eight_pointed_black_star": "✴️",
"eight_spoked_asterisk": "✳️",
"eightpointed_star": "✴",
"eightspoked_asterisk": "✳",
"eject_button": "⏏",
+ "el_salvador": "🇸🇻",
"electric_plug": "🔌",
"elephant": "🐘",
"elf": "🧝",
"end": "🔚",
+ "england": "🏴",
"envelope": "✉",
"envelope_with_arrow": "📩",
+ "equatorial_guinea": "🇬🇶",
+ "eritrea": "🇪🇷",
+ "estonia": "🇪🇪",
+ "eswatini": "🇸🇿",
+ "ethiopia": "🇪🇹",
"euro": "💶",
"european_castle": "🏰",
"european_post_office": "🏤",
+ "european_union": "🇪🇺",
"evergreen_tree": "🌲",
"exclamation": "❗",
"exclamation_question_mark": "⁉",
@@ -439,8 +519,10 @@
"factory": "🏭",
"fairy": "🧚",
"falafel": "🧆",
+ "falkland_islands": "🇫🇰",
"fallen_leaf": "🍂",
"family": "👪",
+ "faroe_islands": "🇫🇴",
"fast_forward": "⏩",
"fax": "📠",
"fearful": "😨",
@@ -449,11 +531,13 @@
"ferris_wheel": "🎡",
"ferry": "⛴️",
"field_hockey": "🏑",
+ "fiji": "🇫🇯",
"file_cabinet": "🗄",
"file_folder": "📁",
"film_frames": "🎞",
"film_projector": "📽",
"fingers_crossed": "🤞",
+ "finland": "🇫🇮",
"fire": "🔥",
"fire_engine": "🚒",
"fire_extinguisher": "🧯",
@@ -494,8 +578,12 @@
"four_leaf_clover": "🍀",
"fox": "🦊",
"framed_picture": "🖼",
+ "france": "🇫🇷",
"free": "🆓",
"french_bread": "🥖",
+ "french_guiana": "🇬🇫",
+ "french_polynesia": "🇵🇫",
+ "french_southern_territories": "🇹🇫",
"fried_shrimp": "🍤",
"fries": "🍟",
"frog": "🐸",
@@ -505,13 +593,19 @@
"full_moon": "🌕",
"full_moon_with_face": "🌝",
"funeral_urn": "⚱️",
+ "gabon": "🇬🇦",
+ "gambia": "🇬🇲",
"game_die": "🎲",
"garlic": "🧄",
"gear": "⚙️",
"gem": "💎",
"gemini": "♊",
"genie": "🧞",
+ "georgia": "🇬🇪",
+ "germany": "🇩🇪",
+ "ghana": "🇬🇭",
"ghost": "👻",
+ "gibraltar": "🇬🇮",
"gift": "🎁",
"gift_heart": "💝",
"giraffe": "🦒",
@@ -525,25 +619,37 @@
"goggles": "🥽",
"golf": "⛳",
"golfer": "🏌",
+ "goose": "🪿",
"gorilla": "🦍",
"grapes": "🍇",
+ "greece": "🇬🇷",
"green_apple": "🍏",
"green_book": "📗",
"green_circle": "🟢",
"green_heart": "💚",
"green_salad": "🥗",
"green_square": "🟩",
+ "greenland": "🇬🇱",
+ "grenada": "🇬🇩",
"grey_exclamation": "❕",
"grey_question": "❔",
"grimacing": "😬",
"grin": "😁",
"grinning": "😀",
+ "guadeloupe": "🇬🇵",
+ "guam": "🇬🇺",
"guard": "💂",
"guardsman": "💂",
+ "guatemala": "🇬🇹",
+ "guernsey": "🇬🇬",
"guide_dog": "🦮",
+ "guinea": "🇬🇳",
+ "guinea_bissau": "🇬🇼",
"guitar": "🎸",
"gun": "🔫",
+ "guyana": "🇬🇾",
"haircut": "💇",
+ "haiti": "🇭🇹",
"hamburger": "🍔",
"hammer": "🔨",
"hammer_and_pick": "⚒️",
@@ -558,11 +664,13 @@
"head_bandage": "🤕",
"headphones": "🎧",
"hear_no_evil": "🙉",
+ "heard_and_mcdonald_islands": "🇭🇲",
"heart": "❤️",
"heart_decoration": "💟",
"heart_exclamation": "❣",
"heart_eyes": "😍",
"heart_eyes_cat": "😻",
+ "heart_on_fire": "❤️🔥",
"heart_suit": "♥️",
"heartbeat": "💓",
"heartpulse": "💗",
@@ -584,7 +692,9 @@
"hippopotamus": "🦛",
"hockey": "🏒",
"hole": "🕳",
+ "honduras": "🇭🇳",
"honey_pot": "🍯",
+ "hong_kong_sar_china": "🇭🇰",
"horse": "🐴",
"horse_racing": "🏇",
"hospital": "🏥",
@@ -601,18 +711,22 @@
"houses": "🏘",
"hugging": "🤗",
"hundred_points": "💯",
+ "hungary": "🇭🇺",
"hushed": "😯",
"ice": "🧊",
"ice_cream": "🍨",
"ice_hockey": "🏒",
"ice_skate": "⛸️",
"icecream": "🍦",
+ "iceland": "🇮🇸",
"id": "🆔",
"ideograph_advantage": "🉐",
"imp": "👿",
"inbox_tray": "📥",
"incoming_envelope": "📨",
"index_pointing_up": "☝",
+ "india": "🇮🇳",
+ "indonesia": "🇮🇩",
"infinity": "♾",
"information": "ℹ️",
"information_desk_person": "💁",
@@ -621,9 +735,17 @@
"input_numbers": "🔢",
"interrobang": "⁉️",
"iphone": "📱",
+ "iran": "🇮🇷",
+ "iraq": "🇮🇶",
+ "ireland": "🇮🇪",
+ "isle_of_man": "🇮🇲",
+ "israel": "🇮🇱",
+ "italy": "🇮🇹",
"izakaya_lantern": "🏮",
"jack_o_lantern": "🎃",
- "japan": "🗾",
+ "jamaica": "🇯🇲",
+ "japan": "🇯🇵",
+ "japan_silhouette": "🗾",
"japanese_castle": "🏯",
"japanese_congratulations_button": "㊗️",
"japanese_free_of_charge_button": "🈚",
@@ -633,16 +755,21 @@
"japanese_secret_button": "㊙️",
"japanese_service_charge_button": "🈂",
"jeans": "👖",
+ "jersey": "🇯🇪",
+ "jordan": "🇯🇴",
"joy": "😂",
"joy_cat": "😹",
"joystick": "🕹",
"kaaba": "🕋",
"kangaroo": "🦘",
+ "kazakhstan": "🇰🇿",
+ "kenya": "🇰🇪",
"key": "🔑",
"keyboard": "⌨️",
"keycap_ten": "🔟",
"kick_scooter": "🛴",
"kimono": "👘",
+ "kiribati": "🇰🇮",
"kiss": "💋",
"kissing": "😗",
"kissing_cat": "😽",
@@ -656,18 +783,24 @@
"knife": "🔪",
"koala": "🐨",
"koko": "🈁",
+ "kosovo": "🇽🇰",
+ "kuwait": "🇰🇼",
+ "kyrgyzstan": "🇰🇬",
"lab_coat": "🥼",
"label": "🏷",
"lacrosse": "🥍",
+ "laos": "🇱🇦",
"large_blue_diamond": "🔷",
"large_orange_diamond": "🔶",
"last_quarter_moon": "🌗",
"last_quarter_moon_with_face": "🌜",
"last_track_button": "⏮️",
"latin_cross": "✝",
+ "latvia": "🇱🇻",
"laughing": "😆",
"leafy_green": "🥬",
"leaves": "🍃",
+ "lebanon": "🇱🇧",
"ledger": "📒",
"left_arrow": "⬅",
"left_arrow_curving_right": "↪",
@@ -681,8 +814,12 @@
"lemon": "🍋",
"leo": "♌",
"leopard": "🐆",
+ "lesotho": "🇱🇸",
"level_slider": "🎚",
+ "liberia": "🇱🇷",
"libra": "♎",
+ "libya": "🇱🇾",
+ "liechtenstein": "🇱🇮",
"light_rail": "🚈",
"light_skin_tone": "🏻",
"link": "🔗",
@@ -690,6 +827,7 @@
"lion_face": "🦁",
"lips": "👄",
"lipstick": "💄",
+ "lithuania": "🇱🇹",
"lizard": "🦎",
"llama": "🦙",
"lobster": "🦞",
@@ -706,8 +844,11 @@
"loveyou_gesture": "🤟",
"low_brightness": "🔅",
"luggage": "🧳",
+ "luxembourg": "🇱🇺",
"lying_face": "🤥",
"m": "Ⓜ️",
+ "macao_sar_china": "🇲🇴",
+ "madagascar": "🇲🇬",
"mag": "🔍",
"mag_right": "🔎",
"mage": "🧙",
@@ -717,7 +858,12 @@
"mailbox_closed": "📪",
"mailbox_with_mail": "📬",
"mailbox_with_no_mail": "📭",
+ "malawi": "🇲🇼",
+ "malaysia": "🇲🇾",
+ "maldives": "🇲🇻",
"male_sign": "♂",
+ "mali": "🇲🇱",
+ "malta": "🇲🇹",
"man": "👨",
"man_dancing": "🕺",
"man_in_suit": "🕴",
@@ -730,10 +876,15 @@
"mantelpiece_clock": "🕰",
"manual_wheelchair": "🦽",
"maple_leaf": "🍁",
+ "marshall_islands": "🇲🇭",
"martial_arts_uniform": "🥋",
+ "martinique": "🇲🇶",
"mask": "😷",
"massage": "💆",
"mate": "🧉",
+ "mauritania": "🇲🇷",
+ "mauritius": "🇲🇺",
+ "mayotte": "🇾🇹",
"meat_on_bone": "🍖",
"mechanical_arm": "🦾",
"mechanical_leg": "🦿",
@@ -745,12 +896,15 @@
"mega": "📣",
"melon": "🍈",
"memo": "📝",
+ "mending_heart": "❤️🩹",
"menorah": "🕎",
"mens": "🚹",
"merperson": "🧜",
"metal": "🤘",
"metro": "🚇",
+ "mexico": "🇲🇽",
"microbe": "🦠",
+ "micronesia": "🇫🇲",
"microphone": "🎤",
"microscope": "🔬",
"middle_finger": "🖕",
@@ -760,14 +914,20 @@
"minibus": "🚐",
"minidisc": "💽",
"mobile_phone_off": "📴",
+ "moldova": "🇲🇩",
+ "monaco": "🇲🇨",
"money_mouth": "🤑",
"money_with_wings": "💸",
"moneybag": "💰",
"moneymouth_face": "🤑",
+ "mongolia": "🇲🇳",
"monkey": "🐒",
"monkey_face": "🐵",
"monorail": "🚝",
+ "montenegro": "🇲🇪",
+ "montserrat": "🇲🇸",
"moon_cake": "🥮",
+ "morocco": "🇲🇦",
"mortar_board": "🎓",
"mosque": "🕌",
"mosquito": "🦟",
@@ -785,6 +945,7 @@
"mouse2": "🐁",
"movie_camera": "🎥",
"moyai": "🗿",
+ "mozambique": "🇲🇿",
"mrs_claus": "🤶",
"multiplication_sign": "✖",
"muscle": "💪",
@@ -793,23 +954,34 @@
"musical_note": "🎵",
"musical_score": "🎼",
"mute": "🔇",
+ "myanmar_burma": "🇲🇲",
"nail_care": "💅",
"name_badge": "📛",
+ "namibia": "🇳🇦",
"national_park": "🏞",
+ "nauru": "🇳🇷",
"nauseated_face": "🤢",
"nazar_amulet": "🧿",
"necktie": "👔",
"negative_squared_cross_mark": "❎",
+ "nepal": "🇳🇵",
"nerd": "🤓",
+ "netherlands": "🇳🇱",
"neutral_face": "😐",
"new": "🆕",
+ "new_caledonia": "🇳🇨",
"new_moon": "🌑",
"new_moon_with_face": "🌚",
+ "new_zealand": "🇳🇿",
"newspaper": "📰",
"next_track_button": "⏭️",
"ng": "🆖",
+ "nicaragua": "🇳🇮",
+ "niger": "🇳🇪",
+ "nigeria": "🇳🇬",
"night_with_stars": "🌃",
"nine": "9⃣",
+ "niue": "🇳🇺",
"no_bell": "🔕",
"no_bicycles": "🚳",
"no_entry": "⛔",
@@ -820,6 +992,11 @@
"no_pedestrians": "🚷",
"no_smoking": "🚭",
"non-potable_water": "🚱",
+ "norfolk_island": "🇳🇫",
+ "north_korea": "🇰🇵",
+ "north_macedonia": "🇲🇰",
+ "northern_mariana_islands": "🇲🇵",
+ "norway": "🇳🇴",
"nose": "👃",
"notebook": "📓",
"notebook_with_decorative_cover": "📔",
@@ -842,6 +1019,7 @@
"older_person": "🧓",
"older_woman": "👵",
"om_symbol": "🕉",
+ "oman": "🇴🇲",
"on": "🔛",
"oncoming_automobile": "🚘",
"oncoming_bus": "🚍",
@@ -872,12 +1050,18 @@
"page_with_curl": "📃",
"pager": "📟",
"paintbrush": "🖌",
+ "pakistan": "🇵🇰",
+ "palau": "🇵🇼",
+ "palestinian_territories": "🇵🇸",
"palm_tree": "🌴",
"palms_up_together": "🤲",
+ "panama": "🇵🇦",
"pancakes": "🥞",
"panda_face": "🐼",
"paperclip": "📎",
+ "papua_new_guinea": "🇵🇬",
"parachute": "🪂",
+ "paraguay": "🇵🇾",
"parrot": "🦜",
"part_alternation_mark": "〽",
"partly_sunny": "⛅",
@@ -934,7 +1118,9 @@
"person_wearing_turban": "👳",
"person_with_blond_hair": "👱",
"person_with_pouting_face": "🙎",
+ "peru": "🇵🇪",
"petri_dish": "🧫",
+ "philippines": "🇵🇭",
"pick": "⛏️",
"pie": "🥧",
"pig": "🐷",
@@ -944,7 +1130,9 @@
"pinching_hand": "🤏",
"pineapple": "🍍",
"ping_pong": "🏓",
+ "pirate_flag": "🏴☠️",
"pisces": "♓",
+ "pitcairn_islands": "🇵🇳",
"pizza": "🍕",
"place_of_worship": "🛐",
"play_button": "▶",
@@ -956,11 +1144,13 @@
"point_right": "👉",
"point_up": "☝️",
"point_up_2": "👆",
+ "poland": "🇵🇱",
"police_car": "🚓",
"police_officer": "👮",
"poodle": "🐩",
"poop": "💩",
"popcorn": "🍿",
+ "portugal": "🇵🇹",
"post_office": "🏣",
"postal_horn": "📯",
"postbox": "📮",
@@ -978,6 +1168,7 @@
"princess": "👸",
"printer": "🖨",
"probing_cane": "🦯",
+ "puerto_rico": "🇵🇷",
"punch": "👊",
"purple_circle": "🟣",
"purple_heart": "💜",
@@ -985,6 +1176,7 @@
"pushpin": "📌",
"put_litter_in_its_place": "🚮",
"puzzle_piece": "🧩",
+ "qatar": "🇶🇦",
"question": "❓",
"rabbit": "🐰",
"rabbit2": "🐇",
@@ -998,6 +1190,7 @@
"railway_car": "🚃",
"railway_track": "🛤",
"rainbow": "🌈",
+ "rainbow_flag": "🏳️🌈",
"raised_back_of_hand": "🤚",
"raised_hand": "✋",
"raised_hands": "🙌",
@@ -1049,6 +1242,7 @@
"repeat_one": "🔂",
"rescue_worker’s_helmet": "⛑️",
"restroom": "🚻",
+ "reunion": "🇷🇪",
"reverse_button": "◀",
"revolving_hearts": "💞",
"rewind": "⏪",
@@ -1075,6 +1269,7 @@
"roller_coaster": "🎢",
"rolling_eyes": "🙄",
"rolling_on_the_floor_laughing": "🤣",
+ "romania": "🇷🇴",
"rooster": "🐓",
"rose": "🌹",
"rosette": "🏵",
@@ -1084,6 +1279,8 @@
"rugby_football": "🏉",
"runner": "🏃",
"running_shirt_with_sash": "🎽",
+ "russia": "🇷🇺",
+ "rwanda": "🇷🇼",
"safety_pin": "🧷",
"safety_vest": "🦺",
"sagittarius": "♐",
@@ -1091,11 +1288,15 @@
"sake": "🍶",
"salad": "🥗",
"salt": "🧂",
+ "samoa": "🇼🇸",
+ "san_marino": "🇸🇲",
"sandal": "👡",
"sandwich": "🥪",
"santa": "🎅",
+ "sao_tome_and_principe": "🇸🇹",
"sari": "🥻",
"satellite": "📡",
+ "saudi_arabia": "🇸🇦",
"sauropod": "🦕",
"saxophone": "🎷",
"scales": "⚖",
@@ -1106,6 +1307,7 @@
"scooter": "🛴",
"scorpion": "🦂",
"scorpius": "♏",
+ "scotland": "🏴",
"scream": "😱",
"scream_cat": "🙀",
"scroll": "📜",
@@ -1115,7 +1317,10 @@
"see_no_evil": "🙈",
"seedling": "🌱",
"selfie": "🤳",
+ "senegal": "🇸🇳",
+ "serbia": "🇷🇸",
"seven": "7⃣",
+ "seychelles": "🇸🇨",
"shallow_pan_of_food": "🥘",
"shamrock": "☘️",
"shark": "🦈",
@@ -1132,8 +1337,11 @@
"shower": "🚿",
"shrimp": "🦐",
"shushing_face": "🤫",
+ "sierra_leone": "🇸🇱",
"sign_of_the_horns": "🤘",
"signal_strength": "📶",
+ "singapore": "🇸🇬",
+ "sint_maarten": "🇸🇽",
"six": "6⃣",
"six_pointed_star": "🔯",
"skateboard": "🛹",
@@ -1152,6 +1360,8 @@
"slightly_frowning_face": "🙁",
"slot_machine": "🎰",
"sloth": "🦥",
+ "slovakia": "🇸🇰",
+ "slovenia": "🇸🇮",
"small_airplane": "🛩",
"small_blue_diamond": "🔹",
"small_orange_diamond": "🔸",
@@ -1180,13 +1390,20 @@
"soccer": "⚽",
"socks": "🧦",
"softball": "🥎",
+ "solomon_islands": "🇸🇧",
+ "somalia": "🇸🇴",
"soon": "🔜",
"sos": "🆘",
"sound": "🔉",
+ "south_africa": "🇿🇦",
+ "south_georgia_and_south_sandwich_islands": "🇬🇸",
+ "south_korea": "🇰🇷",
+ "south_sudan": "🇸🇸",
"space_invader": "👾",
"spade_suit": "♠️",
"spades": "♠",
"spaghetti": "🍝",
+ "spain": "🇪🇸",
"sparkle": "❇",
"sparkler": "🎇",
"sparkles": "✨",
@@ -1204,6 +1421,14 @@
"sponge": "🧽",
"spoon": "🥄",
"squid": "🦑",
+ "sri_lanka": "🇱🇰",
+ "st_barthelemy": "🇧🇱",
+ "st_helena": "🇸🇭",
+ "st_kitts_and_nevis": "🇰🇳",
+ "st_lucia": "🇱🇨",
+ "st_martin": "🇲🇫",
+ "st_pierre_and_miquelon": "🇵🇲",
+ "st_vincent_and_grenadines": "🇻🇨",
"stadium": "🏟",
"star": "⭐",
"star2": "🌟",
@@ -1226,6 +1451,7 @@
"stuck_out_tongue_winking_eye": "😜",
"studio_microphone": "🎙",
"stuffed_flatbread": "🥙",
+ "sudan": "🇸🇩",
"sun": "☀",
"sun_behind_large_cloud": "🌥",
"sun_behind_rain_cloud": "🌦",
@@ -1239,23 +1465,31 @@
"superhero": "🦸",
"supervillain": "🦹",
"surfer": "🏄",
+ "suriname": "🇸🇷",
"sushi": "🍣",
"suspension_railway": "🚟",
+ "svalbard_and_jan_mayen": "🇸🇯",
"swan": "🦢",
"sweat": "😓",
"sweat_drops": "💦",
"sweat_smile": "😅",
+ "sweden": "🇸🇪",
"sweet_potato": "🍠",
"swimmer": "🏊",
+ "switzerland": "🇨🇭",
"symbols": "🔣",
"synagogue": "🕍",
+ "syria": "🇸🇾",
"syringe": "💉",
"t_rex": "🦖",
"taco": "🌮",
"tada": "🎉",
+ "taiwan": "🇹🇼",
+ "tajikistan": "🇹🇯",
"takeout_box": "🥡",
"tanabata_tree": "🎋",
"tangerine": "🍊",
+ "tanzania": "🇹🇿",
"taurus": "♉",
"taxi": "🚕",
"tea": "🍵",
@@ -1266,6 +1500,7 @@
"tennis": "🎾",
"tent": "⛺",
"test_tube": "🧪",
+ "thailand": "🇹🇭",
"thermometer": "🌡",
"thermometer_face": "🤒",
"thinking": "🤔",
@@ -1279,9 +1514,12 @@
"tiger": "🐯",
"tiger2": "🐅",
"timer_clock": "⏲️",
+ "timor_leste": "🇹🇱",
"tired_face": "😫",
"tm": "™",
+ "togo": "🇹🇬",
"toilet": "🚽",
+ "tokelau": "🇹🇰",
"tokyo_tower": "🗼",
"tomato": "🍅",
"tone1": "🏻",
@@ -1289,6 +1527,7 @@
"tone3": "🏽",
"tone4": "🏾",
"tone5": "🏿",
+ "tonga": "🇹🇴",
"tongue": "👅",
"toolbox": "🧰",
"tooth": "🦷",
@@ -1304,10 +1543,13 @@
"train": "🚋",
"train2": "🚆",
"tram": "🚊",
+ "transgender_flag": "🏳️⚧️",
"trex": "🦖",
"triangular_flag_on_post": "🚩",
"triangular_ruler": "📐",
"trident": "🔱",
+ "trinidad_and_tobago": "🇹🇹",
+ "tristan_da_cunha": "🇹🇦",
"triumph": "😤",
"trolleybus": "🚎",
"trophy": "🏆",
@@ -1317,8 +1559,13 @@
"trumpet": "🎺",
"tulip": "🌷",
"tumbler_glass": "🥃",
+ "tunisia": "🇹🇳",
"turkey": "🦃",
+ "turkiye": "🇹🇷",
+ "turkmenistan": "🇹🇲",
+ "turks_and_caicos_islands": "🇹🇨",
"turtle": "🐢",
+ "tuvalu": "🇹🇻",
"tv": "📺",
"twisted_rightwards_arrows": "🔀",
"two": "2⃣",
@@ -1336,11 +1583,17 @@
"u7533": "🈸",
"u7981": "🈲",
"u7a7a": "🈳",
+ "uganda": "🇺🇬",
+ "ukraine": "🇺🇦",
"umbrella": "☔",
"umbrella_on_ground": "⛱️",
"unamused": "😒",
"underage": "🔞",
"unicorn": "🦄",
+ "united_arab_emirates": "🇦🇪",
+ "united_kingdom": "🇬🇧",
+ "united_nations": "🇺🇳",
+ "united_states": "🇺🇸",
"unlock": "🔓",
"up": "🆙",
"up_arrow": "⬆",
@@ -1348,14 +1601,22 @@
"upleft_arrow": "↖️",
"upright_arrow": "↗",
"upside_down": "🙃",
+ "uruguay": "🇺🇾",
+ "us_outlying_islands": "🇺🇲",
+ "us_virgin_islands": "🇻🇮",
+ "uzbekistan": "🇺🇿",
"v": "✌️",
"vampire": "🧛",
+ "vanuatu": "🇻🇺",
+ "vatican_city": "🇻🇦",
+ "venezuela": "🇻🇪",
"vertical_traffic_light": "🚦",
"vhs": "📼",
"vibration_mode": "📳",
"victory_hand": "✌",
"video_camera": "📹",
"video_game": "🎮",
+ "vietnam": "🇻🇳",
"violin": "🎻",
"virgo": "♍",
"volcano": "🌋",
@@ -1364,7 +1625,9 @@
"vulcan": "🖖",
"vulcan_salute": "🖖",
"waffle": "🧇",
+ "wales": "🏴",
"walking": "🚶",
+ "wallis_and_futuna": "🇼🇫",
"waning_crescent_moon": "🌘",
"waning_gibbous_moon": "🌖",
"warning": "⚠",
@@ -1380,6 +1643,7 @@
"weary": "😩",
"wedding": "💒",
"weightlifter": "🏋",
+ "western_sahara": "🇪🇭",
"whale": "🐳",
"whale2": "🐋",
"wheel_of_dharma": "☸️",
@@ -1417,15 +1681,18 @@
"yellow_circle": "🟡",
"yellow_heart": "💛",
"yellow_square": "🟨",
+ "yemen": "🇾🇪",
"yen": "💴",
"yin_yang": "☯️",
"yoyo": "🪀",
"yum": "😋",
+ "zambia": "🇿🇲",
"zany_face": "🤪",
"zap": "⚡",
"zebra": "🦓",
"zero": "0⃣",
+ "zimbabwe": "🇿🇼",
"zipper_mouth": "🤐",
"zombie": "🧟",
"zzz": "💤"
-}
\ No newline at end of file
+}