فهرست منبع

New Crowdin translations (#164)

* New translations en_us.json (bg_bg)

* New translations en_us.json (zh_cn)

* New translations en_us.json (zh_tw)

* New translations en_us.json (en_ud)

* New translations en_us.json (et_ee)

* New translations en_us.json (fr_fr)

* New translations en_us.json (de_de)

* New translations en_us.json (ja_jp)

* New translations en_us.json (lol_us)

* New translations en_us.json (pt_br)

* New translations en_us.json (ru_ru)
Danielshe 5 سال پیش
والد
کامیت
8bb6baa3c9

+ 141 - 75
src/main/resources/assets/roughlyenoughitems/lang/bg_bg.json

@@ -1,75 +1,141 @@
-{
-  "key.roughlyenoughitems.recipe_keybind": "Покажи рецепта",
-  "key.roughlyenoughitems.hide_keybind": "Скрий/Покажи REI",
-  "key.roughlyenoughitems.usage_keybind": "Покажи употреби",
-  "text.rei.config.general": "Общо",
-  "text.rei.config.cheating": "Мамене:",
-  "text.rei.cheating": "Мамене",
-  "category.rei.crafting": "Изработване",
-  "category.rei.smelting": "Топене",
-  "category.rei.smelting.fuel": "Гориво",
-  "category.rei.smoking": "Опушване",
-  "category.rei.blasting": "Топене с доменна пещ",
-  "category.rei.campfire": "Лагерен огън",
-  "category.rei.campfire.time": "%d секунди",
-  "category.rei.stone_cutting": "Рязане на камъни",
-  "category.rei.brewing": "Варене на отвари",
-  "category.rei.brewing.input": "Оригинална отвара",
-  "category.rei.brewing.reactant": "Продукт",
-  "category.rei.brewing.result": "Резултатна отвара",
-  "text.rei.config": "Конфигурация",
-  "text.rei.config_tooltip": "Отвори екран за конфигуриране\n§7Shift-кликни за да превключиш мамене",
-  "text.rei.config.side_search_box": "Странична търсачка: ",
-  "text.rei.config.item_list_position": "Позиция на списък с предмети: ",
-  "text.rei.config.item_list_position.left": "Вляво",
-  "text.rei.config.item_list_position.right": "Вдясно",
-  "text.rei.cheat_items": "Даден е [{item_name}§f] x{item_count} на {player_name}.",
-  "text.rei.failed_cheat_items": "§cНеуспешно даване на предмети.",
-  "text.rei.config.list_ordering": "Подреди списъка на предмети по:",
-  "text.rei.config.list_ordering_button": "%s [%s]",
-  "ordering.rei.ascending": "Възходящ",
-  "ordering.rei.descending": "Низходящ",
-  "ordering.rei.registry": "Регистратурен ред",
-  "ordering.rei.name": "Име",
-  "ordering.rei.item_groups": "Групи предмети",
-  "text.auto_craft.failed_move_items": "§cНеуспешно местене на предмети!",
-  "text.auto_craft.move_items": "Премести предмети",
-  "text.rei.config.enable_craftable_only": "Включи филтър за показване само на изработваеми предмети: ",
-  "text.rei.showing_craftable": "Показват се само изработваеми предмети",
-  "text.rei.showing_all": "Показват се всички предмети",
-  "text.rei.delete_items": "§cИзтрий предмет",
-  "text.rei.check_updates": "Провери за обновления: ",
-  "text.rei.config.load_default_plugin": "Да се зарежда приставката по подразбиране: ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "Най-вероятно никога не искаш да изключиш това.\nРестартирай Minecraft за да приложиш тази настройка.",
-  "text.rei.give_command": "Команда за даване на предмети:",
-  "text.rei.gamemode_command": "Команда за промяна на играещ режим:",
-  "text.rei.weather_command": "Команда за промяна на метеорологичното време:",
-  "text.rei.give_command.tooltip": "Тази команда е използвана в сървъри само ако маменето е включено.",
-  "text.rei.give_command.suggestion": "Въведи команда.",
-  "text.rei.view_all_categories": "Виж всички категории",
-  "text.rei.go_back_first_page": "Върни се към първата страница",
-  "text.rei.config.appearance": "Външен вид",
-  "text.rei.config.modules": "Модули",
-  "text.rei.config.advanced": "Разширени",
-  "text.rei.config.disable_recipe_book": "Изключи книгата с рецепти:",
-  "text.rei.choose_page": "Избери страница",
-  "text.rei.config.max_recipes_per_page": "Максимум рецепти на страница:",
-  "text.rei.config.enable_util_buttons": "Включи подпомагащи бутони:",
-  "text.rei.gamemode_button.tooltip": "Превключи играещ режим\n§7Превключи към %s играещ режим.",
-  "text.rei.weather_button.tooltip": "Превключи време\n§7Превключи към %s.",
-  "text.rei.enabled": "Да",
-  "text.rei.disabled": "Не",
-  "text.rei.weather.clear": "Слънчево време",
-  "text.rei.weather.rain": "Дъждовно време",
-  "text.rei.weather.thunder": "Гръмотевична буря",
-  "text.rei.previous_category": "Предишна категория",
-  "text.rei.next_category": "Следваща категория",
-  "text.rei.previous_page": "Предишна страница",
-  "text.rei.next_page": "Следваща страница",
-  "text.rei.config.prefer_visible_recipes": "Предпочитай видими рецепти: ",
-  "text.rei.config.title": "Конфигурация на Roughly Enough Items",
-  "text.rei.config.enable_legacy_speedcraft_support": "Включи поддръжка на стари приставки: ",
-  "text.rei.config.april_fools": "Ден на шегата",
-  "text.rei.config.april_fools.2019": "Включи 2019 REI шега за деня на шегата: ",
-  "text.rei.no_config_api": "Cloth Config v2 API не е инсталиран!\nМоля инсталирайте го, за да се покаже екранът за конфигурация!"
-}
+{
+  "key.rei.category": "Roughly Enough Items",
+  "key.roughlyenoughitems.recipe_keybind": "Покажи рецепта",
+  "key.roughlyenoughitems.hide_keybind": "Скрий/Покажи REI",
+  "key.roughlyenoughitems.usage_keybind": "Покажи употреби",
+  "key.roughlyenoughitems.next_page": "Next Page",
+  "key.roughlyenoughitems.previous_page": "Previous Page",
+  "key.roughlyenoughitems.focus_search": "Focus Search Field",
+  "text.rei.cheating": "Мамене",
+  "text.rei.cheating_disabled": "§7Cheating Disabled",
+  "text.rei.cheating_enabled": "§cCheating Enabled",
+  "text.rei.cheating_limited_enabled": "§bCheating Enabled (Using Commands)",
+  "text.rei.cheating_enabled_no_perms": "§7Cheating §cEnabled §7(No Permission)",
+  "text.rei.no_permission_cheat": "Operator permissions are required to cheat items",
+  "text.rei.search.field.suggestion": "Search...",
+  "category.rei.crafting": "Изработване",
+  "category.rei.smelting": "Топене",
+  "category.rei.smelting.fuel": "Гориво",
+  "category.rei.smoking": "Опушване",
+  "category.rei.blasting": "Топене с доменна пещ",
+  "category.rei.campfire": "Лагерен огън",
+  "category.rei.campfire.time": "%d секунди",
+  "category.rei.stone_cutting": "Рязане на камъни",
+  "category.rei.brewing": "Варене на отвари",
+  "category.rei.brewing.input": "Оригинална отвара",
+  "category.rei.brewing.reactant": "Продукт",
+  "category.rei.brewing.result": "Резултатна отвара",
+  "category.rei.composting": "Composting",
+  "category.rei.stripping": "Stripping",
+  "text.rei.composting.chance": "§e%d%% Chance",
+  "text.rei.composting.page": "Page %d",
+  "text.rei.config": "Конфигурация",
+  "text.rei.config_tooltip": "Отвори екран за конфигуриране\n§7Shift-кликни за да превключиш мамене",
+  "text.rei.cheat_items": "Даден е [{item_name}§f] x{item_count} на {player_name}.",
+  "text.rei.failed_cheat_items": "§cНеуспешно даване на предмети.",
+  "ordering.rei.ascending": "Възходящ",
+  "ordering.rei.descending": "Низходящ",
+  "ordering.rei.registry": "Регистратурен ред",
+  "ordering.rei.name": "Име",
+  "ordering.rei.item_groups": "Групи предмети",
+  "text.auto_craft.move_items": "Премести предмети",
+  "error.rei.transfer.too_small": "Unable to move items to a %dx%d grid.",
+  "error.rei.not.on.server": "REI is not on the server.",
+  "error.rei.not.enough.materials": "Not enough materials.",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
+  "text.rei.showing_craftable": "Показват се само изработваеми предмети",
+  "text.rei.showing_all": "Показват се всички предмети",
+  "text.rei.delete_items": "§cИзтрий предмет",
+  "text.rei.credits": "Credits",
+  "text.rei.left_arrow": "<",
+  "text.rei.right_arrow": ">",
+  "text.rei.view_all_categories": "Виж всички категории",
+  "text.rei.go_back_first_page": "Върни се към първата страница",
+  "text.rei.choose_page": "Избери страница",
+  "text.rei.gamemode_button.tooltip": "Превключи играещ режим\n§7Превключи към %s играещ режим.",
+  "text.rei.weather_button.tooltip": "Превключи време\n§7Превключи към %s.",
+  "text.rei.enabled": "Да",
+  "text.rei.disabled": "Не",
+  "text.rei.short_gamemode.survival": "S",
+  "text.rei.short_gamemode.creative": "C",
+  "text.rei.short_gamemode.adventure": "A",
+  "text.rei.short_gamemode.spectator": "SP",
+  "text.rei.weather.clear": "Слънчево време",
+  "text.rei.weather.rain": "Дъждовно време",
+  "text.rei.weather.thunder": "Гръмотевична буря",
+  "text.rei.previous_category": "Предишна категория",
+  "text.rei.next_category": "Следваща категория",
+  "text.rei.previous_page": "Предишна страница",
+  "text.rei.next_page": "Следваща страница",
+  "text.rei.back": "Back",
+  "text.rei.select": "Select",
+  "text.rei.working_station": "Working Station",
+  "text.rei.recipe_id": "\n%sRecipe Id: %s",
+  "text.rei.recipe_screen_type.selection": "Recipe Screen Type Selection",
+  "text.rei.recipe_screen_type.selection.sub": "You can always edit this setting again via the config screen.",
+  "text.rei.view_recipes_for": "View Recipes for %s",
+  "_comment": "Config Tooltips",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
+}

+ 113 - 9
src/main/resources/assets/roughlyenoughitems/lang/de_de.json

@@ -1,7 +1,18 @@
 {
+  "key.rei.category": "Roughly Enough Items",
   "key.roughlyenoughitems.recipe_keybind": "Zeige Rezept",
   "key.roughlyenoughitems.hide_keybind": "Verstecke/Zeige REI",
   "key.roughlyenoughitems.usage_keybind": "Zeige Verwendung",
+  "key.roughlyenoughitems.next_page": "Next Page",
+  "key.roughlyenoughitems.previous_page": "Previous Page",
+  "key.roughlyenoughitems.focus_search": "Focus Search Field",
+  "text.rei.cheating": "Cheating",
+  "text.rei.cheating_disabled": "§7Cheating Disabled",
+  "text.rei.cheating_enabled": "§cCheating Enabled",
+  "text.rei.cheating_limited_enabled": "§bCheating Enabled (Using Commands)",
+  "text.rei.cheating_enabled_no_perms": "§7Cheating §cEnabled §7(No Permission)",
+  "text.rei.no_permission_cheat": "Operator permissions are required to cheat items",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "Herstellen",
   "category.rei.smelting": "Schmelzen",
   "category.rei.smelting.fuel": "Brennstoff",
@@ -14,24 +25,117 @@
   "category.rei.brewing.input": "Original Trank",
   "category.rei.brewing.reactant": "Zutat",
   "category.rei.brewing.result": "Entstehender Trank",
+  "category.rei.composting": "Composting",
+  "category.rei.stripping": "Stripping",
+  "text.rei.composting.chance": "§e%d%% Chance",
+  "text.rei.composting.page": "Page %d",
   "text.rei.config": "Einstellung",
-  "text.rei.config.side_search_box": "Rechte Suchbox: ",
+  "text.rei.config_tooltip": "Open Config Screen\n§7Shift-Click to toggle cheat mode",
   "text.rei.cheat_items": "[{item_name}] x{item_count} {player_name} gegeben.",
   "text.rei.failed_cheat_items": "§cItems geben fehlgeschlagen.",
-  "text.rei.config.list_ordering": "Item Listen Reihenfolge",
   "ordering.rei.ascending": "Aufsteigend",
   "ordering.rei.descending": "Absteigend",
   "ordering.rei.registry": "Registrierung",
+  "ordering.rei.name": "Name",
   "ordering.rei.item_groups": "Itemgruppen",
-  "text.auto_craft.failed_move_items": "§cItems können nicht bewegt werden!",
   "text.auto_craft.move_items": "Items bewegen",
-  "text.rei.config.enable_craftable_only": "Aktiviere nur Herstellen: ",
+  "error.rei.transfer.too_small": "Unable to move items to a %dx%d grid.",
+  "error.rei.not.on.server": "REI is not on the server.",
+  "error.rei.not.enough.materials": "Not enough materials.",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "Zeige herstellbar",
   "text.rei.showing_all": "Zeige alle",
   "text.rei.delete_items": "§cLösche Item",
-  "text.rei.check_updates": "Überprüfe Updates: ",
-  "text.rei.update_outdated": "§6REI ist veraltet!\n§6Aktuell: §a%s §6Letzte: §a%s\n§6Update Priorität: §a%s",
-  "text.rei.update_changelog_line": "§6- %s",
-  "text.rei.config.load_default_plugin": "Lade Standard-Plugin: ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "Du möchtest das wahrscheinlich niemals deaktivieren.\nStarte Minecraft erneut, um die Einstellungen zu übernehmen."
+  "text.rei.credits": "Credits",
+  "text.rei.left_arrow": "<",
+  "text.rei.right_arrow": ">",
+  "text.rei.view_all_categories": "View All Categories",
+  "text.rei.go_back_first_page": "Back to Page 1",
+  "text.rei.choose_page": "Choose Page",
+  "text.rei.gamemode_button.tooltip": "Switch Game Mode\n§7Switch to %s mode.\n\n§7Shift-Click to switch in a reverse cycle.",
+  "text.rei.weather_button.tooltip": "Switch Weather\n§7Switch to %s.",
+  "text.rei.enabled": "Yes",
+  "text.rei.disabled": "No",
+  "text.rei.short_gamemode.survival": "S",
+  "text.rei.short_gamemode.creative": "C",
+  "text.rei.short_gamemode.adventure": "A",
+  "text.rei.short_gamemode.spectator": "SP",
+  "text.rei.weather.clear": "Clear",
+  "text.rei.weather.rain": "Rain",
+  "text.rei.weather.thunder": "Thunder",
+  "text.rei.previous_category": "Previous Category",
+  "text.rei.next_category": "Next Category",
+  "text.rei.previous_page": "Previous Page",
+  "text.rei.next_page": "Next Page",
+  "text.rei.back": "Back",
+  "text.rei.select": "Select",
+  "text.rei.working_station": "Working Station",
+  "text.rei.recipe_id": "\n%sRecipe Id: %s",
+  "text.rei.recipe_screen_type.selection": "Recipe Screen Type Selection",
+  "text.rei.recipe_screen_type.selection.sub": "You can always edit this setting again via the config screen.",
+  "text.rei.view_recipes_for": "View Recipes for %s",
+  "_comment": "Config Tooltips",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
 }

+ 65 - 58
src/main/resources/assets/roughlyenoughitems/lang/en_ud.json

@@ -6,15 +6,13 @@
   "key.roughlyenoughitems.next_page": "ǝbɐԀ ʇxǝN",
   "key.roughlyenoughitems.previous_page": "ǝbɐԀ snoıʌǝɹԀ",
   "key.roughlyenoughitems.focus_search": "pןǝıℲ ɥɔɹɐǝS snɔoℲ",
-  "text.rei.config.general": "ןɐɹǝuǝƃ",
-  "text.rei.config.action": "uoıʇɔ∀",
-  "text.rei.config.cheating": ":buıʇɐǝɥϽ",
   "text.rei.cheating": "buıʇɐǝɥϽ",
   "text.rei.cheating_disabled": "§7pǝןqɐsıᗡ buıʇɐǝɥϽ",
   "text.rei.cheating_enabled": "§cpǝןqɐuƎ buıʇɐǝɥϽ",
   "text.rei.cheating_limited_enabled": "§b(spuɐɯɯoϽ buıs∩) pǝןqɐuƎ buıʇɐǝɥϽ",
   "text.rei.cheating_enabled_no_perms": "§7(uoıssıɯɹǝԀ oN) §cpǝןqɐuƎ §7buıʇɐǝɥϽ",
   "text.rei.no_permission_cheat": "sɯǝʇı ʇɐǝɥɔ oʇ pǝɹınbǝɹ ǝɹɐ suoıssıɯɹǝd ɹoʇɐɹǝdO",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "buıʇɟɐɹϽ",
   "category.rei.smelting": "buıʇןǝɯS",
   "category.rei.smelting.fuel": "ןǝnℲ",
@@ -33,14 +31,8 @@
   "text.rei.composting.page": "p% ǝbɐԀ",
   "text.rei.config": "bıɟuoϽ",
   "text.rei.config_tooltip": "uǝǝɹɔS bıɟuoϽ uǝdO\n§7ǝpoɯ ʇɐǝɥɔ ǝןbboʇ oʇ ʞɔıןϽ-ʇɟıɥS",
-  "text.rei.config.side_search_box": " :uoıʇısoԀ xoq ɥɔɹɐǝS",
-  "text.rei.config.item_list_position": " :uoıʇısoԀ ʇsı˥ ɯǝʇI",
-  "text.rei.config.item_list_position.left": "ʇɟǝ˥",
-  "text.rei.config.item_list_position.right": "ʇɥbıᴚ",
   "text.rei.cheat_items": "§7˙{player_name} oʇ {item_count}x [{item_name}§7] ǝʌɐƃ",
   "text.rei.failed_cheat_items": "§c˙sɯǝʇı ǝʌıb oʇ pǝןıɐℲ",
-  "text.rei.config.list_ordering": ":buıɹǝpɹO ʇsı˥ ɯǝʇI",
-  "text.rei.config.list_ordering_button": "[%2$s] %1$s",
   "ordering.rei.ascending": "buıpuǝɔs∀",
   "ordering.rei.descending": "buıpuǝɔsǝᗡ",
   "ordering.rei.registry": "ʎɹʇsıbǝᴚ",
@@ -50,33 +42,20 @@
   "error.rei.transfer.too_small": "˙pıɹb ᄅxᄅ ɐ oʇ sɯǝʇı ǝʌoɯ oʇ ǝןqɐu∩",
   "error.rei.not.on.server": "˙ɹǝʌɹǝs ǝɥʇ uo ʇou sı IƎᴚ",
   "error.rei.not.enough.materials": "˙sןɐıɹǝʇɐW ɥbnouƎ ʇoN",
-  "text.rei.config.craftable_only": " :ɹǝʇןıℲ ǝןqɐʇɟɐɹϽ",
-  "text.rei.config.clickable_recipe_arrows": " :sʍoɹɹ∀ ǝdıɔǝᴚ ǝןqɐʞɔıןϽ",
-  "text.rei.config.text.true": "pǝןqɐuƎ",
-  "text.rei.config.text.false": "pǝןqɐsıᗡ",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "ǝןqɐʇɟɐɹϽ buıʍoɥS",
   "text.rei.showing_all": "ןן∀ buıʍoɥS",
   "text.rei.delete_items": "§cɯǝʇI ǝʇǝןǝᗡ",
-  "text.rei.check_updates": " :sǝʇɐpd∩ ʞɔǝɥϽ",
-  "text.rei.config.load_default_plugin": " :uıbnןԀ ʇןnɐɟǝᗡ pɐo˥",
-  "text.rei.config.load_default_plugin.restart_tooltip": "˙sıɥʇ ǝןqɐsıp oʇ ʇuɐʍ ɹǝʌǝu ʎןqɐqoɹd noʎ\n˙buıʇʇǝs sıɥʇ ʎןddɐ oʇ ʇɟɐɹɔǝuıW ʇɹɐʇsǝᴚu",
   "text.rei.credits": "sʇıpǝɹϽ",
   "text.rei.left_arrow": "<",
   "text.rei.right_arrow": ">",
-  "text.rei.give_command": ":puɐɯɯoϽ ǝʌıƃ ʇɐǝɥϽ",
-  "text.rei.gamemode_command": ":puɐɯɯoϽ ǝpoW ǝɯɐƃ",
-  "text.rei.weather_command": ":puɐɯɯoϽ ɹǝɥʇɐǝM",
-  "text.rei.give_command.tooltip": "˙buıʇɐǝɥɔ uǝɥʍ sɹǝʌɹǝs uı pǝsn ʎןuo sı puɐɯɯoɔ sıɥ⊥",
-  "text.rei.give_command.suggestion": "˙puɐɯɯoɔ ɹǝʇuƎ",
   "text.rei.view_all_categories": "sǝıɹobǝʇɐϽ ןן∀ ʍǝıΛ",
   "text.rei.go_back_first_page": "1 ǝbɐԀ oʇ ʞɔɐq",
-  "text.rei.config.appearance": "ǝɔuɐɹɐǝdd∀",
-  "text.rei.config.modules": "sǝןnpoW",
-  "text.rei.config.advanced": "pǝɔuɐʌp∀",
-  "text.rei.config.vanilla_recipe_book": ":ʞooq ǝdıɔǝᴚ ɐןןıuɐΛ",
   "text.rei.choose_page": "ǝbɐԀ ǝsooɥϽ",
-  "text.rei.config.max_recipes_per_page": ":ǝbɐԀ ɥɔɐƎ sǝdıɔǝᴚ ɯnɯıxɐW",
-  "text.rei.config.util_buttons": ":suoʇʇnq sןıʇ∩",
   "text.rei.gamemode_button.tooltip": "ǝpoW ǝɯɐƃ ɥɔʇıʍS\n§7ǝpoɯ %s oʇ ɥɔʇıʍS.\n\n§7˙ǝןɔʎɔ ǝsɹǝʌǝɹ ɐ uı ɥɔʇıʍs oʇ ʞɔıןϽ-ʇɟıɥS",
   "text.rei.weather_button.tooltip": "ɹǝɥʇɐǝM ɥɔʇıʍS\n§7˙%s oʇ ɥɔʇıʍS.",
   "text.rei.enabled": "sǝʎ",
@@ -92,43 +71,71 @@
   "text.rei.next_category": "ʎɹobǝʇɐϽ ʇxǝN",
   "text.rei.previous_page": "ǝbɐԀ snoıʌǝɹԀ",
   "text.rei.next_page": "ǝbɐԀ ʇxǝN",
-  "text.rei.config.prefer_visible_recipes": " :sǝdıɔǝᴚ ǝןqısıΛ ɹǝɟǝɹԀ",
-  "text.rei.config.title": "bıɟuoϽ sɯǝʇI ɥbnouƎ ʎןɥbnoᴚ",
-  "text.rei.config.enable_legacy_speedcraft_support": " :ʇɹoddnS uıbnןԀ ʎɔɐbǝ˥ ǝןqɐuƎ",
-  "text.rei.config.april_fools": "sןooℲ ןıɹd∀",
-  "text.rei.config.april_fools.2019": " :ǝʞoظ ,sןooℲ ןıɹd∀ IƎᴚ 9102 ǝɔɹoℲ",
-  "text.rei.config.appearance_theme": ":ǝɯǝɥ⊥ ǝɔuɐɹɐǝdd∀",
-  "text.rei.config.appearance_theme.true": "ǝɯǝɥ⊥ ʞɹɐᗡ",
-  "text.rei.config.appearance_theme.false": "ǝɯǝɥ⊥ ʇɥbı˥",
-  "text.rei.config.villager_screen_permanent_scroll_bar": ":ɹɐq ןןoɹɔS uǝǝɹɔS ǝdıɔǝᴚ",
-  "text.rei.config.item_cheating_mode": ":ʇunoɯ∀ buıʇɐǝɥϽ ɯǝʇI",
-  "text.rei.config.item_cheating_mode.rei_like": "ןɐɯɹoN",
-  "text.rei.config.item_cheating_mode.jei_like": "pǝsɹǝʌǝᴚ",
-  "text.rei.config.light_gray_recipe_border": ":ɹǝpɹoq ʎɐןdsıᗡ ǝdıɔǝᴚ",
-  "text.rei.config_api_failed": "¡pǝןןɐʇsuı ʇı ǝʌɐɥ ʇ,uop noʎ ɹo pǝןıɐɟ IԀ∀ 2ʌ bıɟuoϽ ɥʇoןϽ ɟı ɹǝɥʇıǝ ǝɹǝɥ pǝʌıɹɹɐ noʎ\n˙ɹǝʞɔɐɹʇ bnq ǝɥʇ oʇ ʇɹodǝɹ puɐ IԀ∀ ǝɥʇ ןןɐʇsuI / ǝʇɐpd∩u",
   "text.rei.back": "ʞɔɐq",
-  "text.rei.config.recipe_screen_type": ":ǝdʎ⊥ uǝǝɹɔS",
-  "text.rei.config.recipe_screen_type.unset": "ʇǝS ʇoN",
-  "text.rei.config.recipe_screen_type.original": "ןɐuıbıɹO",
-  "text.rei.config.recipe_screen_type.villager": "ɹǝbɐןןıΛ",
   "text.rei.select": "ʇɔǝןǝS",
   "text.rei.working_station": "uoıʇɐʇS buıʞɹoM",
   "text.rei.recipe_id": "\n%2$s :pI ǝdıɔǝᴚ%1$s",
-  "text.rei.config.register_in_other_thread": ":pɐǝɹɥʇ ɹǝɥʇo uı sǝdıɔǝᴚ ɹǝʇsıbǝᴚ",
   "text.rei.recipe_screen_type.selection": "uoıʇɔǝןǝS ǝdʎ⊥ uǝǝɹɔS ǝdıɔǝᴚ",
   "text.rei.recipe_screen_type.selection.sub": "˙uǝǝɹɔs bıɟuoɔ ǝɥʇ ɐıʌ uıɐbɐ buıʇʇǝs sıɥʇ ʇıpǝ sʎɐʍןɐ uɐɔ noʎ",
   "text.rei.view_recipes_for": "s% ɹoɟ sǝdıɔǝᴚ ʍǝıΛ",
-  "text.rei.config.side_search_box.text.false": "ɹǝʇuǝϽ",
-  "text.rei.config.side_search_box.text.true": "ʇɥbıᴚ / ʇɟǝ˥",
-  "text.rei.config.villager_screen_permanent_scroll_bar.text.true": "ʇuǝuɐɯɹǝԀ",
-  "text.rei.config.villager_screen_permanent_scroll_bar.text.false": "ǝpɐℲ oʇn∀",
-  "text.rei.config.light_gray_recipe_border.text.true": "ʎɐɹƃ ʇɥbı˥",
-  "text.rei.config.light_gray_recipe_border.text.false": "ʇsɐɹʇuoϽ ɥbıH",
   "_comment": "sdıʇןoo⊥ bıɟuoϽ",
-  "tooltip.rei.config.side_search_box": "pןǝıɟ ɥɔɹɐǝs ǝɥʇ ɟo uoıʇɐɔoן ǝɥʇ sǝɹɐןɔǝᗡ",
-  "tooltip.rei.config.list_ordering": "ʇsıן ɯǝʇı ǝpıs ǝɥʇ ɟo buıɹǝpɹo ǝɥʇ sǝɹɐןɔǝᗡ",
-  "tooltip.rei.config.item_list_position": "ʇsıן ɯǝʇı ǝpıs ǝɥʇ ɟo uoıʇısod ǝɥʇ sǝɹɐןɔǝᗡ",
-  "tooltip.rei.config.max_recipes_per_page": "sǝdıɔǝɹ pǝʎɐןdsıp ǝןqıssod ɯnɯıxɐɯ ǝɥʇ sǝɹɐןɔǝᗡ",
-  "tooltip.rei.config.light_gray_recipe_border": "ɹǝpɹoq ǝdıɔǝɹ ǝɥʇ ɟo ǝɔuɐɹɐǝddɐ ǝɥʇ sǝɹɐןɔǝᗡ",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
   "text.rei.credit.text": "§l(%sʌ) sɯǝʇI ɥbnouƎ ʎןɥbnoᴚ\n§7˙sɯǝʇI ɥbnouƎ ʇsoɯן∀ ɹoɟ ʞɹoɟ ɐ ʎןןɐuıbıɹO\n\n§lsɹǝdoןǝʌǝᗡ\n  ɐʌɹɐᗡuǝZ ʎq ʎןןɐuıbıɹO\n  ǝɥsןǝıuɐᗡ ʎq uǝʇʇıɹʍǝᴚ\n  ʇnNɥǝ⊥ ʎq ʇɹoddnS uıbnןԀ pןO\n\n§luoıʇɐןsuɐɹ⊥ ǝbɐnbuɐ˥\n%s\n\n§lǝsuǝɔı˥\n§7˙⊥IW ɥʇıʍ pǝsuǝɔıן sı sɯǝʇI ɥbnouƎ ʎןɥbnoᴚ"
-}
+}

