I2C Level translation
It can be easy to level shift the I2C signals between two voltage domains using any one of a number of different buffer parts that are made specifically for this purpose. However for most applications there is another discrete solution that works very well as shown below. 



This solution will be lower cost to implement as long as you do not need additional buffering of the I2C bus. If buffering for long buses or excess capacitance or going between boards is needed then it is recommended to look into the chip type buffer solution.

You can gain additional information and understanding from the NXP (formerly Philips) application note on Bi-directional Level Shifters.