Having trouble with an addon? These guides may help:

How to install addons
WoWInterface’s guide to installing addons, with pictures!
Quickly troubleshoot an addon problem
How figure out what’s wrong with an addon and write a good bug report.
Turn any code into an addon
Perfect for code snippets you find on forums!

Resources for addon authors

Thinking about writing your first addon? Check these pages to make sure your idea is possible and allowed before you invest too much time in it:

Things addons and macros can’t do
List of things that aren’t technically possible within the WoW UI addon system.
Blizzard’s official addon policy
List of things you’re not allowed to do with an addon, like charge money for it, advertise anything or ask for donations in-game, or spam other players.

WoW programming resources

WoWInterface’s Lua/XML Help forum
The WoWInterface community is very active. I read almost every post there, and respond to many posts.
WowAce’s Lua Code Discussion forum
The WowAce community is not very active these days, but I do read mosts posts there, and respond to some.
Wowpedia’s Interface Customization portal
Community-powered wiki with tons of great resources, including detailed references for:
WoW Programming
Companion to the “World of Warcraft Programming” book, with lots of resources, including:
Ace3 “Getting Started” tutorial
Tutorial and example code for writing an addon with Ace3 libraries.

Lua programming resources

Lua is the Portuguese word for “moon”, and the name of the programming language in which the WoW UI and addons are written. Here are some resources to help you learn about Lua syntax and functions:

Lua Users Wiki
Wiki with general Lua information, tips, ideas, and code snippets.
Programming in Lua
Introduction and general guide to the Lua programming language.
Lua 5.1 Reference Manual
Reference manual for the Lua programming language.

Addon localization resources

Localizing your addon means identifying all of the text it shows to users, getting translations for each string (or piece) of text, and adding code so your addon will show the right text depending on what language the user is playing WoW in.

It’s usually a good idea to localize your addon from the beginning. Often, someone who plays in another language will translate it for you, and send you the translations to include in your next version so that other players in their country or region can enjoy your addon too. You can also add a note to your addon’s download page asking for help with translations for specific languages, or make a forum post. Some languages have strong addon communities whose members actively look for addons to translate.

Finally, you can often just use Google Translate for simple words and phrases. Even if the translations aren’t very good, they’re still better than no translations at all, and may encourage users of that language to contact you with corrections!

How to localize an addon
If you’re lazy or in a hurry, you can just copy and paste some code, but if you have time, you should read through the explanation to learn how the code works.
GlobalStrings.lua files for all locales
The GlobalStrings.lua file contains Blizzard’s translations for the default UI.