+ 8 - 3
src/main/resources/assets/roughlyenoughitems/lang/et_ee.json

@@ -30,7 +30,7 @@
   "text.rei.composting.chance": "§e%d%% võimalus",
   "text.rei.composting.page": "Leht %d",
   "text.rei.config": "Seadistus",
-  "text.rei.config_tooltip": "Ava seadistuskuva\n§7Shift-klõps sohitegemise lülitamiseks",  
+  "text.rei.config_tooltip": "Ava seadistuskuva\n§7Shift-klõps sohitegemise lülitamiseks",
   "text.rei.cheat_items": "{item_count} [{item_name}§f] antud mängijale {player_name}.",
   "text.rei.failed_cheat_items": "§cEsemete andmine ebaõnnestus.",
   "ordering.rei.ascending": "kasvav",
@@ -43,7 +43,9 @@
   "error.rei.not.on.server": "REI puudub serverist.",
   "error.rei.not.enough.materials": "Materjale pole piisavalt.",
   "error.rei.internal.error": "Sisemine viga: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
   "error.rei.no.handlers.applicable": "Ühtegi käsitlejat ei saa rakendada.",
+  "error.rei.multi.errors": "Multiple Errors:",
   "rei.rei.no.slot.in.inv": "Seljakotis pole eseme jaoks ruumi",
   "text.rei.showing_craftable": "Kuvab meisterdatavaid",
   "text.rei.showing_all": "Kuvab kõiki",
