From 4178e95c5eaf93c476672faded8e8dce2107b6bc Mon Sep 17 00:00:00 2001
From: Sheldan <5037282+Sheldan@users.noreply.github.com>
Date: Mon, 29 Mar 2021 01:30:30 +0200
Subject: [PATCH] [AB-82] adding webservices module with youtube search and
urban dictionary
---
abstracto-modules/pom.xml | 1 +
abstracto-modules/webservices/pom.xml | 38 ++++++++++++++++++
.../src/main/assembly/assembly.xml | 15 +++++++
...rban_define_response_model_embed_en_US.ftl | 31 ++++++++++++++
...urban_definition_found_exception_en_US.ftl | 1 +
...be_search_command_response_embed_en_US.ftl | 40 +++++++++++++++++++
...arch_command_response_link_embed_en_US.ftl | 3 ++
...ebservices_youtube_api_exception_en_US.ftl | 2 +
...outube_video_not_found_exception_en_US.ftl | 1 +
translations/pom.xml | 1 +
translations/webservices/pom.xml | 38 ++++++++++++++++++
.../src/main/assembly/assembly.xml | 15 +++++++
.../help/urbanDefine_description_en_US.ftl | 1 +
.../help/urbanDefine_long_help_en_US.ftl | 2 +
...rbanDefine_parameter_searchQuery_en_US.ftl | 1 +
...esponse_embed_field_title_author_en_US.ftl | 1 +
...onse_embed_field_title_downvotes_en_US.ftl | 1 +
...sponse_embed_field_title_example_en_US.ftl | 1 +
..._response_embed_field_title_link_en_US.ftl | 1 +
...ponse_embed_field_title_up_votes_en_US.ftl | 1 +
..._response_embed_field_value_jump_en_US.ftl | 1 +
.../urban/config/feature_urban_en_US.ftl | 1 +
..._definition_found_exception_text_en_US.ftl | 1 +
.../help/youtubeSearch_description_en_US.ftl | 1 +
.../help/youtubeSearch_long_help_en_US.ftl | 2 +
...tubeSearch_parameter_searchQuery_en_US.ftl | 1 +
..._embed_field_title_comment_count_en_US.ftl | 1 +
...ponse_embed_field_title_dislikes_en_US.ftl | 1 +
...response_embed_field_title_likes_en_US.ftl | 1 +
...response_embed_field_title_views_en_US.ftl | 1 +
...ch_command_response_embed_footer_en_US.ftl | 1 +
.../youtube/config/feature_youtube_en_US.ftl | 1 +
...vices_youtube_api_exception_text_en_US.ftl | 1 +
...e_video_not_found_exception_text_en_US.ftl | 1 +
34 files changed, 210 insertions(+)
create mode 100644 abstracto-modules/webservices/pom.xml
create mode 100644 abstracto-modules/webservices/src/main/assembly/assembly.xml
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_define_response_model_embed_en_US.ftl
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_en_US.ftl
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_en_US.ftl
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_link_embed_en_US.ftl
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_api_exception_en_US.ftl
create mode 100644 abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_video_not_found_exception_en_US.ftl
create mode 100644 translations/webservices/pom.xml
create mode 100644 translations/webservices/src/main/assembly/assembly.xml
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_description_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_long_help_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_parameter_searchQuery_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_author_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_downvotes_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_example_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_link_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_up_votes_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_value_jump_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/config/feature_urban_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_text_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_description_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_long_help_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_parameter_searchQuery_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_comment_count_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_dislikes_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_likes_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_views_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_footer_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/config/feature_youtube_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_api_exception_text_en_US.ftl
create mode 100644 translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_video_not_found_exception_text_en_US.ftl
diff --git a/abstracto-modules/pom.xml b/abstracto-modules/pom.xml
index 6b182cc4..0e4ff002 100644
--- a/abstracto-modules/pom.xml
+++ b/abstracto-modules/pom.xml
@@ -27,6 +27,7 @@
repost-detection
starboard
suggestion
+ webservices
\ No newline at end of file
diff --git a/abstracto-modules/webservices/pom.xml b/abstracto-modules/webservices/pom.xml
new file mode 100644
index 00000000..c529812b
--- /dev/null
+++ b/abstracto-modules/webservices/pom.xml
@@ -0,0 +1,38 @@
+
+
+
+ abstracto-modules
+ dev.sheldan.abstracto-templates.templates
+ 1.2.2-SNAPSHOT
+
+ 4.0.0
+
+ webservices
+ pom
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+ webservices-templates-${project.version}
+ false
+
+ src/main/assembly/assembly.xml
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/assembly/assembly.xml b/abstracto-modules/webservices/src/main/assembly/assembly.xml
new file mode 100644
index 00000000..aca1e510
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/assembly/assembly.xml
@@ -0,0 +1,15 @@
+
+ zip
+ false
+
+ zip
+
+
+
+ .
+ ${project.basedir}/src/main/resources
+
+
+
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_define_response_model_embed_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_define_response_model_embed_en_US.ftl
new file mode 100644
index 00000000..09098f27
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_define_response_model_embed_en_US.ftl
@@ -0,0 +1,31 @@
+{
+ <#include "abstracto_color">,
+ "description": "${definition.definition?json_string}",
+ "fields": [
+ {
+ "name": "<@safe_include "urban_search_command_response_embed_field_title_author"/>",
+ "value": "${definition.author?json_string}",
+ "inline": "true"
+ },
+ {
+ "name": "<@safe_include "urban_search_command_response_embed_field_title_up_votes"/>",
+ "value": "${definition.upvoteCount}",
+ "inline": "true"
+ },
+ {
+ "name": "<@safe_include "urban_search_command_response_embed_field_title_downvotes"/>",
+ "value": "${definition.downVoteCount}",
+ "inline": "true"
+ },
+ {
+ "name": "<@safe_include "urban_search_command_response_embed_field_title_link"/>",
+ "value": "[<@safe_include "urban_search_command_response_embed_field_value_jump"/>](${definition.url?json_string})",
+ "inline": "true"
+ },
+ {
+ "name": "<@safe_include "urban_search_command_response_embed_field_title_example"/>",
+ "value": "${definition.example?json_string}"
+ }
+ ],
+ "timeStamp": "${definition.creationDate}"
+}
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_en_US.ftl
new file mode 100644
index 00000000..7b81618d
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_en_US.ftl
@@ -0,0 +1 @@
+<#include "no_urban_definition_found_exception_text">
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_en_US.ftl
new file mode 100644
index 00000000..50a73c69
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_en_US.ftl
@@ -0,0 +1,40 @@
+{
+ <#include "abstracto_color">,
+ "fields": [
+ <#if video.views??>
+ {
+ "name": "<@safe_include "youtube_search_command_response_embed_field_title_views"/>",
+ "value": "${video.views}",
+ "inline": "true"
+ }
+ <#if video.likes?? || video.dislikes?? || video.commentCount??>,#if>
+ #if>
+ <#if video.likes??>
+ {
+ "name": "<@safe_include "youtube_search_command_response_embed_field_title_likes"/>",
+ "value": "${video.likes}",
+ "inline": "true"
+ }
+ <#if video.dislikes?? || video.commentCount??>,#if>
+ #if>
+ <#if video.dislikes??>
+ {
+ "name": "<@safe_include "youtube_search_command_response_embed_field_title_dislikes"/>",
+ "value": "${video.dislikes}",
+ "inline": "true"
+ }
+ <#if video.commentCount??>,#if>
+ #if>
+ <#if video.commentCount??>
+ {
+ "name": "<@safe_include "youtube_search_command_response_embed_field_title_comment_count"/>",
+ "value": "${video.commentCount}",
+ "inline": "true"
+ }
+ #if>
+ ],
+ "footer": {
+ "text": "<@safe_include "youtube_search_command_response_embed_footer"/>"
+ },
+ "timeStamp": "${video.publishedAt}"
+}
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_link_embed_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_link_embed_en_US.ftl
new file mode 100644
index 00000000..5bd8d213
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_link_embed_en_US.ftl
@@ -0,0 +1,3 @@
+{
+"additionalMessage": "${video.url}"
+}
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_api_exception_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_api_exception_en_US.ftl
new file mode 100644
index 00000000..43ceb1b8
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_api_exception_en_US.ftl
@@ -0,0 +1,2 @@
+<#assign exception=model.exception>
+<#include "webservices_youtube_api_exception_text">
\ No newline at end of file
diff --git a/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_video_not_found_exception_en_US.ftl b/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_video_not_found_exception_en_US.ftl
new file mode 100644
index 00000000..1ca8de2b
--- /dev/null
+++ b/abstracto-modules/webservices/src/main/resources/en_US/youtube/exception/webservices_youtube_video_not_found_exception_en_US.ftl
@@ -0,0 +1 @@
+<#include "webservices_youtube_video_not_found_exception_text">
\ No newline at end of file
diff --git a/translations/pom.xml b/translations/pom.xml
index 0d526686..34b16e4f 100644
--- a/translations/pom.xml
+++ b/translations/pom.xml
@@ -27,6 +27,7 @@
starboard
suggestion
repost-detection
+ webservices
\ No newline at end of file
diff --git a/translations/webservices/pom.xml b/translations/webservices/pom.xml
new file mode 100644
index 00000000..2c4465ad
--- /dev/null
+++ b/translations/webservices/pom.xml
@@ -0,0 +1,38 @@
+
+
+
+ dev.sheldan.abstracto-templates.translations
+ translations
+ 1.2.2-SNAPSHOT
+
+ 4.0.0
+ pom
+
+ webservices
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+ webservices-translations-${project.version}
+ false
+
+ src/main/assembly/assembly.xml
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/translations/webservices/src/main/assembly/assembly.xml b/translations/webservices/src/main/assembly/assembly.xml
new file mode 100644
index 00000000..aca1e510
--- /dev/null
+++ b/translations/webservices/src/main/assembly/assembly.xml
@@ -0,0 +1,15 @@
+
+ zip
+ false
+
+ zip
+
+
+
+ .
+ ${project.basedir}/src/main/resources
+
+
+
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_description_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_description_en_US.ftl
new file mode 100644
index 00000000..827077d7
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_description_en_US.ftl
@@ -0,0 +1 @@
+Searches for definitions on [urban dicationary](https://www.urbandictionary.com/)
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_long_help_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_long_help_en_US.ftl
new file mode 100644
index 00000000..14944f15
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_long_help_en_US.ftl
@@ -0,0 +1,2 @@
+This command can be used to search for definition on urban dictionary.
+The provided information will also include examples and some meta information, like upvotes, downvotes and creation date.
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_parameter_searchQuery_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_parameter_searchQuery_en_US.ftl
new file mode 100644
index 00000000..e9c5b2cb
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/help/urbanDefine_parameter_searchQuery_en_US.ftl
@@ -0,0 +1 @@
+The query to search on urban dictionary for
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_author_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_author_en_US.ftl
new file mode 100644
index 00000000..62f47307
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_author_en_US.ftl
@@ -0,0 +1 @@
+Author
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_downvotes_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_downvotes_en_US.ftl
new file mode 100644
index 00000000..cf2eaa26
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_downvotes_en_US.ftl
@@ -0,0 +1 @@
+Downvotes
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_example_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_example_en_US.ftl
new file mode 100644
index 00000000..0c3c67e5
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_example_en_US.ftl
@@ -0,0 +1 @@
+Example
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_link_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_link_en_US.ftl
new file mode 100644
index 00000000..75dba258
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_link_en_US.ftl
@@ -0,0 +1 @@
+Link
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_up_votes_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_up_votes_en_US.ftl
new file mode 100644
index 00000000..033aa28f
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_title_up_votes_en_US.ftl
@@ -0,0 +1 @@
+Upvotes
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_value_jump_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_value_jump_en_US.ftl
new file mode 100644
index 00000000..341c2ffd
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/commands/urbanDefine/urban_search_command_response_embed_field_value_jump_en_US.ftl
@@ -0,0 +1 @@
+Jump
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/config/feature_urban_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/config/feature_urban_en_US.ftl
new file mode 100644
index 00000000..596d75a1
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/config/feature_urban_en_US.ftl
@@ -0,0 +1 @@
+Urban dictionary
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_text_en_US.ftl b/translations/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_text_en_US.ftl
new file mode 100644
index 00000000..ea140099
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/urban/exception/no_urban_definition_found_exception_text_en_US.ftl
@@ -0,0 +1 @@
+No definition found.
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_description_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_description_en_US.ftl
new file mode 100644
index 00000000..ea0e522e
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_description_en_US.ftl
@@ -0,0 +1 @@
+Searches for one video on youtube
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_long_help_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_long_help_en_US.ftl
new file mode 100644
index 00000000..f4b63b2b
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_long_help_en_US.ftl
@@ -0,0 +1,2 @@
+This command will search on Youtube for the given query and posts the first video it finds
+The video link will be accompanied with additional video information.
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_parameter_searchQuery_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_parameter_searchQuery_en_US.ftl
new file mode 100644
index 00000000..003f1289
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/help/youtubeSearch_parameter_searchQuery_en_US.ftl
@@ -0,0 +1 @@
+The query to search on Youtube
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_comment_count_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_comment_count_en_US.ftl
new file mode 100644
index 00000000..04ab2418
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_comment_count_en_US.ftl
@@ -0,0 +1 @@
+Comment count
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_dislikes_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_dislikes_en_US.ftl
new file mode 100644
index 00000000..1e8e4dc3
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_dislikes_en_US.ftl
@@ -0,0 +1 @@
+Dislikes
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_likes_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_likes_en_US.ftl
new file mode 100644
index 00000000..3f25c942
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_likes_en_US.ftl
@@ -0,0 +1 @@
+Likes
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_views_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_views_en_US.ftl
new file mode 100644
index 00000000..d7666e79
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_field_title_views_en_US.ftl
@@ -0,0 +1 @@
+Views
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_footer_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_footer_en_US.ftl
new file mode 100644
index 00000000..9f7cad65
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/commands/youtubeSearch/youtube_search_command_response_embed_footer_en_US.ftl
@@ -0,0 +1 @@
+Published at
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/config/feature_youtube_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/config/feature_youtube_en_US.ftl
new file mode 100644
index 00000000..42d967b4
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/config/feature_youtube_en_US.ftl
@@ -0,0 +1 @@
+Youtube
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_api_exception_text_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_api_exception_text_en_US.ftl
new file mode 100644
index 00000000..41d86b0d
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_api_exception_text_en_US.ftl
@@ -0,0 +1 @@
+Youtube API exception: ${exception}
\ No newline at end of file
diff --git a/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_video_not_found_exception_text_en_US.ftl b/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_video_not_found_exception_text_en_US.ftl
new file mode 100644
index 00000000..4b1fae43
--- /dev/null
+++ b/translations/webservices/src/main/resources/en_US/youtube/exceptions/webservices_youtube_video_not_found_exception_text_en_US.ftl
@@ -0,0 +1 @@
+No video found
\ No newline at end of file