@@ -86,6 +88,7 @@
   "config.roughlyenoughitems.clickableRecipeArrows": "Klõpsatavad retseptide nooled:",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Lubatud",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Keelatud",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
   "config.roughlyenoughitems.darkTheme": "Välimuse teema:",
   "config.roughlyenoughitems.darkTheme.boolean.true": "Tume teema",
   "config.roughlyenoughitems.darkTheme.boolean.false": "Hele teema",
@@ -106,6 +109,7 @@
   "config.roughlyenoughitems.disableRecipeBook": "Vanilli retseptiraamat:",
   "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Keelatud",
   "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Lubatud",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
   "config.roughlyenoughitems.enableCraftableOnlyButton": "Meisterdavate filter:",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Lubatud",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Keelatud",
@@ -132,5 +136,6 @@
   "config.roughlyenoughitems.appendModNames": "Lisa juurde modinimed:",
   "config.roughlyenoughitems.scrollingEntryListWidget": "Esemenimekirja tegevus:",
   "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Keritav",
-  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Lehekülgedega"
-  }
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Lehekülgedega",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
+}

+ 109 - 14
src/main/resources/assets/roughlyenoughitems/lang/fr_fr.json

@@ -3,8 +3,16 @@
   "key.roughlyenoughitems.recipe_keybind": "Afficher la recette",
   "key.roughlyenoughitems.hide_keybind": "Masquer/afficher REI",
   "key.roughlyenoughitems.usage_keybind": "Afficher les utilisations",
-  "text.rei.cheat": "Triche",
-  "text.rei.nocheat": "§c§mTriche",
+  "key.roughlyenoughitems.next_page": "Next Page",
+  "key.roughlyenoughitems.previous_page": "Previous Page",
+  "key.roughlyenoughitems.focus_search": "Focus Search Field",
+  "text.rei.cheating": "Cheating",
+  "text.rei.cheating_disabled": "§7Cheating Disabled",
+  "text.rei.cheating_enabled": "§cCheating Enabled",
+  "text.rei.cheating_limited_enabled": "§bCheating Enabled (Using Commands)",
+  "text.rei.cheating_enabled_no_perms": "§7Cheating §cEnabled §7(No Permission)",
+  "text.rei.no_permission_cheat": "Operator permissions are required to cheat items",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "Fabrication",
   "category.rei.smelting": "Cuisson",
   "category.rei.smelting.fuel": "Combustible",
@@ -17,30 +25,117 @@
   "category.rei.brewing.input": "Potion originale",
   "category.rei.brewing.reactant": "Ingrédient",
   "category.rei.brewing.result": "Potion obtenue",
+  "category.rei.composting": "Composting",
+  "category.rei.stripping": "Stripping",
+  "text.rei.composting.chance": "§e%d%% Chance",
+  "text.rei.composting.page": "Page %d",
   "text.rei.config": "Config",
-  "text.rei.config.side_search_box": "Zone de recherche latérale : ",
-  "text.rei.config.mirror_rei": "Refléter les widgets REI : ",
+  "text.rei.config_tooltip": "Open Config Screen\n§7Shift-Click to toggle cheat mode",
   "text.rei.cheat_items": "[{item_name}] x{item_count} ont été donnés à {player_name}.",
   "text.rei.failed_cheat_items": "§cImpossible de donner les objets.",
-  "text.rei.config.list_ordering": "Ordre de la liste d'objets",
-  "text.rei.config.list_ordering_button": "%s [%s]",
   "ordering.rei.ascending": "Croissant",
   "ordering.rei.descending": "Décroissant",
   "ordering.rei.registry": "Registre",
   "ordering.rei.name": "Nom",
   "ordering.rei.item_groups": "Groupes d'objets",
-  "text.auto_craft.failed_move_items": "§cImpossible de déplacer les objets!",
   "text.auto_craft.move_items": "Déplacer les objets",
-  "text.rei.config.enable_craftable_only": "Activer les recettes réalisables uniquement : ",
+  "error.rei.transfer.too_small": "Unable to move items to a %dx%d grid.",
+  "error.rei.not.on.server": "REI is not on the server.",
+  "error.rei.not.enough.materials": "Not enough materials.",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "Recettes réalisables",
   "text.rei.showing_all": "Toutes les recettes",
   "text.rei.delete_items": "§cSupprimer l'objet",
-  "text.rei.check_updates": "Vérifier les mises à jour : ",
-  "text.rei.update_outdated": "§6REI est obsolète !\n§6Version actuelle : §a%s §6Dernière version : §a%s\n§6Priorité de mise à jour : §a%s",
-  "text.rei.update_changelog_line": "§6- %s",
-  "text.rei.config.load_default_plugin": "Charger le plugin par défaut : ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "Vous ne voudrez probablement jamais désactiver cela.\nRedémarrez Minecraft pour appliquer ce paramètre.",
   "text.rei.credits": "Crédits",
   "text.rei.left_arrow": "<",
-  "text.rei.right_arrow": ">"
+  "text.rei.right_arrow": ">",
+  "text.rei.view_all_categories": "View All Categories",
+  "text.rei.go_back_first_page": "Back to Page 1",
+  "text.rei.choose_page": "Choose Page",
+  "text.rei.gamemode_button.tooltip": "Switch Game Mode\n§7Switch to %s mode.\n\n§7Shift-Click to switch in a reverse cycle.",
+  "text.rei.weather_button.tooltip": "Switch Weather\n§7Switch to %s.",
+  "text.rei.enabled": "Yes",
+  "text.rei.disabled": "No",
+  "text.rei.short_gamemode.survival": "S",
+  "text.rei.short_gamemode.creative": "C",
+  "text.rei.short_gamemode.adventure": "A",
+  "text.rei.short_gamemode.spectator": "SP",
+  "text.rei.weather.clear": "Clear",
+  "text.rei.weather.rain": "Rain",
+  "text.rei.weather.thunder": "Thunder",
+  "text.rei.previous_category": "Previous Category",
+  "text.rei.next_category": "Next Category",
+  "text.rei.previous_page": "Previous Page",
+  "text.rei.next_page": "Next Page",
+  "text.rei.back": "Back",
+  "text.rei.select": "Select",
+  "text.rei.working_station": "Working Station",
+  "text.rei.recipe_id": "\n%sRecipe Id: %s",
+  "text.rei.recipe_screen_type.selection": "Recipe Screen Type Selection",
+  "text.rei.recipe_screen_type.selection.sub": "You can always edit this setting again via the config screen.",
+  "text.rei.view_recipes_for": "View Recipes for %s",
+  "_comment": "Config Tooltips",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
 }

+ 2 - 0
src/main/resources/assets/roughlyenoughitems/lang/ja_jp.json

@@ -88,6 +88,7 @@
   "config.roughlyenoughitems.clickableRecipeArrows": "クリック可能なレシピの矢印:",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "有効",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "無効",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
   "config.roughlyenoughitems.darkTheme": "外観テーマ:",
   "config.roughlyenoughitems.darkTheme.boolean.true": "暗いテーマ",
   "config.roughlyenoughitems.darkTheme.boolean.false": "明るいテーマ",
@@ -108,6 +109,7 @@
   "config.roughlyenoughitems.disableRecipeBook": "バニラのレシピブック:",
   "config.roughlyenoughitems.disableRecipeBook.boolean.true": "無効",
   "config.roughlyenoughitems.disableRecipeBook.boolean.false": "有効",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
   "config.roughlyenoughitems.enableCraftableOnlyButton": "作成可能なフィルタ:",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "有効",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "無効",

+ 65 - 58
src/main/resources/assets/roughlyenoughitems/lang/lol_us.json

@@ -6,15 +6,13 @@
   "key.roughlyenoughitems.next_page": "Next Page",
   "key.roughlyenoughitems.previous_page": "Pwevious Page",
   "key.roughlyenoughitems.focus_search": "Focus Seawch Fiewd",
-  "text.rei.config.general": "Genewaw",
-  "text.rei.config.action": "Action",
-  "text.rei.config.cheating": "Cheating:",
   "text.rei.cheating": "Cheating",
   "text.rei.cheating_disabled": "§7Cheating Disabwed",
   "text.rei.cheating_enabled": "§cCheating Enabwed",
   "text.rei.cheating_limited_enabled": "§bCheating Enabwed (Using Commands)",
   "text.rei.cheating_enabled_no_perms": "§7Cheating §cEnabwed §7(No Pewmission)",
   "text.rei.no_permission_cheat": "Opewatow pewmissions awe wequiwed to cheat items",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "Cwafting",
   "category.rei.smelting": "Smewting",
   "category.rei.smelting.fuel": "Fuew",
@@ -33,14 +31,8 @@
   "text.rei.composting.page": "Page %d",
   "text.rei.config": "Config",
   "text.rei.config_tooltip": "Open Config Scween\n§7Shift-Cwick to toggwe cheat mode",
-  "text.rei.config.side_search_box": "Seawch Box Position: ",
-  "text.rei.config.item_list_position": "Item Wist Position: ",
-  "text.rei.config.item_list_position.left": "Weft",
-  "text.rei.config.item_list_position.right": "Wight",
   "text.rei.cheat_items": "Gave [{item_name}§f] x{item_count} to {pwayew_name}.",
   "text.rei.failed_cheat_items": "§cFaiwed to give items.",
-  "text.rei.config.list_ordering": "Item Wist Owdewing:",
-  "text.rei.config.list_ordering_button": "%s [%s]",
   "ordering.rei.ascending": "Ascending",
   "ordering.rei.descending": "Descending",
   "ordering.rei.registry": "Wegistwy",
@@ -50,33 +42,20 @@
   "error.rei.transfer.too_small": "Unabwe to move items to a 2x2 gwid.",
   "error.rei.not.on.server": "WEI is not on de sewvew.",
   "error.rei.not.enough.materials": "Not Enough Matewiaws.",
-  "text.rei.config.craftable_only": "Cwaftabwe Fiwtew: ",
-  "text.rei.config.clickable_recipe_arrows": "Cwickabwe Wecipe Awwows: ",
-  "text.rei.config.text.true": "Enabwed",
-  "text.rei.config.text.false": "Disabwed",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "Showing Cwaftabwe",
   "text.rei.showing_all": "Showing Aww",
   "text.rei.delete_items": "§cDewete Item",
-  "text.rei.check_updates": "Check Updates: ",
-  "text.rei.config.load_default_plugin": "Woad Defauwt Pwugin: ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "You pwobabwy nevew want to disabwe dis.\nWestawt Minecwaft to appwy dis setting.",
   "text.rei.credits": "Cwedits",
   "text.rei.left_arrow": "<",
   "text.rei.right_arrow": ">",
-  "text.rei.give_command": "Cheat Give Command:",
-  "text.rei.gamemode_command": "Game Mode Command:",
-  "text.rei.weather_command": "Weadew Command:",
-  "text.rei.give_command.tooltip": "Dis command is onwy used in sewvews when cheating.",
-  "text.rei.give_command.suggestion": "Entew command.",
   "text.rei.view_all_categories": "View Aww Categowies",
   "text.rei.go_back_first_page": "Back to Page 1",
-  "text.rei.config.appearance": "Appeawance",
-  "text.rei.config.modules": "Moduwes",
-  "text.rei.config.advanced": "Advanced",
-  "text.rei.config.vanilla_recipe_book": "Vaniwwa Wecipe Book:",
   "text.rei.choose_page": "Choose Page",
-  "text.rei.config.max_recipes_per_page": "Maximum Wecipes Each Page:",
-  "text.rei.config.util_buttons": "Utiws Buttons:",
   "text.rei.gamemode_button.tooltip": "Switch Game Mode\n§7Switch to %s mode.\n\n§7Shift-Cwick to switch in a wevewse cycwe.",
   "text.rei.weather_button.tooltip": "Switch Weadew\n§7Switch to %s.",
   "text.rei.enabled": "Yes",
@@ -92,43 +71,71 @@
   "text.rei.next_category": "Next Categowy",
   "text.rei.previous_page": "Pwevious Page",
   "text.rei.next_page": "Next Page",
-  "text.rei.config.prefer_visible_recipes": "Pwefew Visibwe Wecipes: ",
-  "text.rei.config.title": "Woughwy Enough Items Config",
-  "text.rei.config.enable_legacy_speedcraft_support": "Enabwe Wegacy Pwugin Suppowt: ",
-  "text.rei.config.april_fools": "Apwiw Foows",
-  "text.rei.config.april_fools.2019": "Fowce 2019 WEI Apwiw Foows' joke: ",
-  "text.rei.config.appearance_theme": "Appeawance Deme:",
-  "text.rei.config.appearance_theme.true": "Dawk Deme",
-  "text.rei.config.appearance_theme.false": "Wight Deme",
-  "text.rei.config.villager_screen_permanent_scroll_bar": "Wecipe Scween Scwoww Baw:",
-  "text.rei.config.item_cheating_mode": "Item Cheating Amount:",
-  "text.rei.config.item_cheating_mode.rei_like": "Nowmaw",
-  "text.rei.config.item_cheating_mode.jei_like": "Wevewsed",
-  "text.rei.config.light_gray_recipe_border": "Wecipe Dispway Bowdew:",
-  "text.rei.config_api_failed": "You awwived hewe eidew if Cwod Config v2 API faiwed ow you don't have it instawwed!\nUpdate / Instaww de API and wepowt to de bug twackew.",
   "text.rei.back": "Back",
-  "text.rei.config.recipe_screen_type": "Scween Type:",
-  "text.rei.config.recipe_screen_type.unset": "Not Set",
-  "text.rei.config.recipe_screen_type.original": "Owiginaw",
-  "text.rei.config.recipe_screen_type.villager": "Viwwagew",
   "text.rei.select": "Sewect",
   "text.rei.working_station": "Wowking Station",
   "text.rei.recipe_id": "\n%sWecipe Id: %s",
-  "text.rei.config.register_in_other_thread": "Wegistew Wecipes in odew dwead:",
   "text.rei.recipe_screen_type.selection": "Wecipe Scween Type Sewection",
   "text.rei.recipe_screen_type.selection.sub": "You can awways edit dis setting again via de config scween.",
   "text.rei.view_recipes_for": "View Wecipes fow %s",
-  "text.rei.config.side_search_box.text.false": "Centew",
-  "text.rei.config.side_search_box.text.true": "Weft / Wight",
-  "text.rei.config.villager_screen_permanent_scroll_bar.text.true": "Pewmanent",
-  "text.rei.config.villager_screen_permanent_scroll_bar.text.false": "Auto Fade",
-  "text.rei.config.light_gray_recipe_border.text.true": "Wight Gway",
-  "text.rei.config.light_gray_recipe_border.text.false": "High Contwast",
   "_comment": "Config Toowtips",
-  "tooltip.rei.config.side_search_box": "Decwawes de wocation of de seawch fiewd",
-  "tooltip.rei.config.list_ordering": "Decwawes de owdewing of de side item wist",
-  "tooltip.rei.config.item_list_position": "Decwawes de position of de side item wist",
-  "tooltip.rei.config.max_recipes_per_page": "Decwawes de maximum possibwe dispwayed wecipes",
-  "tooltip.rei.config.light_gray_recipe_border": "Decwawes de appeawance of de wecipe bowdew",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
   "text.rei.credit.text": "§wWoughwy Enough Items (v%s)\n§7Owiginawwy a fowk fow Awmost Enough Items.\n\n§wDevewopews\n  Owiginawwy by ZenDawva\n  Wewwitten by Daniewshe\n  Owd Pwugin Suppowt by TehNut\n\n§wWanguage Twanswation\n%s\n\n§wWicense\n§7Woughwy Enough Items is wicensed wid MIT."
-}
+}

+ 71 - 51
src/main/resources/assets/roughlyenoughitems/lang/pt_br.json

@@ -5,15 +5,14 @@
   "key.roughlyenoughitems.usage_keybind": "Mostrar usos",
   "key.roughlyenoughitems.next_page": "Próxima página",
   "key.roughlyenoughitems.previous_page": "Página anterior",
-  "text.rei.config.general": "Geral",
-  "text.rei.config.action": "Ação",
-  "text.rei.config.cheating": "Trapaças: ",
+  "key.roughlyenoughitems.focus_search": "Focus Search Field",
   "text.rei.cheating": "Trapaça",
   "text.rei.cheating_disabled": "§7Trapaças desativada",
   "text.rei.cheating_enabled": "§cTrapaças ativada",
   "text.rei.cheating_limited_enabled": "§bTrapaças ativada (usando comandos)",
   "text.rei.cheating_enabled_no_perms": "§7Trapaças §cativada §7(sem permissão)",
   "text.rei.no_permission_cheat": "Permissões de operador são necessárias para obter itens",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "Fabricação",
   "category.rei.smelting": "Fundição",
   "category.rei.smelting.fuel": "Combustível",
@@ -27,49 +26,36 @@
   "category.rei.brewing.reactant": "Ingrediente",
   "category.rei.brewing.result": "Poção resultante",
   "category.rei.composting": "Decomposição",
+  "category.rei.stripping": "Stripping",
   "text.rei.composting.chance": "§e%d%% de chance",
   "text.rei.composting.page": "Página %d",
   "text.rei.config": "Configuração",
   "text.rei.config_tooltip": "Abrir menu de configuração\n§7Shift-Clique para alternar modo trapaça",
-  "text.rei.config.side_search_box": "Caixa de pesquisa lateral: ",
-  "text.rei.config.item_list_position": "Posição da lista de itens: ",
-  "text.rei.config.item_list_position.left": "Esquerda",
-  "text.rei.config.item_list_position.right": "Direita",
   "text.rei.cheat_items": "Entregado [{item_name}§f] x{item_count} para {player_name}.",
   "text.rei.failed_cheat_items": "§cFalha ao obter itens.",
-  "text.rei.config.list_ordering": "Ordem da lista de items: ",
-  "text.rei.config.list_ordering_button": "%s [%s]",
   "ordering.rei.ascending": "Crescente",
   "ordering.rei.descending": "Descrescente",
   "ordering.rei.registry": "Registro",
   "ordering.rei.name": "Nome",
   "ordering.rei.item_groups": "Grupos de itens",
-  "text.speed_craft.failed_move_items": "§cNão pode mover os itens!",
-  "text.speed_craft.move_items": "Mover itens",
-  "text.rei.config.enable_craftable_only": "Ativar filtro de criáveis: ",
+  "text.auto_craft.move_items": "Move Items",
+  "error.rei.transfer.too_small": "Unable to move items to a %dx%d grid.",
+  "error.rei.not.on.server": "REI is not on the server.",
+  "error.rei.not.enough.materials": "Not enough materials.",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "Mostrando itens criáveis",
   "text.rei.showing_all": "Mostrando tudo",
   "text.rei.delete_items": "§cDeletar item",
-  "text.rei.check_updates": "Verificar atualizações: ",
-  "text.rei.config.load_default_plugin": "Carregar plugin padrão: ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "Você provavelmente nunca vai querer desativar isso.\nReinicie Minecraft para aplicar essa configuração.",
   "text.rei.credits": "Créditos",
   "text.rei.left_arrow": "<",
   "text.rei.right_arrow": ">",
-  "text.rei.give_command": "Comando para trapaçear itens: ",
-  "text.rei.gamemode_command": "Comando para modo de jogo: ",
-  "text.rei.weather_command": "Comando para clima: ",
-  "text.rei.give_command.tooltip": "Este comando é usado apenas em servidores quando a trapaça está ativo.",
-  "text.rei.give_command.suggestion": "Digite o comando.",
   "text.rei.view_all_categories": "Visualizar todas as categorias",
   "text.rei.go_back_first_page": "Retornar para página 1",
-  "text.rei.config.appearance": "Aparência",
-  "text.rei.config.modules": "Módulos",
-  "text.rei.config.advanced": "Avançado",
-  "text.rei.config.disable_recipe_book": "Desativar o livro de receitas: ",
   "text.rei.choose_page": "Escolhar página",
-  "text.rei.config.max_recipes_per_page": "Máximo de receitas cada página: ",
-  "text.rei.config.enable_util_buttons": "Ativar botões de utilidade: ",
   "text.rei.gamemode_button.tooltip": "Alternar modo de jogo\n§7Alternar para o modo %s",
   "text.rei.weather_button.tooltip": "Alternar clima\n§7Altenar para %s.",
   "text.rei.enabled": "Sim",
@@ -85,37 +71,71 @@
   "text.rei.next_category": "Próxima categoria",
   "text.rei.previous_page": "Página anterior",
   "text.rei.next_page": "Próxima página",
-  "text.rei.config.prefer_visible_recipes": "Preferir receitas visíveis: ",
-  "text.rei.config.title": "Configurações do Roughly Enough Items",
-  "text.rei.config.enable_legacy_speedcraft_support": "Ativar suporte para plugins legados: ",
-  "text.rei.config.april_fools": "Primeiro de Abril",
-  "text.rei.config.april_fools.2019": "Forçar a piada do Primeiro de April de 2019 do REI: ",
-  "text.rei.config.dark_theme": "Modo Escuro: ",
-  "text.rei.config.villager_screen_permanent_scroll_bar": "Barra de rolagem permanente do menu aldeão: ",
-  "text.rei.config.item_cheating_mode": "Quantidade de itens trapaçeados: ",
-  "text.rei.config.item_cheating_mode.rei_like": "Normal",
-  "text.rei.config.item_cheating_mode.jei_like": "Reverso",
-  "text.rei.config_api_failed": "Você chegou aqui porque ou o API Cloth Config v2 falhou ou porque você não tem ela instalado!\nAtualize / Instale o API e reporte na página de problemas.",
-  "text.rei.config.light_gray_recipe_border": "Borda de receita cinza-claro: ",
   "text.rei.back": "Retornar",
-  "text.rei.config.recipe_screen_type": "Tipo de menu: ",
-  "text.rei.config.recipe_screen_type.unset": "Não definido",
-  "text.rei.config.recipe_screen_type.original": "Original",
-  "text.rei.config.recipe_screen_type.villager": "Aldeão",
   "text.rei.select": "Selecionar",
   "text.rei.working_station": "Estação de trabalho",
   "text.rei.recipe_id": "\n%sID de receita: %s",
-  "text.rei.config.register_in_other_thread": "Registrar receitas em outro thread: ",
   "text.rei.recipe_screen_type.selection": "Seleção do tipo do menu de receitas",
   "text.rei.recipe_screen_type.selection.sub": "Você sempre pode editar essa opção denovo através do menu de configuração.",
-  "_comment": "Descrições das configurações",
-  "tooltip.rei.config.side_search_box": "Declara a localização do campo de pesquisa:\nSim: Esquerda / Direita\nNo: Centro\n \nPadrão: Não",
-  "tooltip.rei.config.list_ordering": "Declara a ordem da lista de itens do lado:\nValores: Registro / Nome / Grupos de itens\n(Crescente / Descrescente)\n \nPadrão: %s",
-  "tooltip.rei.config.item_list_position": "Declara a posição da lista de items do lado:\nValores: Esquerda / Direita\n \nPadrão: Direita",
-  "tooltip.rei.config.max_recipes_per_page": "Declara o máximo de receitas possívels mostradas:\nValores: 2 - 99\n \nPadrão: 3",
-  "tooltip.rei.config.light_gray_recipe_border": "Declara a aparência da borda da receita:\nSim: Cinza claro\nNão: Preto duro\n \nPadrão: Não",
-  "tooltip.rei.config.april_fools.2019": "Força a ativação da piada do primeiro de abril de 2019:\nValores: Sim / Não\n \nPadrão: Não",
-  "tooltip.rei.config.register_in_other_thread": "Requer datapacks recarregados,\nque pode ser feito ao sair e entrar no mundo ou servidor",
+  "text.rei.view_recipes_for": "View Recipes for %s",
   "_comment": "Don't change / translate the credit down below if you are doing it :)",
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
   "text.rei.credit.text": "§lRoughly Enough Items\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  - Originally by ZenDarva\n  - Created by Danielshe\n  - Plugin Support by TehNut\n\n§lLanguage Translation\n  English - Danielshe\n  Simplified Chinese - XuyuEre & Danielshe\n  Traditional Chinese - hugoalh, gxy17886 & Danielshe\n  French - Yanis48\n  German - MelanX\n  Estonian - Madis0\n  Portuguese - thiagokenis\n  LOLCAT - Danielshe\n  Upside Down - Danielshe\n  Brazilian Portuguese - thiagokenis\n  Bulgarian - geniiii\n\n§lLicense\n§7Roughly Enough Items is using MIT."
 }

+ 2 - 0
src/main/resources/assets/roughlyenoughitems/lang/ru_ru.json

@@ -88,6 +88,7 @@
   "config.roughlyenoughitems.clickableRecipeArrows": "Показать рецепт нажатием:",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Включено",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Выключено",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
   "config.roughlyenoughitems.darkTheme": "Тема внешнего вида REI:",
   "config.roughlyenoughitems.darkTheme.boolean.true": "Тёмная тема",
   "config.roughlyenoughitems.darkTheme.boolean.false": "Светлая тема",
@@ -108,6 +109,7 @@
   "config.roughlyenoughitems.disableRecipeBook": "Ванильная книга рецептов:",
   "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Выключено",
   "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Включено",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
   "config.roughlyenoughitems.enableCraftableOnlyButton": "Фильтр по создаваемым предметам:",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Включено",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Выключено",

+ 76 - 47
src/main/resources/assets/roughlyenoughitems/lang/zh_cn.json

@@ -5,15 +5,14 @@
   "key.roughlyenoughitems.usage_keybind": "显示用途",
   "key.roughlyenoughitems.next_page": "下一页",
   "key.roughlyenoughitems.previous_page": "上一页",
-  "text.rei.config.general": "常规",
-  "text.rei.config.action": "功能",
-  "text.rei.config.cheating": "作弊:",
+  "key.roughlyenoughitems.focus_search": "Focus Search Field",
   "text.rei.cheating": "作弊",
   "text.rei.cheating_disabled": "§7作弊已禁用",
   "text.rei.cheating_enabled": "§c作弊已启用",
   "text.rei.cheating_limited_enabled": "§b作弊已启用(使用命令)",
   "text.rei.cheating_enabled_no_perms": "§7作弊已§c启用§7(无权限)",
   "text.rei.no_permission_cheat": "作弊给予物品需要OP权限",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "合成",
   "category.rei.smelting": "冶炼",
   "category.rei.smelting.fuel": "燃料",
@@ -26,47 +25,37 @@
   "category.rei.brewing.input": "输入药水",
   "category.rei.brewing.reactant": "材料",
   "category.rei.brewing.result": "输出药水",
+  "category.rei.composting": "Composting",
+  "category.rei.stripping": "Stripping",
+  "text.rei.composting.chance": "§e%d%% Chance",
+  "text.rei.composting.page": "Page %d",
   "text.rei.config": "设置",
   "text.rei.config_tooltip": "打开设置\n§7按住Shift键单击以切换作弊模式",
-  "text.rei.config.side_search_box": "侧搜索框: ",
-  "text.rei.config.item_list_position": "REI 物品清单位置: ",
-  "text.rei.config.item_list_position.left": "左",
-  "text.rei.config.item_list_position.right": "右",
   "text.rei.cheat_items": "已将 {item_count} 个 [{item_name}§f] 给予 {player_name}",
   "text.rei.failed_cheat_items": "§c不能给予物品.",
-  "text.rei.config.list_ordering": "物品清单排序",
-  "text.rei.config.list_ordering_button": "%s [%s]",
   "ordering.rei.ascending": "顺序",
   "ordering.rei.descending": "倒序",
   "ordering.rei.registry": "注册",
   "ordering.rei.name": "名字",
   "ordering.rei.item_groups": "物品组",
-  "text.auto_craft.failed_move_items": "§c不能移动物品!",
   "text.auto_craft.move_items": "移动物品",
-  "text.rei.config.enable_craftable_only": "过滤不可合成的物品: ",
+  "error.rei.transfer.too_small": "Unable to move items to a %dx%d grid.",
+  "error.rei.not.on.server": "REI is not on the server.",
+  "error.rei.not.enough.materials": "Not enough materials.",
+  "error.rei.internal.error": "Internal Error: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
+  "rei.rei.no.slot.in.inv": "Can't find any space for item in the inventory",
   "text.rei.showing_craftable": "显示可合成的物品",
   "text.rei.showing_all": "显示所有物品",
   "text.rei.delete_items": "§c删除物品",
-  "text.rei.check_updates": "检查更新: ",
-  "text.rei.config.load_default_plugin": "加载默认插件: ",
-  "text.rei.config.load_default_plugin.restart_tooltip": "如果你不知道这是做什么的,\n你可能永远不想禁用它.\n重启 Minecraft 来使用这设置。",
   "text.rei.credits": "感谢",
   "text.rei.left_arrow": "<",
   "text.rei.right_arrow": ">",
-  "text.rei.give_command": "作弊给予指令:",
-  "text.rei.gamemode_command": "游戏模式指令:",
-  "text.rei.weather_command": "天气指令:",
-  "text.rei.give_command.tooltip": "此命令仅在服务器上作弊时用.",
-  "text.rei.give_command.suggestion": "输入指令.",
   "text.rei.view_all_categories": "查看全部类别",
   "text.rei.go_back_first_page": "回到第 1 页",
-  "text.rei.config.appearance": "外观",
-  "text.rei.config.modules": "模块",
-  "text.rei.config.advanced": "高级",
-  "text.rei.config.disable_recipe_book": "禁用合成书:",
   "text.rei.choose_page": "选择页面",
-  "text.rei.config.max_recipes_per_page": "每页最多配方:",
-  "text.rei.config.enable_util_buttons": "启用实用按钮:",
   "text.rei.gamemode_button.tooltip": "切换游戏模式\n§7切换至 %s 模式。",
   "text.rei.weather_button.tooltip": "切换天气\n§7切换至 %s。",
   "text.rei.enabled": "是",
@@ -82,31 +71,71 @@
   "text.rei.next_category": "下一类别",
   "text.rei.previous_page": "上一页",
   "text.rei.next_page": "下一页",
-  "text.rei.config.prefer_visible_recipes": "偏爱可见合成: ",
-  "text.rei.config.title": "Roughly Enough Items 配置",
-  "text.rei.config.enable_legacy_speedcraft_support": "启用旧版插件支持: ",
-  "text.rei.config.april_fools": "愚人节",
-  "text.rei.config.april_fools.2019": "强制启用REI 2019愚人节玩笑: ",
-  "text.rei.config.dark_theme": "深色模式:",
-  "text.rei.config.villager_screen_permanent_scroll_bar": "村民界面一直显示滚动条:",
-  "text.rei.config.item_cheating_mode": "物品作弊数量模式:",
-  "text.rei.config.item_cheating_mode.rei_like": "标准",
-  "text.rei.config.item_cheating_mode.jei_like": "反转",
-  "text.rei.config.light_gray_recipe_border": "浅灰色配方边框:",
-  "text.rei.config_api_failed": "如果Cloth Config v2 API装载失败了或你没有安装它,你就会到达这个界面!\n升级/安装API或向bug跟踪器报告.",
   "text.rei.back": "返回",
-  "text.rei.config.recipe_screen_type": "界面类型",
-  "text.rei.config.recipe_screen_type.unset": "未设置",
-  "text.rei.config.recipe_screen_type.original": "原生",
-  "text.rei.config.recipe_screen_type.villager": "类村民",
   "text.rei.select": "选择",
+  "text.rei.working_station": "Working Station",
+  "text.rei.recipe_id": "\n%sRecipe Id: %s",
   "text.rei.recipe_screen_type.selection": "合成界面类型选择",
   "text.rei.recipe_screen_type.selection.sub": "你始终可以通过配置界面再次编辑此设置.",
+  "text.rei.view_recipes_for": "View Recipes for %s",
   "_comment": "Config Tooltips",
-  "tooltip.rei.config.side_search_box": "声明搜索框的位置:\nYes: 左 / 右\nNo: 中央\n \n默认: No",
-  "tooltip.rei.config.list_ordering": "声明侧边物品列表的排序:\n值: 注册 / 名字 / 物品组\n(顺序 / 倒序)\n \n默认: %s",
-  "tooltip.rei.config.item_list_position": "声明侧边物品列表的位置:\n值: 左 / 右\n \n默认: 右",
-  "tooltip.rei.config.max_recipes_per_page": "声明每页显示的最大的配方数目:\n值: 2 - 99\n \n默认: 3",
-  "tooltip.rei.config.light_gray_recipe_border": "声明配方边框的外观D:\nYes: 浅灰色\nNo: 深黑色\n \n默认: No",
-  "tooltip.rei.config.april_fools.2019": "强制启用2019愚人节玩笑:\n值: Yes / No\n \n默认: No"
+  "config.roughlyenoughitems.title": "Roughly Enough Items Config",
+  "config.roughlyenoughitems.!general": "General",
+  "config.roughlyenoughitems.appearance": "Appearance",
+  "config.roughlyenoughitems.modules": "Modules",
+  "config.roughlyenoughitems.technical": "Technical",
+  "config.roughlyenoughitems.cheating": "Cheating:",
+  "config.roughlyenoughitems.clickableRecipeArrows": "Clickable Recipe Arrows:",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "Enabled",
+  "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "Disabled",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
+  "config.roughlyenoughitems.darkTheme": "Appearance Theme:",
+  "config.roughlyenoughitems.darkTheme.boolean.true": "Dark Theme",
+  "config.roughlyenoughitems.darkTheme.boolean.false": "Light Theme",
+  "config.roughlyenoughitems.lightGrayRecipeBorder": "Recipe Display Border:",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.true": "Light Gray",
+  "config.roughlyenoughitems.lightGrayRecipeBorder.boolean.false": "High Contrast",
+  "config.roughlyenoughitems.maxRecipePerPage": "Maximum Recipes Per Page:",
+  "config.roughlyenoughitems.mirrorItemPanel": "Item List Position:",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "Left Side",
+  "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "Right Side",
+  "config.roughlyenoughitems.searchFieldLocation": "Search Field Position:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.center": "Middle",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "Scrollbar Fade:",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "Never",
+  "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.false": "When Inactive",
+  "config.roughlyenoughitems.disableRecipeBook": "Vanilla Recipe Book:",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.true": "Disabled",
+  "config.roughlyenoughitems.disableRecipeBook.boolean.false": "Enabled",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
+  "config.roughlyenoughitems.enableCraftableOnlyButton": "Craftable Filter:",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "Enabled",
+  "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "Disabled",
+  "config.roughlyenoughitems.showUtilsButtons": "Utils Buttons:",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.true": "Enabled",
+  "config.roughlyenoughitems.showUtilsButtons.boolean.false": "Disabled",
+  "config.roughlyenoughitems.gamemodeCommand": "Game Mode Command:",
+  "config.roughlyenoughitems.giveCommand": "Give Command:",
+  "config.roughlyenoughitems.loadDefaultPlugin": "Load Default Plugin:",
+  "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§cNo (Dangerous)",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
+  "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
+  "config.roughlyenoughitems.weatherCommand": "Weather Command:",
+  "config.roughlyenoughitems.itemListOrdering": "Entry List Ordering:",
+  "config.roughlyenoughitems.list_ordering_button": "%s [%s]",
+  "config.roughlyenoughitems.recipeScreenType": "Recipe Screen Type:",
+  "config.roughlyenoughitems.recipeScreenType.unset": "Not Set",
+  "config.roughlyenoughitems.recipeScreenType.original": "Original",
+  "config.roughlyenoughitems.recipeScreenType.villager": "Villager Like",
+  "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
+  "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
+  "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names:",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
 }

+ 13 - 2
src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json

@@ -12,6 +12,7 @@
   "text.rei.cheating_limited_enabled": "§c作弊已啟用 (使用命令)",
   "text.rei.cheating_enabled_no_perms": "§7作弊已§c啟用§7 (無權限)",
   "text.rei.no_permission_cheat": "作弊需要管理員權限",
+  "text.rei.search.field.suggestion": "Search...",
   "category.rei.crafting": "合成",
   "category.rei.smelting": "冶煉",
   "category.rei.smelting.fuel": "燃料",
@@ -42,6 +43,9 @@
   "error.rei.not.on.server": "REI 不在伺服器上.",
   "error.rei.not.enough.materials": "不夠材料.",
   "error.rei.internal.error": "內部錯誤: %s",
+  "error.rei.recipe.not.unlocked": "Recipe not unlocked in Recipe Book.",
+  "error.rei.no.handlers.applicable": "No handlers are applicable.",
+  "error.rei.multi.errors": "Multiple Errors:",
   "rei.rei.no.slot.in.inv": "您的物品欄已滿.",
   "text.rei.showing_craftable": "顯示可合成的物品",
   "text.rei.showing_all": "顯示所有物品",
@@ -84,6 +88,7 @@
   "config.roughlyenoughitems.clickableRecipeArrows": "可點擊的食譜箭頭:",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.true": "啟用",
   "config.roughlyenoughitems.clickableRecipeArrows.boolean.false": "禁用",
+  "config.roughlyenoughitems.renderEntryExtraOverlay": "Render Entry Extra Overlay:",
   "config.roughlyenoughitems.darkTheme": "外觀主題:",
   "config.roughlyenoughitems.darkTheme.boolean.true": "暗主題",
   "config.roughlyenoughitems.darkTheme.boolean.false": "亮主題",
@@ -95,6 +100,8 @@
   "config.roughlyenoughitems.mirrorItemPanel.boolean.true": "左邊",
   "config.roughlyenoughitems.mirrorItemPanel.boolean.false": "右邊",
   "config.roughlyenoughitems.searchFieldLocation": "搜索框的位置:",
+  "config.roughlyenoughitems.searchFieldLocation.bottom_side": "Bottom Left / Right",
+  "config.roughlyenoughitems.searchFieldLocation.top_side": "Top Left / Right",
   "config.roughlyenoughitems.searchFieldLocation.center": "中間",
   "config.roughlyenoughitems.villagerScreenPermanentScrollBar": "合成介面的滾動條:",
   "config.roughlyenoughitems.villagerScreenPermanentScrollBar.boolean.true": "永久顯示",
@@ -102,6 +109,7 @@
   "config.roughlyenoughitems.disableRecipeBook": "配方手冊:",
   "config.roughlyenoughitems.disableRecipeBook.boolean.true": "禁用",
   "config.roughlyenoughitems.disableRecipeBook.boolean.false": "啟用",
+  "config.roughlyenoughitems.fixTabCloseContainer": "Fix Vanilla Tab Container (When Recipe Book Disabled):",
   "config.roughlyenoughitems.enableCraftableOnlyButton": "過濾不可合成的物品:",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.true": "啟用",
   "config.roughlyenoughitems.enableCraftableOnlyButton.boolean.false": "禁用",
@@ -112,7 +120,6 @@
   "config.roughlyenoughitems.giveCommand": "作弊命令:",
   "config.roughlyenoughitems.loadDefaultPlugin": "加載默認 Plugin:",
   "config.roughlyenoughitems.loadDefaultPlugin.boolean.false": "§c禁用 (危險)",
-  "config.roughlyenoughitems.loadDefaultPlugin.boolean.true": "啟用",
   "config.roughlyenoughitems.registerRecipesInAnotherThread": "Recipe Sync Thread:",
   "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.true": "New REI Thread",
   "config.roughlyenoughitems.registerRecipesInAnotherThread.boolean.false": "§cPacket Thread",
@@ -126,5 +133,9 @@
   "config.roughlyenoughitems.itemCheatingMode": "Item Cheating Amount:",
   "config.roughlyenoughitems.itemCheatingMode.rei_like": "Normal",
   "config.roughlyenoughitems.itemCheatingMode.jei_like": "Inverted",
-  "config.roughlyenoughitems.appendModNames": "Append Mod Names"
+  "config.roughlyenoughitems.appendModNames": "Append Mod Names",
+  "config.roughlyenoughitems.scrollingEntryListWidget": "Entry List Action:",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.true": "Scrolled",
+  "config.roughlyenoughitems.scrollingEntryListWidget.boolean.false": "Paginated",
+  "text.rei.credit.text": "§lRoughly Enough Items (v%s)\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  Originally by ZenDarva\n  Rewritten by Danielshe\n  Old Plugin Support by TehNut\n\n§lLanguage Translation\n%s\n\n§lLicense\n§7Roughly Enough Items is licensed with MIT."
 }